게임인공지능 제 5 장 그래프의 비밀 2008년 4월 28일.

Slides:



Advertisements
Similar presentations
언어의 자서전 소단원 (1) 단원. 언어의 특성 기호성 자의성 사회성 규칙성 창조성 역사성.
Advertisements

2015 헤럴드 펀드대상 2015년 10월14일 헤럴드경제 금융투자부.
QC 신7가지 관리도구.
03월 식단표 So hot 비빔’s 덮으면 모락모락 보라매 도시락 03/21 (월) 03/22 (화) 03/23 (수)
그래프.
Maximum Flow.
Shortest Path Algorithm
제 6 장 그래프 6.1 그래프의 정의 6.2 용어 및 표현법 6.3 그래프의 표현 방법 6.4 그래프의 순회와 신장 트리
Routing.
컴퓨터 네트워크 Chapter 5-2 컴퓨터 네트워크.
M원 탐색트리.
『대기업-중소협력업체 안전보건 공생협력 프로그램』 추진 사업
Networking and Internetworking Devices
신QC 7가지 관리도구.
Routing Protocol (OSPF)
CHAP 10:그래프 순천향대학교 하상호.
CHAP 10 : 그래프 C로 쉽게 풀어쓴 자료구조 생능출판사 학기 데이터구조.
CHAP 10:그래프 C로 쉽게 풀어쓴 자료구조 생능출판사 2005.
CHAP 10 : 그래프 C로 쉽게 풀어쓴 자료구조 Slide 1 (of 62).
제5장 트리.
On the computation of multidimensional Aggregates
제 6 장 그래프.
Routing Protocol (OSPF)
쉽게 배우는 알고리즘 9장. 그래프 알고리즘.
 Branch-and-Bound (분기한정)
