KR20070061288A - 대전 액션 게임에서 인공 지능 캐릭터의 생성 및 제어 방법 - Google Patents

대전 액션 게임에서 인공 지능 캐릭터의 생성 및 제어 방법 Download PDF

Info

Publication number
KR20070061288A
KR20070061288A KR1020060084813A KR20060084813A KR20070061288A KR 20070061288 A KR20070061288 A KR 20070061288A KR 1020060084813 A KR1020060084813 A KR 1020060084813A KR 20060084813 A KR20060084813 A KR 20060084813A KR 20070061288 A KR20070061288 A KR 20070061288A
Authority
KR
South Korea
Prior art keywords
character
score
behavior
output
layer
Prior art date
Application number
KR1020060084813A
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 한국전자통신연구원
Publication of KR20070061288A publication Critical patent/KR20070061288A/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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/833Hand-to-hand fighting, e.g. martial arts competition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 발명은 대전 액션 게임에서 컴퓨터에 의하여 조정되는 캐릭터에 지능을 부여하여 스스로 게임의 규칙을 학습할 수 있는 방법에 관한 것이다. 지능 캐릭터를 구현하기 위하여 학습 능력이 있는 신경회로망을 이용하는 방법에 있어서 사용자의 흥미를 유발하고 동시에 게임 개발의 효율성을 향상시키기 위하여 새로운 신경회로망의 구조를 제안하였다. 제안된 방법은 기존의 신경회로망을 이용하여 다양한 성격의 캐릭터를 만들어 낼 수 있으며 또한 캐릭터의 학습 정도를 조절함으로써 게임의 난이도를 제어할 수 있다.
대전 액션 게임, 캐릭터

Description

