42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
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)
|