KR20230115036A - 인터랙션 기반의 협업 에이전트 생성 방법, 협업 에이전트 제공 방법 및 상기 방법을 수행하는 에이전트 관리 서버 - Google Patents
인터랙션 기반의 협업 에이전트 생성 방법, 협업 에이전트 제공 방법 및 상기 방법을 수행하는 에이전트 관리 서버 Download PDFInfo
- Publication number
- KR20230115036A KR20230115036A KR1020220011530A KR20220011530A KR20230115036A KR 20230115036 A KR20230115036 A KR 20230115036A KR 1020220011530 A KR1020220011530 A KR 1020220011530A KR 20220011530 A KR20220011530 A KR 20220011530A KR 20230115036 A KR20230115036 A KR 20230115036A
- Authority
- KR
- South Korea
- Prior art keywords
- agent
- game
- learning
- video game
- behavior data
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000003993 interaction Effects 0.000 title claims description 7
- 230000006399 behavior Effects 0.000 claims description 139
- 238000004088 simulation Methods 0.000 claims description 48
- 230000002787 reinforcement Effects 0.000 claims description 22
- 230000003542 behavioural effect Effects 0.000 claims description 17
- 230000010076 replication Effects 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 9
- 238000010367 cloning Methods 0.000 claims description 3
- 230000003362 replicative effect Effects 0.000 claims description 2
- 239000003795 chemical substances by application Substances 0.000 description 220
- 230000009471 action Effects 0.000 description 18
- 238000004590 computer program Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating 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/67—Generating 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 adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/79—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
- A63F13/795—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for finding other players; for building a team; for providing a buddy list
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/79—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
- A63F13/798—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for assessing skills or for ranking players, e.g. for generating a hall of fame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
본 발명은 비디오 게임 상 유저와의 상호 작용이 가능한 에이전트를 자동을 생성하고, 비디오 게임에서 플레이할 유저가 없는 경우, 비디오 게임을 플레이하는 유저의 요청에 따라 기 생성된 에이전트를 제공하는 방법을 개시한다.
Description
본 발명은 협업 에이전트 생성 방법, 협업 에이전트 제공 방법 및 에이전트 관리 서버에 관한 것으로, 보다 구체적으로는 복수의 일반 유저가 요구되는 비디오 게임에서 플레이할 일반 유저가 없는 경우, 일반 유저를 대처하며, 상호 작용이 가능한 에이전트를 자동을 생성 및 제공하는 기술에 관한 것이다.
인공 지능 기술의 발전으로 비디오 게임의 에이전트는 스스로 시뮬레이션과 학습을 통해 주어진 게임 환경 내에서 최적의 전략을 플레이 하는 정책(Policy)의 도출이 가능하다. 비디오 게임은 크게 PvE 장르(PVE: Player VS Environment)와 PvP 장르(PVP: Player VS Player)로 구분된다.
PvE 장르는 컴퓨터와 사용자 간의 대결 구도를 갖는 게임 장르로, 1명의 유저가 단순히 지정된 레벨을 클리어하는 게임 방식을 제안한다. PvE 장르에 기반한 에이전트는 비디오 게임에서 제공하는 각 환경에서 끊임없이 시뮬레이션 함으로서 최적의 전략을 도출한다.
PvP 장르는 사용자 간의 대결 구도를 갖는 게임 장르로, 2명의 유저가 서로 대전하는 게임 방식을 제어한다. PvP 장르에 기반한 에이전트는 자가 대전을 통해 최적의 전략을 도출한다.
그러나, 상기 언급한 비디오 게임들 외에도 2명 이상의 유저가 요구되는 PvE 장르나 3명 이상의 유저가 요구되는 PvP 장르의 게임들도 무수히 많이 존재하는데, 이러한, 비디오 게임들에서는 유저 간의 커뮤니케이션이 필요하기 때문에 기존의 에이전트 학습 기술로 최적의 전략을 도출하는데 어려움이 있다.
최근에는 에이전트 학습 기술을 기반으로 최적의 전략을 도출하기 위해 둘 이상의 에이전트를 학습시켜 협업 태스크를 수행하는 연구가 진행되었으나, 이는 특정 임무를 수행하기 위한 모든 유저를 에이전트로 대치시키는데 한계점을 가진다.
결국, 비디오 게임 상에서 실제적인 유저와 에이전트가 동등한 레벨에서 서로 커뮤니케이션 하는 기술이 존재하지 않기 때문에 사람과의 협업이 불가능한 문제가 있다.
본 발명은 비디오 게임에 참여 중인 일반 유저들의 게임 행위에 대한 모사 학습을 수행하여 일반 유저의 요청에 따라 일반 유저와의 협업이 가능한 복수의 에이전트로 생성하는 방법을 제안한다.
본 발명은 비디오 게임 내 복수의 일반 유저가 필요한 상황에서 같이 진행할 일반 유저가 존재하지 않는 경우, 팀 매칭에 따른 일반 유저를 대체하여 협업 가능한 에이전트를 제공하는 방법을 제공한다.
본 발명의 일실시예에 따른 협업 에이전트 생성 방법은 비디오 게임에 참여하고 있는 복수의 일반 유저들 각각의 게임 행위에 관한 게임 행위 데이터를 수집하는 단계; 상기 복수의 일반 유저들 각각의 게임 행위 데이터를 분석하여 유사 플레이를 수행한 게임 행위 데이터에 대한 군집화를 수행하는 단계 및 군집화 된 게임 행위 데이터에 모사 학습(IL: Imitation Learning)을 적용하여 일반 유저와의 협업이 가능한 에이전트를 생성하는 단계; 를 포함할 수 있다.
본 발명의 실시예에 따른 게임 행위 데이터를 수집하는 단계는, 상기 비디오 게임의 각 스테이지에서 제공되는 이벤트들에 관한 상황 정보 및 상황 정보를 기반으로 비디오 게임을 플레이하는 과정에서 이루어지는 상호 작용에 관한 행동 정보로 구성된 게임 행위 데이터를 수집할 수 있다.
본 발명의 실시예에 따른 게임 행위 데이터에 대한 군집화를 수행하는 단계는, 상기 비디오 게임의 정책으로부터 일반 유저의 행동 특징을 순차적으로 모방하기 위한 ① 행동 복제(BC: Behavior Cloning), ② 견습 학습(AL: Apprentice Learning) 및 ③ 역강화학습(IRL: Inverse Reinforcement Learning) 중 적어도 하나를 이용해 모사 학습을 수행할 수 있다.
본 발명의 실시예에 따른 게임 행위 데이터에 대한 군집화를 수행하는 단계는, 상기 행동 복제를 이용해 모사 학습을 수행하는 경우, 상기 게임 행위 데이터를 구성하는 상황 정보와 행동 정보를 기반으로 일반 유저의 게임 행위에 대한 시연 궤적을 수집하는 단계; 상기 일반 유저의 게임 행위에 대한 시연 궤적을 바탕으로 비디오 게임의 정책에 대한 행동 복제를 수행하는 단계; 및 상기 수행된 행동 복제를 통해 군집화 된 게임 행위 데이터에 대한 모사 학습을 수행하는 단계; 를 포함할 수 있다.
본 발명의 실시예에 따른 게임 행위 데이터에 대한 군집화를 수행하는 단계는, 상기 견습 학습을 이용해 모사 학습을 수행하는 경우, 상기 비디오 게임과 관련된 전문 유저의 게임 행위에 대한 시연 궤적을 수집하는 단계; 상기 수집된 시연 궤적으로부터 생성된 보상 함수를 바탕으로 비디오 게임의 정책에 대한 견습 학습을 수행하는 단계; 및 상기 수행된 견습 학습을 통해 군집화 된 게임 행위 데이터에 대한 모사 학습을 수행하는 단계; 를 포함할 수 있다.
본 발명의 실시예에 따른 게임 행위 데이터에 대한 군집화를 수행하는 단계는, 상기 역강화학습을 이용해 모사 학습을 수행하는 경우, 기 생성된 에이전트의 정책 또는, 비디오 게임에 대한 이전 유저로부터 수집된 게임 행위 데이터 중 적어도 하나에 의해 생성된 보상 함수를 바탕으로 비디오 게임의 정책에 대한 역강화학습을 수행하는 단계; 상기 수행된 역강화학습을 통해 군집화 된 게임 행위 데이터에 대한 모사 학습을 수행하는 단계; 를 포함할 수 있다.
본 발명의 실시예에 따른 협업 에이전트 생성 방법은 상기 생성된 에이전트를 포함하는 에이전트 풀을 형성하는 단계; 상기 에이전트 풀에 포함된 복수의 에이전트를 추출하여 비디오 게임 내에서 복수의 에이전트 간 협업 능력을 평가하는 단계; 를 더 포함할 수 있다.
본 발명의 일실시예에 따른 협업 에이전트 제공 방법은 비디오 게임에 참여한 일반 유저들을 대상으로 게임 진행을 위한 팀 매칭이 결정되었는지 여부를 확인하는 단계; 상기 팀 매칭이 결정되지 않은 경우, 에이전트 풀에 저장된 적어도 하나의 에이전트를 로딩하여 비디오 게임의 스테이지를 실행하는 단계; 및 비디오 게임의 스테이지가 실행되면, 스테이지에 참여한 일반 유저와 협업 가능한 에이전트를 제공하는 단계; 를 포함하고, 상기 협업 가능한 에이전트는, 비디오 게임에 참여하고 있는 복수의 일반 유저 각각의 게임 행위에 관한 게임 행위 데이터를 이용하여 비디오 게임의 정책으로부터 일반 유저의 행동 특징을 순차적으로 모방하기 위한 모사 학습을 통해 생성될 수 있다.
본 발명의 실시예에 따른 상기 팀 매칭이 결정되었는지 여부를 확인하는 단계는, 비디오 게임에 참여한 일반 유저들을 대상으로 비디오 게임의 정책에 따른 아군 또는, 적군 중 하나의 팀 매칭이 결정되었는지 여부를 확인할 수 있다.
본 발명의 실시예에 따른 협업 가능한 에이전트를 제공하는 단계는, 상기 스테이지를 플레이하는 일반 유저의 게임 행위를 보조하는 형태로 협업 가능한 에이전트를 제공할 수 있다.
본 발명의 실시예에 따른 협업 가능한 에이전트를 제공하는 단계는, 상기 스테이지에서 제공하는 이벤트에 대응하여 일반 유저가 에이전트의 게임 행위를 보조하는 형태로 협업 가능한 에이전트를 제공할 수 있다.
본 발명의 실시예에 따른 협업 가능한 에이전트를 제공하는 단계는, 비디오 게임의 스테이지가 종료되었는지 여부를 고려하여 일반 유저와 협업 가능한 에이전트를 조정하여 제공할 수 있다.
본 발명의 일실시예에 따른 프로세서를 포함하는 에이전트 관리 서버에 있어서, 상기 프로세서는, 비디오 게임에 참여하고 있는 복수의 일반 유저 각각의 게임 행위에 관한 게임 행위 데이터를 이용하여 모사 학습에 따른 일반 유저와의 협업이 가능한 에이전트를 생성하고, 상기 생성된 에이전트를 포함하는 에이전트 풀을 생성한 후, 상기 에이전트 풀에 포함된 복수의 에이전트를 추출하여 비디오 게임 내에서 복수의 에이전트 간 협업 능력을 평가하고, 상기 비디오 게임에 참여한 일반 유저들을 대상으로 팀 매칭이 결정되었는지 여부를 고려하여 비디오 게임의 스테이지에 참여한 일반 유저와 협업 가능한 에이전트를 제공할 수 있다.
본 발명의 실시예에 따른 프로세서는, 상기 복수의 일반 유저들 각각의 게임 행위 데이터를 분석하여 유사 플레이를 수행한 게임 행위 데이터에 대한 군집화를 수행하고, 군집화 된 게임 행위 데이터에 모사 학습을 적용하여 일반 유저와의 협업이 가능한 에이전트를 생성할 수 있다.
본 발명의 실시예에 따른 프로세서는, 상기 행동 복제를 이용해 모사 학습을 수행하는 경우, 상기 게임 행위 데이터를 구성하는 상황 정보와 행동 정보를 기반으로 일반 유저의 게임 행위에 대한 시연 궤적을 수집하고, 상기 일반 유저의 게임 행위에 대한 시연 궤적을 바탕으로 비디오 게임의 정책에 대한 행동 복제를 수행하고, 상기 수행된 행동 복제를 통해 군집화 된 게임 행위 데이터에 대한 모사 학습을 수행할 수 있다.
본 발명의 실시예에 따른 프로세서는, 상기 견습 학습을 이용해 모사 학습을 수행하는 경우, 상기 비디오 게임과 관련된 전문 유저의 게임 행위에 대한 시연 궤적을 수집하고, 상기 수집된 시연 궤적으로부터 생성된 보상 함수를 바탕으로 비디오 게임의 정책에 대한 견습 학습을 수행하고, 상기 수행된 견습 학습을 통해 군집화 된 게임 행위 데이터에 대한 모사 학습을 수행할 수 있다.
본 발명의 실시예에 따른 프로세서는, 상기 역강화학습을 이용해 모사 학습을 수행하는 경우, 기 생성된 에이전트의 정책 또는, 비디오 게임에 대한 이전 유저로부터 수집된 게임 행위 데이터 중 적어도 하나에 의해 생성된 보상 함수를 바탕으로 비디오 게임의 정책에 대한 역강화학습을 수행하고, 상기 수행된 역강화학습을 통해 군집화 된 게임 행위 데이터에 대한 모사 학습을 수행할 수 있다.
본 발명의 실시예에 따른 프로세서는, 상기 스테이지를 플레이하는 일반 유저의 게임 행위를 보조하는 형태로 협업 가능한 에이전트를 제공할 수 있다.
본 발명의 실시예에 따른 프로세서는, 상기 스테이지에서 제공하는 이벤트에 대응하여 일반 유저가 에이전트의 게임 행위를 보조하는 형태로 협업 가능한 에이전트를 제공할 수 있다.
본 발명의 실시예에 따른 프로세서는, 상기 비디오 게임의 스테이지가 종료되었는지 여부를 고려하여 일반 유저와 협업 가능한 에이전트를 조정하여 제공할 수 있다.
본 발명의 구성에 따르면, 협업 에이전트 생성 방법은 비디오 게임에 참여 중인 유저들의 게임 행위에 대한 모사 학습을 수행하여 비디오 게임의 장르에 따른 유저와의 상호 작용이 가능한 에이전트를 생성할 수 있다.
본 발명의 구성에 따르면, 협업 에이전트 생성 방법은 유저와의 상호 작용이 가능한 에이전트를 포함하는 에이전트 풀을 기반으로 에이전트 간의 협업 능력을 평가함으로써, 비디오 게임 내 스테이지 별 투입 가능한 복수의 에이전트를 생성할 수 있다.
본 발명의 구성에 따르면, 협업 에이전트 제공 방법은 비디오 게임 내 복수의 유저가 필요한 상황에서 같이 진행할 유저가 존재하지 않는 경우, 협업 가능한 에이전트를 제공함으로써, 유저에게 보다 쾌적한 게임 경험을 제공할 수 있다.
도 1은 본 발명의 일실시예에 따른 협업 에이전트를 자동으로 생성 및 제공하는 전반적인 동작을 설명하기 위해 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 에이전트 관리 서버의 동작을 자세하게 설명하기 위해 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 모사 학습을 통해 복수의 에이전트를 생성하는 과정을 설명하기 위해 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 협업 에이전트 생성 방법을 설명하기 위해 도시한 흐름도이다.
도 5는 본 발명의 일실시예에 따른 협업 에이전트 제공 방법을 설명하기 위해 도시한 흐름도이다.
도 2는 본 발명의 일실시예에 따른 에이전트 관리 서버의 동작을 자세하게 설명하기 위해 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 모사 학습을 통해 복수의 에이전트를 생성하는 과정을 설명하기 위해 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 협업 에이전트 생성 방법을 설명하기 위해 도시한 흐름도이다.
도 5는 본 발명의 일실시예에 따른 협업 에이전트 제공 방법을 설명하기 위해 도시한 흐름도이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 협업 에이전트를 자동으로 생성 및 제공하는 전반적인 동작을 설명하기 위해 도시한 도면이다.
도 1을 참고하면, 에이전트 관리 서버(101)는 사용자 단말들(102)로부터 비디오 게임에 참여하고 있는 일반 유저들(103)의 게임 행위 데이터를 수집할 수 있다. 에이전트 관리 서버(101)는 비디오 게임에 참여하고 있는 복수의 일반 유저(103) 각각의 게임 행위에 관한 게임 행위 데이터를 이용하여 모사 학습에 따른 일반 유저와의 협업이 가능한 에이전트를 생성할 수 있다. 자세하게, 에이전트 관리 서버(101)는 복수의 일반 유저들(103) 각각의 게임 행위 데이터를 분석하여 유사 플레이를 수행한 게임 행위 데이터에 대한 군집화를 수행할 수 있다. 에이전트 관리 서버(101)는 군집화 된 게임 행위 데이터에 모사 학습을 적용하여 일반 유저들(103)과의 협업이 가능한 에이전트(105)를 생성할 수 있다. 에이전트 관리 서버(101)는 에이전트(105)를 에이전트 풀(104)에 저장할 수 있다.
에이전트 관리 서버(101)는 에이전트 풀(104)에 포함된 복수의 에이전트를 추출하여 비디오 게임 내에서 복수의 에이전트 간 협업 능력을 평가할 수 있다. 에이전트 관리 서버(101)는 일반 유저들 각각이 수행한 비디오 게임 내 캐릭터의 제어 방식을 기반으로 서로 다른 형태로 행동한 에이전트 간에 플레이를 평가할 수 있다. 에이전트 관리 서버(101)는 비디오 게임 내 성공 또는 성능에 기초하여 에이전트의 조합에 대한 협업 점수와 순위 정보를 관리할 수 있다.
에이전트 관리 서버(101)는 비디오 게임에 참여한 일반 유저들(103)을 대상으로 팀 매칭이 결정되었는지 여부를 고려하여 비디오 게임의 스테이지에 참여한 일반 유저들(103)과 협업 가능한 에이전트를 제공할 수 있다. 여기서, 에이전트 관리 서버(101)는 스테이지를 플레이하는 일반 유저들(103)의 게임 행위를 보조하는 형태로 협업 가능한 에이전트를 제공할 수 있다. 또한, 에이전트 관리 서버(101)는 스테이지에서 제공하는 이벤트에 대응하여 일반 유저들(103)이 에이전트의 게임 행위를 보조하는 형태로 협업 가능한 에이전트를 제공할 수 있다.
결국, 본 발명은 둘 이상의 에이전트를 학습 시키는 기술을 이용하여 비디오 게임에서 제공하는 이벤트를 수행하는 모든 일반 유저를 에이전트로 대치시키는 기술을 제공할 수 있다. 또한, 본 발명은 일반 유저와 에이전트가 동등한 레벨에서 서로 간에 커뮤니케이션을 수행함으로써, 일반 유저와 에이전트 간에 협업이 가능할 수 있다.
도 2는 본 발명의 일실시예에 따른 에이전트 관리 서버의 동작을 자세하게 설명하기 위해 도시한 도면이다.
도 2를 참고하면, 에이전트 관리 서버는 프로세서(200)를 포함하고, 프로세서(200)는 인터랙티브 기반의 협업이 가능한 에이전트를 자동으로 생성할 수 있다.
S1(201)에서 프로세서(200)는 비디오 게임에 참여하고 있는 복수의 일반 유저들 각각의 게임 행위에 관한 게임 행위 데이터를 수집할 수 있다. 이때, 프로세서(200)는 제1 데이터 베이스(206)와 연동하여 일반 유저들의 게임 행위 데이터를 수집할 수 있다.
프로세서(200)는 게임 행위에 관한 게임 행위 데이터에 대한 군집화를 수행할 수 있다. 여기서, 게임 행위 데이터는 라이브 서비스 중인 비디오 게임에서 실제로 일반 유저들이 행동한 데이터들을 의미할 수 있다. 게임 행위 데이터는 일반 유저의 데이터 형식에 따른 상황 정보(state)와 행동 정보(action)의 조합으로 이루어질 수 있다. 일례로, 게임 행위 데이터는 -비디오 게임 내 'A 상황'에서 'B 행동'을 수행한다- 라는 형태를 가지며, 상황 정보와 행동 정보 간 상관 관계를 나타낼 수 있다.
프로세서(200)는 복수의 일반 유저들 각각의 게임 행위 데이터를 분석하여 유사 플레이를 수행한 게임 행위 데이터에 대한 군집화(Clustering)를 수행할 수 있다. 다시 말해, 일반 유저들은 하나의 동일한 상황 정보에 대응하여 다양한 행동 정보들을 수행할 수 있다. 프로세서(200)는 일반 유저들의 게임 행위 데이터 간의 유사성을 고려하여 군집화를 수행할 수 있다. 즉, 프로세서(200)는 동일한 상황 정보에 대한 유사한 행동을 수행하는 일반 유저들끼리 그룹을 형성할 수 있다. 프로세서(200)는 군집화 된 게임 행위 데이터를 제2 데이터베이스(207)에 저장 및 관리할 수 있다.
일례로, 프로세서(200)는 K-Means Clustering, DB SCAN, Spectral Clustering 등의 방법 중 적어도 하나의 군집화 방법을 이용하여 일반 유저들을 그룹화할 수 있다. 여기서, 군집화 된 게임 행위 데이터는 출력 데이터에 해당할 수 있다.
S2(202)에서 프로세서(200)는 군집화 된 게임 행위 데이터 중 하나의 군집을 선택하여 모사 학습을 수행할 수 있다. 프로세서(200)는 모사 학습을 통해 일반 유저를 대체할 수 있는 에이전트를 생성할 수 있다. 프로세서(200)는 행동 복제, 견습 학습 및 역강화학습 중 하나를 이용하여 군집에 대한 모사 학습을 수행할 수 있다. 여기서, 군집이 N개 존재할 경우 모사 학습을 통해 만들어지는 에이전트는 N개가 되며, 모든 에이전트들은 에이전트 풀(209)에 저장될 수 있다.
보다 자세하게, 프로세서(200)는 군집화 된 게임 행위 데이터 중 모사 학습을 수행하기 위한 2개 이상의 에이전트를 선택할 수 있다. 프로세서(200)는 선택된 2개 이상의 에이전트를 기반으로 스킬 레벨(appropriate skill level)에서 플레이된 모사 학습을 수행함으로써, N개의 에이전트를 생성할 수 있다.
결국, 프로세서(200)는 일반 유저가 다양한 게임 상황 또는 게임 상태에서 취하는 경향의 제어 명령 또는 게임 내 액션을 모사 학습을 통해 훈련될 수 있다. 따라서, 훈련의 결과로, 일반 유저가 주어진 게임 상태에서 수행할 가능성이 높은 게임 내 액션을 예측하도록 구성될 수 있다.
S3(203)에서 프로세서(200)는 에이전트 풀(209)에서 복수의 에이전트(210)를 선택하여 서로 협업이 얼마나 잘 되는지를 평가할 수 있다. 평가를 통해 매겨진 협업 점수와 순위 정보는 제3 데이터페이스에 저장 및 관리될 수 있다. 제3 데이터페이스는 에이전트들(210) 간에 매칭 정보가 저장되는 저장소일 수 있다.
여기서, 본 발명은 각 에이전트에 대해서 현재 존재하지 않지만 기존에 존재하는 다른 에이전트와의 조합보다 더 나은 성능을 보일 수 있는 잠재적인 에이전트가 있을 수 있다.
S4(204)에서 프로세서(200)는 잠재적인 에이전트를 탐색하기 위해 에이전트에 대한 강화 학습을 수행할 수 있다. 프로세서(200)는 에이전트에 대한 강화 학습을 통해 에이전트 풀(209)에 기 저장된 에이전트들(210)보다 협업 능력이 더 뛰어난 에이전트를 생성할 수 있다. 프로세서(200)는 생성된 에이전트를 에이전트 풀에 추가로 저장함으로써, 다양한 형태의 에이전트를 생성할 수 있다.
이때, 본 발명은 비디오 게임 상에 일반 유저가 특정 행동 혹은 전략을 수행할 때, 협업이 가능한 에이전트를 자동으로 생성시킴으로써, 일반 유저를 보조할 수 있도록 하는 방법을 제공할 수 있다. 또한, 본 발명은 에이전트에게 특정 상황에서 특정 행동을 수행하도록 하고 일반 유저가 에이전트를 보조하는 방식을 희망하는 일반 유저도 존재할 수 있다.
S5(205)에서 프로세서(200)는 특정 상황에서 특정 행동이나 전략들에 대한 사전 정의된 정보로써, 사용자 정의 인터렉티브 세트를 제공할 수 있다. 프로세서(200)는 사용자 정의 인터렉티브 세트를 반영함으로써, 특정 행동이나 전략에 특화된 에이전트를 생성시킬 수 있다.
도 3은 본 발명의 일실시예에 따른 모사 학습을 통해 복수의 에이전트를 생성하는 과정을 설명하기 위해 도시한 도면이다.
도 3의 (a)를 참고하면, 에이전트 관리 서버는 비디오 게임에 포함된 복수의 스테이지를 제공할 수 있다. 복수의 스테이지는 비디오 게임의 대표적인 미디어 공간으로, 일반 유저와의 지속적인 상호 작용 및 현실 세계와 유사한 사회적 관계가 구축되어 일반 유저의 플레이를 수행하는 공간입니다. 복수의 스테이지 각각은 복수의 이벤트를 포함할 수 있으며, 복수의 이벤트는 비디오 게임 속에서 가상의 적과 싸우거나 가상의 물건을 옮기는 등의 게임 경험을 유도하는 경기일 수 있다.
에이전트 관리 서버는 일반 유저에게 노출된 각 이벤트에 대응하여 일반 유저들이 경험치를 얻기 위해 조작한 게임 행위 데이터를 수집할 수 있다. 에이전트 관리 서버는 실시간으로 공유된 이벤트를 기반으로 일반 유저들의 상호 작용이 반영된 게임 행위 데이터를 수집할 수 있으며, 에이전트 관리 서버는 게임이 종류되기 전까지 일반 유저들의 게임 상태를 지속적으로 업데이트할 수 있다.
일례로, 게임 행위 데이터는 비디오 게임에서 유닛 또는 캐릭터가 할당된 액션을 수행하도록 눌러졌는지 여부, 및/또는 다른 입력 데이터를 포함할 수 있다. 다시 말해, 게임 행위 데이터는 컨트롤러, 마우스, 키보드, 음성, 터치 스크린, 제스처 등과 같이 다양한 입력 디바이스 및 입력 포맷을 통해 수집된 정보일 수 있다.
또한, 게임 행위 데이터는 실제 버튼 누름(actual button presses), 마우스 클릭(mouse clicks), 제스처 또는 다른 정보들로 구성될 수 있다. 게임 행위 데이터는 각 이벤트에서 게임 내 액션으로 전환될 수 있다. 이는 비디오 게임 내 캐릭터가 총을 발사하거나 또는, 90도 왼쪽 회전하는 등의 일반 유저가 특정 게임 내 맵 좌표에서 부대(troops)를 배치하는 것을 선택하는 것에 해당될 수 있다.
에이전트 관리 서버는 게임 행위 데이터를 분석하여 유사 플레이를 수행한 게임 행위 데이터에 대한 군집화를 수행할 수 있다. 에이전트 관리 서버는 군집화 된 게임 행위 데이터에 모사 학습을 적용하여 일반 유저와의 협업이 가능한 에이전트를 생성할 수 있다.
도 3의 (b)를 참고하면, 에이전트 관리 서버는 에이전트 관리 서버는 에이전트 풀에서 복수의 에이전트를 선택하여 서로 협업이 얼마나 잘 되는지를 평가할 수 있다. 에이전트 관리 서버는 2개 이상의 에이전트에 대한 조합에 따른 복수의 케이스를 형성하고, 형성된 케이스들을 평가한 협업 점수와 순위 정보를 별도의 데이터베이스에 저장 및 관리할 수 있다.
다시 말해, 에이전트 관리 서버는 각 이벤트에 대응하여 일반 유저들 간에 훈련된 에이전트를 생성할 수 있다. 에이전트 관리 서버는 일반 유저들 각각이 수행한 비디오 게임 내 캐릭터의 제어 방식을 기반으로 서로 다른 형태로 행동한 에이전트 간에 플레이를 평가할 수 있다. 일례로, 에이전트 관리 서버는 비디오 게임에서 일반 유저의 경쟁자(competitors)에 대항하여 플레이한 에이전트를 추출할 수 있다. 에이전트 관리 서버는 추출된 에이전트에 따른 비디오 게임 내 경기 승리 또는, 캐릭터 성공을 추적할 수 있다. 에이전트 관리 서버는 비디오 게임 내 성공 또는 성능에 기초하여 에이전트의 조합에 대한 협업 점수와 순위 정보를 관리할 수 있다.
도 4는 본 발명의 일실시예에 따른 협업 에이전트 생성 방법을 설명하기 위해 도시한 흐름도이다.
단계(401)에서 에이전트 관리 서버는 비디오 게임에 참여하고 있는 복수의 일반 유저들 각각의 게임 행위에 관한 게임 행위 데이터를 수집할 수 있다. 에이전트 관리 서버는 비디오 게임에 참여하고 있는 일반 유저들로부터 게임 행위 데이터를 수집할 수 있다. 게임 행위 데이터는 상황 정보 및 행동 정보를 포함할 수 있다. 상황 정보는 비디오 게임의 각 스테이지에서 제공되는 이벤트들에 관한 정보일 수 있고, 행동 정보는 상황 정보를 기반으로 비디오 게임을 플레이하는 과정에서 이루어지는 상호 작용에 관한 정보일 수 있다.
단계(402)에서 에이전트 관리 서버는 복수의 일반 유저들 각각의 게임 행위 데이터를 분석하여 유사 플레이를 수행한 게임 행위 데이터에 대한 군집화를 수행할 수 있다. 에이전트 관리 서버는 비디오 게임의 정책으로부터 일반 유저의 행동 특징을 순차적으로 모방하기 위한 ① 행동 복제(BC), ② 견습 학습(AL) 및 ③ 역강화학습(IRL) 중 적어도 하나를 이용해 모사 학습을 수행할 수 있다.
① 행동 복제(BC)
에이전트 관리 서버는 행동 복제를 이용해 모사 학습을 수행하는 경우, 게임 행위 데이터를 구성하는 상황 정보와 행동 정보를 기반으로 일반 유저의 게임 행위에 대한 시연 궤적을 수집할 수 있다. 에이전트 관리 서버는 일반 유저의 게임 행위에 대한 시연 궤적을 바탕으로 비디오 게임의 정책에 대한 행동 복제를 수행할 수 있다. 에이전트 관리 서버는 행동 복제를 통해 군집화 된 게임 행위 데이터에 대한 모사 학습을 수행할 수 있다.
② 견습 학습(AL)
에이전트 관리 서버는 견습 학습을 이용해 모사 학습을 수행하는 경우, 비디오 게임과 관련된 전문 유저의 게임 행위에 대한 시연 궤적을 수집할 수 있다. 에이전트 관리 서버는 수집된 시연 궤적으로부터 생성된 보상 함수를 바탕으로 비디오 게임의 정책에 대한 견습 학습을 수행할 수 있다. 에이전트 관리 서버는 견습 학습을 통해 군집화 된 게임 행위 데이터에 대한 모사 학습을 수행할 수 있다.
③ 역강화학습(IRL)
에이전트 관리 서버는 역강화학습을 이용해 모사 학습을 수행하는 경우, 에이전트의 정책 또는, 비디오 게임에 대한 이전 유저로부터 수집된 게임 행위 데이터 중 적어도 하나에 의해 생성된 보상 함수를 바탕으로 비디오 게임의 정책에 대한 역강화학습을 수행할 수 있다. 에이전트 관리 서버는 역강화학습을 통해 군집화 된 게임 행위 데이터에 대한 모사 학습을 수행할 수 있다.
단계(403)에서 에이전트 관리 서버는 군집화 된 게임 행위 데이터에 모사 학습을 적용하여 일반 유저와의 협업이 가능한 에이전트를 생성할 수 있다. 여기서, 군집화 된 군집이 N 개 존재할 경우, 모사 학습을 통해 생성되어지는 에이전트는 N개가 될 수 있다.
단계(404)에서 에이전트 관리 서버는 자동으로 생성된 에이전트를 포함하는 에이전트 풀을 형성할 수 있다. 다시 말해, 모사 학습을 통해 생성되어지는 에이전트는 N개라고 할 때, 모든 에이전트들은 에이전트 풀에 저장될 수 있다.
단계(405)에서 에이전트 관리 서버는 에이전트 풀에 포함된 복수의 에이전트를 추출하여 비디오 게임 내에서 복수의 에이전트 간 협업 능력을 평가할 수 있다. 상세하게, 에이전트 관리 서버는 에이전트 풀에서 2개 이상의 에이전트를 선택하고, 2개 이상의 에이전트 간에 조합을 통해 서로 협업이 얼마나 잘 되는지를 평가할 수 있다. 에이전트 관리 서버는 평가를 통해 매겨진 2개 이상의 에이전트 간의 협업 점수와 순위 정보를 제3 데이터베이스에 저장될 수 있다.
도 5는 본 발명의 일실시예에 따른 협업 에이전트 제공 방법을 설명하기 위해 도시한 흐름도이다.
단계(501)에서 에이전트 관리 서버는 비디오 게임에 참여한 일반 유저들을 대상으로 게임 진행을 위한 팀 매칭을 수행할 수 있다. 자세하게, 에이전트 관리 서버는 비디오 게임에 참여한 일반 유저들의 게임 실력을 고려하여 자동으로 팀 매칭을 수행할 수 있다. 일례로, 에이전트 관리 서버는 비디오 게임의 속성을 기반으로 팀 단위, 팀 인원수, 레벨, 스테이지 등에 따른 팀 매칭을 수행할 수 있다.
단계(502)에서 에이전트 관리 서버는 비디오 게임에 참여한 일반 유저들을 대상으로 게임 진행을 위한 팀 매칭이 결정되었는지 여부를 확인할 수 있다. 에이전트 관리 서버는 비디오 게임에 참여한 일반 유저들을 대상으로 비디오 게임의 정책에 따른 아군 또는, 적군 중 하나의 팀 매칭이 결정되었는지 여부를 확인할 수 있다.
팀 매칭이 결정된 경우(502: Yes), 단계(503)에서 에이전트 관리 서버는 비디오 게임의 스테이지를 진행시킬 수 있다.
팀 매칭이 결정되지 않은 경우(502: No), 단계(504)에서 에이전트 관리 서버는 에이전트 풀에 저장된 적어도 하나의 에이전트를 로딩 할 수 있다. 에이전트 관리 서버는 일반 유저에게 게임 화면을 제공하기 위해 비디오 게임의 시연으로 측정된 게임 영상을 로딩할 수 있다.
단계(505)에서 에이전트 관리 서버는 로딩된 게임 영상을 기반으로 비디오 게임의 스테이지를 실행할 수 있다. 에이전트 관리 서버는 이전에 비디오 게임을 경험했던 기록 또는, 신규로 플레이하는 기록을 고려하여 비디오 게임의 스테이지를 실행할 수 있다.
단계(506)에서 에이전트 관리 서버는 실행된 비디오 게임의 스테이지에 따른 팀 매칭이 이루어진 일반 유저들의 실력을 분석할 수 있다.
단계(507)에서 에이전트 관리 서버는 비디오 게임의 스테이지에 참여한 일반 유저가 에이전트와의 상호 작용을 요청하였는지 여부를 확인할 수 있다
에이전트를 요청한 경우(507: No), 단계(508)에서 에이전트 관리 서버는 제3 데이터베이스에 기 저장된 에이전트 간의 협업 점수와 순위 정보를 이용하여 에이전트의 매칭 정보를 비교할 수 있다.
단계(509)에서 에이전트 관리 서버는 비교 결과를 고려하여 협업 가능한 에이전트를 비디오 게임에 로딩할 수 있다. 에이전트 관리 서버는 스테이지를 플레이하는 일반 유저의 게임 행위를 보조하는 형태로 협업 가능한 에이전트를 제공할 수 있다. 또한, 에이전트 관리 서버는 스테이지에서 제공하는 이벤트에 대응하여 일반 유저가 에이전트의 게임 행위를 보조하는 형태로 협업 가능한 에이전트를 제공할 수 있다.
에이전트를 요청하지 않은 경우(507: Yes), 단계(510)에서 에이전트 관리 서버는 에이전트 풀에서 일반 유저가 지정한 에이전트를 로딩할 수 있다. 그리고, 에이전트 관리 서버는 에이전트 풀에서 로딩된 에이전트와의 협업을 통해 일반 유저가 참여한 비디오 게임의 스테이지를 진행할 수 있다.
단계(511)에서 에이전트 관리 서버는 비디오 게임의 스테이지가 종료되었는지 여부를 확인할 수 있다.
스테이지가 종료되지 않은 경우(507: No), 에이전트 관리 서버는 단계(505)로 회귀되어 현재 플레이 된 스테이지의 종료에 따른 다음 단계의 스테이지를 시작할 수 있다.
스테이지가 종료된 경우(507: Yes), 에이전트 관리 서버는 단계(506)로 회귀되어 비디오 게임의 스테이지에 참여 중인 일반 유저 및 에이전트 간에 협업 상태를 분석할 수 있다. 이에, 에이전트 관리 서버는 비디오 게임의 스테이지가 종료되었는지 여부를 고려하여 일반 유저와 협업 가능한 에이전트를 조정하기 위해, 일반 유저 및 에이전트 간에 협업 상태를 분석할 수 있다.
한편, 본 발명에 따른 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성되어 마그네틱 저장매체, 광학적 판독매체, 디지털 저장매체 등 다양한 기록 매체로도 구현될 수 있다.
본 명세서에 설명된 각종 기술들의 구현들은 디지털 전자 회로조직으로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어로, 또는 그들의 조합들로 구현될 수 있다. 구현들은 데이터 처리 장치, 예를 들어 프로그램가능 프로세서, 컴퓨터, 또는 다수의 컴퓨터들의 동작에 의한 처리를 위해, 또는 이 동작을 제어하기 위해, 컴퓨터 프로그램 제품, 즉 정보 캐리어, 예를 들어 기계 판독가능 저장 장치(컴퓨터 판독가능 매체) 또는 전파 신호에서 유형적으로 구체화된 컴퓨터 프로그램으로서 구현될 수 있다. 상술한 컴퓨터 프로그램(들)과 같은 컴퓨터 프로그램은 컴파일된 또는 인터프리트된 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있고, 독립형 프로그램으로서 또는 모듈, 구성요소, 서브루틴, 또는 컴퓨팅 환경에서의 사용에 적절한 다른 유닛으로서 포함하는 임의의 형태로 전개될 수 있다. 컴퓨터 프로그램은 하나의 사이트에서 하나의 컴퓨터 또는 다수의 컴퓨터들 상에서 처리되도록 또는 다수의 사이트들에 걸쳐 분배되고 통신 네트워크에 의해 상호 연결되도록 전개될 수 있다.
컴퓨터 프로그램의 처리에 적절한 프로세서들은 예로서, 범용 및 특수 목적 마이크로프로세서들 둘 다, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 요소들은 명령어들을 실행하는 적어도 하나의 프로세서 및 명령어들 및 데이터를 저장하는 하나 이상의 메모리 장치들을 포함할 수 있다. 일반적으로, 컴퓨터는 데이터를 저장하는 하나 이상의 대량 저장 장치들, 예를 들어 자기, 자기-광 디스크들, 또는 광 디스크들을 포함할 수 있거나, 이것들로부터 데이터를 수신하거나 이것들에 데이터를 송신하거나 또는 양쪽으로 되도록 결합될 수도 있다. 컴퓨터 프로그램 명령어들 및 데이터를 구체화하는데 적절한 정보 캐리어들은 예로서 반도체 메모리 장치들, 예를 들어, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM) 등을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로조직에 의해 보충되거나, 이에 포함될 수 있다.
또한, 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용매체일 수 있고, 컴퓨터 저장매체 및 전송매체를 모두 포함할 수 있다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 장치 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 장치들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.
한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.
101: 에이전트 관리 서버
102: 사용자 단말
103: 일반 유저
102: 사용자 단말
103: 일반 유저
Claims (20)
- 비디오 게임에 참여하고 있는 복수의 일반 유저들 각각의 게임 행위에 관한 게임 행위 데이터를 수집하는 단계;
상기 복수의 일반 유저들 각각의 게임 행위 데이터를 분석하여 유사 플레이를 수행한 게임 행위 데이터에 대한 군집화를 수행하는 단계; 및
군집화 된 게임 행위 데이터에 모사 학습(IL: Imitation Learning)을 적용하여 일반 유저와의 협업이 가능한 에이전트를 생성하는 단계;
를 포함하는 협업 에이전트 생성 방법. - 제1항에 있어서,
상기 게임 행위 데이터를 수집하는 단계는,
상기 비디오 게임의 각 스테이지에서 제공되는 이벤트들에 관한 상황 정보 및 상황 정보를 기반으로 비디오 게임을 플레이하는 과정에서 이루어지는 상호 작용에 관한 행동 정보로 구성된 게임 행위 데이터를 수집하는 협업 에이전트 생성 방법. - 제1항에 있어서,
상기 게임 행위 데이터에 대한 군집화를 수행하는 단계는,
상기 비디오 게임의 정책으로부터 일반 유저의 행동 특징을 순차적으로 모방하기 위한 ① 행동 복제(BC: Behavior Cloning), ② 견습 학습(AL: Apprentice Learning) 및 ③ 역강화학습(IRL: Inverse Reinforcement Learning) 중 적어도 하나를 이용해 모사 학습을 수행하는 협업 에이전트 생성 방법. - 제3항에 있어서,
상기 게임 행위 데이터에 대한 군집화를 수행하는 단계는,
상기 행동 복제를 이용해 모사 학습을 수행하는 경우,
상기 게임 행위 데이터를 구성하는 상황 정보와 행동 정보를 기반으로 일반 유저의 게임 행위에 대한 시연 궤적을 수집하는 단계;
상기 일반 유저의 게임 행위에 대한 시연 궤적을 바탕으로 비디오 게임의 정책에 대한 행동 복제를 수행하는 단계; 및
상기 수행된 행동 복제를 통해 군집화 된 게임 행위 데이터에 대한 모사 학습을 수행하는 단계;
를 포함하는 협업 에이전트 생성 방법. - 제3항에 있어서,
상기 게임 행위 데이터에 대한 군집화를 수행하는 단계는,
상기 견습 학습을 이용해 모사 학습을 수행하는 경우,
상기 비디오 게임과 관련된 전문 유저의 게임 행위에 대한 시연 궤적을 수집하는 단계;
상기 수집된 시연 궤적으로부터 생성된 보상 함수를 바탕으로 비디오 게임의 정책에 대한 견습 학습을 수행하는 단계; 및
상기 수행된 견습 학습을 통해 군집화 된 게임 행위 데이터에 대한 모사 학습을 수행하는 단계;
를 포함하는 협업 에이전트 생성 방법. - 제3항에 있어서,
상기 게임 행위 데이터에 대한 군집화를 수행하는 단계는,
상기 역강화학습을 이용해 모사 학습을 수행하는 경우,
기 생성된 에이전트의 정책 또는, 비디오 게임에 대한 이전 유저로부터 수집된 게임 행위 데이터 중 적어도 하나에 의해 생성된 보상 함수를 바탕으로 비디오 게임의 정책에 대한 역강화학습을 수행하는 단계;
상기 수행된 역강화학습을 통해 군집화 된 게임 행위 데이터에 대한 모사 학습을 수행하는 단계;
를 포함하는 협업 에이전트 생성 방법. - 제1항에 있어서,
상기 생성된 에이전트를 포함하는 에이전트 풀을 형성하는 단계;
상기 에이전트 풀에 포함된 복수의 에이전트를 추출하여 비디오 게임 내에서 복수의 에이전트 간 협업 능력을 평가하는 단계;
를 더 포함하는 협업 에이전트 생성 방법. - 비디오 게임에 참여한 일반 유저들을 대상으로 게임 진행을 위한 팀 매칭이 결정되었는지 여부를 확인하는 단계;
상기 팀 매칭이 결정되지 않은 경우, 에이전트 풀에 저장된 적어도 하나의 에이전트를 로딩하여 비디오 게임의 스테이지를 실행하는 단계; 및
비디오 게임의 스테이지가 실행되면, 스테이지에 참여한 일반 유저와 협업 가능한 에이전트를 제공하는 단계;
를 포함하고,
상기 협업 가능한 에이전트는,
비디오 게임에 참여하고 있는 복수의 일반 유저 각각의 게임 행위에 관한 게임 행위 데이터를 이용하여 비디오 게임의 정책으로부터 일반 유저의 행동 특징을 순차적으로 모방하기 위한 모사 학습을 통해 생성되는 협업 에이전트 제공 방법. - 제8항에 있어서,
상기 팀 매칭이 결정되었는지 여부를 확인하는 단계는,
비디오 게임에 참여한 일반 유저들을 대상으로 비디오 게임의 정책에 따른 아군 또는, 적군 중 하나의 팀 매칭이 결정되었는지 여부를 확인하는 협업 에이전트 제공 방법. - 제8항에 있어서,
상기 협업 가능한 에이전트를 제공하는 단계는,
상기 스테이지를 플레이하는 일반 유저의 게임 행위를 보조하는 형태로 협업 가능한 에이전트를 제공하는 협업 에이전트 제공 방법. - 제8항에 있어서,
상기 협업 가능한 에이전트를 제공하는 단계는,
상기 스테이지에서 제공하는 이벤트에 대응하여 일반 유저가 에이전트의 게임 행위를 보조하는 형태로 협업 가능한 에이전트를 제공하는 협업 에이전트 제공 방법. - 제8항에 있어서,
상기 협업 가능한 에이전트를 제공하는 단계는,
비디오 게임의 스테이지가 종료되었는지 여부를 고려하여 일반 유저와 협업 가능한 에이전트를 조정하여 제공하는 협업 에이전트 제공 방법. - 프로세서를 포함하는 에이전트 관리 서버에 있어서,
상기 프로세서는,
비디오 게임에 참여하고 있는 복수의 일반 유저 각각의 게임 행위에 관한 게임 행위 데이터를 이용하여 모사 학습에 따른 일반 유저와의 협업이 가능한 에이전트를 생성하고,
상기 생성된 에이전트를 포함하는 에이전트 풀을 생성한 후, 상기 에이전트 풀에 포함된 복수의 에이전트를 추출하여 비디오 게임 내에서 복수의 에이전트 간 협업 능력을 평가하고,
상기 비디오 게임에 참여한 일반 유저들을 대상으로 팀 매칭이 결정되었는지 여부를 고려하여 비디오 게임의 스테이지에 참여한 일반 유저와 협업 가능한 에이전트를 제공하는 에이전트 관리 서버. - 제13항에 있어서,
상기 프로세서는,
상기 복수의 일반 유저들 각각의 게임 행위 데이터를 분석하여 유사 플레이를 수행한 게임 행위 데이터에 대한 군집화를 수행하고,
군집화 된 게임 행위 데이터에 모사 학습을 적용하여 일반 유저와의 협업이 가능한 에이전트를 생성하는 에이전트 관리 서버. - 제13항에 있어서,
상기 프로세서는,
상기 행동 복제를 이용해 모사 학습을 수행하는 경우,
상기 게임 행위 데이터를 구성하는 상황 정보와 행동 정보를 기반으로 일반 유저의 게임 행위에 대한 시연 궤적을 수집하고,
상기 일반 유저의 게임 행위에 대한 시연 궤적을 바탕으로 비디오 게임의 정책에 대한 행동 복제를 수행하고,
상기 수행된 행동 복제를 통해 군집화 된 게임 행위 데이터에 대한 모사 학습을 수행하는 에이전트 관리 서버. - 제13항에 있어서,
상기 프로세서는,
상기 견습 학습을 이용해 모사 학습을 수행하는 경우,
상기 비디오 게임과 관련된 전문 유저의 게임 행위에 대한 시연 궤적을 수집하고,
상기 수집된 시연 궤적으로부터 생성된 보상 함수를 바탕으로 비디오 게임의 정책에 대한 견습 학습을 수행하고,
상기 수행된 견습 학습을 통해 군집화 된 게임 행위 데이터에 대한 모사 학습을 수행하는 에이전트 관리 서버. - 제13항에 있어서,
상기 프로세서는,
상기 역강화학습을 이용해 모사 학습을 수행하는 경우,
기 생성된 에이전트의 정책 또는, 비디오 게임에 대한 이전 유저로부터 수집된 게임 행위 데이터 중 적어도 하나에 의해 생성된 보상 함수를 바탕으로 비디오 게임의 정책에 대한 역강화학습을 수행하고,
상기 수행된 역강화학습을 통해 군집화 된 게임 행위 데이터에 대한 모사 학습을 수행하는 에이전트 관리 서버. - 제13항에 있어서,
상기 프로세서는,
상기 스테이지를 플레이하는 일반 유저의 게임 행위를 보조하는 형태로 협업 가능한 에이전트를 제공하는 에이전트 관리 서버. - 제13항에 있어서,
상기 프로세서는,
상기 스테이지에서 제공하는 이벤트에 대응하여 일반 유저가 에이전트의 게임 행위를 보조하는 형태로 협업 가능한 에이전트를 제공하는 에이전트 관리 서버. - 제13항에 있어서,
상기 프로세서는,
상기 비디오 게임의 스테이지가 종료되었는지 여부를 고려하여 일반 유저와 협업 가능한 에이전트를 조정하여 제공하는 에이전트 관리 서버.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220011530A KR20230115036A (ko) | 2022-01-26 | 2022-01-26 | 인터랙션 기반의 협업 에이전트 생성 방법, 협업 에이전트 제공 방법 및 상기 방법을 수행하는 에이전트 관리 서버 |
US17/966,411 US20230233944A1 (en) | 2022-01-26 | 2022-10-14 | Method of creating interaction-based cooperative agent, method of providing cooperative agent, and agent management server for performing methods |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220011530A KR20230115036A (ko) | 2022-01-26 | 2022-01-26 | 인터랙션 기반의 협업 에이전트 생성 방법, 협업 에이전트 제공 방법 및 상기 방법을 수행하는 에이전트 관리 서버 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230115036A true KR20230115036A (ko) | 2023-08-02 |
Family
ID=87313201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220011530A KR20230115036A (ko) | 2022-01-26 | 2022-01-26 | 인터랙션 기반의 협업 에이전트 생성 방법, 협업 에이전트 제공 방법 및 상기 방법을 수행하는 에이전트 관리 서버 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230233944A1 (ko) |
KR (1) | KR20230115036A (ko) |
-
2022
- 2022-01-26 KR KR1020220011530A patent/KR20230115036A/ko not_active Application Discontinuation
- 2022-10-14 US US17/966,411 patent/US20230233944A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230233944A1 (en) | 2023-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yannakakis et al. | Artificial intelligence and games | |
Shi et al. | Game factors and game‐based learning design model | |
US7296007B1 (en) | Real time context learning by software agents | |
Pinelle et al. | Using genres to customize usability evaluations of video games | |
CN113660987A (zh) | 生成适用于游戏应用程序的游戏机器人 | |
Johnson et al. | Game development for computer science education | |
Miles | Unity 3D and playmaker essentials: game development from concept to publishing | |
Conroy et al. | Modeling player-like behavior for game AI design | |
Ouellette | Playing with the guys: Masculinity and relationships in video games | |
Gustafsson et al. | Narrative substrates: Reifying and managing emergent narratives in persistent game worlds | |
Karpouzis et al. | AI in (and for) Games | |
Ito | Inhabiting Multiple Worlds: Making Sense of SimCity 2000 TM in the Fifth Dimension | |
Angelides et al. | Handbook of digital games | |
Buckland | Source code's video game logic | |
Pendit et al. | Conceptual model of mobile augmented reality for cultural heritage | |
KR20230115036A (ko) | 인터랙션 기반의 협업 에이전트 생성 방법, 협업 에이전트 제공 방법 및 상기 방법을 수행하는 에이전트 관리 서버 | |
Franco et al. | An interactive storytelling model for non-player characters on electronic rpgs | |
Mahlmann | Modeling and Generating Strategy Games Mechanics | |
Wong | Crowd Evacuation Using Simulation Techniques | |
Ahmad et al. | Game Design Issues, Trend and Challenges (UTeM Press) | |
Kirschner | Gameplay socialization: Meaning-making, player-computer and player-player interaction in digital games | |
Schrum et al. | Constructing Game Agents Through Simulated Evolution | |
Yoshizoe et al. | Computer Go | |
Sato | Cross-cultural game studies | |
Φραγκιάς | Video game character learning with artificial intelligent algorithms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal |