Catalog Description

Artificial Intelligence ~ Spring. ~ [c] ~ Prereq.: CS 253 or (for
graduates)
CS 501. ~ Presentation of artificial intelligence as a coherent body of
ideas and methods to acquaint the student with the classic programs in
the field and their underlying theory. Students will explore this
through
problem-solving paradigms, logic and theorem proving, language and
image
understanding, search and control methods, and learning.

Course Goals

Introducing students to the basic concepts and techniques of
Artificial
Intelligence.

Definitions of AI

Short

Russell Beale, University of Birmingham, UK: AI can be defined
as the
attempt
to get real machines to behave like the ones in the movies.

John
McCarthy, Stanford University: It is the science and engineering of
making intelligent machines, especially intelligent computer programs.
It is related to the similar task of using computers to understand
human
intelligence, but AI does not have to confine itself to methods that
are
biologically observable.

Ron Brachman, AAAI: There's a lot to try to
understand about
the kind of reasoning and learning that people do that's very different
than sort of classical, von Neumann, step-by-step computer algorithms.

Long (Aaron
Sloman, University of Birmingham, UK): Physics and chemistry study
matter, energy, forces, and the various ways they can be combined and
transformed.
Biology, geology, medicine, and many other sciences and engineering
disciplines
build on this by studying more and more complex systems built from
physical
components. All this research requires an understanding of naturally
occurring
and artificial machines which operate on forces, energy of various
kinds,
and transform or rearrange matter. But some of the machines, both
natural
and artificial, also manipulate knowledge. It is now clear that a new
kind
of science is required for the study of the principles by which

knowledge is acquired and used,

goals are generated and achieved,

information is communicated,

collaboration is achieved,

concepts are formed,

languages are developed.

We could call it the science of knowledge or the science of
intelligence.

General Web Resources

Grading and grading policy

The final grade will be based on:

Semester project (30%).

Midterm and final exam (20%).

Programming assignments (40%)

Paper (10%)

More information about semester project is available here.
Descriptions of the exams and the programming assignments are included
in the "Tentative schedule of classes and assignments". The paper is
described
here.

The letter grades will be calculated according to the following
table:

A

A-

B+

B

B-

C+

C

C-

D+

D

D-

F

95-100

90-94

87-89

84-86

80-83

77-79

74-76

70-73

67-69

64-66

60-63

0-59

Late assignments will be marked one letter grade down for each two
classes
they are late. It is expected that all students will conduct themselves
in an honest manner and NEVER claim work which is not their own.
Violating
this policy will result in a substantial grade penalty or a final grade
of F.

Tentative schedule of classes and assignments (will be updated
regularly)

To do the semester projects students have to form teams of 3 people
(2-people teams should consult the instructor first). Each team chooses
one project to work on. The projects to choose from are the following:

Web Document Classification Project

Intelligent Web Browser Project

Character Recognition and Learning with Neural Networks

Clue Deduction: an introduction to satisfiability reasoning

Solving the N-Puzzle Problem

The descriptions of all four projects are available from the WebCT
course
shell (Campus Pipeline/My Courses).

To complete the project students are required to:

Choose a project and submit the project title and the
names of
the
students on the project team. Do this no later than
February
15. Note that there is a restriction that no more than
two
teams can work on the same project. Projects will be assigned
on
a first come first serve basis.

Write an initial project description based on the general
description
provided
in the WebCT course. This must include the following (may be discussed
with the instructor before submission):

A brief introduction to the area of the project

Specific goals (must include all deliverables for projects 1-3
and for
project 4 - a few of the logic exercises of Section 7 and the
ClueReasoner
described in Section 8)

Approaches and algorithms to be used

Resources to be used (data, programming tools or applications).

A plan how to achieve the goals and evaluate the project
results.

Work distribution among the students on the team and a
timetable.

Submit reports on:

the initial project description (item 2) by February 29.

the progress they made by midterm (due during the midterm week)

the results they achieved upon project completion (due during
the final
week). See the requirements for this report below.

Make a presentation of the final report (during the final week).

Requirements
for the final project report:
The final report must include the following:

General introduction to the area

Description of the problems addressed (experimented with or
solved)

Descriptions of the approaches and algorithms used to solve the
problems

Descriptions of the software applications used or the programs
implemented

Description of the experiments done for each problem attempted or
solved

Comment on the relation of the approaches used in the project to
the
areas
of machine learning (ML), search and knowledge representation and
reasoning
(KR&R). In particular, the following questions should be answered:

Which ML techniques have been used in the project?

If no ML has been used explicitly, what is the relation of the
approaches
used in the project to ML? (any ML components used or project
approaches
applicable in the area of ML).

Which search techniques have been used in the project?

If no search has been used explicitly, what is the relation of
the
approaches
used in the project to the area of search? (any search components used
or project approaches applicable in the area of search).

Which KR&R techniques have been used in the project?