대전 액션 게임에서 인공 지능 캐릭터의 생성 및 제어 방법{METHOD FOR CREATING AND CONTROL OF ARTIFICIAL INTELLIGENT CHARACTERS FOR FIGHTING ACTION GAMES}
도 1은 본 발명의 일실시예에 따른 지능 캐릭터를 표현하는 신경회로망 구성도.
도 2는 본 발명의 일실시예에 따른 지능 캐릭터를 학습시키는 방법.
도 3은 본 발명의 일실시예에 따른 다양한 성향의 지능 캐릭터를 생성하기 위해 강화값을 정하는 방법.
도 4는 본 발명의 일실시예에 따른 다양한 지능 수준의 지능 캐릭터를 생성하기 위해 학습 단계를 조절하는 방법.
본 발명은 대전 액션 게임에서 인공 지능 캐릭터의 생성 및 제어 방법에 관한 것으로서, 더욱 상세하게는 컴퓨터에 의해 조정되는 대전 액션 게임의 캐릭터의 행동 양식을 조정하여 사용자의 행동 양식에 따라 적절한 형태로 반응하도록 하여 여 보다 흥미 있는 게임을 제공하는 대전 액션 게임에서 인공 지능 캐릭터의 생성 및 제어 방법에 관한 것이다.
지금까지 다양한 컴퓨터 게임에 인공지능 기법의 접목이 시도되었다. 그 동안의 시도에서는 인공지능 기법으로서 주로 유한 상태 기계(Finite State Machine:FSM), 퍼지 상태 기계(Fuzzy State Machine:FuSM), 인공생명 등을 사용하였다.
이러한 기존의 인공지능기법은 대부분이 보드 게임 등과 같이 게임 전체의 상황을 인식하여 대처하는 게임을 위한 것으로 게임 설계자가 모든 상황을 미리 규정해 설계하고 일일이 코딩해야 하는 단점이 있다. 또한 이렇게 제작된 게임이라고 할지라도 스스로 환경을 인식하여 적응하는 능력이 없어 상황이나 게임의 규칙이 변화하면 다시 코딩을 해야 한다.
최근 들어 신경회로망 또는 인공생명 등을 이용하여 게임에 지능을 부여하려는 시도가 있었다. 그러나 이러한 시도들은 주로 캐릭터들이 군집을 형성하는 분야에서 전체적인 전략을 조율하는 인공생명에 근간을 둔 것으로서 아직 기초적인 단계에 머물고 있다.
한편, FSM은 상태들 간의 전이에 의해 통제되는 그래프 내에 유한 개의 상태들이 연결되어 있는 규칙 기반 시스템으로서, 현재 가장 널리 사용되는 인공 지능 기법이다. FSM은 단순히 if-else나 switch-case 문장만으로 구현할 수 있기 때문에 이해하기 쉽고 프로그램으로 구현하기 쉬워 널리 사용된다. 예를 들어 캐릭터가 이 동 중에 적을 발견하게 되면, 이동 상태에서 추적 상태로 바뀌어 발견한 적을 쫓아간다. 그리고 적이 일정한 거리 내에 들어오면, 공격 상태로 바뀌어 적을 공격한다. 이와 같이 FSM을 이용하면 구현이 쉽고 행동이 정확히 정의되는 장점이 있으나 게임의 진행이 미리 정의된 방식으로만 동작하는 단점이 있다. 즉 게임의 상대방이 FSM으로 구현된 경우 상대방의 행동 양식이 일정하기 때문에 일정시간 게임을 한 후에는 쉽게 예측될 수 있다는 것이다. 상대방의 행동을 예측할 수 있다는 것은 게임의 흥미를 반감시키는 요인으로 작용한다. 이러한 단점을 보완하기 위해 FuSM이 사용되고 있다.
FSM에 퍼지 이론을 접목한 FuSM의 경우에는 입력과 출력에 퍼지 함수를 적용하여 어느 정도 무작위적으로 동작할 수 있도록 한다. 무작위 요소가 포함되어 있기 때문에 게임에서의 상대방이 동일한 상황에서 다른 행동을 할 가능성이 있어서 상대방의 행동을 예측하기가 어렵게 된다. 그러나, FSM과 FuSM은 캐릭터의 상태의 수가 적을 때는 간단하게 구현할 수 있지만, 상태의 수가 많아지게 되면, 상태 다이어그램을 정리하기도 어렵고, 프로그램이 급격하게 복잡해지는 단점이 있다. 또한 FSM 과 FuSM 모두 새로운 행동 양식을 추가하기 위해서는 새롭게 프로그램을 해야만 하는 단점이 있다.
인공생명이란 생명체가 나타내는 현상을 컴퓨터, 로봇 등과 같은 인공 매체 상에 재현함으로써 생명의 일반적인 특성에 대해 연구하는 학문이다. 생물학이 생물 현상에 대해 분석적인 방법으로 접근하였다면, 인공생명은 종합적인 방법으로 접근한다. 게임 개발자들은 인공생명 기법을 게임에 적용하려고 오래 전부터 시도 를 해왔다. 그러나 인공생명의 예측 불가능한 특성 때문에, 제한적으로 사용되어 왔다. 최근 들어 다시 인공생명을 게임에 적용하려는 시도가 되고 있다. 인공생명의 기1본적인 특성인 적응성, 창발성 등을 게임에 적용하게 되면, 복잡한 환경이나 사용자의 조작에 적응하거나 전혀 예상치 못한 창발적인 행동으로 인하여 게임의 흥미를 높일 수 있기 때문이다. 그러나 지금까지 연구의 초점은 주로 캐릭터들이 군집을 형성하는 게임에서 전체적인 전략을 결정하는 것에 중점을 둔 연구로서 아직 기초적인 단계에 머물고 있다.
신경회로망은 인간의 신경 체제를 모사한 것으로서, 수많은 간단한 콤포넌트들이 연결된 구조를 가지고, 입력되는 데이터의 패턴 인식에 기반하여 출력을 산출한다. 신경회로망이 게임에 적용되었을 때의 가장 큰 장점으로는, 신경회로망은 학습 능력을 가지고 있기 때문에 게임을 진행하면서 계속적으로 지능이 향상될 수 있다는 점이다. 그래서 지금까지 신경회로망을 게임에 적용하려는 시도가 많이 진행되고 있는데, 대부분이 오목, Tic-Tac-Toe 등 보드 게임이 주류를 이룬다. 보드 게임은 보드 상에서 움직이는 말들의 전체적인 상황을 인지하여 개개의 말들의 움직임을 결정하는 특성을 가지고 있다. 반면에 대전 액션 게임은 전체적인 상황이 아닌 상대방 캐릭터의 행동에 대하여 적절한 자신의 행동을 결정해야 하는 특성이 있다. 대전 게임에서의 캐릭터를 지능화하기 위한 방법으로는 현재까지 주로 FSM 이나 FuSM을 사용하였다.
한편, 과거의 기술에 있어서는 대전 게임에 신경회로망을 사용하기 보다는 특정 캐릭터의 힘, 타격길이, 필살기의 종류, 대응 속도 등을 조정하여 그 난이도 를 조정하였다. 따라서, 사용자가 해당 캐릭터와 대전하게 되면 캐릭터 간의 상성 또는 강한 캐릭터의 자체적인 특성으로 대전 게임의 난이도가 결정되며 어떤 강한 적을 이긴 이후에는 그 적의 패턴 등을 사용자가 쉽게 파악하게 되므로 클리어하기도 용이하게 되어 사용자는 쉽게 실증을 느끼게 되는 문제점이 있는 것이다.
또한, 기존 방법에서는 강화값을 정하는 위하여 주어진 거리 상에서 상대방 캐릭터의 행동에 대한 지능 캐릭터의 행동이 잘한 것인지 못한 것인지를 지능 캐릭터가 획득한 점수와 상대방 캐릭터가 획득한 점수의 차로써 판단하고, 이를 이용하여 강화 학습을 한다. 만약 이 값이 양의 값이면 동일한 상황(상대방 캐릭터의 행동과 단계, 상대방 캐릭터와의 거리, 상대방 캐릭터의 과거 행동)에서 해당 행동을 권장하고, 음의 값이면 해당 행동을 선택하지 않게 학습한다. 물론, 점수차의 절대값이 클수록 크게 강화된다. 그러나, 무작위 행동 생성이 모든 상황에 대한 것을 생성하지 않기 때문에 많은 학습을 하더라도 최적의 행동을 찾는다는 것을 보장하지는 못한다는 문제점이 있다.
본 발명은 전술한 문제점을 해결하기 위하여 제안된 것으로 그 목적은 대전 게임, 액션 게임, 전략 게임 및 온라인 게임 등에서 지능 캐릭터가 초기에는 무작위로 행동하는 캐릭터와의 대전을 통하여 스스로 게임 규칙을 학습하도록 하는 대전 액션 게임에서 인공 지능 캐릭터의 생성 및 제어 방법을 제공하는 데에 있는 것이다.
또한, 본 발명의 또 다른 목적은 대전 액션 게임에서 컴퓨터에 의해 조정되는 캐릭터의 행동 양식을 사용 시간에 따라 적절히 배치함으로써 효과적인 공격 및 방어를 수행하며 이를 통하여 승부를 가리도록 하므로 컴퓨터에 의해 조정되는 캐릭터는 사용자의 행동 양식에 따라 적절한 형태로 반응하여 보다 흥미 있는 게임을 제공할 수 있는 대전 액션 게임에서 인공 지능 캐릭터의 생성 및 제어 방법을 제공하는 데에 있는 것이다.
또한, 본 발명의 또 다른 목적은 컴퓨터에 의해 조정되는 캐릭터의 행동 양식을 결정하는데 있어서 인공 지능을 가진 다양한 유형의 캐릭터를 만들어 구성함으로써, 캐릭터가 취할 수 있는 전략을 여러 가지로 준비하여 사용자가 다른 개성을 갖는 캐릭터로 느끼게끔 하므로 사용자가 게임에 보다 더 흥미를 느끼도록 한 대전 액션 게임에서 인공 지능 캐릭터의 생성 및 제어 방법을 제공하는 데에 있는 것이다.
또한, 본 발명의 또 다른 목적은 대전 액션 게임에서 사용자가 게임을 진행할수록 게임의 난이도가 어려워지도록 하기 위하여 신경회로망의 학습 정도를 조절하고 이를 통하여 손쉽게 다양한 난이도의 게임 캐릭터를 만들어 낼 수 있도록 하여 사용자에게 보다 흥미를 이끌어 낼 수 있도록 구성한 대전 액션 게임에서 인공 지능 캐릭터의 생성 및 제어 방법을 제공하는 데에 있는 것이다.
따라서, 본 발명의 대전 액션 게임에서 인공 지능 캐릭터의 생성 제어 방법은 입력계층에서는 상대방 캐릭터의 행동, 행동의 단계, 두 캐릭터간의 거리, 상대방 캐릭터의 과거 행동 및 지능 캐릭터의 과거 행동을 정수로 매핑하여 입력하고, 은닉계층에서는 상기 상대방 캐릭터의 행동, 상기 행동의 단계, 상기 두 캐릭터간의 거리, 상기 상대방 캐릭터의 과거 행동 및 상기 지능 캐릭터의 과거 행동을 예측하기 위하여 비선형 모델을 사용하고, 최적의 은닉 노드를 찾아내며, 출력계층에서는 지능 캐릭터가 취할 수 있는 행동 개수만큼의 출력 노드를 선택하며, 상기 지능 캐릭터는 그 중에서 가장 큰 값을 출력하는 행동으로 자신의 행동을 결정하는 것으로 구성된다.
이하, 첨부된 도면을 참조하여 본 발명의 방법을 좀 더 상세히 설명하고자 한다.
도 1은 본 발명의 신경회로망 기반 지능 캐릭터를 나타낸다.
도 1을 참조하여 보면, 신경회로망을 이용하는 방법에는 다음의 세가지 방법이 있다.
첫 번째로 퍼셉트론 신경회로망은 생물의 신경전달조직인 시냅스를 수학적으로 모델링한 신경회로망의 초기 형태이며, 로젠블럿에 의해 태어났다. 물론, 지금은 많이 변형, 발전된 모습의 퍼셉트론을 이용하지만, 이때의 개념 등은 현재까지도 패턴인식, 신경전달과정의 구조적 이론 등에 영향을 끼쳤다. 초기 퍼셉트론은 “인간의 뇌를 모델링”했다 하여, 극적인 뉴스거리가 되었으나, 기대와는 달리 XOR문제 등 퍼셉트론 만으로는 해결하지 못하는 수 많은 문제들이 1969년 민스키와 파퍼트의 저서 “퍼셉트론즈”를 통해 제기된다.
두 번째로 다층 퍼셉트론 신경회로망은 현재 쓰이고 있는 가장 일반적인 형태의 신경회로망이며, MLPNN(다층퍼셉트론신경회로망)은 단층 퍼셉트론이 복잡하게 얽혀 있는 형태로써, 초창기 신경회로망의 XOR문제를 해결하는데 커다란 공헌을 하였다. 역전파(Backpropagation) : 단층 퍼셉트론이 복잡하게 얽혀있는 다층 퍼셉트론 네트워크 구조로 되어있으며 이는 크게 입력층, 중간(은닉)층, 출력층으로 나누어진다. 입력층에 들어간 입력 신호는 각 연결강도(weight)와 곱해지고 각 노드(node)에서 더해진다. 출력층에서는 결과값과 실제값을 비교하여 오차가 작은 방향으로 노드간의 연결 강도를 조절하는(delta rule)을 사용하여 학습이 이루어진다.
세 번째로 홉필드 네트워크(Hopfield Network)는 입력층과 은닉층, 출력층의 각 노드가 완전연결(fully connection)된 형태의 신경회로망으로써, TSP(Traveling Salesman Problem), 최적화 문제를 해결하는데 적합한 구조이다. 그러나 완전연결(fully connection)에는 자연계의 생물학적 뉴런에서는 불가능한 대칭성(fully connect된 노드사이의 연결강도(weight)는 같다. - Wij = Wji)의 중대한 제약점을 가지고 있다.
한편, 본 발명의 신경회로망은 입력계층, 은닉계층, 출력계층으로 구성된다.
먼저, 입력계층에 대하여 설명하면, 신경회로망에는 상대방 캐릭터의 행동과 행동의 단계, 두 캐릭터간의 거리, 상대방 캐릭터의 과거 행동과 지능 캐릭터의 과거 행동을 함께 입력한다. 이러한 행동의 예로는 전진, 후진과 같은 이동형 움직임과 손 공격, 발 공격 등과 같은 행동형 움직임 등이 있다. 이러한 행동에 번호를 붙여 각 행동을 표시하여 입력 및 출력에 사용할 수 있다. 과거 행동의 입력 개수는 상대방 캐릭터의 행동 패턴의 길이와 관계된 것으로서 몇 개가 좋은지 미리 알 수 없기 때문에 특정 개수로 미리 설정한다. 이와 같이 신경회로망의 구조를 설정하면 상대방 캐릭터의 행동 패턴 별로 보다 더 적절한 지능 캐릭터의 행동 선택이 가능해지게 된다. 또한 지능 캐릭터의 과거 행동이 입력으로 들어가기 때문에, 학습 방법에 따라 지능 캐릭터의 최적 행동 순서를 학습할 수 있다. 캐릭터의 행동과 과거 행동은 앞서 설명한 바와 같이 정수로 매핑된 정수값으로 표현된다. 상대방 캐릭터와의 거리는 지능 캐릭터가 관찰한 거리로서 이 또한 정수로 처리한다. 또한 각 행동 별로 행동의 초기단계, 중반기, 후반기와 같이 단계를 구분할 수 있으며 이와 같은 세분된 행동 단계로 보다 실제감 있는 게임을 구현할 수 있다. 행동의 단계와 거리 모두 실제 세계에서는 연속적인 값이지만 컴퓨터에서는 이산적인 값으로 처리되므로 정수로 매핑하도록 한다.
은닉계층 - 복잡한 구조를 가지는 자료에서 예측문제를 해결하기 위해 사용하는 유연한 비선형 모형(nonlinear models)의 하나로서, 최적 은닉 노드 개수를 찾아내는 것은 어렵기 때문에, 사전 실험을 통하여 설정한다.
출력계층 - 출력은 지능 캐릭터가 취할 수 있는 행동 개수만큼의 출력 노드가 있으며, 지능 캐릭터는 그 중에서 가장 큰 값을 출력하는 행동으로 자신의 행동 을 결정한다.
도 1은 이와 같은 내용을 종합하여 신경회로망의 구성을 나타낸 것이다. 도 1에서 입력은 상대방 캐릭터와 관련된 정보로서 PA(t)는 상대방 캐릭터의 시간 t 에서의 행동을 나타내는 함수이며, T는 특정 행동이 진행된 단계, D는 지능 캐릭터와 상대방 캐릭터 사이의 거리를 나타낸다. 그리고 지능 캐릭터와 관련된 정보로서 NA(t)는 지능 캐릭터의 시간 t 에서의 행동을 나타내는 함수이다. 신경회로망의 출력 개수는 지능 캐릭터의 행동 개수와 일치하며 예를 들어, Ni는 정지 Nup은 위주먹, NS는 필살기를 나타낸다.
도 2는 본 발명의 대전 액션 게임을 위한 지능 캐릭터를 학습시키는 방법을 나타낸다. 기존 방법에서는 지능 캐릭터의 현재 행동이 어떤 점수를 발생시키는가에 대해서만 학습했다. 그렇기 때문에 현재 많은 대전 액션 게임에서 적용하고 있는 연속 기술에 대한 가산 점수에는 대응하지 못한다. 도 2는 이와 같이 연속 기술에 대해 가산 점수가 있는 게임의 경우, 지능 캐릭터가 연속 기술을 스스로 학습할 수 있는 윈도우 학습 방법을 나타낸다. 윈도우 학습 방법은 기존 방법과는 달리 지능 캐릭터가 하나의 행동을 학습할 때 현재 점수만을 이용하는 것이 아니라, 그 행동 다음에 나타나는 일정 개수의 행동들의 점수의 합을 이용하여 학습하는 것이다. 예를 들어 도 2에서 지능 캐릭터가 a1, a2, a3, a4라는 행동을 순서대로 하면 연속 기술이 성공되어 많은 점수를 획득한다고 하면, a1이라는 행동은 a1행동의 점수가 아니라 a1, a2, s3, a4 라는 행동의 점수의 합으로 학습하기 때문에, 게임에서 같 은 상황이 발생할 경우 a1이라는 행동을 하게 되고, a2, a3, a4 행동도 차례대로 수행한다. 즉, 윈도우 학습을 수행하면 게임에서 같은 상황이 발생할 경우 a1, a2, s3, a4라는 연속 기술을 수행하게 된다.
도 3은 다양한 성향의 지능 캐릭터를 생성하기 위해 강화값을 정하는 방법이다.
먼저, 상대방 캐릭터의 행동과 단계, 지능 캐릭터의 행동, 두 캐릭터 간의 거리 및 행동의 결과로 나온 점수차(강화값)가 모두 계산되면, 이를 이용하여 오류 역전파 알고리즘으로 학습을 수행한다. 오류 역전파 알고리즘을 이용한 학습은 신경회로망을 구성하는 각 링크의 가중치를 각 계층별로 수정한다. 먼저 출력 계층과 은닉 계층 사이의 링크의 가중치는 다음의 수학식 1 및 수학식 2로 수정되어 나타내어 진다.
Figure 112006063891838-PAT00001
Figure 112006063891838-PAT00002
여기서, dj는 출력 계층의 가중치이며, score는 점수의 차를 의미하며, zj는 j번째 출력 노드, vij는 i번째 은닉 노드와 j번째 출력 노드간의 링크 가중치, α(t)는 학습률 함수, hi는 i번째 은닉 노드를 나타낸다.
수학식 1에서 score는 출력 노드별로 다르게 주어진다. 즉, 지능 캐릭터의 행동으로 결정된 출력 노드의 score는 점수의 차로, 그 외의 출력 노드들은 그 점수의 차의 부호를 반대로 하여 적용한다. 이렇게 함으로써 점수의 차가 양수이면 해당 출력 노드는 다음에도 동일한 상황에 대해 같은 출력이 나오도록 수정하고, 반면에 다른 노드들은 그 노드들이 출력되지 않는 방향으로 링크의 가중치를 수정한다.
점수의 차가 음수이면 위와는 반대로 링크의 가중치가 수정된다. 즉, 동일한 상황에 대해 반대의 출력이 나오도록 수정하고, 다른 노드들은 그 노드들이 출력되는 방향으로 링크의 가중치를 수정한다.
수학식 2에서 α(t)는 시간에 따른 학습률의 함수로서, 본 발명에서는 학습률·e-t/Δt를 사용한다. Δt는 tend - start이고, tstart는 학습 시작 시간, tend는 학습 종료 시간이다.
다음으로 입력 계층과 은닉 계층 사이의 링크의 가중치는 다음의 수학식 3 및 수학식 4를 이용하여 수정된다.
Figure 112006063891838-PAT00003
Figure 112006063891838-PAT00004
여기서 xi는 i번째 입력 노드, hj는 j번째 은닉 노드, Nh는 은닉 노드의 개수, wij는 i번째 입력 노드와 j번째 은닉 노드간의 링크 가중치, α(t)는 학습률 함수를 나타낸다.
수학식 1의 설명에서와 같이 기존 방법에서는 강화값이 도 3의 일반 캐릭터와 같이 점수에 대한 강화값의 그래프가 선형으로 나타난다. 이러한 방식으로 학습한 지능 캐릭터는 점수를 적게 획득하는 행동과 점수를 크게 획득하는 행동 모두 같은 정도의 중요도로 학습하게 된다.
그러나 실제 세계에서는 사람마다 성향이 달라서 어떤 사람은 큰 공격은 위험하니까 작은 공격만 한다든가, 아니면 반대로 여러 번의 작은 공격보다는 큰 공격을 위주로 행동하는 사람이 있을 수 있다. 게임에도 이와 같은 상황을 적용하기 위해서 도 3과 같이 강화값을 점수에 대해 선형으로 정하는 캐릭터 및 도 3의 그래프에 도시된 바와 같이 비선형으로 지정하는 캐릭터도 생성한다. 예를 들어 도 3에서 파란 색의 큰 공격 중시를 보면 높은 점수를 획득하는 행동의 강화값은 다른 행동보다 상대적으로 강화값이 훨씬 더 크다. 따라서 이러한 강화값으로 학습한 지능 캐릭터는 점수를 적게 획득하는 행동도 학습했지만 상대적으로 큰 강화값으로 학습한 높은 점수를 획득하는 행동을 주로 하게 된다. 빨간색의 작은 공격을 중시하는 경우는 반대의 경우이다. 이와 같이 강화값을 비선형으로 지정하게 되면 프로그래 머가 원하는 다양한 성향의 지능 캐릭터를 생성할 수 있게 된다.
도 4는 다양한 지능 수준의 지능 캐릭터를 생성하기 위해 학습 단계를 조절하는 방법이다.
도 3에서 기술한 강화 학습을 수행하면 지능 캐릭터는 학습 시간이 증가함에 따라 성능이 높아진다. 따라서 학습 중에 지능 캐릭터를 저장하면 다양한 수준의 지능 캐릭터를 생성할 수 있다. 예를 들어 학습 초기에 저장한 캐릭터는 지능이 낮은 초급 지능 캐릭터, 학습 중기에 저장한 캐릭터는 어느 정도 지능이 있는 중급 지능 캐릭터, 학습 말기에 저장한 캐릭터는 지능이 높은 고급 지능 캐릭터가 된다. 최종적으로는 이러한 캐릭터들을 게이머의 수준에 맞추어 투입함으로써, 게이머가 싫증을 내지 않고 지속적으로 흥미를 갖도록 할 수 있다.
이상에서 몇 가지 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것이 아니고 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다.
따라서 본 발명을 실제 대전 게임에 적용할 경우 다음과 같은 효과를 가져 올 수 있다.
상기의 발명에 의한 컴퓨터 캐릭터는 학습에 사용되는 강화값 천이 함수를 달리함으로써 다양한 성격을 갖는 인공 지능 캐릭터를 만들 수 있다. 또한 학습 시 간을 조절함으로써 다양한 수준의 인공 지능 캐릭터의 생성이 가능해진다. 이러한 방법을 통하여 게이머의 성향과 수준에 맞추어 캐릭터의 투입이 가능하며 이는 게이머의 흥미를 지속적으로 유지할 수 있게 하는 효과가 있다.
또한, 상기의 발명에 의한 컴퓨터 캐릭터의 학습 방법은 게임의 규칙이 알려지지 않았거나, 도중에 변화하는 경우에도 자동적인 학습을 통하여 새로운 게임의 규칙에 맞는 인공지능 캐릭터를 만들 수 있으므로, 게임 개발에 소요되는 비용 및 시간을 단축시켜 주는 효과가 있다.

