ai 28

[Multi-Agent Search_5] Evaluation Function (1)

※ 이 글은 "UC Berkeley CS188 Intro to AI"의 "Project 2: Multi-Agent Search"을 해결하는 과정을 정리한 글입니다. Evaluation Function Pacman을 위하여 betterEvaluationFunction에 더 좋은 평가 함수를 구현해 보십시오. 이번에 구현해야 하는 평가 함수는 Reflex Agent의 평가 함수처럼 Action을 평가하는 것이 아닌 State를 평가해야 할 것입니다. 코드를 구현하기 위하여 과제의 탐색 코드를 포함한 어떠한 도구도 사용 가능합니다. 1개의 유령이 포함되어 있는 smallClassic 게임에서 깊이가 2인 탐색 코드를 사용하여 구현된 평가 함수는 전체 소요 시간의 절반 이상을 Pacman이 적당한 스피드로 움직..

[Multi-Agent Search_4] Expectimax (1)

※ 이 글은 "UC Berkeley CS188 Intro to AI"의 "Project 2: Multi-Agent Search"을 해결하는 과정을 정리한 글입니다. Expectimax Minimax와 Alpha-Beta Pruning은 훌륭한 알고리즘이지만, 두 알고리즘은 모두 최적의 결정을 하고 있는 적과 게임을 하고 있다고 가정하고 있습니다. 하지만 모든 적들이 항상 최적의 결정을 하는 것은 아닙니다. 이번 과제에서는 Pacman이 최선이 아닌 차선의 방법을 선택할 수 있는 확률론적 행동을 할 수 있게 도와주는 ExpectimaxAgent를 구현해볼 것입니다. 지금까지 여러 과제를 통하여 구현해왔던 다른 탐색 알고리즘과 같이 이번 알고리즘의 장점 또한 일반적으로 다양한 곳에 적용 가능하다는 점입니다...

[Multi-Agent Search_3] Alpha-Beta Pruning (1)

※ 이 글은 "UC Berkeley CS188 Intro to AI"의 "Project 2: Multi-Agent Search"을 해결하는 과정을 정리한 글입니다. Alpha-Beta Pruning AlphaBetaAgent에서 minimax 트리를 조금 더 효율적으로 탐사하기 위해서 alpha-beta pruning를 구현하십시오. 이전과 마찬가지로 알고리즘은 아래의 수도 코드보다 조금 더 일반화가 되어야 할 것이며, 여러 minimize agent들에게 alpha-beta pruning을 적절하게 확장시켜야 할 것입니다. 코드를 잘 구현하였다면 깊이가 3인 alpha-beta pruning 알고리즘이 깊이가 2인 minimax보다 빠른것을 확인할 수 있을 것입니다. 이론적으로는 깊이가 3인 small..

[Multi-Agent Search_2] Minimax (1)

※ 이 글은 "UC Berkeley CS188 Intro to AI"의 "Project 2: Multi-Agent Search"을 해결하는 과정을 정리한 글입니다. Minimax 이제 multiAgents.py 파일 안에서 제공되는 MinimaxAgent 클래스에 적대적 탐색 방법을 작성할 차례입니다. Minimax가 적용된 Pacman은 유령의 수가 몇 개이더라도 적상적으로 작동되어야 하므로, 알고리즘들을 보다 일반화가 되게끔 구현해야 합니다. 특히, Minimax 트리에서 각각의 max layer마다 여러 개의 min layer를 갖게 되는데, 유령의 수가 드러나면 min layer 수도 늘어납니다. 구현이 완료된 코드는 게임에서 트리의 깊이를 임의로 확장시킬 수 있어야 합니다. scoreEvalua..

[Multi-Agent Search_1] Reflex Agent (1)

※ 이 글은 "UC Berkeley CS188 Intro to AI"의 "Project 2: Multi-Agent Search"을 해결하는 과정을 정리한 글입니다. Reflex Agent 게임을 훌륭하게 통과하기 위해서는 multiagents.py 파일 안에 있는 ReflexAgent를 향상시켜야 할 것입니다. 기본적으로 제공되는 ReflexAgent 코드 안에는 문제 해결에 도움 되는 몇 개의 함수를 제공하고 있으며, 이 함수들은 현재 게임 상태에 대한 정보를 사용하여 동작됩니다. ReflexAgent가 잘 작동되기 위해서는 음식의 위치와 유령의 위치를 모두 고려해야 합니다. 이것이 가능하다면, Pacman은 쉽고 확실하게 testClassic 게임을 완수할 수 있을 것입니다. - python pacm..

반응형