If no KR&R has been used explicitly, what is the relation
of the
approaches
used in the project to the area of KR&R? (any KR&R components
used
or project approaches applicable in the area of KR&R).

Grading:
The project grading will be based on the project results
and on the completeness
(see
the requirements), comprehensibility
and quality of presentation
of the project reports. All students on one project team will get the
same
grade.

Paper/Presentation

Write a paper (no more
than 5
pages) describing an
AI
area, topic or application not covered in class. Submit the paper by
e-mail
through the WebCT course template by
May 19.

Format of the term paper

Write the paper following the general format of a scientific paper:
title, author (individual authors only, no teamwork), abstract,
introduction (short description of the subject, goals, structure of the
paper), main text (structured into sections and covering the AI
area
or topic), conclusion and references. Include all materials you use
(including
WEB resources) in the reference section and cite them properly in the
text.
You may include illustrative material (graphs, charts, diagrams,
pictures).
Type and print the paper using a word processing system (such as
Microsoft
Word). An example of a scientific paper can be found here.

Policy on copying

The paper must be original, i.e. entirely written by yourself.
Since the paper is a survey of an existing area or topic obviously you
have to use other materials (books, reference materials, web sources
etc.).
Every time you use such materials you have to include a citation and
put
the title and authors of this material in the reference section. Then
you
can rephrase or even copy a part of the material (provided that you put
it in quotes). If you describe general ideas and approaches you have
also
to cite their authors. Papers that include copied paragraphs and
phrases
without acknowledgment to their authors will get a grade of F. For
more information see the CCSU
Policy on Academic Misconduct.

Term paper grading

The term paper grade will be based on the paper format (according
to the above mentioned structure), comprehensibility and
completeness
of
the material (including all major issues within the chosen area or
topic).

Extra credit

An extra credit of maximum 5
points
will be given for the preparation of presentation
slides (e.g. in PowerPoint format) and presenting
the paper in class. The presentation will last 10-15 minutes and
should be arranged with the instructor ahead of time. The presentations
should be done before the final
week.

Problem Solving by Search

1. Problem solving agents

The agent's "world" includes the agent itself and the environment it
interacts
with. To reach its goal the agent should perform a sequence of actions
so that the world reaches the goal state. For this purpose a formal
representation
of the agent's world is needed:

A set of pairs <state, action> exhaustively describing all
possible
states and the right action leading to the goal.

Knowledge to model the states of the world and how the agent
actions
would
change them (state transitions).

Simulation of how various agent actions change the world, so that
the
right
sequence can be found. This is achieved by searching the state space.

2. Problem representation

States (legal, initial)

Operators (state transitions)

Goal state (or test for the goal state)

3. Problem

Given: Initial and Goal states

Find: a sequence of operators (state transitions) which transform
and
the
initial state into the goal state.

6. Uninformed Search

Depth-first search - adding the new node in the beginning of the
queue

Depth-bound search

Iterative deepening

Breadth-first search - adding the new node at the end of the queue

Uniform cost search (sorting the queue by the cost of the path)

Heuristic (Informed) Search

1. Why heuristic search

Many problems have exponential complexity

We know the path cost form the initial state to the current one.
Knowing
the path cost to the goal would help making the right decision when
selecting
the successor node.

Heuristic function h(n) = an evaluation (approximation)
of the
path
cost from node n to the goal.

2. Algorithms for heuristic search

Best-first search: sorting the queue according to h(n).
Efficient,
complete,
but not optimal.

Beam search: using a parameter n. Limiting the size of
the
queue
by choosing the n best nodes. Memory efficient, but incomplete
and
not optimal. If n=1: Hill-climbing search.

A* search: minimizing the total path cost. The queue is sorted by
f(n)=g(n)+h(n),
where (n) is the path cost from the initial state to n. A combination
between
uniform cost (based on g(n)) and best first search (based on h(n)).

3. Properties of A*

Completeness if the branches are finite and the cost of each
transition
is positive.

Optimality when an admissible heuristic is used. h(n)
is
admissible if h(n) =< path cost from n to the goal.

Assignment #1: Problem Solving by
Searching
(max grade 10 pts.)

Represent the problem of sorting a four-element list as a state
space
search
problem:

Use state transitions that swap two neighboring elements

Use state transitions that swap two neighboring elements, only
if they
are not in the correct order (like in bubble sort).

Show how the problem is solved in both cases by simple 3-4 step
hand
solved
examples.

Write two Prolog programs that represents both types of state
spaces.

Implement an admissible heuristic function based on the number of
pairs
of neighboring elements that are not in the right order. Add the
function
to the representation (define a rule for h(Node, Value) and include it
in the files with the state transitions). Explain what makes the
function
admissible and how it can be made inadmissible.

