SlideShare ist ein Scribd-Unternehmen logo
1 von 51
게임 AI를 통해 본
인공지능 기본 개념
EPP개발팀 오근현
View Point
Artificial Intelligent?
한번쯤 들어봤을만한 용어
인공지능에 대한 다양한 관점
• 데이터
• 수학/통계
• 정보 검색
• 심리/인지과학
• 컴퓨터과학
• and so on
튜링테스트
• 튜링 테스트(Turing test): 기
계가 인간과 얼마나 비슷하게
대화할 수 있는지를 기준으로
기계에 지능이 있는지를 판별
하고자 하는 테스트
• “컴퓨터로부터의 반응을 인간
과 구별할 수 없다면 컴퓨터는
생각(사고, thinking)할 수 있는
것” - 앨런 튜닝
오늘의 관점
Artificial Intelligent?
Human-like Intelligent
Human-Like?
Definition: Software Agents in AI
An agent is a computer system that is situated in some
environment, and that is capable of autonomous action in
this environment in order to meet its design objectives
대다수 인공지능 연구의 목적
Problem Solving
사람을 대신하거나 도와서 어떤 문제를 해결
Human Problem Solving?
Sensory-Motor
Sensor Motor
Black Box
(Model)
Human Memory
Sensor
Working
Memory
(Short-
term)
Long-
term
Memory
Sensory
Memory
Long-term memory
Explicit
Memory
(conscious)
Implicit
Memory
(unconscious)
Episodic
Memory
(events,
experience)
Semantic
Memory
(facts,
concepts)
Declarative
Memory
(facts,
events)
Procedural
Memory
(skills, tasks)
Priming
문제해결을 위해 필요한 것
• 경험: Explicit Memory ==> Data
• 규칙: Implicit Memory ==> Hand-coded Rules
• 사고방식: Implicit Memory ==> Model, Machine
Learning
기계학습
• 학습: 직간접적 경험이나 훈련에 의해 지속적으로 지각하고, 인지하며, 변
화시키는 행동 변화
• 기계학습 정의
• 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 분야
• 컴퓨터에게 배울 수 있는 능력, 즉 코드로 정의하지 않은 동작을 실행하
는 능력에 대한 연구 분야
• 기계 학습에서의 일반화는 훈련 이후 새롭게 들어온 데이터를 정확히
처리할 수 있는 능력
• 문제해결의 규칙/수식을 알고 기계에게 알려주는 방식은 기계학습이 아님
Three niches for machine learning
• Data mining: using historical data to improve decisions
• ex) medical records —> medical knowledge
• Software applications we can’t program by hand
• ex) autonomous driving, speech recognition
• Self customizing programs
• ex) Newsreader that learns user interests
• (출처: lecture slides for textbook Machine Learning, T. Mitchell,
MacGraw Hill, 1997)
Ms. Pac-Man 관련 기계학습방법
• 인공신경망(Artificial Neural Networks)
• 진화연산(Evolutionary Computation)
• 진화신경망(Evolved Artificial Neural Networks)
• 공통특징
• 소프트컴퓨팅
• 학습 결과 모델이 추출됨
• 사람의 수학/통계적 해석이 어려움(거의 불가능)
인공신경망
• 신경망: 인간의 중추신경계. 감각을 인식하고 반응을 하기까지 정보
처리는 뉴런들 사이의 정보 이동을 통해 진행
• 인공신경망: 인공신경망은 시냅스의 결합으로 네트워크를 형성한 인
공 뉴런(노드)이 학습을 통해 시냅스의 결합 세기를 변화시켜, 문제
해결 능력을 가지는 모델
출처: http://study.zum.com/book/13893 출처: https://ko.wikipedia.org/wiki/인공신경망
인공신경망 연구 예시
• 이미지 인식
• 글씨 인식
• 군집화(SOM: Self-
Organized Map)
• 딥러닝(Deep Learning)
http://www.cs.cmu.edu/~tom/faces.html
When to consider ANN
• Input is high-dimensional discrete or real-valued
• Output is discrete or real valued
• Output is a vector of values
• Possibly noisy data
• Form of target function is unknown
• Human readability of result is unimportant
• ex) Image classification, Financial prediction, Speech phoneme recognition
• (출처: lecture slides for textbook Machine Learning, T. Mitchell, McGraw Hill,
1997)
진화연산
• EC: Evolutionary Computation
• 자연계의 진화에서 아이디어를 얻음(다윈주의)
• 환경에 적합한 유전자를 가진 종이 다음 세대에 자신의
유전자를 전달할 확률이 높음
• 환경에 대한 반응을 유전자로 정의하고 실제 환경에 얼마
나 적합한지를 평가하여 다음 세대에 반영
유전자 알고리즘
• 유전자: 개체의 특징이 정의 (주로 배열)
• 적합도(Fitness): 유전자가 환경에 적합한 점수. 선택의
기준이 됨
• 선택(Selection): 다음 세대에 유전자를 전달할 개체 후보
선택
1 1 0 1 0 0 1 1
유전자 알고리즘(계속)
• 교차/교배(Crossover): 두 부모 유전자의 특성을 조합하
여 새로운 유전자를 생성
• 돌연변이(Mutation): 교배없이 유전자가 스스로 변이
출처: http://www.j-kosacs.or.kr/journal/article.php?code=11856
진화 연산 연구 예시
• Game Theory
• Genetic Programming
• Artificial Life
• Evolving the user interface
• https://blog.mozilla.org/
ux/2013/04/firefox-next-
evolving-the-user-
interface-using-genetic-
algorithms/
진화신경망
• ENN: Evolved Neural Networks, Evolutionary Neural Networks, Evolving Neural
Networks
• 진화연산을 이용하여 신경망 학습
• 게임, 로봇 등 평가를 위해 시뮬레이션이 필요한 학습에 다양하게 이용
• HyperNEAT/NEAT
• Kenneth O. Stanley, et al. “A Hypercube-Based Encoding for Evolving Large-Scale
Neural Networks,” Artificial Life journal vol. 15, no. 2, pp. 185–212. Cambridge, 2009
• 신경망의 토폴로지 기반 진화연산 사용
• Hidden Layer의 구조와 연산 방법을 진화연산으로 결정
• C++/C# 라이브러리 제공(http://eplex.cs.ucf.edu/hyperNEATpage/)
NEAT: Mutation Example
NEAT: Crossover Example
A Hybrid Method of Dijkstra
Algorithm and Evolutionary Neural
Networks for Ms. Pac-Man Agent
Keunhyun Oh and Sung-Bae Cho
Republic of Korea
World Congress on Nature and Biologically Inspired Computing 2010
Background: Game AI
• Ideal test environments for artificial intelligent
• Happening random events
• Huge decision space
• Challenging task to find Good Strategy
Background: Ms. Pac-Man
• One of the most popular area in game AI
• Navigating Ms. Pac-Man without user control
• Accumulating points and avoiding attacking ghosts
Motivation: Previous works
• Two Methods for Ms. Pac-Man agent
• Human-defined rules
• GOOD: Good rules’ guarantying stable high scores
• BAD: Difficulty in covering every situation because of non-
deterministic ghosts
• Evolutionary Computation
• GOOD: Covering uncertain environment
• BAD: Difficulty in designing an architecture for getting good score
and consuming high costs such as time
Motivation: Hybrid Approach
• To help covering each method’s advantage and
covering weakness
• Basically using rules based on Dijkstra algorithm
• Using evolved artificial neural networks to deal with
unpredicted circumstances that cannot be
determined by defined rules
Ms. Pac-Man Competition
• Providing the best software controller for the game of Ms. Pac-Man
• Annual popular competition
• IEEE CIG
• IEEE CEC
• The world record (2010)
• Human player: 921,360
• Software agent: 17,102 (avg. of 10 games)
Ms. Pac-Man Competition(cont’)
• Game version
• the Microsoft Revenge
of Arcade port of the
Ms Pac-Man game
• WebPacman: http://
www.webpacman.com/
• Software toolkit: Java
and C#
Approach: Hand-Coded Rule
• Designed by human experts who
understand the game well
• If-then rules and graph search algorithms
• Tree search strategy(D. Robles and S. M.
Lucas, 2009)
• RAMP(A. Fitzgerald et al., 2009)
• Ice Pambush(R. T. H. Matsumoto and C.
Tokuyama, 2008)
• Advantage: High scoring controllers
• Disadvantage: Hard to consider every
situation
Approach: EC
• Methods using evolutionary computation
• Problem solving using genetic algorithm
• Evolved artificial neural networks and fuzzy systems that are often used
• Reinforcement learning using EC(I. Szita and A. Lorenz, 2007)
• Evolved neural networks(S. M. Lucas, 2005)
• M. Gallagher and A. Ryan, 2008
• Advantage: Ability to deal with unpredicted situations
• Disadvantage: Hard to get high scores
Overview of Ms. Pac-Man
Game Agent
Sensing
• Catching the information on the current situation
• Screen capture
• Input the game state to the game agent
• using capture of a game interface
• Pixel extractor: Finding the color of each pixel
• Feature extractor
• Understanding coordinates of each components
• ex) Location of pills and ghosts
• Information extactor
• Producing information on the environment
• ex) Distance between Ms. Pac-Man and a ghost
Acting
• Agent’s controlling Ms. Pac-Man after next direction
is determined
• Using keyboard hooking
Thinking based on the hybrid
method
Evolutionary Neural Networks
Evolutionary Neural Networks
• To response to uncertain circumstances
• Using NEAT Algorithm(K. O. Stanely and R.
Miikkulainen, 2002)
Evolutionary Neural Networks
• Input(#: 24): Game state
• Output(#: 4): Direction of Ms. Pac-Man(Up, Down, Right, Left)
Component Parameter Type
The nearest ghost,
The nearest edible ghost,
The nearest pill,
The nearest power pill
Distance Float
Up Bool
Down Bool
Right Bool
Left Bool
Ms. Pac-Man
Up Bool
Down Bool
Right Bool
Left Bool
The pseudo-code for evolving
neural networksInput:
int MAX_POPULATION, int MAX_GENERATION,
int number_of_game
GENE[] PacMan::EANN{
int generation=0;
int number_of_population=0;
int number_of_game=0;
int score=0;
int avg_score=0;
NEAT::GENE[] POPULATION=new GENE(MAX_POPULATION);
NEAT::Parameters params=new ECParameters();
LoadParameters(params);
RandomPopulation(POPULATION);
for(int i=0;j<MAX_GENERATION;j++){
for(int j=0;i<MAX_POPULATION;i++){
PacManSimulator(
POPULATION[j],number_of_game
);
}
if(i<MAX_GENERATION-1){
/* Fitness sharing, Selection,
crossover,and mutation */
NEAT::Generation(POPULATION, params);
}else Sort_by_fitness(POPULATION);
}
return POPULATION[0]; // best gene
}
Experiment
• Simulating three agents 10 times
• 1st: Evolved neural networks
• 2nd: Dijkstra based rules
• 3rd: Hybrid method(Proposed method)
• Ms. Pac-Man Software Kit
• C# toolkit developed by J. Flensbank and G. Yannakakis
• Containing Ms. Pac-Man simulator(we use it)
• url: http://mspacmanai.codeplex.com/
Experiment Settings
• Threshold of Dijkstra based rules: 2
• Parameters for evolving neural networks
Parameter Value
Population 100
Generation 1000
The mutation rate for connection’s weight 0.2
The mutation rate to add and delete nodes 0.2
Elitism proportion 0.1
Selection proportion 0.8
bestGenome.xml
Example
• https://youtu.be/5O3E_OUodk0
The score of each controller
• Max and avg score: The hybrid method is outstand!
• Min score: Though designed rules are highest, the
gap among the proposed methods is tiny
Statistics of decisions
in the hybrid method
• The average number of decisions
• The Dijkstra-based rules
• Mainly used
• Guarantying hish scores
• The evolved neural network
• Controlling her in only special environments
• Covering weakness of human-designed rules
• One decision’s influencing the overall game
Method # of decisions % of decisions
The Dijkstra-based rules 71504.6 0.99860343
The evolved neural network 100.5 0.00139657
Summary
• Hybrid method for optimal Ms. Pac-Man agent
• Using hand-coded rules and the evolved neural network
• Human designed rule based on Dijkstra algorithm
• Guarantying best choice in some cases
• Not covering every circumstance —> using evolved neural network
• Evolutionary computation
• Making her go to the safety location in every environment
• Helping human designed rule more safety
• The method’s getting higher scores than them of rules EC separately

Weitere ähnliche Inhalte

Was ist angesagt?

뉴비라이터를 위한 게임라이팅 일반론
뉴비라이터를 위한 게임라이팅 일반론뉴비라이터를 위한 게임라이팅 일반론
뉴비라이터를 위한 게임라이팅 일반론
sinnoske
 
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
devCAT Studio, NEXON
 
코드 생성을 사용해 개발 속도 높이기 NDC2011
코드 생성을 사용해 개발 속도 높이기 NDC2011코드 생성을 사용해 개발 속도 높이기 NDC2011
코드 생성을 사용해 개발 속도 높이기 NDC2011
Esun Kim
 
온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기
Seungjae Lee
 
고대특강 게임 프로그래머의 소양
고대특강   게임 프로그래머의 소양고대특강   게임 프로그래머의 소양
고대특강 게임 프로그래머의 소양
Jubok Kim
 
김동건, 구세대 개발자의 신세대 플레이어를 위한 게임 만들기, NDC2011
김동건, 구세대 개발자의 신세대 플레이어를 위한 게임 만들기, NDC2011김동건, 구세대 개발자의 신세대 플레이어를 위한 게임 만들기, NDC2011
김동건, 구세대 개발자의 신세대 플레이어를 위한 게임 만들기, NDC2011
devCAT Studio, NEXON
 
임태현, MMO 서버 개발 포스트 모템, NDC2012
임태현, MMO 서버 개발 포스트 모템, NDC2012임태현, MMO 서버 개발 포스트 모템, NDC2012
임태현, MMO 서버 개발 포스트 모템, NDC2012
devCAT Studio, NEXON
 

Was ist angesagt? (20)

마비노기듀얼 이야기-넥슨 김동건
마비노기듀얼 이야기-넥슨 김동건마비노기듀얼 이야기-넥슨 김동건
마비노기듀얼 이야기-넥슨 김동건
 
뉴비라이터를 위한 게임라이팅 일반론
뉴비라이터를 위한 게임라이팅 일반론뉴비라이터를 위한 게임라이팅 일반론
뉴비라이터를 위한 게임라이팅 일반론
 
그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기
 
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
 
게임 스타트업 시작하기
게임 스타트업 시작하기게임 스타트업 시작하기
게임 스타트업 시작하기
 
진화하는 컴퓨터 하드웨어와 게임 개발 기술의 발전
진화하는 컴퓨터 하드웨어와 게임 개발 기술의 발전진화하는 컴퓨터 하드웨어와 게임 개발 기술의 발전
진화하는 컴퓨터 하드웨어와 게임 개발 기술의 발전
 
NDC 2016 이은석 - 돌죽을 끓입시다: 창의적 게임개발팀을 위한 왓 스튜디오의 업무 문화
NDC 2016 이은석 - 돌죽을 끓입시다: 창의적 게임개발팀을 위한 왓 스튜디오의 업무 문화NDC 2016 이은석 - 돌죽을 끓입시다: 창의적 게임개발팀을 위한 왓 스튜디오의 업무 문화
NDC 2016 이은석 - 돌죽을 끓입시다: 창의적 게임개발팀을 위한 왓 스튜디오의 업무 문화
 
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
 
게임제작개론: #3 간접통제와 게임 커뮤니티
게임제작개론: #3 간접통제와 게임 커뮤니티게임제작개론: #3 간접통제와 게임 커뮤니티
게임제작개론: #3 간접통제와 게임 커뮤니티
 
코드 생성을 사용해 개발 속도 높이기 NDC2011
코드 생성을 사용해 개발 속도 높이기 NDC2011코드 생성을 사용해 개발 속도 높이기 NDC2011
코드 생성을 사용해 개발 속도 높이기 NDC2011
 
스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나
스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나
스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나
 
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들
 
게임강연정리
게임강연정리게임강연정리
게임강연정리
 
기획자의 포트폴리오는 어떻게 써야 할까
기획자의 포트폴리오는 어떻게 써야 할까기획자의 포트폴리오는 어떻게 써야 할까
기획자의 포트폴리오는 어떻게 써야 할까
 
온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기
 
고대특강 게임 프로그래머의 소양
고대특강   게임 프로그래머의 소양고대특강   게임 프로그래머의 소양
고대특강 게임 프로그래머의 소양
 
김동건, 구세대 개발자의 신세대 플레이어를 위한 게임 만들기, NDC2011
김동건, 구세대 개발자의 신세대 플레이어를 위한 게임 만들기, NDC2011김동건, 구세대 개발자의 신세대 플레이어를 위한 게임 만들기, NDC2011
김동건, 구세대 개발자의 신세대 플레이어를 위한 게임 만들기, NDC2011
 
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
 
[IGC2018] 이락디지털문화연구소 남기덕 - 게임 디자인의 시작, 테마
[IGC2018] 이락디지털문화연구소 남기덕 - 게임 디자인의 시작, 테마[IGC2018] 이락디지털문화연구소 남기덕 - 게임 디자인의 시작, 테마
[IGC2018] 이락디지털문화연구소 남기덕 - 게임 디자인의 시작, 테마
 
임태현, MMO 서버 개발 포스트 모템, NDC2012
임태현, MMO 서버 개발 포스트 모템, NDC2012임태현, MMO 서버 개발 포스트 모템, NDC2012
임태현, MMO 서버 개발 포스트 모템, NDC2012
 

Ähnlich wie 게임 AI를 통해 본 인공지능 기본 개념

csc384-Lecture01-Introduction_abcdpdf_pdf_to_ppt.pptx
csc384-Lecture01-Introduction_abcdpdf_pdf_to_ppt.pptxcsc384-Lecture01-Introduction_abcdpdf_pdf_to_ppt.pptx
csc384-Lecture01-Introduction_abcdpdf_pdf_to_ppt.pptx
AlexKaul1
 
UNIT 1 SRMIST KTR_problem and agents.pdf
UNIT 1 SRMIST KTR_problem and agents.pdfUNIT 1 SRMIST KTR_problem and agents.pdf
UNIT 1 SRMIST KTR_problem and agents.pdf
RishuRaj953240
 

Ähnlich wie 게임 AI를 통해 본 인공지능 기본 개념 (20)

Ai introduction
Ai introductionAi introduction
Ai introduction
 
AI Presentation 1
AI Presentation 1AI Presentation 1
AI Presentation 1
 
Introduction to Soft Computing by Dr.S.Jagadeesh Kumar
Introduction to Soft Computing by Dr.S.Jagadeesh KumarIntroduction to Soft Computing by Dr.S.Jagadeesh Kumar
Introduction to Soft Computing by Dr.S.Jagadeesh Kumar
 
Ai history to-m-learning
Ai history to-m-learningAi history to-m-learning
Ai history to-m-learning
 
Hacking Predictive Modeling - RoadSec 2018
Hacking Predictive Modeling - RoadSec 2018Hacking Predictive Modeling - RoadSec 2018
Hacking Predictive Modeling - RoadSec 2018
 
JD McCreary Presentation to Williams Foundation, March 22, 2018
JD McCreary Presentation to Williams Foundation, March 22, 2018JD McCreary Presentation to Williams Foundation, March 22, 2018
JD McCreary Presentation to Williams Foundation, March 22, 2018
 
Artificial Intelligence Introduction
Artificial Intelligence Introduction Artificial Intelligence Introduction
Artificial Intelligence Introduction
 
Deep learning tutorial 9/2019
Deep learning tutorial 9/2019Deep learning tutorial 9/2019
Deep learning tutorial 9/2019
 
Deep Learning Tutorial
Deep Learning TutorialDeep Learning Tutorial
Deep Learning Tutorial
 
Computer Design Concepts for Machine Learning
Computer Design Concepts for Machine LearningComputer Design Concepts for Machine Learning
Computer Design Concepts for Machine Learning
 
Lebanon SoftShore Artificial Intelligence Seminar - March 38, 2014
Lebanon SoftShore Artificial Intelligence Seminar - March 38, 2014Lebanon SoftShore Artificial Intelligence Seminar - March 38, 2014
Lebanon SoftShore Artificial Intelligence Seminar - March 38, 2014
 
csc384-Lecture01-Introduction_abcdpdf_pdf_to_ppt.pptx
csc384-Lecture01-Introduction_abcdpdf_pdf_to_ppt.pptxcsc384-Lecture01-Introduction_abcdpdf_pdf_to_ppt.pptx
csc384-Lecture01-Introduction_abcdpdf_pdf_to_ppt.pptx
 
UNIT 1 SRMIST KTR_problem and agents.pdf
UNIT 1 SRMIST KTR_problem and agents.pdfUNIT 1 SRMIST KTR_problem and agents.pdf
UNIT 1 SRMIST KTR_problem and agents.pdf
 
Deep learning 1
Deep learning 1Deep learning 1
Deep learning 1
 
Computational Neuroscience - The Brain - Computer Science Interface
Computational Neuroscience - The Brain - Computer Science InterfaceComputational Neuroscience - The Brain - Computer Science Interface
Computational Neuroscience - The Brain - Computer Science Interface
 
Deep Learning
Deep LearningDeep Learning
Deep Learning
 
Artificial Intelligence by Jayant
Artificial Intelligence by JayantArtificial Intelligence by Jayant
Artificial Intelligence by Jayant
 
J-Fall 2017 - AI Self-learning Game Playing
J-Fall 2017 - AI Self-learning Game PlayingJ-Fall 2017 - AI Self-learning Game Playing
J-Fall 2017 - AI Self-learning Game Playing
 
Lecture 4 neural networks
Lecture 4 neural networksLecture 4 neural networks
Lecture 4 neural networks
 
ML Basic Concepts.pdf
ML Basic Concepts.pdfML Basic Concepts.pdf
ML Basic Concepts.pdf
 

Mehr von Keunhyun Oh

Mehr von Keunhyun Oh (9)

Mastering Python chapter3
Mastering Python chapter3Mastering Python chapter3
Mastering Python chapter3
 
[SwiftStudy 2016] 3장. 함수
[SwiftStudy 2016] 3장. 함수[SwiftStudy 2016] 3장. 함수
[SwiftStudy 2016] 3장. 함수
 
[SwiftStudy 2016] 2장. Swift 타입 파트 1
[SwiftStudy 2016] 2장. Swift 타입 파트 1[SwiftStudy 2016] 2장. Swift 타입 파트 1
[SwiftStudy 2016] 2장. Swift 타입 파트 1
 
[SwiftStudy 2016] 1장. Swift 소개
[SwiftStudy 2016] 1장. Swift 소개[SwiftStudy 2016] 1장. Swift 소개
[SwiftStudy 2016] 1장. Swift 소개
 
WWDC2016 스터디 공유 발표 - 공유용
WWDC2016 스터디 공유 발표 - 공유용WWDC2016 스터디 공유 발표 - 공유용
WWDC2016 스터디 공유 발표 - 공유용
 
프로그래밍 오브젝티브 C 2.0 (5/E) - 8장 상속
프로그래밍 오브젝티브 C  2.0 (5/E) -  8장 상속프로그래밍 오브젝티브 C  2.0 (5/E) -  8장 상속
프로그래밍 오브젝티브 C 2.0 (5/E) - 8장 상속
 
연관도 분석을 이용한 데이터마이닝
연관도 분석을 이용한 데이터마이닝연관도 분석을 이용한 데이터마이닝
연관도 분석을 이용한 데이터마이닝
 
Doing data science chap11
Doing data science chap11Doing data science chap11
Doing data science chap11
 
Doing data science chap4
Doing data science chap4Doing data science chap4
Doing data science chap4
 

Kürzlich hochgeladen

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Kürzlich hochgeladen (20)

Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 

게임 AI를 통해 본 인공지능 기본 개념

  • 1. 게임 AI를 통해 본 인공지능 기본 개념 EPP개발팀 오근현
  • 5. 인공지능에 대한 다양한 관점 • 데이터 • 수학/통계 • 정보 검색 • 심리/인지과학 • 컴퓨터과학 • and so on
  • 6. 튜링테스트 • 튜링 테스트(Turing test): 기 계가 인간과 얼마나 비슷하게 대화할 수 있는지를 기준으로 기계에 지능이 있는지를 판별 하고자 하는 테스트 • “컴퓨터로부터의 반응을 인간 과 구별할 수 없다면 컴퓨터는 생각(사고, thinking)할 수 있는 것” - 앨런 튜닝
  • 8. Human-Like? Definition: Software Agents in AI An agent is a computer system that is situated in some environment, and that is capable of autonomous action in this environment in order to meet its design objectives
  • 9. 대다수 인공지능 연구의 목적 Problem Solving 사람을 대신하거나 도와서 어떤 문제를 해결
  • 14. 문제해결을 위해 필요한 것 • 경험: Explicit Memory ==> Data • 규칙: Implicit Memory ==> Hand-coded Rules • 사고방식: Implicit Memory ==> Model, Machine Learning
  • 15. 기계학습 • 학습: 직간접적 경험이나 훈련에 의해 지속적으로 지각하고, 인지하며, 변 화시키는 행동 변화 • 기계학습 정의 • 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 분야 • 컴퓨터에게 배울 수 있는 능력, 즉 코드로 정의하지 않은 동작을 실행하 는 능력에 대한 연구 분야 • 기계 학습에서의 일반화는 훈련 이후 새롭게 들어온 데이터를 정확히 처리할 수 있는 능력 • 문제해결의 규칙/수식을 알고 기계에게 알려주는 방식은 기계학습이 아님
  • 16. Three niches for machine learning • Data mining: using historical data to improve decisions • ex) medical records —> medical knowledge • Software applications we can’t program by hand • ex) autonomous driving, speech recognition • Self customizing programs • ex) Newsreader that learns user interests • (출처: lecture slides for textbook Machine Learning, T. Mitchell, MacGraw Hill, 1997)
  • 17. Ms. Pac-Man 관련 기계학습방법 • 인공신경망(Artificial Neural Networks) • 진화연산(Evolutionary Computation) • 진화신경망(Evolved Artificial Neural Networks) • 공통특징 • 소프트컴퓨팅 • 학습 결과 모델이 추출됨 • 사람의 수학/통계적 해석이 어려움(거의 불가능)
  • 18. 인공신경망 • 신경망: 인간의 중추신경계. 감각을 인식하고 반응을 하기까지 정보 처리는 뉴런들 사이의 정보 이동을 통해 진행 • 인공신경망: 인공신경망은 시냅스의 결합으로 네트워크를 형성한 인 공 뉴런(노드)이 학습을 통해 시냅스의 결합 세기를 변화시켜, 문제 해결 능력을 가지는 모델 출처: http://study.zum.com/book/13893 출처: https://ko.wikipedia.org/wiki/인공신경망
  • 19. 인공신경망 연구 예시 • 이미지 인식 • 글씨 인식 • 군집화(SOM: Self- Organized Map) • 딥러닝(Deep Learning) http://www.cs.cmu.edu/~tom/faces.html
  • 20. When to consider ANN • Input is high-dimensional discrete or real-valued • Output is discrete or real valued • Output is a vector of values • Possibly noisy data • Form of target function is unknown • Human readability of result is unimportant • ex) Image classification, Financial prediction, Speech phoneme recognition • (출처: lecture slides for textbook Machine Learning, T. Mitchell, McGraw Hill, 1997)
  • 21. 진화연산 • EC: Evolutionary Computation • 자연계의 진화에서 아이디어를 얻음(다윈주의) • 환경에 적합한 유전자를 가진 종이 다음 세대에 자신의 유전자를 전달할 확률이 높음 • 환경에 대한 반응을 유전자로 정의하고 실제 환경에 얼마 나 적합한지를 평가하여 다음 세대에 반영
  • 22. 유전자 알고리즘 • 유전자: 개체의 특징이 정의 (주로 배열) • 적합도(Fitness): 유전자가 환경에 적합한 점수. 선택의 기준이 됨 • 선택(Selection): 다음 세대에 유전자를 전달할 개체 후보 선택 1 1 0 1 0 0 1 1
  • 23. 유전자 알고리즘(계속) • 교차/교배(Crossover): 두 부모 유전자의 특성을 조합하 여 새로운 유전자를 생성 • 돌연변이(Mutation): 교배없이 유전자가 스스로 변이 출처: http://www.j-kosacs.or.kr/journal/article.php?code=11856
  • 24. 진화 연산 연구 예시 • Game Theory • Genetic Programming • Artificial Life • Evolving the user interface • https://blog.mozilla.org/ ux/2013/04/firefox-next- evolving-the-user- interface-using-genetic- algorithms/
  • 25. 진화신경망 • ENN: Evolved Neural Networks, Evolutionary Neural Networks, Evolving Neural Networks • 진화연산을 이용하여 신경망 학습 • 게임, 로봇 등 평가를 위해 시뮬레이션이 필요한 학습에 다양하게 이용 • HyperNEAT/NEAT • Kenneth O. Stanley, et al. “A Hypercube-Based Encoding for Evolving Large-Scale Neural Networks,” Artificial Life journal vol. 15, no. 2, pp. 185–212. Cambridge, 2009 • 신경망의 토폴로지 기반 진화연산 사용 • Hidden Layer의 구조와 연산 방법을 진화연산으로 결정 • C++/C# 라이브러리 제공(http://eplex.cs.ucf.edu/hyperNEATpage/)
  • 28. A Hybrid Method of Dijkstra Algorithm and Evolutionary Neural Networks for Ms. Pac-Man Agent Keunhyun Oh and Sung-Bae Cho Republic of Korea World Congress on Nature and Biologically Inspired Computing 2010
  • 29. Background: Game AI • Ideal test environments for artificial intelligent • Happening random events • Huge decision space • Challenging task to find Good Strategy
  • 30. Background: Ms. Pac-Man • One of the most popular area in game AI • Navigating Ms. Pac-Man without user control • Accumulating points and avoiding attacking ghosts
  • 31. Motivation: Previous works • Two Methods for Ms. Pac-Man agent • Human-defined rules • GOOD: Good rules’ guarantying stable high scores • BAD: Difficulty in covering every situation because of non- deterministic ghosts • Evolutionary Computation • GOOD: Covering uncertain environment • BAD: Difficulty in designing an architecture for getting good score and consuming high costs such as time
  • 32. Motivation: Hybrid Approach • To help covering each method’s advantage and covering weakness • Basically using rules based on Dijkstra algorithm • Using evolved artificial neural networks to deal with unpredicted circumstances that cannot be determined by defined rules
  • 33. Ms. Pac-Man Competition • Providing the best software controller for the game of Ms. Pac-Man • Annual popular competition • IEEE CIG • IEEE CEC • The world record (2010) • Human player: 921,360 • Software agent: 17,102 (avg. of 10 games)
  • 34. Ms. Pac-Man Competition(cont’) • Game version • the Microsoft Revenge of Arcade port of the Ms Pac-Man game • WebPacman: http:// www.webpacman.com/ • Software toolkit: Java and C#
  • 35. Approach: Hand-Coded Rule • Designed by human experts who understand the game well • If-then rules and graph search algorithms • Tree search strategy(D. Robles and S. M. Lucas, 2009) • RAMP(A. Fitzgerald et al., 2009) • Ice Pambush(R. T. H. Matsumoto and C. Tokuyama, 2008) • Advantage: High scoring controllers • Disadvantage: Hard to consider every situation
  • 36. Approach: EC • Methods using evolutionary computation • Problem solving using genetic algorithm • Evolved artificial neural networks and fuzzy systems that are often used • Reinforcement learning using EC(I. Szita and A. Lorenz, 2007) • Evolved neural networks(S. M. Lucas, 2005) • M. Gallagher and A. Ryan, 2008 • Advantage: Ability to deal with unpredicted situations • Disadvantage: Hard to get high scores
  • 37. Overview of Ms. Pac-Man Game Agent
  • 38. Sensing • Catching the information on the current situation • Screen capture • Input the game state to the game agent • using capture of a game interface • Pixel extractor: Finding the color of each pixel • Feature extractor • Understanding coordinates of each components • ex) Location of pills and ghosts • Information extactor • Producing information on the environment • ex) Distance between Ms. Pac-Man and a ghost
  • 39. Acting • Agent’s controlling Ms. Pac-Man after next direction is determined • Using keyboard hooking
  • 40. Thinking based on the hybrid method
  • 42. Evolutionary Neural Networks • To response to uncertain circumstances • Using NEAT Algorithm(K. O. Stanely and R. Miikkulainen, 2002)
  • 43. Evolutionary Neural Networks • Input(#: 24): Game state • Output(#: 4): Direction of Ms. Pac-Man(Up, Down, Right, Left) Component Parameter Type The nearest ghost, The nearest edible ghost, The nearest pill, The nearest power pill Distance Float Up Bool Down Bool Right Bool Left Bool Ms. Pac-Man Up Bool Down Bool Right Bool Left Bool
  • 44. The pseudo-code for evolving neural networksInput: int MAX_POPULATION, int MAX_GENERATION, int number_of_game GENE[] PacMan::EANN{ int generation=0; int number_of_population=0; int number_of_game=0; int score=0; int avg_score=0; NEAT::GENE[] POPULATION=new GENE(MAX_POPULATION); NEAT::Parameters params=new ECParameters(); LoadParameters(params); RandomPopulation(POPULATION); for(int i=0;j<MAX_GENERATION;j++){ for(int j=0;i<MAX_POPULATION;i++){ PacManSimulator( POPULATION[j],number_of_game ); } if(i<MAX_GENERATION-1){ /* Fitness sharing, Selection, crossover,and mutation */ NEAT::Generation(POPULATION, params); }else Sort_by_fitness(POPULATION); } return POPULATION[0]; // best gene }
  • 45. Experiment • Simulating three agents 10 times • 1st: Evolved neural networks • 2nd: Dijkstra based rules • 3rd: Hybrid method(Proposed method) • Ms. Pac-Man Software Kit • C# toolkit developed by J. Flensbank and G. Yannakakis • Containing Ms. Pac-Man simulator(we use it) • url: http://mspacmanai.codeplex.com/
  • 46. Experiment Settings • Threshold of Dijkstra based rules: 2 • Parameters for evolving neural networks Parameter Value Population 100 Generation 1000 The mutation rate for connection’s weight 0.2 The mutation rate to add and delete nodes 0.2 Elitism proportion 0.1 Selection proportion 0.8
  • 49. The score of each controller • Max and avg score: The hybrid method is outstand! • Min score: Though designed rules are highest, the gap among the proposed methods is tiny
  • 50. Statistics of decisions in the hybrid method • The average number of decisions • The Dijkstra-based rules • Mainly used • Guarantying hish scores • The evolved neural network • Controlling her in only special environments • Covering weakness of human-designed rules • One decision’s influencing the overall game Method # of decisions % of decisions The Dijkstra-based rules 71504.6 0.99860343 The evolved neural network 100.5 0.00139657
  • 51. Summary • Hybrid method for optimal Ms. Pac-Man agent • Using hand-coded rules and the evolved neural network • Human designed rule based on Dijkstra algorithm • Guarantying best choice in some cases • Not covering every circumstance —> using evolved neural network • Evolutionary computation • Making her go to the safety location in every environment • Helping human designed rule more safety • The method’s getting higher scores than them of rules EC separately