Texas A&M University primary mark

Department of Computer Science and Engineering

Sample Image

Artificial Intelligence

Instructor: Dr. Dylan Shell.

Office:PETR 315
Phone:(979) 845-2369
Email:dshell_at_tamu.edu
Web:http://robotics.cs.tamu.edu/dshell/cs625
Office hours:Thursdays 2pm-4pm and by appointment too.

TA Information

Name:Peiman Mohseni
Email:peiman.mohseni@tamu.edu
Office hours:Mondays and Wednesdays 11:30am to 12:30pm, and by appointment.
Location:Main lobby of EABC

Spring 2022

Lecture Time:Tuesdays/Thursdays, 12:45pm-2:00pm.
Lecture Location:ZACH 244

Fundamental concepts and techniques of intelligent systems; representation and interpretation of knowledge on a computer; search strategies and control; active research areas and applications such as notational systems, natural language understanding, vision systems, planning algorithms, intelligent agents and expert systems.

The course is a broad survey that will require a significant amount of reading with simple introductory programming in different languages. It will provide an understanding of the state of the practice of AI and set the foundation for further study in agency, logic, neural networks, robotics, uncertainty, and computer vision.

Prerequisites

You are expected to be familiar with graphs, trees, and similar forms of data structure. Additionally, you should be comfortable with standard ways for characterizing program complexity. This is likely material covered in a good undergraduate class on Design and Analysis of Algorithms (which will likely have a course on Data Structures and Algorithms).

You are expected to have some familiarity with propositional and boolean logic (including connectives, truth tables, etc.) Additionally, a standard course on discrete mathematics covers some material (e.g., universal quantifiers, existential quantifiers, proof techniques, Venn diagrams, etc.) that we will use. The associated level of mathematical maturity is also expected.

