Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
CS 6374; Computational Logic
[go: Go Back, main page]

CS6374: Computational Logic


http://www.utdallas.edu/~gupta/courses/lp

Course Content

We will begin by learning logic and automated theorem proving (4 weeks), followed by learning logic programming and programming in Prolog, the most popular logic programming language (7 weeks). Subsequently, we will study advanced logic programming techniques as well as their applications (3 weeks), and constraint logic programming (2 weeks). We will cover about 16 chapters from Sterling and Shapiro's book and 4.5 chapters of the Chang and Lee Book (on mechanical theorem proving). If you do all the assignments, and attend all classes, you should be a reasonably proficient Prolog/Constraint programmer by the end of the course. Learning logic programming has a number of advantages: you will develop a better understanding of computer science and improve your programming as well as problem solving skills. You will also develop a better background for learning AI as well as formal methods in software engineering. You'll also develop a better appreciation for logic, the basis of all of computer science.

Pre-requisite:

Knowledge of Programming in a traditional language, Discrete Mathematics (CS 5333), and Data Structures (CS 5343). This is a fast-paced course, meant only for serious students

Approach

This will be a lecture/discussion oriented course. Home assignments will consist of exercises and readings from the text. There will be programming assignments as well, to give hands-on experience with the Prolog language. Programming assignments on constraint logic programming will also be given. You are allowed to discuss the assignments with other students but the work should be your own.

Grading

Your grade in the course will be based on grades you get in your homework assignments (20%), mid-semester exam (25%), project (10%), final exam (40%). 5\% of the grade will be based on class participation, etc., and is based on instructor discretion.

Assignments and Prolog Resources

You can use any Prolog system to do your assignment. The Prolog system available on our Unix machines (apache, jupiter, inca, etc.) is SWI-Prolog. If you have a home PC and would like to do programming assignments at home, I recommend SWI Prolog that is available free over the net. SICSTUS Prolog is now available locally on Jupiter, Apache, etc. (click here for manual). See the Prolog resource guide for other Prolog implementations A free GNU-Prolog is also available. Note that constraint logic programming assignments can only be done on SICStus Prolog.

All assignments will be due in class. Please do not submit assignments by email, I prefer hard copy. Homework Submission Procedure can be found here.

Click here to see the assignments.

Excerpt from Sicstus Manual on second order predicates and operators

General Information on Constraint Programming click here

CLP(FD) code for 8-queens (runs under SICStus): click here

CLP(R) code for rail-road crossing (runs under SICStus): click here

Suggestions for course project (optional): click here

Prolog Programming Competition held at ICLPs: click here

The grammar file for DCG homework click here