Sort the list (4,3,2,1) (goal state: (1,2,3,4)) by using
all
uninformed
(search1.pl)
and heuristic (search2.pl)
search algorithms: depth_first, breadth_first, iterative_deepening,
uni_cost,
best_first, a_star and beam (with n=10 and n=1) and collect statistics
about their performance. Do this for both types of state spaces.

Compare the performance of all those algorithms by the following
criteria:
time complexity (number of explored nodes), space complexity (max
length
of the queue) and optimality (put the results in a table and explain
the
reasons for getting each best and worst result for each performance
criterion).
Again do this for both types of state spaces (use two separate tables).

Compare now the two types of state representations. Which space
is
bigger?
Why? How does this affect the search algorithms' perfomance.

Extra credit (max 2 pts.): Represent the 4-element
sorting
problem as a constraint satisfaction task and solve it by using csp.pl.
Explain the representation and compare it with the state space search
representation.

Documentation and submission: Write a report
describing
the solutions to all problems and answers to all questions and
mail
it as an attachment to my instructors account for the WebCT
(available
through Campus Pipeline/My Courses/Artificial Intelligence).

Represent the upper left corner of the wumpus world (rooms:
(3,1),
(3,2),
(4,1), (4,2)). For each room encode the knowledge about perceiving
stench
and breeze in the rooms neighboring to the beast and pit. Restriction:
put
the perceptions in the "if" part of the implications (left of "->").

Create two versions of the representation - one in PL and one in
FOL.
Then for each language prove the presence of the beast in room (3,1)
given
the agent perception in rooms (3,2), (4,1) and (4,2). Do this by:

Refutation (using the deduction theorem) in two ways:

through satisfiability test using sat.pl
(use this for the PL version onlly).

Resolution using resolve.pl (inferring the goal clause directly
as a
resolvent)

Explain the outputs of the Prolog queries in terms of PL or FOL
semantics.

Define the complete wumpus world (4x4 board) in FOL and translate
it
into
clausal form (use wumpus_fol from logic.pl):

Is the result a set of Horn clauses? If so, try to represent it
as a
Prolog
program.

Is it possible to represent all classes in Prolog?

What happens with the negative unit clauses?

Explain the problems and represent as much of the wumpus world
as
possible
in Prolog.

What can be inferred by using this program? Show the queries
and
explain
the results.

Extra credit (max 5 pts.): Program an agent for the
wumpus
world that starts at room (1,1) facing east and visits all logically
provable
safe rooms.
Restriction: action rules cannot have more than two
actions. Explain the agent's reasoning and actions and test it with
wumpus.pl.

Documentation and submission: Write a report
describing
the solutions to all problems and answers to all questions and
mail
it as an attachment to my instructors account for the WebCT
(available
through Campus Pipeline/My Courses/Artificial Intelligence).

Create a Bayesian network for the weather data using the approach
taken in loandata.pl.
Then use this network with bn.pl
to:

Decide on playing tennis on a day described as [outlook=sunny,
temp=mild, humidity=normal, wind=weak].

Find an attribute (if possible) that may be used to decide
whether or not to
play tennis (the class prediction based on this attribute value is the
same no matter what the values of the other attributes are).

Add taxonomies for the attributes so that they can be used as
structural (see how this is done in loandata.pl).
Then use version space learning (vs.pl)
to create the largest possible concepts for each class ("yes" and "no")
by putting an example from it in the beginning of the set of examples.
In other words, find a good order
of the examples (one starting with an example from class "yes" and one
- from class "no"), so that the program converges after reading as many
as possible examples.
Use the following approach (see also Version
space learning):

If VS stops before reaching the end of the examples, because of
inconsistency (empty G and S), reorder the examples so that the concept
is learned before reaching the inconsistency.

If VS stops before reaching the end of the examples, because of
convergence (it finds a consistent hypothesis), add more examples so
that you reach a concept that covers as many examples as possible.

Compute the total error using cluster to classes evaluation on
the weather data (tennis.pl).
For how to compute the error see
Clustering - part II.

Add the example [outlook=sunny,
temp=mild, humidity=normal, wind=weak] to the data and classify it by
the majority class in the cluster it falls.

Describe the approaches you use and explain the output from the
Prolog queries.

Documentation and submission: Write a report
describing
the solutions to all problems and
mail
it as an attachment to my instructors account for the WebCT
(available
through Campus Pipeline/My Courses/Artificial Intelligence).

Midterm Test (max grade 10 pts.)

The Midterm test will be available in the WebCT course template from
April
1 through April 4. There will be 10 multiple choice or short answer
questions
that will have to be answered within 2 hours.

The test includes the following topics:

Uninformed and informed search algorithms

Searching game trees

Constraint satisfaction

Propositional and First-order logic (languages, clausal form)

Inference in PL and FOL (clause subsumption and resolution).

Final Test (max grade 10 pts.)

The Final test will be available in the WebCT course template from
May 13 through May 19. There will be 10 multiple choice or short
answer
questions
that will have to be answered within 2 hours.