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