KR20170073059A - 게임 인공지능 시스템 및 이를 이용한 게임 캐릭터의 인공지능 구현 방법 - Google Patents

게임 인공지능 시스템 및 이를 이용한 게임 캐릭터의 인공지능 구현 방법 Download PDF

Info

Publication number
KR20170073059A
KR20170073059A KR1020150181475A KR20150181475A KR20170073059A KR 20170073059 A KR20170073059 A KR 20170073059A KR 1020150181475 A KR1020150181475 A KR 1020150181475A KR 20150181475 A KR20150181475 A KR 20150181475A KR 20170073059 A KR20170073059 A KR 20170073059A
Authority
KR
South Korea
Prior art keywords
game
behavior
data
execution environment
game character
Prior art date
Application number
KR1020150181475A
Other languages
English (en)
Inventor
김경중
배청목
윤성훈
Original Assignee
세종대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 세종대학교산학협력단 filed Critical 세종대학교산학협력단
Priority to KR1020150181475A priority Critical patent/KR20170073059A/ko
Publication of KR20170073059A publication Critical patent/KR20170073059A/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/69Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by enabling or updating specific game elements, e.g. unlocking hidden features, items, levels or versions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Machine Translation (AREA)

Abstract

본 발명의 일 실시예에 따른 게임 인공지능 시스템은 게임의 실행 환경과 관련된 실행 환경 데이터 집합, 게임 캐릭터의 행동과 관련된 행동 데이터 집합, 및 상기 게임 캐릭터의 행동에 대한 보상 값과 관련된 보상 데이터 집합을 저장하는 데이터 저장부; 상기 게임을 실행하는 경우, 상기 게임의 실행 환경에 따른 상기 게임 캐릭터의 행동에 대한 보상 값에 기초하여 상기 게임 캐릭터의 다음 행동을 학습하는 강화 학습 방법, 및 돌연변이 과정과 교배 과정에 기초하여 상기 게임 캐릭터의 다음 행동을 탐색하는 유전 알고리즘 중 적어도 하나를 선택하는 게임 환경 선택부; 및 상기 강화 학습 방법 및 상기 유전 알고리즘 중 선택된 적어도 하나에 따른 상기 게임 캐릭터의 다음 행동에 대한 보상 값을 평가하고, 상기 평가된 보상 값에 기초하여 상기 보상 데이터 집합을 갱신하는 학습부를 포함한다.

Description