제거방안 수립 및 실시 Chart 일처리 5단계와 SUPEX 추구 경영혁신 SUPEX.
알고리즘(Algorithm) – Greedy Method (탐욕적 방법)
Chapter 10 그래프(graph) SANGJI University Kwangman KO
운영체제 (Operating Systems)
10장. 그래프 알고리즘.
RPL: Routing Protocol for Low Power and Lossy Networks
그래프(graph) 연결되어 있는 객체 간의 관계를 표현하는 자료구조 가장 일반적인 자료구조 형태
파일 시스템 인터페이스(File System Interface)
AVLTree vs 편향 Tree.
CHAPTER 6 그래프.
JCR 이용자 매뉴얼.
자료구조(SCSC) Data Structures
동적 계획(Dynamic Programming)
Ch.06 Branch-and-Bound (분기한정법) (Ch.05-7 포함)
월 정례조회.
Ch.03 Dynamic Programming (동적 프로그래밍 or 동적 계획법)
쉽게 배우는 알고리즘 12장. 상태공간 트리의 탐색.
인공지능 소개 및 1장.
그래프의 용어 알고리즘 수업자료 김정현.
그래프와 트리 (Graphs and Trees)
조 병 규 Software Quality Lab. 한 국 교 통 대 학 교
생산 관리.
3장. 탐색.
0-1 Knapsack – 개선된 BFS 기반 알고리즘
CHAP 10 : 그래프.
탐색 (Lecture Note #3) 인공지능 이복주 단국대학교 컴퓨터공학과 Modified from the slides
HMM 기반 연속음성인식 베이스라인 시스템 서강대학교 음성언어처리연구실.
탐색 (Search) 컴퓨터가 문제를 자율적으로 해결하기 위해 해 혹은 해에 이르기 위한 경로를 찾아가는 과정
상황별/유형별 고객응대법.
How to “Think” as a Consultant
제5장 문제 축소에 의한 풀이방식.
전류는 자계에서 힘을 받는다 기계공학교육 박지훈 황인석 한만혁 이덕균.
(Ⅰ) 독서와 언어의 본질 언어의 본질 1 2 [고등 국어] – 독서와 문법 독서의 본질 (1) 독서의 특성
Traveling Salesman Problem – 개요 (1/2)
자료구조 자료구조의 개요 배열 선형 리스트 스택 큐 트리.
4. 분자 상호 작용의 네트워크 분석 4.1 네트워크 표현과 계산
쉽게 배우는 알고리즘 12장. 상태공간 트리의 탐색
제5장 주일정계획.
房思琪的初恋乐园 ‘팡쓰치’로 보는 문학의 힘 정은비.
박 현 미 울산여자상업고등학교 창업포스터 만들며 포토샵과 친해지기 박 현 미 울산여자상업고등학교.
Dynamic Graph Query Primitives for SDN-based Cloud Network Management Ramya Raghavendra, Jorge Lobo, Kang-Won Lee 2012 HotSDN 정보통신공학과.
[CPA340] Algorithms and Practice Youn-Hee Han
Traveling Salesman Problem – 개요 (1/2)
Traveling Salesman Problem – 개요 (1/2)
건강증진운동 의 효과적인 방법.
Presentation transcript:

게임인공지능 제 5 장 그래프의 비밀 2008년 4월 28일

그래프 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

그래프 연결그래프 비연결그래프 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

좀더 형식적인 기술 G={N, E} N: 노드(Node)의 집합 E: 엣지(Edge)의 집합 숫자나 문자로 레이블 연결되는 노드로 레이블 가중치(weight) 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

트리 비순환(acyclic) 그래프 그래프의 부분집합 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

그래프 밀도 밀집한(dense) 그래프 성긴(sparse) 그래프 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

다이그래프 방향그래프, digraph, DAG, … 엣지의 정의: 연결되는 노드의 순서쌍 근원(source) 노드 목적(destination) 노드 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

다이그래프 다이그래프를 이용한 무방향성 그래프 표현 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

게임 AI에서의 그래프: 항해 그래프 Navigation graph, navgraph 에이전트가 방문할 수 있는 장소(node)와 장소들 사이의 모든 연결(edge) 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

게임 AI에서의 그래프: 항해 그래프 각 타일의 중심이 node edge에는 각 지형의 정보 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

게임 AI에서의 그래프: 종속 그래프 Dependency graph 자원 관리 유형의 게임 각 자원을 만드는 비용을 각 edge에 할당 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

게임 AI에서의 그래프: 상태 그래프 State graph 시스템의 가능한 상태와 상태들 사이의 전환 시스템의 잠재적인 상태의 집합: 상태 공간 특정한 상태가 가능한지 판단 혹은 특정한 상태까지의 가장 효율적인 경로 탐색 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

게임 AI에서의 그래프: 상태 그래프 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

게임 AI에서의 그래프: 상태 그래프 상태 공간 탐색 그래프의 분기율(branching factor) 하나(혹은 가능한 모두)의 해를 찾기 가장 적은 이동을 요구하는 해를 찾기 그래프의 분기율(branching factor) 각 부모 노드에서 퍼져 나가는 자식 노드의 평균 개수 분기율이 높은 경우 많은 메모리의 빠른 처리 속도 요구 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

그래프 클래스 구현하기 자료 구조 인접 행렬(adjacency matrix) 인접 리스트(adjacency list) 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

그래프 클래스 구현하기 인접 행렬 그래프의 연결 정보를 행렬의 각 원소에 저장 부울리언 or 실수 Sparce 그래프에 부적합 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

그래프 클래스 구현하기 인접 리스트 Space 그래프에 적합 각 노드에 인접하는 에지들의 연결 리스트 저장 게임 AI에서는 대부분 space 그래프 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

GraphNode 클래스 그래프 노드를 위한 기본 클래스 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

NavGraphNode 클래스 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

GraphEdge 클래스 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

GraphEdge 클래스 비용을 따로 계산 하는 예 cost = Distance(NodeA.Position, NodeB.Position); 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

SparseGraph 클래스 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

SparseGraph 클래스 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

SparseGraph 클래스 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

그래프 탐색 알고리즘 그래프의 모든 노드 방문하기 두 노드 사이의 경로 찾기 두 노드 사이의 최적 경로 찾기 무정보 그래프 탐색(uniformed graph search) 맹목적 탐색(blind search) 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

깊이우선탐색 DFS: Depth First Search 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

깊이우선탐색 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

깊이우선탐색 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

깊이우선탐색 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

깊이우선탐색 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

깊이우선탐색 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

깊이우선탐색 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

깊이우선탐색 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

깊이우선탐색 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

깊이우선탐색 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

깊이우선탐색 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

깊이우선탐색 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

깊이우선탐색 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

깊이우선탐색 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

깊이우선탐색 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

깊이우선탐색 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

너비우선탐색 BFS(Breadth First Search) 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

너비우선탐색 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

너비우선탐색 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

너비우선탐색 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

너비우선탐색 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

너비우선탐색 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

너비우선탐색 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

너비우선탐색 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

너비우선탐색 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

너비우선탐색 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

비용 기반 그래프 탐색 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

에지 완화 Edge Relaxation 지금까지 발견된 가장 좋은 경로(Best Path found So Far: BPSF) 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

에지 완화 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

최단경로트리 Shortest Path Tree (SPT) 최단 경로를 나타내는 전체 그래프 G의 부트리 (sub-tree) 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

Dijkstra 알고리즘 가중 그래프에서 최단 경로를 찾는 알고리즘 SPT에 source node를 추가하고 시작 아직 SPT에 없는 node까지의 최단 경로를 찾아서 SPT에 추가 모든 node로의 최단 경로가 SPT에 저장 특정 목적 node가 주어지는 경우, 해당 node가 SPT에 추가되면 알고리즘 종료 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

Dijkstra 알고리즘 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

Dijkstra 알고리즘 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

Dijkstra 알고리즘 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

Dijkstra 알고리즘 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

Dijkstra 알고리즘 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

Dijkstra 알고리즘 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

Dijkstra 알고리즘 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

Dijkstra 알고리즘 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

Dijkstra 알고리즘 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

특별한 Dijkstra A* Dijkstra A* 지금까지 경로의 비용을 최소화하여 탐색 현재 노드에서 목표까지의 추정된 비용도 고려 추정: 휴리스틱(heuristic) 예) 항해그래프: 목표까지의 직선 거리 휴리스틱 값까지 고려된 비용 F를 기준으로 큐 정렬 F = G (노드에 이르는 누적 비용) + H (휴리스틱) 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

특별한 Dijkstra A* 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

특별한 Dijkstra A* 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

특별한 Dijkstra A*: 휴리스틱 유클리디언 휴리스틱 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

특별한 Dijkstra A*: 휴리스틱 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

특별한 Dijkstra A*: 휴리스틱 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀

맨하탄 거리 휴리스틱 가로와 세로 방향 변이의 합 유클리디언 휴리스틱보다 속도가 빠름 2008-04-29 게임인공지능 - 제 5장 그래프의 비밀