2

Q-learning 알고리즘을 사용하는 문제를 해결하는 데 도움이 필요합니다.Qlearning - 주 및 보상 정의

문제 설명 :

나는 로켓 임의의 경로를 복용하는 로켓 시뮬레이터를 가지고 때로는 충돌합니다. 로켓에는 켜기 또는 끄기가 가능한 3 가지 엔진이 있습니다. 어떤 엔진이 작동하는지에 따라 로켓은 다른 방향으로 날아갑니다.

모든 시간을 얼굴을 로켓으로 변합니다 Q-학습 컨트롤러를 구축 : 온/오프 엔진을 켜기위한

기능

작업

enter image description here 사용할 수 있습니다.

로켓의 각도를 읽는 센서를 입력으로 사용할 수 있습니다.

내 솔루션 : 나는 다음과 같은 상태가

:

enter image description here

또한 다음과 같은 작업이 있습니다에

  • 왼쪽 엔진을 끄고

    • 모든 엔진
    • 중간 엔진에
    • 우측 엔진은 왼쪽과 오른쪽에
    • 오른쪽 중간

    에 다음과 같은 보상에 왼쪽 중간 :

    각도 = 0 , 보상 = 100 다른 모든 각도, 보상 = 0

    질문 :

    지금이 질문은 좋은 보상과 주 선택입니까? 솔루션을 개선 할 수 있습니까? 다른 각도에 대한 보상이 더 좋은가요?

    미리 감사드립니다.

  • +0

    이 게임의 목표는 무엇입니까? 달 착륙시 로켓 착륙? 아니면 그냥 arround 비행하고 충돌하지 않아도됩니까? –

    +0

    안녕하세요. 목표는 북쪽을 향하고 위쪽으로 날아가는 것입니다. 항상 날아 다니지 만 상향 비행을해야합니다. 충돌해서는 안됩니다. 그것이 북쪽에 도달하고 더 기울어 질 때, 그것은 시작됩니다. – mrjasmin

    +0

    . 현재 솔루션으로는 위쪽으로 날아 갔지만 최적화되지 않았습니다. – mrjasmin

    답변

    4

    16 개의 상태 x 7 동작은 매우 작은 문제입니다.

    다른 각도의 보상은 더 빨리 배우는 데 도움이되지만 나중에 역 동성에 따라 이상한 행동을 만들 수 있습니다.

    운동량이 없다면 상태를 줄여 학습 속도를 높이고 메모리 사용량을 줄일 수 있습니다 (이미 작음).최적의 상태 수를 찾으려면 여러 게임에 대한 보상/시간 경과 또는 여러 게임에 걸친 평균 오류 (시작 각도로 정규화)와 같은 측정 항목을 분석하면서 상태 수를 줄이십시오. 어떤 주 (state) 표현은 다른 것들보다 훨씬 잘 수행 될 수 있습니다. 그렇지 않은 경우 가장 수렴하는 것을 선택하십시오. 이것은 작은 Q 테이블로 비교적 저렴해야합니다.

    빨리 배우려면 Q-lambda 또는 다른 수정 된 강화 학습 알고리즘을 사용하여 시간 차이 학습을 사용해보십시오.

    편집 : 다이내믹에 따라이 문제는 실제로 마르코프 결정 프로세스로 적합하지 않을 수 있습니다. 예를 들어 현재 회전율을 포함해야 할 수 있습니다.

    1

    원하는 상태 옆에있는 상태에 작은 보상을 넣어보십시오. 그러면 상담원이 더 빨리 배우는 법을 배우게됩니다.