레플리
글 수 57

프리스타일에 적용된 인공지능

조회 수 317 추천 수 0 2016.03.19 10:12:04


freestyle.jpg

 

 

KGC 2009의 인공지능 강연 중 하나인
프리스타일 게임에 적용된 인공지능에 대해서 간단하게 알아보겠습니다.

전반적인 내용은 아래 기사를 참고하시면 됩니다.

http://www.thisisgame.com/board/view.php?id=299776&category=102
 

 


ETRI에서 개발한 게임인공지능 엔진을 사용했다고 하는데
전체 아키텍처는 아래 사진과 같습니다.

1.jpg


사진 오른쪽 아래 부분을 보시면 Script manager가 보입니다.
루아 스크립트를 사용하여 인공지능 로직을 게임 외부로 빼놓았습니다.

만약 인공지능 로직이 소스코드 안에 있으면 다시 빌드하는데 시간이 많이 걸리게 됩니다.
인공지능의 경우 계속 반복 실행하며 로직을 수정 해야하기 때문에 
테스트시에는 이런 인공지능 스크립트가 큰 도움이 될 수 있습니다.

게임 릴리즈 전에는 속도문제로 루아 스크립트를 다시 C++ 코드로 변경했다고 합니다.
 

 


2.jpg

가장 중요한 인공지능의 구현 방법입니다.

인공지능에 널리 쓰이는 FSM이 아니라 새로운 방식이 사용되었습니다.
FSM의 경우 현재 입력과 상태에 따라 다음 상태가 변하고,
상태에 따라 같은 입력의 경우에도 다른 행동을 수행할 수 있습니다.

예를 들어서 드리블 상태, 수비 상태, 패스 상태, 슛 상태 등으로 나눌 수 있고
입력과 환경변수에 따라 각 상태별로 if~else를 사용해 적절한 액션을 출력하게 됩니다.
 

 


하지만 ETRI 인공지능 엔진의 경우 이런한 상태개념이 아니라
전체 입력 변수에 각각 가중치를 부여한 네트워크를 만들어 바로 액션을 선택합니다.

언뜻 보면 학습기능이 없는 것을 제외하고는 신경망과 아주 유사합니다. 

사진에서 보는바와 같이 골대와의 거리, 공격제한 시간, 팀원/상대편과의 거리 등의 값들이 주어지면
이미 주어진 가중치에 따라 각 노드들의 합을 계산하여 
최종적으로 나온 값을 확률로 변환하여 행동을 결정합니다.

이러한 구조에서는 if~else에 의한 로직이 아니라
바로 각 에지마다 있는 가중치 자체가 판단을 위한 정보라 할 수 있습니다.

 

 


이런 가중치 기반 네트워크의 경우 매우 범용적으로 사용할 수 있고
가중치가 적절하게 주어졌을 경우 상당히 좋은 결과를 낼 수 있습니다.

하지만 단점들도 몇가지 있습니다.

첫째로 로직의 구조를 사람이 명시적으로 판단하기가 어렵습니다.
가중치의 숫자만 가지고는 이게 어떤 역할을 하지는 알기 불가능 합니다.

둘째는 가중치 자체를 사람이 일일이 조정하는게 힘들다는 것입니다.
FSM의 경우 그래도 전체적인 로직 설계를 하고 구현을 하게 되지만
이런 구조에서는 일일이 임의로 가중치를 넣어보고 계속 반복하여 조정하는 수밖에 없습니다.

또한 하나의 에지가 여러개의 액션 노드들과 연결되어 있기때문에
한군데를 수정하면 그게 전체적으로 큰 영향을 줄 수도 있습니다.

강연에서도 이 부분이 가장 힘들었다고 하더군요.
 

 


그래서 ETRI 담당자분이 다음번 엔진버전에서는 
신경망을 사용하여 자동으로 가중치를 조정하도록 개발한다고 합니다.

물론 이것 역시 쉽지는 않을 것 같습니다.
단순한 신경망 구조는 학습 결과가 좋지만
입력과 출력의 노드수가 많아질 수록 현재 기술로는 쉽게 학습이 되지않는 경우가 많습니다.

하지만 어느정도 가능하게 구현만 된다면 상당히 유용하게 사용될 것 같습니다.

List of Articles
제목 글쓴이 날짜 조회 수
블랙 앤 화이트의 인공지능 file 깊은바다 2016-03-24 976
스타크래프트 인공지능 토너먼트 깊은바다 2016-03-19 502
심즈2의 인공지능 file 깊은바다 2016-03-19 670
감성형 게임의 미래, 러브플러스와 동물의 숲 file 깊은바다 2016-03-19 483
가상세계의 소년 - 마일로 file 깊은바다 2016-03-19 220
MMORPG 게임의 오토봇을 판단하는 기술 file 깊은바다 2016-03-19 375
컴퓨터 게임과 AI file 깊은바다 2016-03-19 371
게임에서 사용하는 인공지능 기술 깊은바다 2016-03-19 323
2013년 게임 인공지능 최신 연구동향 file 깊은바다 2016-03-19 261
인공지능이 뛰어난 게임들 file 깊은바다 2016-03-19 964
크라이시스의 인공지능 file 깊은바다 2016-03-19 293
메시지 기반의 인공지능 깊은바다 2016-03-19 345
프리스타일에 적용된 인공지능 file 깊은바다 2016-03-19 317
리얼타임 연애시뮬레이션 - 러브 플러스 file 깊은바다 2016-03-19 916
하스스톤의 인공지능 file 깊은바다 2016-03-19 710