UC Berkeley CS188 Intro to AI/[Pacman Project 1] Search

[Search_3] Varying the Cost Function (1)

컴공돌이​ 2022. 5. 20. 12:40

※ 이 글은 "UC Berkeley CS188 Intro to AI"의 "Project 1: Search"를 해결하는 과정을 정리한 글입니다.

 

Varying the Cost Function

너비 우선 탐색(Breadth First Search, BFS)은 목표지점으로 가는 최단 경로를 찾을 수 있지만, 최단 경로와 최고의 경로는 다를 수 있습니다. mediumDottedMaze와 mediumScaryMaze 같은 경우를 고려해봅시다. 

cost function을 변화한다면 팩맨이 다른 경로를 탐색할 수 있게 만들 수 있습니다. 예를 들어 유령이 많은 지역에서 움직일 때 많은 비용을 책정할 수 있고 먹을 것이 많은 지역에서 움직일 때 적은 비용을 책정할 수 있습니다. 팩맨을 합리적으로 움직이려면 이와 같은 다양한 조건들에서의 움직임을 정의해주어야 합니다.

search.py 파일에 들어있는 uniformCostSearch 함수 안에 균일 비용 탐색 (Uniform Cost Search, UCS) 알고리즘을 구현하십시오. 알고리즘 구현에 유용하게 사용할 수 있는 데이터 구조는 util.py 파일 내부에서 확인할 수 있습니다. 구현이 완료되었다면 서로 다른 3개의 게임에서 균일 비용 탐색이 적용된 팩맨이 잘 움직이는 지를 확인해야 합니다. 각각의 게임에서는 cost function들만 다르게 설정되어 있습니다.

- python pacman.py -l mediumMaze -p SearchAgent -a fn=ucs

 

python pacman.py -l mediumMaze -p SearchAgent -a fn=ucs 실행 시 시작되는 게임 화면
python pacman.py -l mediumMaze -p SearchAgent -a fn=ucs 실행 시 실행 화면

 

- python pacman.py -l mediumDottedMaze -p StayEastSearchAgent

 

python pacman.py -l mediumDottedMaze -p StayEastSearchAgent 실행 시 시작되는 게임 화면
python pacman.py -l mediumDottedMaze -p StayEastSearchAgent 실행 시 실행 화면

- python pacman.py -l mediumScaryMaze -p StayWestSearchAgent

 

python pacman.py -l mediumScaryMaze -p StayWestSearchAgent 실행 시 시작되는 게임 화면
python pacman.py -l mediumScaryMaze -p StayWestSearchAgent 실행 시 실행 화면

 

알고리즘이 잘 구현되었다면 StayEastSearchAgent에서는 매우 작은 비용을, StayWestSeatchAgent에서는 기 매우 큰 비용을 얻을 수 있을 것입니다.

반응형