CS 463G - Logic and Artificial Intelligence

 

Credits: 3

 

Course Description

 

The course covers basic techniques of artificial intelligence. The topics covered in this course are: search and game-playing, logic systems and automated reasoning, knowledge representation, intelligent agents, planning, reasoning under uncertainty, and declarative programming languages. The course covers both theory and practice, including programming assignments that utilize concepts covered in lectures.

 

Prereqs: CS-315, CS-375, and engineering standing.

 

Needed Skills

 

The students must be able to program, be familiar with basic algorithms and data structures, especially graphs and trees, and be familiar with propositional and predicate logic.

 

Learning Outcomes

 

Students will learn basic concepts in logic and artificial intelligence.

In particular, the students will be able to:

1. implement and analyze search algorithms: depth-first search, breadth-firstsearch, best-first search, A*, min-max and alpha-beta pruning

2. use logic to represent knowledge and reason from it

3. formalize planning problems and apply algorithms to compute plans

4. formalize domain knowledge as Bayesian networks

5. design and reason about agents

 

Measures

 

These five specific outcomes will be evaluated on the basis of student work (homeworks, programming assignments, and presentations or papers or exams) that will contain problems specifically addressing these outcomes. They will also be evaluated on the basis of student self-assessment of their mastery of the five outcomes performed at the end of the semester.

 

CAC Categories

 

Topic

Core

Advanced

Math Fundamentals

6

4

Data Structures

2

0

Algorithms & Software Design

10

16

Computer Organization and Architecture

0

0

Concepts of Programming Languages

6

0

Social and ethical issues

3

0

Total

27

20

 

Math Fundamentals (10):

Core (6): propositional logic, predicate logic

Advanced (4): Bayesian networks, Markov decision processes

 

Data structures (2): Core (2): linked lists, trees, graphs

 

Algorithms & Software Design (x):

Core (8): search algorithms

Advanced (16): inference algorithms in logic systems, reasoning under uncertainty, planning algorithms, statistical learning

 

Concepts of Programming Languages (6): Advanced (6): Declarative programming and knowledge representation

 

Ethical and social issues (3): Core (3): Automation and human employment (1); machines and safety (1); AI, privacy, and military applications (1)

 

Oral Communication (presentations)

 

0-1, depending on size of class

 

Written Communication

 

8-10 homeworks and projects, 4 pages/assignment

 

Those taking CS 463G for graduate credit will have an additional project, presentation, or paper.

 

Coverage

 

Theoretical content: 50%

· Search algorithms

· Games

· Logic

· Situation calculus

· Inference

· Reasoning under uncertainty

 

Problem analysis: 25%

· Use complexity analysis consistently throughout the course

· Use game analysis to evaluate solutions to puzzles

 

Solution design: 25%

· Use search algorithms and heuristics to solve a familiar puzzle

· Apply learning methods to solve a puzzle

 

Student evaluation and feedback

 

Students are evaluated on their work (homeworks, programs, exams). Students receive back their homework, programs, and exams. These papers are marked to indicate problems and they point out correct or better solutions. Problems that turn out to be especially difficult are discussed in class during lectures or during recitations.

 

Grading

 

The detailed rules concerning grading are determined by each instructor individually . They are included in the course syllabus that is distributed to students and they are discussed in the first class meeting. Since the class may be taken by undergraduate and graduate students, the rules will establish different performance expectations for the two groups. In particular, different grading scales might be used, for instance:

 

For the graduate students with score S on the scale from 0 to 100:

S >= 93 A

93 > S >= 82 B

82 > S >= 71 C

71 > S E (fail)

 

For the undergraduate students with score S on the scale from 0 to 100:

S >= 90 A

90 > S >= 80 B

80 > S >= 70 C

70 > S >= 60 D

60 > S E.

 

Course Evaluation Questions

 

The course has helped me:

37. Understand search algorithms

38. Analyze games

39. Use logic to represent and reason about domain knowledge

40. Use Bayesian networks to represent and reason about domain knowledge

41. Model and solve planning problems

42. Understand the relevance of Artificial Intelligence to the real world

43. Program in a declarative programming language

 

Possible Textbook

 

Artificial Intelligence: A Modern Approach
Stuart Russell and Peter Norvig
Prentice Hall
Second Edition