게임 인공지능 시스템 및 이를 이용한 게임 캐릭터의 인공지능 구현 방법{GAME OF ARTIFICIAL INTELLIGENCE SYSTEM AND METHOD FOR MAKING ARTIFICIAL INTELLIGENCE OF GAME CHARACTER USING THE SAME}
본 발명의 실시예들은 인공지능 기반의 게임 시스템 및 이를 이용한 게임 캐릭터의 인공지능 구현 방법에 관한 것이다.
일반적으로, 인공지능이란 인간의 학습능력, 추론능력, 지각능력, 자연언어의 이해능력 등을 컴퓨터 프로그램으로 실현한 기술을 말한다.
이러한 인공지능은 그 자체로 존재하는 것이 아니라, 정보기술과 연관된 다양한 분야와 직간접적으로 관련을 맺고 있는데, 특히 게임 시장에 있어서 자주 이용되어 큰 각광을 받고 있다.
그러나, 규칙 기반의 인공지능 기술을 적용한 게임의 경우, 상대 캐릭터가 어떤 스타일로 행동하는지에 상관없이 주어진 상황만을 분석하여 패턴화된 반응만을 보이는 문제가 발생한다.
즉, 게임 도중 임의의 상황에서 어떠한 패턴화된 반응이 불리하게 작용하더라도 다음 번에 같은 상황이 발생하면 같은 패턴의 반응을 반복하게 된다는 것이다.
따라서, 규칙 기반의 패턴화된 전략의 한계점을 극복할 수 있도록 학습을 통해 상대 캐릭터의 행동에 따라 최선의 선택을 하는 인공지능 기술이 적용된 게임의 개발이 필요하다.
관련 선행기술로는 공개특허공보 제10-2005-0098464호(발명의 명칭: 인공지능을 갖는 캐릭터를 이용한 인터넷 게임 서비스시스템 및 그 방법, 공개일자: 2005년 10월 12일)가 있다.
본 발명의 일 실시예는 게임 캐릭터가 다양한 게임 상황에 대응되는 행동을 학습하고, 학습된 행동을 조합하여 각 게임 상황에서 더 나은 행동을 수행할 수 있는 게임 인공지능 시스템 및 이를 이용한 게임 캐릭터의 인공지능 구현 방법을 제공한다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 게임 인공지능 시스템은 게임의 실행 환경과 관련된 실행 환경 데이터 집합, 게임 캐릭터의 행동과 관련된 행동 데이터 집합, 및 상기 게임 캐릭터의 행동에 대한 보상 값과 관련된 보상 데이터 집합을 저장하는 데이터 저장부; 상기 게임을 실행하는 경우, 상기 게임의 실행 환경에 따른 상기 게임 캐릭터의 행동에 대한 보상 값에 기초하여 상기 게임 캐릭터의 다음 행동을 학습하는 강화 학습 방법, 및 돌연변이 과정과 교배 과정에 기초하여 상기 게임 캐릭터의 다음 행동을 탐색하는 유전 알고리즘 중 적어도 하나를 선택하는 게임 환경 선택부; 및 상기 강화 학습 방법 및 상기 유전 알고리즘 중 선택된 적어도 하나에 따른 상기 게임 캐릭터의 다음 행동에 대한 보상 값을 평가하고, 상기 평가된 보상 값에 기초하여 상기 보상 데이터 집합을 갱신하는 학습부를 포함한다.
본 발명의 일 실시예에 따른 게임 인공지능 시스템은 상기 게임 환경 선택부에 의해 상기 강화 학습 방법이 선택된 경우, 상기 실행 환경 데이터 집합 중에서 어느 하나의 실행 환경 데이터를 임의로 선택하는 실행 환경 선택부; 및 상기 보상 데이터 집합에 기초하여, 상기 행동 데이터 집합 중 상기 실행 환경 데이터에 대응되는 하나의 행동 데이터를 탐색하고, 상기 탐색된 행동 데이터를 상기 게임 캐릭터의 다음 행동으로 결정하는 다음 행동 결정부를 더 포함할 수 있다.
상기 다음 행동 결정부는 보상 값 비례 룰렛-휠 방식을 이용하여, 상기 행동 데이터 집합 중 상기 게임 캐릭터의 행동에 대한 보상 값이 가장 큰 행동 데이터를 탐색할 수 있다.
본 발명의 일 실시예에 따른 게임 인공지능 시스템은 상기 게임 환경 선택부에 의해 상기 유전 알고리즘이 선택된 경우, 상기 실행 환경 데이터 집합 중에서 어느 하나의 실행 환경 데이터를 임의로 선택하는 실행 환경 선택부; 상기 선택된 실행 환경 데이터의 일부 요소를 무작위 값으로 반복 치환하여 해당되는 각 실행 환경 데이터를 구성요소로 하는 실행 환경 데이터의 자식 집합을 생성하는 자식 집합 생성부; 및 상기 행동 데이터 집합 중 상기 생성된 자식 집합 내 실행 환경 데이터에 대응되는 복수의 행동 데이터를 탐색하고, 상기 탐색된 행동 데이터 간의 교배 과정 및 돌연변이 과정을 통해 상기 게임 캐릭터의 다음 행동을 결정하는 다음 행동 결정부를 더 포함할 수 있다.
상기 다음 행동 결정부는 상기 교배 과정 및 돌연변이 과정을 거친 행동 데이터 중에서 룰렛-휠 방식을 이용하여 어느 하나의 행동 데이터를 선택함으로써 상기 게임 캐릭터의 다음 행동을 결정할 수 있다.
상기 데이터 저장부는 상기 실행 환경 데이터 집합, 상기 행동 데이터 집합, 및 상기 보상 데이터 집합 중 적어도 하나를 텍스트 파일로 저장할 수 있다.
상기 학습부는 상기 게임 캐릭터의 다음 행동에 따른 자신과 상대방의 피해 정도에 기초하여 상기 게임 캐릭터의 다음 행동에 대한 보상 값을 평가할 수 있다.
상기 학습부는 상기 게임 캐릭터의 다음 행동을 취하기 전과 후의 보상 값을 비교하고, 상기 비교 결과에 따라 상기 보상 데이터 집합 내 해당 보상 데이터의 값을 가감 처리할 수 있다.
본 발명의 일 실시예에 따른 게임 캐릭터의 인공지능 구현 방법은 게임 인공지능 시스템의 데이터 저장부에서, 게임의 실행 환경과 관련된 실행 환경 데이터 집합, 게임 캐릭터의 행동과 관련된 행동 데이터 집합, 및 상기 게임 캐릭터의 행동에 대한 보상 값과 관련된 보상 데이터 집합을 저장하는 단계; 게임 인공지능 시스템의 게임 환경 선택부에서, 상기 게임을 실행하는 경우, 상기 게임의 실행 환경에 따른 상기 게임 캐릭터의 행동에 대한 보상 값에 기초하여 상기 게임 캐릭터의 다음 행동을 학습하는 강화 학습 방법, 및 돌연변이 과정과 교배 과정에 기초하여 상기 게임 캐릭터의 다음 행동을 탐색하는 유전 알고리즘 중 적어도 하나를 선택하는 단계; 게임 인공지능 시스템의 학습부에서, 상기 강화 학습 방법 및 상기 유전 알고리즘 중 선택된 적어도 하나에 따른 상기 게임 캐릭터의 다음 행동에 대한 보상 값을 평가하는 단계; 및 게임 인공지능 시스템의 학습부에서, 상기 평가된 보상 값에 기초하여 상기 보상 데이터 집합을 갱신하는 단계를 포함한다.
본 발명의 일 실시예에 따른 게임 캐릭터의 인공지능 구현 방법은 상기 강화 학습 방법 및 상기 유전 알고리즘 중 적어도 하나를 선택하는 단계에서 상기 강화 학습 방법이 선택된 경우, 게임 인공지능 시스템의 실행 환경 선택부에서, 상기 실행 환경 데이터 집합 중에서 어느 하나의 실행 환경 데이터를 임의로 선택하는 단계; 게임 인공지능 시스템의 다음 행동 결정부에서, 상기 보상 데이터 집합에 기초하여, 상기 행동 데이터 집합 중 상기 실행 환경 데이터에 대응되는 하나의 행동 데이터를 탐색하는 단계; 및 게임 인공지능 시스템의 다음 행동 결정부에서, 상기 탐색된 행동 데이터를 상기 게임 캐릭터의 다음 행동으로 결정하는 단계를 더 포함할 수 있다.
상기 행동 데이터를 탐색하는 단계는 보상 값 비례 룰렛-휠 방식을 이용하여, 상기 행동 데이터 집합 중 상기 게임 캐릭터의 행동에 대한 보상 값이 가장 큰 행동 데이터를 탐색하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 게임 캐릭터의 인공지능 구현 방법은 상기 강화 학습 방법 및 상기 유전 알고리즘 중 적어도 하나를 선택하는 단계에서 상기 유전 알고리즘이 선택된 경우, 게임 인공지능 시스템의 실행 환경 선택부에서, 상기 실행 환경 데이터 집합 중에서 어느 하나의 실행 환경 데이터를 임의로 선택하는 단계; 게임 인공지능 시스템의 자식 집합 생성부에서, 상기 선택된 실행 환경 데이터의 일부 요소를 무작위 값으로 반복 치환하여 해당되는 각 실행 환경 데이터를 구성요소로 하는 실행 환경 데이터의 자식 집합을 생성하는 단계; 및 게임 인공지능 시스템의 다음 행동 결정부에서, 상기 행동 데이터 집합 중 상기 생성된 자식 집합 내 실행 환경 데이터에 대응되는 복수의 행동 데이터를 탐색하고, 상기 탐색된 행동 데이터 간의 교배 과정 및 돌연변이 과정을 통해 상기 게임 캐릭터의 다음 행동을 결정하는 단계를 더 포함할 수 있다.
상기 게임 캐릭터의 다음 행동을 결정하는 단계는 상기 교배 과정 및 돌연변이 과정을 거친 행동 데이터 중에서 룰렛-휠 방식을 이용하여 어느 하나의 행동 데이터를 선택함으로써 상기 게임 캐릭터의 다음 행동을 결정하는 단계를 포함할 수 있다.
상기 저장하는 단계는 상기 실행 환경 데이터 집합, 상기 행동 데이터 집합, 및 상기 보상 데이터 집합 중 적어도 하나를 텍스트 파일로 저장하는 단계를 포함할 수 있다.
상기 게임 캐릭터의 다음 행동에 대한 보상 값을 평가하는 단계는 상기 게임 캐릭터의 다음 행동에 따른 자신과 상대방의 피해 정도에 기초하여 상기 게임 캐릭터의 다음 행동에 대한 보상 값을 평가하는 단계를 포함할 수 있다.
상기 보상 데이터 집합을 갱신하는 단계는 상기 게임 캐릭터의 다음 행동을 취하기 전과 후의 보상 값을 비교하는 단계; 및 상기 비교 결과에 따라 상기 보상 데이터 집합 내 해당 보상 데이터의 값을 가감 처리하는 단계를 포함할 수 있다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 첨부 도면들에 포함되어 있다.
본 발명의 일 실시예에 따르면, 게임 캐릭터의 다음 행동을 반복적으로 학습하고, 돌연변이 과정 및 교배 과정을 거쳐 보다 우수한 행동을 탐색 및 수행함으로써, 다양한 패턴의 게임 실행 환경에 대응할 수 있고 뿐만 아니라 상대 캐릭터의 행동에 대하여 최선의 행동을 취할 수가 있다.
본 발명의 일 실시예에 따르면, 게임 캐릭터의 행동에 대한 보상 값에 기초하여 다음 행동을 학습하고, 새로운 게임 실행 환경에서 적절한 행동을 수행할 수 있는 행동 집합을 생성 및 탐색함으로써, 게임에서 우수한 성적을 거둘 수 있는 게임 캐릭터의 인공지능을 구현할 수 있다.
도 1은 본 발명의 일 실시예에 따른 게임 인공지능 시스템을 설명하기 위해 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 있어서, 강화 학습 방법이 적용된 게임 인공지능 시스템을 설명하기 위해 도시한 블록도이다.
도 3은 본 발명의 일 실시예에 있어서, 유전 알고리즘이 적용된 게임 인공지능 시스템을 설명하기 위해 도시한 블록도이다.
도 4는 본 발명의 일 실시예에 있어서, 강화 학습 방법 및 유전 알고리즘이 모두 적용된 게임 인공지능 시스템을 설명하기 위해 도시한 블록도이다.
도 5는 기존의 인공지능 알고리즘을 수행하여 게임을 실행한 실험 결과를 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따라 강화 학습 방법 및 유전 알고리즘을 기반으로 하는 인공지능 알고리즘을 수행하여 게임을 실행한 실험 결과를 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 있어서, 강화 학습 방법을 수행한 경우의 게임 캐릭터의 인공지능 구현 방법을 설명하기 위해 도시한 도면이다.
도 8은 본 발명의 일 실시예에 있어서, 유전 알고리즘을 수행한 경우의 게임 캐릭터의 인공지능 구현 방법을 설명하기 위해 도시한 도면이다.
도 9는 본 발명의 일 실시예에 있어서, 강화 학습 방법 및 유전 알고리즘을 모두 수행한 경우의 게임 캐릭터의 인공지능 구현 방법을 설명하기 위해 도시한 도면이다.
본 발명의 이점 및/또는 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 게임 인공지능 시스템을 설명하기 위해 도시한 블록도이다. 도 2는 본 발명의 일 실시예에 있어서, 강화 학습 방법이 적용된 게임 인공지능 시스템을 설명하기 위해 도시한 블록도이고, 도 3은 본 발명의 일 실시예에 있어서, 유전 알고리즘이 적용된 게임 인공지능 시스템을 설명하기 위해 도시한 블록도이며, 도 4는 본 발명의 일 실시예에 있어서, 강화 학습 방법 및 유전 알고리즘이 모두 적용된 게임 인공지능 시스템을 설명하기 위해 도시한 블록도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 게임 인공지능 시스템(100)은 데이터 저장부(110), 게임 환경 선택부(120), 및 학습부(130)를 포함한다.
상기 데이터 저장부(110)는 게임의 실행 환경과 관련된 실행 환경 데이터 집합, 게임 캐릭터의 행동과 관련된 행동 데이터 집합, 및 상기 게임 캐릭터의 행동에 대한 보상 값과 관련된 보상 데이터 집합을 저장한다.
이때, 본 실시예에서는 게임을 실행하는데 있어서, 한 번의 게임에 대해 학습하는 것이 아닌 여러 번의 게임에 대한 학습 결과를 누적하여 진행하는 것으로, 상기 게임의 실행 환경, 상기 게임 캐릭터의 행동, 상기 게임 캐릭터의 행동에 대한 보상 값이 학습의 과정에서 유지되는 것이 바람직 하다.
이를 위해, 상기 데이터 저장부(110)는 상기 실행 환경 데이터 집합, 상기 행동 데이터 집합, 및 상기 보상 데이터 집합 등과 같은 게임 내의 중요한 정보들을 텍스트 파일로 저장할 수 있다.
이때, 상기 데이터 저장부(110)는 상기 텍스트 파일로부터 상기 실행 환경 데이터 집합, 상기 행동 데이터 집합, 및 상기 보상 데이터 집합 등의 게임 내 중요한 정보들을 읽어서 테이블 구조로 변경하여 보상 테이블을 생성할 수 있다.
즉, 상기 데이터 저장부(110)는 상기 텍스트 파일로부터 읽어들인 게임 내 중요한 정보들을 이용하여, 각 게임의 실행 환경마다 상기 게임 캐릭터가 취할 수 있는 적어도 하나의 행동에 대해 보상 값을 매칭시켜 상기 보상 테이블을 생성할 수 있다.
여기서, 상기 보상 값은 게임의 실행 환경에 따라 게임 캐릭터의 행동이 변화함으로써 그 값이 갱신 될 수 있다. 상기 보상 값의 갱신에 관해서는, 후술하고자 하는 상기 학습부(130)를 통해 설명하기로 한다.
상기 게임 환경 선택부(120)는 상기 게임을 실행하는 경우, 강화 학습 방법과 유전 알고리즘 중 적어도 하나를 선택한다. 이때, 상기 강화 학습 방법과 유전 알고리즘 중 적어도 하나를 선택하는 과정은 미리 정해지거나 랜덤하게 이루어질 수 있으며, 또 달리 게임 유저의 입력 조작에 의해 이루어질 수 있다.
여기서, 상기 강화 학습 방법은 상기 게임의 실행 환경에 따른 상기 게임 캐릭터의 행동에 대한 보상 값에 기초하여 상기 게임 캐릭터의 다음 행동을 학습하는 방법을 말하며, 상기 유전 알고리즘은 돌연변이 과정과 교배 과정에 기초하여 상기 게임 캐릭터의 다음 행동을 탐색하는 알고리즘을 말한다.
이하에서는, 상기 강화 학습 방법을 적용하여 게임을 실행하는 경우, 상기 유전 알고리즘을 적용하여 게임을 실행하는 경우 및 상기 강화 학습 방법 및 상기 유전 알고리즘을 모두 이용하여 게임 환경을 선택하는 경우에 대한 실시예를 도 2 내지 도 4를 참조하여 설명한다.
먼저, 도 2를 참조하면, 본 발명의 일 실시예에서는 상기 게임 환경 선택부(120)에 의해 상기 강화 학습 방법이 선택된 경우, 실행 환경 선택부(210) 및 다음 행동 결정부(220)를 통해 상기 강화 학습 방법을 수행할 수 있다.
상기 실행 환경 선택부(210)는 도 1의 데이터 저장부(110)에 의해 저장된 상기 실행 환경 데이터 집합 중에서 어느 하나의 실행 환경 데이터를 선택할 수 있다.
이때, 상기 실행 환경 선택부(210)는 미리 구현된 확률 기반의 프로그램을 통해 상기 실행 환경 데이터 집합 중에서 어느 하나의 실행 환경 데이터를 랜덤으로 선택할 수 있다.
상기 다음 행동 결정부(220)는 도 1의 데이터 저장부(110)에 의해 저장된 상기 보상 데이터 집합에 기초하여, 상기 행동 데이터 집합 중 상기 실행 환경 데이터에 대응되는 하나의 행동 데이터를 탐색할 수 있다.
이를 위해, 상기 다음 행동 결정부(220)는 보상 값 비례 룰렛-휠 방식을 이용하여, 상기 행동 데이터 집합 중 상기 게임 캐릭터의 행동에 대한 보상 값이 가장 큰 행동 데이터를 탐색할 수 있다.
즉, 상기 다음 행동 결정부(220)는 상기 실행 환경 데이터에 대응되는 행동 데이터 중에서 가장 큰 보상 값을 가지는 행동 데이터를 선별할 수 있다. 여기서, 상기 보상 값은 캐릭터가 취할 수 있는 최적의 행동 데이터를 탐색하기 위한 파라미터로 사용될 수 있다.
상기 하나의 행동 데이터가 탐색되고 나면, 상기 다음 행동 결정부(220)는 상기 탐색된 행동 데이터를 상기 게임 캐릭터의 다음 행동으로 결정할 수 있다.
예를 들어, 상대 캐릭터와의 거리가 먼 상태의 실행 환경 데이터를 임의로 선택하였고, 그 상태에서 내 캐릭터가 취할 수 있는 행동은 화살 쏘기, 장풍 날리기, 및 하단 발차기라고 가정한다. 여기서, 내 캐릭터가 화살을 쏘는 경우 보상 값 30을 얻을 수 있고, 장풍 날리기를 하는 경우 보상 값 10을 얻을 수 있으며, 하단 발차기를 하는 경우 보상 값 1을 얻을 수 있는 보상 테이블이 존재할 수 있다.
이때, 상기 다음 행동 결정부(220)는 보상 테이블로부터 상기 행동들을 탐색하여, 보상 값이 가장 높은 화살 쏘기를 내 캐릭터의 다음 행동으로 결정할 수 있다.
다음으로, 도 3을 참조하면, 본 발명의 일 실시예에서는 상기 게임 환경 선택부(120)에 의해 상기 유전 알고리즘이 선택된 경우, 실행 환경 선택부(310), 자식 집합 생성부(320), 및 다음 행동 결정부(330)를 통해 상기 유전 알고리즘을 수행할 수 있다.
상기 실행 환경 선택부(310)는 상기 실행 환경 데이터 집합 중에서 어느 하나의 실행 환경 데이터를 선택할 수 있다.
이때, 상기 실행 환경 선택부(310)는 강화 학습 방법이 선택된 경우와 마찬가지로, 미리 구현된 확률 기반의 프로그램을 통해 상기 실행 환경 데이터 집합 중에서 어느 하나의 실행 환경 데이터를 랜덤으로 선택할 수 있다.
상기 자식 집합 생성부(320)는 상기 선택된 실행 환경 데이터의 일부 요소를 무작위 값으로 반복 치환하여 해당되는 각 실행 환경 데이터를 구성요소로 하는 실행 환경 데이터의 자식 집합을 생성할 수 있다.
구체적으로, 상기 실행 환경 선택부(310)에 의해 "1821021"의 숫자 열로 출력되는 실행 환경 데이터가 선택된 경우, 상기 자식 집합 생성부(320)는 상기 숫자 열 중에서 첫 번째 자리와 세 번째 자리에 위치하는 숫자를 랜덤한 숫자로 치환할 수 있다.
이에 따라, 상기 자식 집합 생성부(320)는 "0201021", "1801021", "0811021", "1821021" 등의 숫자 열에 대응되는 실행 환경 데이터를 상기 자식 집합의 구성요소로 가질 수 있다.
참고로, 상기 반복 치환에 의해 생성된 자식 집합은 서로 유사한 실행 환경과 관련된 실행 환경 데이터로 구성될 수 있고, 이와 반대로 서로 상이한 실행 환경과 관련된 실행 환경 데이터로 구성될 수도 있다.
상기 다음 행동 결정부(330)는 상기 행동 데이터 집합 중 상기 생성된 자식 집합 내 실행 환경 데이터에 대응되는 복수의 행동 데이터를 탐색할 수 있다.
상기 복수의 행동 데이터가 탐색되고 나면, 상기 다음 행동 결정부(330)는 상기 탐색된 행동 데이터 간의 교배 과정 및 돌연변이 과정을 통해 상기 게임 캐릭터의 다음 행동을 결정할 수 있다.
여기서, 상기 탐색된 행동 데이터를 부모 데이터로 하여 상기 교배 과정 및 돌연변이 과정을 수행함에 따라, 자식 데이터인 또 다른 행동 데이터가 복수로 생성될 수 있다.
이때, 상기 다음 행동 결정부(330)는 상기 교배 과정 및 돌연변이 과정을 거친 행동 데이터 중에서 룰렛-휠 방식을 이용하여 어느 하나의 행동 데이터를 선택함으로써 상기 게임 캐릭터의 다음 행동을 결정할 수 있다.
예를 들어, 상대 캐릭터의 체력이 내 캐릭터(게임 유저 자신의 캐릭터)의 체력보다 약해진 상태의 실행 환경 데이터를 임의로 선택하였고, 선택된 실행 환경 데이터는 "1821021"의 숫자 열로 시스템 상에서 출력된다고 가정한다. 여기서, 상기 자식 집합 생성부(320)는 첫 번째 자리에 위치하는 숫자를 랜덤으로 치환하여 "0821021", "2821021", "3821021"의 숫자 열로 출력할 수 있고, 이에 대응되는 자식 실행 환경 데이터는 각각 상대 캐릭터의 체력이 내 캐릭터의 체력보다 30%, 10%, 1% 약해진 상태라고 할 수 있다.
이때, 상기 다음 행동 결정부(330)는 상기와 같은 실행 환경에서 내 캐릭터가 취할 수 있는 행동으로 장풍 1번 날리기, 장풍 10번 날리기, 장풍 30번 날리기가 있음을 탐색할 수 있고, 탐색된 행동과 관련된 행동 데이터간의 교배 과정 및 돌연변이 과정을 통해 장풍 15번 이하로 날리기, 장풍 연속으로 날리기의 자식 행동 데이터를 생성할 수 있다.
이때, 상기 다음 행동 결정부(330)는 상기 두 가지 자식 행동 데이터 중에서 룰렛-휠 방식을 이용하여 장풍 연속으로 날리기를 선택하여 내 캐릭터의 다음 행동으로 결정할 수 있다.
다음으로, 도 4를 참조하면, 본 발명의 일 실시예에서는 상기 게임 환경 선택부(120)에 의해 상기 강화 학습 방법 및 상기 유전 알고리즘이 모두 선택된 경우, 실행 환경 선택부(410), 자식 집합 생성부(420), 및 다음 행동 결정부(430)를 통해 상기 강화 학습 방법 및 상기 유전 알고리즘을 모두 수행할 수 있다.
상기 게임 환경 선택부(120)에 의해 상기 강화 학습 방법 및 상기 유전 알고리즘이 모두 선택된 경우, 상기 실행 환경 선택부(410)는 상기 실행 환경 데이터 집합 중에서 어느 하나의 실행 환경 데이터를 임의로 선택할 수 있다.
여기서, 상기 실행 환경 선택부(410)는 도 2 및 도 3의 경우와 같이, 미리 구현된 확률 기반의 프로그램을 통해 상기 실행 환경 데이터 집합 중에서 어느 하나의 실행 환경 데이터를 랜덤으로 선택할 수 있다.
상기 자식 집합 생성부(420)는 도 3의 경우와 같이, 상기 선택된 실행 환경 데이터의 일부 요소를 무작위 값으로 반복 치환하여 해당되는 각 실행 환경 데이터를 구성요소로 하는 실행 환경 데이터의 자식 집합을 생성할 수 있다.
상기 다음 행동 결정부(430)는 상기 생성된 자식 집합 내 실행 환경 데이터에 대응되는 복수의 행동 데이터를 탐색할 수 있는데, 보상 데이터 집합에 기초하여 탐색할 수가 있다.
즉, 상기 다음 행동 결정부(430)는 상기 복수의 행동 데이터에 대응되는 상기 캐릭터의 각 행동에 대한 보상 값에 기초하여, 보상 값이 상위에 속하는 복수의 행동 데이터를 탐색할 수 있다.
상기 보상 값에 기초하여 복수의 행동 데이터가 탐색되고 나면, 상기 다음 행동 결정부(430)는 상기 탐색된 행동 데이터 간의 교배 과정 및 돌연변이 과정을 통해 상기 게임 캐릭터의 다음 행동을 결정할 수 있다.
이때, 상기 다음 행동 결정부(430)는 상기 교배 과정 및 돌연변이 과정을 거친 행동 데이터 중에서 룰렛-휠 방식을 이용하여 어느 하나의 행동 데이터를 선택함으로써 상기 게임 캐릭터의 다음 행동을 결정할 수 있다.
이로써, 본 발명의 일 실시예에 따르면, 게임 캐릭터의 다음 행동을 보상 값에 기초하여 학습하고, 돌연변이 과정 및 교배 과정을 거쳐 보다 우수한 행동을 탐색하여 수행함으로써, 다양한 패턴의 게임 실행 환경에 대응할 수 있고 뿐만 아니라 상대 캐릭터의 행동에 대하여 최선의 행동을 취할 수가 있다.
한편, 다시 도 1을 참조하면, 상기 학습부(130)는 상기 강화 학습 방법 및 상기 유전 알고리즘 중 선택된 적어도 하나에 따른 상기 게임 캐릭터의 다음 행동에 대한 보상 값을 평가한다.
이때, 상기 학습부(130)는 상기 게임 캐릭터의 다음 행동에 따른 자신과 상대방의 피해 정도에 기초하여 상기 게임 캐릭터의 다음 행동에 대한 보상 값을 평가할 수 있다. 구체적으로, 상기 게임 캐릭터의 다음 행동에 따른 상대방의 피해 정도가 자신의 피해 정도보다 많을 때, 상기 보상 값은 커질 수 있다.
상기 학습부(130)는 상기 평가된 보상 값에 기초하여 상기 보상 데이터 집합을 갱신한다. 이를 위해, 상기 학습부(130)는 상기 게임 캐릭터의 다음 행동을 취하기 전과 후의 보상 값을 비교하고, 상기 비교 결과에 따라 상기 보상 데이터 집합 내 해당 보상 데이터의 값을 가감 처리할 수 있다.
구체적으로, 상기 학습부(130)는 상기 게임 환경 선택부(120)의 선택에 따라, 상기 보상 값을 프로그래밍 코드로 구현한 수식 1(강화 학습 방법을 수행한 경우) 또는 수식 2(강화 학습 방법 및 유전 알고리즘을 모두 수행한 경우)에 기초하여 상기 해당 보상 데이터의 값을 가감 처리함으로써 갱신할 수 있다.
[수식 1]
Figure pat00001
[수식 2]
Figure pat00002
여기서, Rate는 캐릭터간의 우위를 간단히 비교하기 위해 고안한 값으로 Rate=(상대 캐릭터가 입은 피해+1)/(내 캐릭터가 입은 피해+1)이고, Rate'는 A라는 행동을 취한 후의 Rate 값이며, R(A)는 행동 A에 대한 보상 값이다.
이러한 조건에서, 상기 학습부(130)는 Rate와 Rate'를 비교하여 게임의 상황이 좋아진 경우와 나빠진 경우, 각 R(A)값을 가감할 수 있다.
참고로, 본 실시예에서는 상기 [수식 1] 및 상기 [수식 2]에 있어서 보상 값을 갱신하는 상기 프로그래밍 코드의 차이는 크게 없지만, 상기 [수식 2]에는 상대 캐릭터와 내 캐릭터 간의 거리를 나타내는 변수 Dis가 추가되었다는 점에서 차이가 있다. 상기 변수 Dis는 Rate값의 변동과 더불어 이후의 게임 상황에 대한 유,불리함을 이끌어 갈 수 있는 변수로서 사용될 수 있다.
도 5는 기존의 인공지능 알고리즘을 수행하여 게임을 실행한 실험 결과를 나타낸 도면이고, 도 6은 본 발명의 일 실시예에 따라 강화 학습 방법 및 유전 알고리즘을 기반으로 하는 인공지능 알고리즘을 수행하여 게임을 실행한 실험 결과를 나타낸 도면이다.
도 5 및 도 6에 나타난 실험 결과를 획득하기 위해, 본 실험에서는 각각 상대 캐릭터 및 내 캐릭터 간에 366회(1098라운드)의 게임을 대전시켜 시뮬레이션하였다.
먼저, 도 5에서는, 주황색 선은 회차 별로 상대 캐릭터(TestBot)가 획득한 점수이고, 하늘색 선은 회차 별로 내 캐릭터(SimpleBot)가 획득한 점수이며, 붉은색, 푸른색 선은 상대 캐릭터 및 내 캐릭터가 획득한 점수를 1회에서 366회까지 선형회귀 분석한 결과이다.
상기 분석된 결과, 게임의 회차가 진행됨에 따라 획득되는 점수에는 아무런 변화가 없었고 동일하였다.
반면, 도 6에서는, 하늘색 선은 회차 별로 상대 캐릭터(TestBot)가 획득한 점수이고, 주황색 선은 회차 별로 내 캐릭터(XCSBot)가 획득한 점수이며, 푸른색, 붉은색 선은 상대 캐릭터 및 내 캐릭터가 획득한 점수를 1회에서 366회까지 선형회귀 분석한 결과이다.
상기 분석된 결과, 게임의 회차가 진행됨에 따라 획득되는 점수가 점진적으로 증가하였고, 각 회차 별 총점인 3000점을 획득하는 횟수 또한 늘어났다.
이를 통해, 강화 학습 방법만을 수행하여 게임을 실행하는 경우보다 유전 알고리즘도 함께 수행하여 게임을 실행하는 경우에 내 캐릭터는 게임을 반복할수록 향상된 점수를 획득할 수 있음을 확인하였다.
도 7은 본 발명의 일 실시예에 있어서, 강화 학습 방법을 수행한 경우의 게임 캐릭터의 인공지능 구현 방법을 설명하기 위해 도시한 도면이다.
도 1, 도 2 및 도 7을 참조하면, 단계(710)에서 상기 게임 인공지능 시스템(100)의 데이터 저장부(110)는 게임의 실행 환경과 관련된 실행 환경 데이터 집합, 게임 캐릭터의 행동과 관련된 행동 데이터 집합, 및 상기 게임 캐릭터의 행동에 대한 보상 값과 관련된 보상 데이터 집합을 저장한다.
여기서, 상기 데이터 저장부(110)는 상기 실행 환경 데이터 집합, 상기 행동 데이터 집합, 및 상기 보상 데이터 집합 중 적어도 하나를 텍스트 파일로 저장할 수 있다.
다음으로, 단계(720)에서 상기 게임 인공지능 시스템(100)의 게임 환경 선택부(120)는 상기 게임을 실행하는 경우, 상기 게임의 실행 환경에 따른 상기 게임 캐릭터의 행동에 대한 보상 값에 기초하여 상기 게임 캐릭터의 다음 행동을 학습하는 강화 학습 방법을 선택한다.
다음으로, 단계(730)에서 상기 게임 인공지능 시스템(100)의 실행 환경 선택부(210)는 상기 실행 환경 데이터 집합 중에서 어느 하나의 실행 환경 데이터를 임의로 선택한다.
다음으로, 단계(740)에서 상기 게임 인공지능 시스템(100)의 다음 행동 결정부(220)는 상기 보상 데이터 집합에 기초하여, 상기 행동 데이터 집합 중 상기 실행 환경 데이터에 대응되는 하나의 행동 데이터를 탐색한다.
이때, 상기 행동 결정부(220)는 보상 값 비례 룰렛-휠 방식을 이용하여, 상기 행동 데이터 집합 중 상기 게임 캐릭터의 행동에 대한 보상 값이 가장 큰 행동 데이터를 탐색할 수 있다.
다음으로, 단계(750)에서 상기 게임 인공지능 시스템(100)의 다음 행동 결정부(220)는 상기 탐색된 행동 데이터를 상기 게임 캐릭터의 다음 행동으로 결정한다.
다음으로, 단계(760)에서 상기 게임 인공지능 시스템(100)의 학습부(130)는 상기 강화 학습 방법에 따른 상기 게임 캐릭터의 다음 행동에 대한 보상 값을 평가한다.
이를 위해, 상기 학습부(130)는 상기 게임 캐릭터의 다음 행동에 따른 자신과 상대방의 피해 정도에 기초하여 상기 게임 캐릭터의 다음 행동에 대한 보상 값을 평가할 수 있다.
다음으로, 단계(770)에서 상기 게임 인공지능 시스템(100)의 학습부(130)는 상기 평가된 보상 값에 기초하여 상기 보상 데이터 집합을 갱신한다.
이를 위해, 상기 학습부(130)는 상기 게임 캐릭터의 다음 행동을 취하기 전과 후의 보상 값을 비교할 수 있고, 상기 비교 결과에 따라 상기 보상 데이터 집합 내 해당 보상 데이터의 값을 가감 처리할 수 있다.
도 8은 본 발명의 일 실시예에 있어서, 유전 알고리즘을 수행한 경우의 게임 캐릭터의 인공지능 구현 방법을 설명하기 위해 도시한 도면이다.
도 1, 도 3 및 도 8을 참조하면, 단계(810)에서 상기 게임 인공지능 시스템(100)의 데이터 저장부(110)는 게임의 실행 환경과 관련된 실행 환경 데이터 집합, 게임 캐릭터의 행동과 관련된 행동 데이터 집합, 및 상기 게임 캐릭터의 행동에 대한 보상 값과 관련된 보상 데이터 집합을 저장한다.
다음으로, 단계(820)에서 상기 게임 인공지능 시스템(100)의 게임 환경 선택부(120)는 상기 게임을 실행하는 경우, 돌연변이 과정과 교배 과정에 기초하여 상기 게임 캐릭터의 다음 행동을 탐색하는 유전 알고리즘을 선택한다.
다음으로, 단계(830)에서 상기 게임 인공지능 시스템(100)의 실행 환경 선택부(210)는 상기 실행 환경 데이터 집합 중에서 어느 하나의 실행 환경 데이터를 임의로 선택한다.
다음으로, 단계(840)에서 상기 게임 인공지능 시스템(100)의 자식 집합 생성부(320)는 상기 선택된 실행 환경 데이터의 일부 요소를 무작위 값으로 반복 치환하여 해당되는 각 실행 환경 데이터를 구성요소로 하는 실행 환경 데이터의 자식 집합을 생성한다.
다음으로, 단계(850)에서 상기 게임 인공지능 시스템(100)의 다음 행동 결정부(330)는 자식 집합 내 실행 환경 데이터에 대응되는 복수의 행동 데이터를 탐색하고, 탐색된 행동 데이터 간의 교배 과정 및 돌연변이 과정을 통해 게임 캐릭터의 다음 행동을 결정한다.
다음으로, 단계(860)에서 상기 게임 인공지능 시스템(100)의 학습부(130)는 상기 유전 알고리즘에 따른 상기 게임 캐릭터의 다음 행동에 대한 보상 값을 평가한다.
다음으로, 단계(870)에서 상기 게임 인공지능 시스템(100)의 학습부(130)는 상기 평가된 보상 값에 기초하여 상기 보상 데이터 집합을 갱신한다.
도 9는 본 발명의 일 실시예에 있어서, 강화 학습 방법 및 유전 알고리즘을 모두 수행한 경우의 게임 캐릭터의 인공지능 구현 방법을 설명하기 위해 도시한 도면이다.
도 1, 도 4, 및 도 9를 참조하면, 단계(910)에서 상기 게임 인공지능 시스템(100)의 데이터 저장부(110)는 게임의 실행 환경과 관련된 실행 환경 데이터 집합, 게임 캐릭터의 행동과 관련된 행동 데이터 집합, 및 상기 게임 캐릭터의 행동에 대한 보상 값과 관련된 보상 데이터 집합을 저장한다.
다음으로, 단계(920)에서 상기 게임 인공지능 시스템(100)의 게임 환경 선택부(120)는 상기 게임을 실행하는 경우, 상기 게임의 실행 환경에 따른 상기 게임 캐릭터의 행동에 대한 보상 값에 기초하여 상기 게임 캐릭터의 다음 행동을 학습하는 강화 학습 방법과 돌연변이 과정과 교배 과정에 기초하여 상기 게임 캐릭터의 다음 행동을 탐색하는 유전 알고리즘을 모두 선택한다.
다음으로, 단계(930)에서 상기 게임 인공지능 시스템(100)의 실행 환경 선택부(410)는 상기 실행 환경 데이터 집합 중에서 어느 하나의 실행 환경 데이터를 임의로 선택한다.
다음으로, 단계(940)에서 상기 게임 인공지능 시스템(100)의 자식 집합 생성부(420)는 선택된 실행 환경 데이터의 일부 요소를 무작위 값으로 반복 치환하여 해당되는 각 실행 환경 데이터를 구성요소로 하는 실행 환경 데이터의 자식 집합을 생성한다.
다음으로, 단계(950)에서 상기 게임 인공지능 시스템(100)의 다음 행동 결정부(430)는 자식 집합 내 실행 환경 데이터에 대응되는 복수의 행동 데이터를 보상 데이터 집합에 기초하여 탐색한다.
다음으로, 단계(960)에서 상기 게임 인공지능 시스템(100)의 다음 행동 결정부(430)는 탐색된 행동 데이터 간의 교배 과정 및 돌연변이 과정을 통해 게임 캐릭터의 다음 행동을 결정한다.
다음으로, 단계(970)에서 상기 게임 인공지능 시스템(100)의 학습부(130)는 상기 강화 학습 방법에 따른 상기 게임 캐릭터의 다음 행동에 대한 보상 값을 평가한다.
다음으로, 단계(980)에서 상기 게임 인공지능 시스템(100)의 학습부(130)는 상기 평가된 보상 값에 기초하여 상기 보상 데이터 집합을 갱신한다.
본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
지금까지 본 발명에 따른 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서는 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허 청구의 범위뿐 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.
110 : 데이터 저장부
120 : 게임 환경 선택부
130 : 학습부
210, 310, 410 : 실행 환경 선택부
220, 330, 430 : 다음 행동 결정부
320, 420 : 자식 집합 생성부

