from gymnasium import spaces # Observation Space Constants SCENARIO_SPACE_SIZE = 4 # 시나리오 상태 수 (0-3) PRICE_ZONE_SIZE = 3 # 가격 구간 수 (0-2) ACCEPTANCE_RATE_SIZE = 3 # 수락률 레벨 수 (0-2) # Observation Space Mappings SCENARIO_MAPPING = { 0: "높은 구매 의지", 1: "중간 구매 의지", 2: "낮은 구매 의지", 3: "매우 낮은 구매 의지", } PRICE_ZONE_MAPPING = {0: "목표가격 이하", 1: "목표가격~임계가격", 2: "임계가격 초과"} ACCEPTANCE_RATE_MAPPING = {0: "낮음 (<10%)", 1: "중간 (10-25%)", 2: "높음 (>25%)"} # Action Space Constants ACTION_SPACE_SIZE = 9 # Action Space Mappings ACTION_MAPPING = { 0: "강한 수락", 1: "중간 수락", 2: "약한 수락", 3: "강한 거절", 4: "중간 거절", 5: "약한 거절", 6: "강한 가격 제안", 7: "중간 가격 제안", 8: "약한 가격 제안", } # Spaces Definition OBSERVATION_SPACE = spaces.MultiDiscrete( [SCENARIO_SPACE_SIZE, PRICE_ZONE_SIZE, ACCEPTANCE_RATE_SIZE] ) ACTION_SPACE = spaces.Discrete(ACTION_SPACE_SIZE)