Some parts of the course involve writing code in Prolog, but no prior experience with this language is needed. However, you are expected to be comfortable in multiple other languages and willing to pick up new ones with minor fuss. It is helpful to have some prior experience with a functional programming language. (If you don't know what a functional programming language is, if you've not heard of lazy evaluation, you're probably deficient.)

Operation of the class

  • This is a graduate class: nobody will be mollycoddled. Each student is expected to be autonomous and independent and behave as a responsible adult. In particular this means that:
    1. The classes begin with the understanding that everyone in the room has read assigned texts already. Thus, you are expected to read the assigned material before class.
    2. You should have some understanding of which aspects are least clear, and need further explanation for yourself. You are expected to have questions to ask the instructor and be willing to ask those questions.
    3. You may be called upon to respond by the instructor. If this is too much pressure, or makes you too uncomfortable, or is too intimidating, then this is probably not the class for you.
  • The class involves a set of challenging programming assignments and exercises. You are expected to write code for those that you do. Several of them are open-ended, because this is an important characteristic of A.I. problems.
    1. Attempting these assignments is a critical aspect of the course for your understanding of the material.
    2. Students are expected to be able to discuss their current code and design approach before the class.
    3. You are expected to follow, compare, and ask informative questions from the code shown by your peers.

Learning Outcomes / Course Objectives

  • Understand and enumerate the basic techniques for creating intelligent programs. This will be addressed by course work.
  • Create a successful program illustrating the operation of one of these methods. This is the purpose of the course's programming assignments.
  • Apply the right programming language or technique to the right problem and be able to evaluate a proposed AI application for likelihood of success. This too is addressed via programming assignments.
  • Be able to discern sensationalism from science on the possible impact of AI on society. This will be part of the class discussions and readings.

Textbooks (required)

  • Artificial Intelligence: A Modern Approach 3rd Edition by Stuart Russell and Peter Norvig, 2009, or
  • Artificial Intelligence: A Modern Approach 4th Edition by Stuart Russell and Peter Norvig, 2020.

Useful book (not required)

  • Infinitesimal Calculus by James M. Henle and Eugene M. Kleinberg, 1979. (There is a 2003 Dover Edition.)

Papers and other readings

  • [CMI] "Computing Machinery and Intelligence," by Alan M. Turing. Mind 49:433-460, 1950.
  • [SoA] The Sciences of the Artificial, 3rd Edition by Herbert A. Simon, 1996.

Other resources

Here are some other materials that are useful.

  • The Dartmouth Conference Proposal
  • The R&N map of Romania 2

Grading Policies

Grades will be based on:
50% − X: Midterm Exam 1 and 2
X∈[30%...50%]: Programming portfolio
50%: Communication project
The grading scale is:
A 90-100
B 80-89
C 70-79
D 60-69
F 59 or below

Course Topics, Calendar of Activities, Major Assignment Dates

Syllabus topics and readings are subject to change, exact dates depend on class progress.

TopicReading
Introduction, Agents R&N Ch. 1 & Ch. 2.
Terry Bisson's "They're made out of meat"
Puzzling Black Board
IEEE Spectrum on Claude Shannon [Mirror]
Martin Davis on AI and Okham's Razor
Octopuses and the Mind-Body Problem

The Sciences of the Artificial by Herbert A. Simon, 3rd Edition, 1996.
Videos: Wasps and Geese
Our perception of magenta
    Also: Benham's Disk, and Application of the Benham disk
    And, also: Pointillist and Neo-impressionist art
Dynamic stabilization of rapid hexapedal locomotion by Devin L. Jindrich, Robert J. Full. Journal of Experimental Biology 2002, 205: 2803-2823.
    Also see: [1], [2], [3].
Is it an Agent, or just a Program?: A Taxonomy for Autonomous Agents by Stan Franklin and Art Graesser. (1996).
Search
R&N Ch. 3
Newell and Simon, On search for intelligence from [4].
    See: [5], [6], [7].
On representation of problems of reasoning about action by Saul Amarel. Machine Intelligence 3, pages 131-171. 1971.

Maps and Representations
How do we tell truths that might hurt? by Edsger W.Dijkstra, 18 June 1975.
Dechter and Pearl, On heuristics
George Pólya. On problem solving

An Ode
 •  D* Lite by Sven Koenig and Maxim Likhachev. Proceedings of the AAAI Conference of Artificial Intelligence (AAAI), 476-483, 2002.
 •  "E-Graphs: Bootstrapping Planning with Experience Graphs," by Mike Phillips, Benjamin Cohen, Sachin Chitta and Maxim Likhachev. Proceedings of the Robotics: Science and Systems Conference, 2012.
 •  Summary note based "A problem similarity approach to devising heuristics: first results" by John Gaschnig, Proceedings of IJCAI, 1979.
 •  Statement of Valtorta's Theorem
Local Search, Optimization, Seach for games
R&N Ch. 4 & 5
 •  Mathematics and Computer Science: Coping with Finiteness by Donald Knuth
 •  An assembly puzzle (old assignment)

 •  Recent estimate of number of n-Queens solutions
 •  The Knight's Tour — Evolutionary vs. Depth-First Search by V. Scott Goron and Terrill J. Slocum
 •  Evolving Virtual Creatures from Lipson and Pollack, 2000.
 •  An evolved circuit by Adrian Thompson, 1996.
 •  AutoAssembler (recent application of Beam Search).
 •  No Free Lunch Theorems for Optimization by David H. Wolpert and William G. Macready, 1997.

 •  An AI koan
 •  The dots and boxes game
 •  End game database

 •  Alpha-beta pruning exercise
 •  Types of randomized algorithms
 •  MENACE by Donald Michie. And a modern recreation.

Constraint satisfaction
R&N Ch. 6
 •  Map of Australia
 •  A Riddle
 •  CSP exercise (ordering 1)
 •  CSP exercise (ordering 2)
 •  "Where the really hard problems are" by Peter Cheeseman, Bob Kanefsky, and William M. Taylor, 1991.
Knowledge representation
R&N Ch. 7
 •  Jack, George, and Anne
 •  Abelson, Sussman, and Sussman on Languages

 •  "Formal Proof—Theory and Practice" by John Harrison
 •  "Formal Proof" by Thomas C. Hales
Logic: Foundations
R&N Ch. 8
 •  Calculus — Henle and Kleinberg
 •  Propositional Logic, Syntax

 •  Wumpus Cartoon and Amusing Communication Project (Inspired by this.)
 •  BBC — In Our Time on Logic and BBC Thought Cages, #3 is on Logical Thinking
 •  The Arch of Aristoteliean Logic
 •  Models and Logic
 •  Hardy on Meaning
 •  Logical models of the world
 •  Isle of Knights and Knaves

 •  First-Order Logic, Syntax
 •  Example for us to try
 •  First-Order Logic, Interpretations

 •  "Welsh Lords" from Henle and Kleinberg
 •  Prolog code: weather.pl wales.pl graph.pl
 •  Recording with Password: LT$P9?$4
Logic: Automated Inference and Resolution
R&N Ch. 9
 •  "The Jordan Curve Theorem, Formally and Informally" by Thomas C. Hales
 •  Example Proof by Resolution
Planning
R&N Ch. 10
Philosophical Foundations
R&N Ch. 26
 •  Quotation on Bandit Problems
 •  Bob L. Sturm at HORSE'16
 •  "Subcognition and the Limits of the Turing Test" Robert M. French, 1990.
 •  Turing Test Slides

Due DateTests and Assignments
1 Mar.Midterm Exam 1 [Sample Qs | As]
10 Apr. Communication Project Draft
17 Apr.Communication Project Feedback
19 Apr.Midterm Exam 2
Access the reviews by your peers here!
5 May Communication Project Final Submission

 Week (±) Req'dProgramming AssignmentsWeight
3 Feb Yes Lazy BFS (Scheme) 15%
22nd Feb No Pacman Search (Python) 7%
9th Mar No Equation Simplifier (Own choice, with some python starter-code) 18%
25th Mar No Pacman Adversarial Search (Python) 10%
6th Apr Yes Packing Puzzle (Own choice) 15%
1st May Yes Wumpus world! (Prolog) (Ioerger's short course) 30%
3rd May No Planning (PDDL) 5%

Academic Integrity Statement, Policy on Missed Work, Absences

On these and other topics, please refer to the class syllabus for additional information.

• Texas A&M University •