Introduction to Artificial Intelligence (CSEg3206)
Take-home quizzes total points: 20%
Submission Date: June 24, 2024, before 11:59 PM (before midnight) for part I
and Within three days after the end of final exams.
Remarks: This take-home quiz, lab assessments, and project evaluation will
account for 25% based on the continuous assessment stipulated in the course
outline.
Part I: Describing the following concepts, give use case examples (10pts)
(individual assignment)
1. Adversarial Search Strategies (Minmax Algorithm, Alpha Beta Pruning Algorithm)
2. Constraint Satisfaction Problem Search
3. The inference system allows us to add a new sentence to the knowledge base. A
sentence is a proposition about the world. The inference system applies logical rules
to the KB to deduce new information. An inference system works mainly in two
rules: Forward chaining (from facts to goals, data-driven) and Backward
chaining (from goals to facts, goal-driven)
Briefly describe each rule with examples.
4. Suppose we use the dataset below to learn a decision tree that predicts which of the four
things you can do at the weekend: go shopping, watch a movie, play tennis or just stay in,
based on three things: the weather (windy, rainy, sunny); how much money you have (rich
or poor), and whether your parents are visiting. [8pts.]
Weekend Weather Parents Money Decision
W1 Sunny Yes Rich Cinema
W2 Sunny No Rich Tennis
W3 Windy Yes Rich Cinema
W4 Rainy Yes Poor Cinema
W5 Rainy No Rich Stay in
W6 Rainy Yes Poor Cinema
W7 Windy No Poor Cinema
W8 Windy No Rich Shopping
W9 Windy Yes Rich Cinema
W10 Sunny No Rich Tennis
For this problem, use log2 to write your answers.
a. What is the Gain(S, Parents)?
b. What is the entropy H(Parents)
c. What is the entropy H(Cinema | Money)?
d. Draw the full decision tree that would be learned for this dataset. You do not need to show
any calculations.
Part II: Prolog Projects (15pts) (Group assignment)
Submission Date: Within three days after the end of final exams.
Form a group of five students and develop a prolog program that solves the following problems.
Given a graph or tree, your prolog programming will help the intelligent agent solve a problem
using the following search strategies. You can test your program with a map of the cities of
Ethiopia in the lecture (chapter 3-uniformed and informed strategies).
1. A* algorithm in Prolog
2. Bread first search algorithm
3. Greedy best-first search algorithms
4. A prolog program to color a map of Ethiopian regions with a specified number of colors, no
two adjacent map areas colored with the same colors.
5. A prolog program to implement the Hill Climbing algorithm
6. A prolog program to implement a Genetic algorithm
Remarks: For informed search algorithms, please specify your heuristics. For each project,
you should provide a description of the problem and steps to run and test your prolog
program.