Claims (16)

  1. 게임의 실행 환경과 관련된 실행 환경 데이터 집합, 게임 캐릭터의 행동과 관련된 행동 데이터 집합, 및 상기 게임 캐릭터의 행동에 대한 보상 값과 관련된 보상 데이터 집합을 저장하는 데이터 저장부;
    상기 게임을 실행하는 경우, 상기 게임의 실행 환경에 따른 상기 게임 캐릭터의 행동에 대한 보상 값에 기초하여 상기 게임 캐릭터의 다음 행동을 학습하는 강화 학습 방법, 및 돌연변이 과정과 교배 과정에 기초하여 상기 게임 캐릭터의 다음 행동을 탐색하는 유전 알고리즘 중 적어도 하나를 선택하는 게임 환경 선택부; 및
    상기 강화 학습 방법 및 상기 유전 알고리즘 중 선택된 적어도 하나에 따른 상기 게임 캐릭터의 다음 행동에 대한 보상 값을 평가하고, 상기 평가된 보상 값에 기초하여 상기 보상 데이터 집합을 갱신하는 학습부
    를 포함하는 것을 특징으로 하는 게임 인공지능 시스템.
  2. 제1항에 있어서,
    상기 게임 환경 선택부에 의해 상기 강화 학습 방법이 선택된 경우,
    상기 실행 환경 데이터 집합 중에서 어느 하나의 실행 환경 데이터를 임의로 선택하는 실행 환경 선택부; 및
    상기 보상 데이터 집합에 기초하여, 상기 행동 데이터 집합 중 상기 실행 환경 데이터에 대응되는 하나의 행동 데이터를 탐색하고, 상기 탐색된 행동 데이터를 상기 게임 캐릭터의 다음 행동으로 결정하는 다음 행동 결정부
    를 더 포함하는 것을 특징으로 하는 게임 인공지능 시스템.
  3. 제2항에 있어서,
    상기 다음 행동 결정부는
    보상 값 비례 룰렛-휠 방식을 이용하여, 상기 행동 데이터 집합 중 상기 게임 캐릭터의 행동에 대한 보상 값이 가장 큰 행동 데이터를 탐색하는 것을 특징으로 하는 게임 인공지능 시스템.
  4. 제1항에 있어서,
    상기 게임 환경 선택부에 의해 상기 유전 알고리즘이 선택된 경우,
    상기 실행 환경 데이터 집합 중에서 어느 하나의 실행 환경 데이터를 임의로 선택하는 실행 환경 선택부;
    상기 선택된 실행 환경 데이터의 일부 요소를 무작위 값으로 반복 치환하여 해당되는 각 실행 환경 데이터를 구성요소로 하는 실행 환경 데이터의 자식 집합을 생성하는 자식 집합 생성부; 및
    상기 행동 데이터 집합 중 상기 생성된 자식 집합 내 실행 환경 데이터에 대응되는 복수의 행동 데이터를 탐색하고, 상기 탐색된 행동 데이터 간의 교배 과정 및 돌연변이 과정을 통해 상기 게임 캐릭터의 다음 행동을 결정하는 다음 행동 결정부
    를 더 포함하는 것을 특징으로 하는 게임 인공지능 시스템.
  5. 제4항에 있어서,
    상기 다음 행동 결정부는
    상기 교배 과정 및 돌연변이 과정을 거친 행동 데이터 중에서 룰렛-휠 방식을 이용하여 어느 하나의 행동 데이터를 선택함으로써 상기 게임 캐릭터의 다음 행동을 결정하는 것을 특징으로 하는 게임 인공지능 시스템.
  6. 제1항에 있어서,
    상기 데이터 저장부는
    상기 실행 환경 데이터 집합, 상기 행동 데이터 집합, 및 상기 보상 데이터 집합 중 적어도 하나를 텍스트 파일로 저장하는 것을 특징으로 하는 게임 인공지능 시스템.
  7. 제1항에 있어서,
    상기 학습부는
    상기 게임 캐릭터의 다음 행동에 따른 자신과 상대방의 피해 정도에 기초하여 상기 게임 캐릭터의 다음 행동에 대한 보상 값을 평가하는 것을 특징으로 하는 게임 인공지능 시스템.
  8. 제1항에 있어서,
    상기 학습부는
    상기 게임 캐릭터의 다음 행동을 취하기 전과 후의 보상 값을 비교하고, 상기 비교 결과에 따라 상기 보상 데이터 집합 내 해당 보상 데이터의 값을 가감 처리하는 것을 특징으로 하는 게임 인공지능 시스템.
  9. 게임 인공지능 시스템의 데이터 저장부에서, 게임의 실행 환경과 관련된 실행 환경 데이터 집합, 게임 캐릭터의 행동과 관련된 행동 데이터 집합, 및 상기 게임 캐릭터의 행동에 대한 보상 값과 관련된 보상 데이터 집합을 저장하는 단계;
    게임 인공지능 시스템의 게임 환경 선택부에서, 상기 게임을 실행하는 경우, 상기 게임의 실행 환경에 따른 상기 게임 캐릭터의 행동에 대한 보상 값에 기초하여 상기 게임 캐릭터의 다음 행동을 학습하는 강화 학습 방법, 및 돌연변이 과정과 교배 과정에 기초하여 상기 게임 캐릭터의 다음 행동을 탐색하는 유전 알고리즘 중 적어도 하나를 선택하는 단계;
    게임 인공지능 시스템의 학습부에서, 상기 강화 학습 방법 및 상기 유전 알고리즘 중 선택된 적어도 하나에 따른 상기 게임 캐릭터의 다음 행동에 대한 보상 값을 평가하는 단계; 및
    게임 인공지능 시스템의 학습부에서, 상기 평가된 보상 값에 기초하여 상기 보상 데이터 집합을 갱신하는 단계
    를 포함하는 것을 특징으로 하는 게임 캐릭터의 인공지능 구현 방법.
  10. 제9항에 있어서,
    상기 강화 학습 방법 및 상기 유전 알고리즘 중 적어도 하나를 선택하는 단계에서 상기 강화 학습 방법이 선택된 경우,
    게임 인공지능 시스템의 실행 환경 선택부에서, 상기 실행 환경 데이터 집합 중에서 어느 하나의 실행 환경 데이터를 임의로 선택하는 단계;
    게임 인공지능 시스템의 다음 행동 결정부에서, 상기 보상 데이터 집합에 기초하여, 상기 행동 데이터 집합 중 상기 실행 환경 데이터에 대응되는 하나의 행동 데이터를 탐색하는 단계; 및
    게임 인공지능 시스템의 다음 행동 결정부에서, 상기 탐색된 행동 데이터를 상기 게임 캐릭터의 다음 행동으로 결정하는 단계
    를 더 포함하는 것을 특징으로 하는 게임 캐릭터의 인공지능 구현 방법.
  11. 제10항에 있어서,
    상기 행동 데이터를 탐색하는 단계는
    보상 값 비례 룰렛-휠 방식을 이용하여, 상기 행동 데이터 집합 중 상기 게임 캐릭터의 행동에 대한 보상 값이 가장 큰 행동 데이터를 탐색하는 단계
    를 포함하는 것을 특징으로 하는 게임 캐릭터의 인공지능 구현 방법.
  12. 제9항에 있어서,
    상기 강화 학습 방법 및 상기 유전 알고리즘 중 적어도 하나를 선택하는 단계에서 상기 유전 알고리즘이 선택된 경우,
    게임 인공지능 시스템의 실행 환경 선택부에서, 상기 실행 환경 데이터 집합 중에서 어느 하나의 실행 환경 데이터를 임의로 선택하는 단계;
    게임 인공지능 시스템의 자식 집합 생성부에서, 상기 선택된 실행 환경 데이터의 일부 요소를 무작위 값으로 반복 치환하여 해당되는 각 실행 환경 데이터를 구성요소로 하는 실행 환경 데이터의 자식 집합을 생성하는 단계; 및
    게임 인공지능 시스템의 다음 행동 결정부에서, 상기 행동 데이터 집합 중 상기 생성된 자식 집합 내 실행 환경 데이터에 대응되는 복수의 행동 데이터를 탐색하고, 상기 탐색된 행동 데이터 간의 교배 과정 및 돌연변이 과정을 통해 상기 게임 캐릭터의 다음 행동을 결정하는 단계
    를 더 포함하는 것을 특징으로 하는 게임 캐릭터의 인공지능 구현 방법.
  13. 제12항에 있어서,
    상기 게임 캐릭터의 다음 행동을 결정하는 단계는
    상기 교배 과정 및 돌연변이 과정을 거친 행동 데이터 중에서 룰렛-휠 방식을 이용하여 어느 하나의 행동 데이터를 선택함으로써 상기 게임 캐릭터의 다음 행동을 결정하는 단계
    를 포함하는 것을 특징으로 하는 게임 캐릭터의 인공지능 구현 방법.
  14. 제9항에 있어서,
    상기 저장하는 단계는
    상기 실행 환경 데이터 집합, 상기 행동 데이터 집합, 및 상기 보상 데이터 집합 중 적어도 하나를 텍스트 파일로 저장하는 단계
    를 포함하는 것을 특징으로 하는 게임 캐릭터의 인공지능 구현 방법.
  15. 제9항에 있어서,
    상기 게임 캐릭터의 다음 행동에 대한 보상 값을 평가하는 단계는
    상기 게임 캐릭터의 다음 행동에 따른 자신과 상대방의 피해 정도에 기초하여 상기 게임 캐릭터의 다음 행동에 대한 보상 값을 평가하는 단계
    를 포함하는 것을 특징으로 하는 게임 캐릭터의 인공지능 구현 방법.
  16. 제9항에 있어서,
    상기 보상 데이터 집합을 갱신하는 단계는
    상기 게임 캐릭터의 다음 행동을 취하기 전과 후의 보상 값을 비교하는 단계; 및
    상기 비교 결과에 따라 상기 보상 데이터 집합 내 해당 보상 데이터의 값을 가감 처리하는 단계
    를 포함하는 것을 특징으로 하는 게임 캐릭터의 인공지능 구현 방법.
