본문 바로가기

가위바위보 게임2

아두이노 강화학습(가위바위보AI) 3 - 아두이노 이번 시간에는 아두이노로 직접 구현하도록 하겠습니다. Tinkercad의 회로를 이용하여 구현했는데, Q 학습을 구현한 핵심 코드 설명 위주로 진행하겠습니다. 1. Q 테이블이전시간에 구현했던 Q테이블 입니다.  아두이노 코드로는 아래와 같이 3x3 행렬로 구현할 수 있습니다. Q(s, a)를 Q[s][a]로 표현한 것입니다./* 가위(Scissors): 0, 바위(Rock): 1, 보(Paper): 2행은 상대편의 상태(state), 열은 AI의 행동(action)을 나타낸다.가위 {가위, 바위, 보}바위 {가위, 바위, 보}보 {가위, 바위, 보} */float Q_table[3][3] = { {0.0, 0.0, 0.0}, {0.0, 0.0, 0.0}, {0.0, 0.0, 0.0.. 2024. 1. 26.
아두이노 강화학습(가위바위보AI) 2 - Q learning 저번시간에 가위바위보 문제를 Q learning(Q 학습)으로 해결해 본다고 하였습니다. 가장 먼저 가위바위보가 이루어지는 환경(Environment)을 정의해야 합니다. 1. 환경(Environment) 가. 상태(State) 가위바위보는 상대편의 가위, 바위, 보를 예측하여 이기기 위해 세가지 중 하나를 선택하는 게임입니다. 인공지능은 환경의 상태 (State) 를 관찰합니다. 여기서 환경의 상태는 '상대편의 가위, 바위, 보'로 정의해 볼 수 있습니다. 인공지능 입장에서 플레이어가 상대이니까 상대의 가위, 바위, 보 중 어떤 것을 내었는지가 환경의 상태가 되겠습니다. 나. 행동(Action) 인공지능은 상태를 관찰하고 현재 상태에 대한 최적의 행동(Action)을 하기 위해 Q함수에게 현재 상태에서.. 2024. 1. 26.