Claims (12)

  1. 입력계층, 은닉계층 및 출력계층으로 구성된 신경회로망에서 대전 액션 게임에서 인공 지능 캐릭터의 생성 및 제어 방법에 있어서,
    상기 입력계층에서는 상대방 캐릭터의 행동, 행동의 단계, 두 캐릭터간의 거리, 상대방 캐릭터의 과거 행동 및 지능 캐릭터의 과거 행동을 정수로 매핑하여 입력하고,
    상기 은닉계층에서는 상기 상대방 캐릭터의 행동, 상기 행동의 단계, 상기 두 캐릭터간의 거리, 상기 상대방 캐릭터의 과거 행동 및 상기 지능 캐릭터의 과거 행동을 예측하기 위하여 비선형 모델을 사용하고, 최적의 은닉 노드를 찾아내며,
    상기 출력계층에서는 지능 캐릭터가 취할 수 있는 행동 개수만큼의 출력 노드를 선택하며, 상기 지능 캐릭터는 그 중에서 가장 큰 값을 출력하는 행동으로 자신의 행동을 결정하는 것을 특징으로 하는 대전 액션 게임에서 인공 지능 캐릭터의 생성 및 제어 방법.
  2. 제1항에 있어서,
    상기 신경회로망의 상기 출력계층의 출력 개수는 지능 캐릭터의 행동 개수와 일치하는 것을 특징으로 하는 대전 액션 게임에서 인공 지능 캐릭터의 생성 및 제어 방법.
  3. 제2항에 있어서,
    출력 계층에서의 상기 지능 캐릭터는 상기 각 점수의 합을 이용하여 학습하는 것을 특징으로 하는 대전 액션 게임에서 인공 지능 캐릭터의 생성 및 제어 방법.
  4. 제1항에 있어서,
    상기 상대방 캐릭터의 행동, 상기 행동의 단계, 상기 지능 캐릭터의 행동, 상기 두 캐릭터 간의 거리 및 상기 행동의 결과로 나온 점수차(강화값)가 모두 계산되면, 신경회로망을 구성하는 각 링크의 가중치를 각 계층별로 수정하는 것을 특징으로 하는 대전 액션 게임에서 인공 지능 캐릭터의 생성 및 제어 방법.
  5. 제4항에 있어서,
    가중치 중 상기 출력 계층과 상기 은닉 계층 사이 링크의 상기 가중치는 다음의 수학식을 이용하여 구하고,
    Figure 112006063891838-PAT00005
    상기 출력 계층과 상기 은닉 계층 사이의 링크의 원하는 출력값은 다음의 수학식을 이용하여 구하며,
    Figure 112006063891838-PAT00006
    여기서, dj는 원하는 출력값이며, score는 점수의 차를 의미하며, zj는 j번째 출력 노드, vij는 i번째 은닉 노드와 j번째 출력 노드간의 링크 가중치, α(t)는 학습률 함수, hi는 i번째 은닉 노드를 나타내는 것을 특징으로 하는 대전 액션 게임에서 인공 지능 캐릭터의 생성 및 제어 방법.
  6. 제5항에 있어서,
    상기 수학식의 상기 score는 출력 노드별로 다르게 주어지며, 지능 캐릭터의 행동으로 결정된 출력 노드의 상기 score는 점수의 차로 적용하고, 그 외의 출력 노드들은 상기 점수의 차의 부호를 반대로 하여 적용하는 것을 특징으로 하는 대전 액션 게임에서 인공 지능 캐릭터의 생성 및 제어 방법.
  7. 제5항에 있어서,
    상기 학습률 함수 α(t)는 e-t/Δt를 사용하며, 상기 Δt는 tend - start이고, tstart는 학습 시작 시간, tend는 학습 종료 시간인 것을 특징으로 하는 대전 액션 게임에서 인공 지능 캐릭터의 생성 및 제어 방법.
  8. 제4항에 있어서,
    상기 입력 계층과 상기 은닉 계층 사이의 링크의 가중치를 나타내는 wij는 다음의 수학식을 이용하여 구하고
    Figure 112006063891838-PAT00007
    상기 입력 계층과 상기 은닉 계층 사이의 링크의 원하는 출력값은 다음의 수학식을 이용하여 구하며,
    Figure 112006063891838-PAT00008
    여기서 dj는 원하는 출력값, xi는 i번째 입력 노드, hj는 j번째 은닉 노드, Nh는 은닉 노드의 개수, wij는 i번째 입력 노드와 j번째 은닉 노드간의 링크 가중치, α(t)는 학습률 함수를 나타내는 것을 특징으로 하는 대전 액션 게임에서 인공 지능 캐릭터의 생성 및 제어 방법.
  9. 제8항에 있어서,
    상기 수학식의 상기 score는 출력 노드별로 다르게 주어지며, 지능 캐릭터의 행동으로 결정된 출력 노드의 상기 score는 점수의 차로 적용하고, 그 외의 출력 노드들은 상기 점수의 차의 부호를 반대로 하여 적용하는 것을 특징으로 하는 대전 액션 게임에서 인공 지능 캐릭터의 생성 및 제어 방법.
  10. 제8항에 있어서,
    상기 학습률 함수 α(t)는 e-t/Δt를 사용하며, 상기 Δt는 tend - start이고, tstart는 학습 시작 시간, tend는 학습 종료 시간인 것을 특징으로 하는 대전 액션 게임에서 인공 지능 캐릭터의 생성 및 제어 방법.
  11. 제5항 또는 제8항에 있어서,
    상기 강화값을 적용시에 큰 공격을 중시하는 캐릭터인 경우에는 높은 점수를 획득하는 행동의 강화값은 다른 행동보다 상대적으로 강화값이 훨씬 더 크도록 비선형으로 구성하여 상대적으로 큰 강화값으로 학습한 높은 점수를 획득하는 행동을 주로 하도록 하게 하며, 작은 공격을 중시하는 캐릭터인 경우에는 낮은 점수를 획득하는 행동의 강화값은 다른 행동보다 상대적으로 강화값이 훨씬 더 크도록 비선형으로 구성하는 것을 특징으로 하는 대전 액션 게임에서 인공 지능 캐릭터의 생성 및 제어 방법.
  12. 제11항에 있어서,
    상기 강화값을 지정시에 다음의 그래프와 같이
    Figure 112006063891838-PAT00009
    캐릭터의 성향에 따라 상기 강화값을 선형 또는 비선형으로 지정하는 것을 특징으로 하는 대전 액션 게임에서 인공 지능 캐릭터의 생성 및 제어 방법.