KR1020150181475A 2015-12-18 2015-12-18 게임 인공지능 시스템 및 이를 이용한 게임 캐릭터의 인공지능 구현 방법 KR20170073059A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150181475A KR20170073059A (ko) 2015-12-18 2015-12-18 게임 인공지능 시스템 및 이를 이용한 게임 캐릭터의 인공지능 구현 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150181475A KR20170073059A (ko) 2015-12-18 2015-12-18 게임 인공지능 시스템 및 이를 이용한 게임 캐릭터의 인공지능 구현 방법

Publications (1)

Publication Number Publication Date
KR20170073059A true KR20170073059A (ko) 2017-06-28

Family

ID=59280869

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150181475A KR20170073059A (ko) 2015-12-18 2015-12-18 게임 인공지능 시스템 및 이를 이용한 게임 캐릭터의 인공지능 구현 방법

Country Status (1)

Country Link
KR (1) KR20170073059A (ko)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101975542B1 (ko) * 2018-11-07 2019-05-07 넷마블 주식회사 게임 공략 가이드 제공 방법 및 게임 공략 가이드 제공 장치
CN110033295A (zh) * 2018-01-11 2019-07-19 韩国电子通信研究院 对游戏中事件的奖励重要性的检测装置及方法
KR20190085817A (ko) * 2018-01-11 2019-07-19 한국전자통신연구원 인게임 이벤트에 대한 보상 중요도 측정 장치 및 방법
KR102038978B1 (ko) * 2018-12-20 2019-11-01 넷마블 주식회사 게임 공략 가이드 방법 및 게임 공략 가이드 장치
KR20200121616A (ko) * 2019-04-16 2020-10-26 넷마블 주식회사 게임 환경 변경 방법
KR20210034352A (ko) * 2019-09-20 2021-03-30 넷마블 주식회사 게임 대전 제공 방법
KR102358179B1 (ko) * 2020-07-29 2022-02-07 김희영 인공지능 원리 학습을 위한 게임 컨텐츠 제공 방법, 장치 및 컴퓨터-판독가능 기록매체
KR20220015523A (ko) * 2020-07-31 2022-02-08 한국전자기술연구원 가상훈련을 위한 npc형 ai 캐릭터 학습 시스템 및 방법
WO2023149607A1 (ko) * 2022-02-07 2023-08-10 마인드로직 주식회사 인공지능 캐릭터의 레벨 평가, 거래 방법과, 구독 방법
WO2023158254A1 (ko) * 2022-02-18 2023-08-24 한국전자기술연구원 소방 가상훈련 콘텐츠의 npc형 ai 소방관 학습 시스템 및 그 방법

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110033295A (zh) * 2018-01-11 2019-07-19 韩国电子通信研究院 对游戏中事件的奖励重要性的检测装置及方法
KR20190085817A (ko) * 2018-01-11 2019-07-19 한국전자통신연구원 인게임 이벤트에 대한 보상 중요도 측정 장치 및 방법
CN110033295B (zh) * 2018-01-11 2023-08-29 韩国电子通信研究院 对游戏中事件的奖励重要性的检测装置及方法
KR101975542B1 (ko) * 2018-11-07 2019-05-07 넷마블 주식회사 게임 공략 가이드 제공 방법 및 게임 공략 가이드 제공 장치
US11497993B2 (en) 2018-11-07 2022-11-15 Netmarble Corporation Method and apparatus for providing game strategy guide
KR102038978B1 (ko) * 2018-12-20 2019-11-01 넷마블 주식회사 게임 공략 가이드 방법 및 게임 공략 가이드 장치
KR20200121616A (ko) * 2019-04-16 2020-10-26 넷마블 주식회사 게임 환경 변경 방법
KR20210034352A (ko) * 2019-09-20 2021-03-30 넷마블 주식회사 게임 대전 제공 방법
KR102358179B1 (ko) * 2020-07-29 2022-02-07 김희영 인공지능 원리 학습을 위한 게임 컨텐츠 제공 방법, 장치 및 컴퓨터-판독가능 기록매체
KR20220015523A (ko) * 2020-07-31 2022-02-08 한국전자기술연구원 가상훈련을 위한 npc형 ai 캐릭터 학습 시스템 및 방법
WO2023149607A1 (ko) * 2022-02-07 2023-08-10 마인드로직 주식회사 인공지능 캐릭터의 레벨 평가, 거래 방법과, 구독 방법
WO2023158254A1 (ko) * 2022-02-18 2023-08-24 한국전자기술연구원 소방 가상훈련 콘텐츠의 npc형 ai 소방관 학습 시스템 및 그 방법

