KT_Q_Table/train.py

30 lines
935 B
Python

from negotiation_agent.environment import NegotiationEnv
from negotiation_agent.agent import QLearningAgent
from usecases.train_agent_usecase import TrainAgentUseCase # 유스케이스 임포트
import config
def main():
# 1. 의존성(객체) 생성: 필요한 모든 '재료'를 준비합니다.
env = NegotiationEnv(
scenario=config.SCENARIO,
target_price=config.TARGET_PRICE,
threshold_price=config.THRESHOLD_PRICE,
)
agent = QLearningAgent(
state_dims=env.observation_space.nvec,
action_size=env.action_space.n,
learning_rate=config.LEARNING_RATE,
gamma=config.GAMMA,
epsilon=config.EPSILON_START,
)
# 2. 유스케이스 생성 및 실행: 준비된 재료로 '요리사'에게 '요리'를 지시합니다.
train_use_case = TrainAgentUseCase(env=env, agent=agent)
train_use_case.execute()
if __name__ == "__main__":
main()