KR1020060084813A 2005-12-08 2006-09-04 대전 액션 게임에서 인공 지능 캐릭터의 생성 및 제어 방법 KR20070061288A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020050119711 2005-12-08
KR20050119711 2005-12-08

Publications (1)

Publication Number Publication Date
KR20070061288A true KR20070061288A (ko) 2007-06-13

Family

ID=38357222

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060084813A KR20070061288A (ko) 2005-12-08 2006-09-04 대전 액션 게임에서 인공 지능 캐릭터의 생성 및 제어 방법

Country Status (1)

Country Link
KR (1) KR20070061288A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101108987B1 (ko) * 2009-03-05 2012-01-31 한국전자통신연구원 공간 분할을 이용한 게임 캐릭터의 패턴 학습 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101108987B1 (ko) * 2009-03-05 2012-01-31 한국전자통신연구원 공간 분할을 이용한 게임 캐릭터의 패턴 학습 장치 및 방법

Similar Documents

Publication Publication Date Title
Lake et al. Building machines that learn and think like people
Gabora Meme and variations: A computer model of cultural evolution
Merrick et al. Motivated reinforcement learning: curious characters for multiuser games
Dormans et al. Generating missions and spaces for adaptable play experiences
Sweetser et al. Current AI in games: A review
Botvinick et al. Building machines that learn and think for themselves
Clark The humanness of artificial non-normative personalities
Lake et al. Ingredients of intelligence: From classic debates to an engineering roadmap
KR100850914B1 (ko) 게임 캐릭터 제어방법
KR20090092007A (ko) 게임 캐릭터의 사용자 조작 패턴 학습 방법 및 장치
Merrick Modeling motivation for adaptive nonplayer characters in dynamic computer game worlds
Crespo et al. Reinforcement learning applied to games
Togelius Optimization, imitation and innovation: Computational intelligence and games
KR100850913B1 (ko) 게임 캐릭터 형성방법
KR20070061288A (ko) 대전 액션 게임에서 인공 지능 캐릭터의 생성 및 제어 방법
Abdullah-Al-Kafi et al. A Review On The Relationship Between Human And Artificial Imagination With Their Implementations In Current Machine Learning Algorithms
Charles et al. The past, present and future of artificial neural networks in digital games
Baby et al. Implementing artificial intelligence agent within connect 4 using unity3d and machine learning concepts
Buscema et al. Digging deeper on “deep” learning: a computational ecology approach
Davis et al. Causal generative models are just a start
KR100913030B1 (ko) 단계별 퍼지 로직을 이용한 게임 전략 방법 및 그 시스템
Emekligil et al. What’s in a game? the effect of game complexity on deep reinforcement learning
Clegg et al. Children begin with the same start-up software, but their software updates are cultural
Livesey et al. Will human-like machines make human-like mistakes?
Ramlan et al. The implementation of reinforcement learning algorithm for ai bot in fighting video game

Legal Events

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