Similar Documents

Publication Publication Date Title
KR20170073059A (ko) 게임 인공지능 시스템 및 이를 이용한 게임 캐릭터의 인공지능 구현 방법
Amato Procedural content generation in the game industry
JP6403834B2 (ja) 離散最適化のための帰納論理プログラミング強化ディープビリーフネットワーク・モデルのトレーニング
Barriga et al. Game tree search based on nondeterministic action scripts in real-time strategy games
Liu et al. Sparsity May Cry: Let Us Fail (Current) Sparse Neural Networks Together!
Kristensen et al. Strategies for using proximal policy optimization in mobile puzzle games
Harris et al. A comparison of genetic programming variants for hyper-heuristics
CN111950579A (zh) 分类模型的训练方法和训练装置
US20160246576A1 (en) Computer program generation
US11772275B2 (en) Generative design techniques for robot behavior
JP6325762B1 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
Choi et al. Automatic feasible transition path generation from UML state chart diagrams using grouping genetic algorithms
CN113468044A (zh) 一种基于改进的灰色预测演化算法的测试用例生成方法
Ada et al. Generalization in transfer learning
Moraglio et al. Evolving recursive programs using non-recursive scaffolding
US8661061B2 (en) Data structure, data structure generation method, information processing apparatus, information processing system, and computer-readable storage medium having stored therein information processing program
KR20220162096A (ko) 심층신경망의 강화학습 에이전트의 합리적인 행동 결정 유도 방법
US20210299573A1 (en) Method and System for Automatic and Interactive Model Training using Domain Knowledge in Video Games
Dabney et al. Utile Distinctions for Relational Reinforcement Learning.
CN112712178A (zh) 一种基于遗传算法的贝叶斯网络结构学习的方法及系统
Olesen et al. Evolutionary planning in latent space
CN112181420A (zh) 基于强化学习的编译器缺陷定位方法
KR20210000181A (ko) 게임 데이터 처리 방법
WO2023214582A1 (ja) 学習装置、学習方法及び学習プログラム
CN112507225B (zh) 一种基于双层优化的推荐系统数据调试方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application