# Breakthrough game

The goal is to implement an agent to play a simple 2-player zero-sum game called Breakthrough.

Rules of the game

• The 8x8 board is initially set up as shown below. Each player has 16 workers in their team.

• Players play in alternating turns and can only move one piece (of their own workers) at a time.

• In each turn, a worker can only move one square in the forward or diagonally- forward directions, as shown below. Moreover, a worker can 'capture' workers of the enemy team if they are placed diagonally forward from it, as shown in the illustration below. Note that if enemy workers are directly in front of the player, then a capture isn't possible.

• The game finishes when

(a) a worker reaches the enemy team's home base (the last row); or (b) when all workers of the enemy team are captured.

Minimax and alpha-beta agents

Your task is to implement agents to play the above game, one using minimax

search and one using alpha-beta search as well as two evaluation functions - one

which is more offensive (i.e., more focused on moving forward and capturing enemy

pieces), while the other which is more defensive (i.e., more focused on preventing

the enemy from moving into your territory or capturing your pieces). The evaluation

functions are used to return a value for a position when the depth limit of the search

is reached. Try to determine the maximum depth to which it is feasible for you to do

the search (for alpha-beta pruning, this depth should be larger than for minimax).

The worst-case number of leaf nodes for a tree with a depth of three in this game is roughly 110,592, but in practice is usually between 25,000 - 35,000. Thus, you should

at least be able to do minimax search to a depth of three.

We provide the following two dummy heuristics:

• Defensive Heuristic 1: The more pieces you have remaining, the higher your value is. The value will be computed according to the

formula 2*(number_of_own_pieces_remaining) + random().

• Offensive Heuristic 1: The more pieces your opponent has remaining, the

lower your value is. The value will be computed according to the formula 2*(30 - number_of_opponent_pieces_remaining) + random().

Beceriler: Yapay Zeka, Oyun Tasarımı, Makine Öğrenimi, Python

İşveren Hakkında:
( 0 değerlendirme ) Hattiesburg, United States

Proje NO: #18914351

## Seçilen:

dungforever

Hi I have read your requirement carefully. It's a great chance to introduce my skill. I am a talented software developer with over 11+ years experience. Algorithm, Game AI, GA is my major. I have full experience i Daha Fazla

%selectedBids___i_period_sub_7% gün içinde 120%project_currencyDetails_sign_sub_9% %project_currencyDetails_code_sub_10%
(22 Değerlendirme)
4.7

## Bu iş için 3 freelancer ortalamada \$214 teklif veriyor

traversal

I have experience in designing, implementing and optimizing machine learning algorithms. I can get the job done fast and neatly.

\$300 USD in 15 gün içinde
(0 Değerlendirme)
1.0
blackhand93

Have a lot of experience in bot making and game agents! developed many games bots using alpha-beta pruning techniques with Monte-Carlo search trees.

\$222 USD in 5 gün içinde
(0 Değerlendirme)
0.0