## Description

1

CSI4106: Introduction to Artificial Intelligence

Bonus Assignments

Due on: As soon as possible to be shared with the class – Max: Before the last week

of the teaching session

Learning objective:

Implement any artificial intelligence method and algorithm seen in class on a particular

problem

Practical objective:

1. If you successfully implement a bonus assignment (by yourself, not by using other’s

code), this can help you around the margin if you miss few points in your weighted

average exam mark.

2. Become an AI expert

3. Help your colleagues become AI experts

4. Fun?!

Subjects (This list will be updated from time to time – Once a solution is posted, the

subject becomes unavailable)

Subject S1: Implement IDA * and run it on the 8-Puzzle problem and 15-puzzle

problem. Compare with A* on the same problems. Use the code skeleton provided in

assignment 1. NOT AVAILABLE ANYMORE

Subject S2: Implement the game of Tic-Tac-Toe using a) Minimax and b) Alpha-beta.

NOT AVAILABLE ANYMORE

Subject S3: Implement Hill-climbing on the n-queens problem (n=4, n=8). Use the min

conflict heuristic. Make sure that you implement the version described in class (one

queen on each column, ability to move to another row on the same column) NOT

AVAILABLE ANYMORE

Subject S4: Implement Randomized versions of Hill-climbing on the n-queens problem

(n=4, n=8). Use the min conflict heuristic. Make sure that you implement the version

described in class (one queen on each column, ability to move to another row on the same

column).

Subject S5: Implement Beam Search on the n-queens problem (n=4, n=8). Use the min

conflict heuristic. Make sure that you implement the version described in class (one

queen on each column, ability to move to another row on the same column)

2

Subject S6: Implement Simulated Annealing on the n-queens problem (n=4, n=8). Use

the min conflict heuristic. Make sure that you implement the version described in class

(one queen on each column, ability to move on the same column)

Subject S7: The missionaries and cannibals problem using blind search and informed

search (A*). You have to use the initial code provided in assignment 1. In short, you have

to create a subclass of State and use the Node class as well. Your exploration algorithms

must be independent of the problem. NOT AVAILABLE ANYMORE

Subject S8: You are given two jugs, a 4-gallon one and a 3-gallon one, a pump which

has unlimited water which you can use to fill the jugs, and the ground on which water

may be poured. Neither jug has any measuring markings on it. The objective is to get

exactly 2 gallons of water in the 4-gallon jug. Use blind search and informed search.

NOT AVAILABLE ANYMORE

Subject S9: Same as assignment 2 but using first-order logic this time.

Subject S10: Implement genetic algorithms on the n-queens problem (n=4, n=8). Use

the min conflict heuristic. Make sure that you implement the version described in class

(one queen on each column, ability to move to another row on the same column)

Rules

1. Programming language: Python (except if special permission is given by the

professor)

2. You must program the problem yourself. Any use of other resources / codes must

be properly referenced.

3. Min/Max group size: 2 (except if special permission is given by the professor)

4. Proper implementation – comments – correct solution

5. Short report indicating what you tried to achieve and any ReadMe necessary to

run and understand your code.