CSCE421/821, Spring 2008: Course Syllabus
General Information
Prereq: CSCE310, Data structures and algorithms.
Course description:
Constraint satisfaction has emerged as a powerful approach to
articulate and solve many problems in computer science, engineering,
and management. It is now the basis for new programming
languages and innovative commercial systems for production scheduling,
product configuration, personnel planning and timetabling, etc.
The course will review the foundations of constraint satisfaction and
the basic mechanisms for constraint propagation. It will cover
aspects of modeling and representation, and will examine islands of
tractability and methods for theoretical and empirical evaluation of
problem `difficulty.' If time permits, we will examine new
methods for decomposition and symmetry identification, designed to
overcome the complexity barrier and to support interactions with
users.
Lectures: Monday and Wednesday from 3:30 p.m. to 4:45 p.m.
Location: Avery Hall, Room 111.
Make-up Class/Recitation: Monday from 5:00 p.m. to 5:50 p.m.
Location: Avery Hall, Room 28D and Room 112.
Instructor: Prof. Berthe Y. Choueiry
Office location: Room 123B, Avery Hall,
choueiry AT cse.unl.edu, tel: (402)472-5444.
Office hours: Monday/Wednesday 12:30-1:30
p.m. or by appointment.
TA: Mr. Jamie Schirf
email: jschirf AT cse.unl.edu
Office location: Room 123A, Avery Hall
Office hours: @ Student Resource
Center on Tuesday, Thursday 5:00-6:00 p.m. and
Friday 10:30-11:30 p.m.
Textbook:
"Constraint Processing" by Rina Dechter,
1st edition. The textbook will not be followed
sequestially, but should be used for reference.
For quick response, email cse421@cse.unl.edu. Your
message will be forwarded to both TA and instructor.
Important note: The GTA allocated to this class does not have
extensive experience in the subject matter and will mainly help with
administrative matters. All questions will have to be made to the
instructor during office hours, make-up class, by email, or by
appointment. We will follow a `peer-correction system' by which
students grade each other's (glossaries and) homework with help from
the TA and under close monitoring by the instructor.
Topics include but are not restricted to:
- Properties, computational complexity, and practical importance.
- Global and local consistency: algorithms, properties and
computational complexity.
- Islands of tractability for minimality and global consistency.
- Intelligent backtracking.
- Look-ahead techniques.
- Ordering heuristics.
- Theoretical and empirical comparison of hybrid search
algorithms.
- Phase transition.
- Modeling and reduction methods between representations.
- If time permits: Decomposition. Symmetries and their
approximations. Temporal constraint networks. Stochastic search.
Reformulation and abstraction. Dynamic/conditional Constraint
Satisfaction (CSP). Constrained Optimization Problem (COP).
- Other, depending on class interests.
Support:
- Rina Dechter, Constraint Processing, 2003, Morgan
Kauffmann. Available from bookstore.
- Edward Tsang, Foundations of Constraint
Satisfaction. Available from instructor and on reserve at the Math
Library in Avery.
- Technical papers given by instructor or available from the Electronic
Reserve at the Love Library.
Protocol of the Course
The course syllabus is our 'contract' and we will abide by it.
The course consists of lectures by the instructor, three times per week.
Workload
Required and recommended reading:
As indicated in the Class
schedule. The content of the course will be dynamically
adapted to students interests and performance.
Programming, theoretical, and library-search assignments:
Programming assignments homework must be turned in using the UNIX
handin program on cse.unl.edu and turned in before class on the due
date. (Note that we will not use web handin.) Pen-and-paper
assignments must be given to the instructor right before the lecture
on the due date. Late homeworks are subject to a 20% deduction per day
(including week-ends), any second after the due date counts as an
entire day. Programming assignments can be done in any
programming language. When code and data structures are provided for
guidance, they will be mostly in Common Lisp (advice: use Allegro
Common Lisp on Linux or a sun workstation). Students are kindly
requested to indicate how much time they approximately spend on each
exercise; this information will be aggregated and used for planning
purposes: it does not affect grading and the evaluation of
individuals.
Surprise quizzes:
There will be surprise quizzes throughout the semester (with a
frequency inversely proportional to students' attendance). Quizzes
will address all material covered during the lectures and/or by the
required reading. No books or personal notes are allowed during the
quizzes, unless explicitly specified. Quizzes cannot be made
up.
Tests:
There will be a pre-test only. The pre-test cannot
be made up except by instructor's permission.
Search Competition:
Students will receive code and data that
model a real-world application, all in LISP. Students will choose some
search mechanism and implement it in the language of their
choice. Results will be compared, winner will receive a gift
certificate for a book.
Project research, report, and presentation:
The project can
be either a literature study/survey or the implementation of
algorithms.; A presentation to the class is mandatory. The grade will
take into account the quality of the research, report, and
presentation.
Attendance
Because the course heavily relies on class
discussion, attendance is mandatory. A student cannot miss more than
four sessions including make-up class/recitation. Advanced
notice to the instructor for each absence is required.
Attendance is taken. Students are responsible for the material covered
and announcements made during the class. Also, there will be surprise
quizzes.
Bonuses will be awarded to students who attend all lectures,in
teract lively, and participate in discussion in class.
Alerts
It is the students responsibility to ensure an account on the
department's computers.
Discussions among students, instructor, and TA are encouraged.
Homework however are a strictly individual activity: no
sharing is permitted (unless when specified by instructor).
Unethical behavior will be heavily
sanctioned (e.g., a null grade on the task).
Always acknowledge any help received from other
individuals.
Always fully reference material used (e.g.,
encyclopedia, book, paper, journal, web site).
Grading Policy
Grade Distribution
-
Pre-test: 3%
-
(Surprise) quizzes: 37%
- Assignments: 25%
- Individual project
- Search competition: Solving a real-world optimization problem (in Lisp): 35% (Code and report: 25%, Presentation: 10%)
- Project: 35%. (Research and report: 25%. Presentation: 10%.)
Grade Conversion
97% |
A+ |
[94, 97[ |
A |
[90, 94[ |
A- |
[87, 90[ |
B+ |
[84, 87[ |
B |
[80, 84[ |
B- |
[75, 80[ |
C+ |
[67, 75[ |
C |
[60, 67[ |
C- |
[57, 60[ |
D+ |
[54, 57[ |
D |
[51, 53[ |
D- |
<=51 |
F |
Reminder from the College of Arts & Sciences: a C (2.0)
is the minimum passing grade in a PASS/NO PASS course (NOT a C-) as
well as the lowest grade one can receive and still count the class
toward a major.
How to Secure a Good Final Grade
Make a Presentation
Give a presentation of a research paper in class: 10% per
presentation. Maximum 2 presentations per
student. One presentation must be made by April 11, 2008, and
one by April 25, 2008.
Critical Summary
Write a critical summary of research papers/topics discussed in
class: 5% per summary. Maximum 4 summaries per
student. Two summaries must be submitted by April 11, 2008 and two
by April 25, 2008.
Write up
Write a chapter of a textbook: 20% per
chapter. Maximum 2 chapters per student. One
write-up must be submitted by April 11, 2008 and one by April 25,
2008.
Attendance
A bonus will be awarded to students who attend all lectures,
interact lively, and participate in class discussions.
Glossaries
Students who return, every Monday before class, a glossary of terms
listed in handouts will be credited for up to 8% bonus, computed
proportionally to the list of terms they return. Rules for
glossary:
-
Students will be have to build an incremental and alphabetically sorted
glossary of important terms.
-
Terms to be included are the ones listed in the handouts distributed in
class or sent my email.
-
A glossary entry can be filled with: (1) its definition in Dechter's
textbook, (2) its definition from another AI textbook, dictionary, or web resource, or (3) the student's own interpretation.
-
All terms encountered during a week are due as a weekly glossary the
following Monday, or as indicated in the schedule of the class.
-
At the end of the course, the full alphabetically sorted glossary is
due. The deadline for submitting final glossary is April 29, 2008
(Hint: choose a text editor that can sort entries
alphabetically.)
Additional Work
Closely monitor your grade. If you feel that your grade is slipping,
contact the instructor immediately. We may be able to assign to you
an additional task to put you back on the right track.
Books on Reserve at the Math Library in Avery
Constraint Processing
Foundations of Constraint Satisfaction by Edward Tsang.
AI
Artificial Intelligence, A Modern Approach (AIMA), by Russell Norvig. Second Edition.
Artificial Intelligence, 3rd Edition. Winston. ISBN 0201533774.
Essentials of Artificial Intelligence. Ginsberg. ISBN 1-558s60-22-6.
Call number Q335.G55 1993.
Artificial Intelligence: A New Synthesis. Nilsson. ISBN 1-55860-535-5.
Call number Q335.N496 1998.
Paradigms of Artificial Intelligence Programming. Norvig. ISBN 1-55860-191-0.
Call number QA76.6.N687.
Artificial Intelligence. Structures and Strategies for Complex Problem Solving.
Luger and Stubblefield
Lisp
Common
Lisp, The Language, Second Edition. Guy L. Steele, Jr. Digital Press,
ISBN: 1555580416
LISP, 3rd Edition. Winston & Horn. ISBN 0-201-08319-1.
ANSI Common Lisp; Graham. ISBN 0-13-370875-6.
Paradigms of Artificial Intelligence Programming. Norvig. ISBN 1-55860-191-0.
Call number QA76.6.N687.
Object Oriented Common Lisp. Slade. ISBN 0-13-605940-6
Call number QA76.64 .S576
Logic
A mathematical introduction to logic by Enderton, Herbert B,
CALL NO. QA9 .E54 1972.
(AI) References
The MIT Encyclopedia of the Cognitive Sciences, call number BF311 .M556
1999, LIB USE ONLY.
Encyclopedia of artificial intelligence, 1992, SECOND EDITION,call number
Q335 .E53, LIB USE ONLY.
Section on "General AI Information" in "AI
Resources."
Dictionary of Algorithms, Data Structures,
and Problems
Online resources (wikipedia) and web search
engines (Google, Altavista, etc.)
Online Resources
Puzzles Built @ the ConSystLab
Interactive Minesweeper. Built by K. Bayer and
J. Snyder.
Interactive
Sudoku Solver. Built by Ch. Reeson.
Benchmark Problems
Coloring Australia map: In the xml
format of CP Competition (courtesy of Ken Bayer).
The list of benchmark problems usually used in the CP
Solvers programming competetion. Check also the related tools.
The organizers of the International Workshop on Constraint Propagation
and Implementation organize a Solver Competition and make available
the benchmark problems used during the competition. Such as the ones
used in the 2005 competition. Such problem instances are
typically written using the new standards for representing CSP
instances: an XML representation and also a table
representation.
(Seems gone for now..) CLib: Configuration Benchmarks Library.
Archives and On-Line Systems
A
list of Constraint Solvers
Pointers to various generators from the ConSystlab web page.
Various models
of random generators in Java by Bart Craenen
The
ECLiPSe Constraint Logic Programming System
Random
generator in C at LIRMM
Random
generator in Common Lisp by Patrick Prosser
Random
generator in C courtesy of Fahiem
Bacchus (and P. van Run).
JACK: a library providing constraint programming
and search for Java (high-level language, generic search engine, and a
visualization tool).
Main publication venues
Conferences:
Constraint Programming (CP), AAAI, IJCAI, ECAI, FLAIRS, etc.
Journals:
AI Journal (index
at the Love Library,
online
access access),
Constraints (index at the Love Library, online access).
Constraint Processing
CP Online
Yahoo Group: Constraints, Association for Constraint
Programming
AI Topics
of the American Association for Artificial Intelligence
Web search
engines (Google
(scholar), CiteSeer, Altavista, etc.)
Industrial companies and start-ups
COSYTEC, I2 Technologies, Red Pepper
(PeopleSoft, Oracle), Blue Pumpkin, , Ilog, Trilogy, Parc
Technologies Ltd (now CISCO), Carmen Systems, Firepond, On Time Systems Inc., ConfigWorks., etc.
Research Centers
Cork Constraint Computation Center (4C),
Microsoft Research (Cambridge), Monterey Bay Aquarium Research
Institute, PARC, NASA Ames, (to be completed)
Courses
Constraint Networks (2001 and 2007) by Rina Dechter
Constraint Programming Approach to AI Applications, by Michela Milano
Foundations of Constraint Satisfaction, ESSLI
2002, by Roman Barak
Constraint Programming: online textbook by Roman Barták.
Reasoning Methods in AI (CS329A, CS227): courses by Pandu Nayak.
Constraint Satisfaction Problems (CSC2512F): course by Fahiem Bacchus
Tutorial on Constraint Programming, by Barbara Smith.
Lecture notes by David McAllester.
Bacchus' Constraint Programming Bibliography
Academic Research Groups
Constraint
Systems Laboratory at UNL
LIA@EPFL
APES
Group in the UK.
Cork Constraint
Computation Center (4C) of Freuder in University College Cork,
Ireland.
Latex Resources
From Joel Gompert: Getting
memory-efficient, pretty-looking, robust graphics with very fancy
robust labels into LaTeX
From Ryan Lim: The
not so short introduction to LaTex2x
Last modified: Sun Jan 27 21:29:02 CST 2008