Knowledge Representation and Automatic Reasoning

CSCI 480, Spring 2017

 

To the Bottom of the Page

 

Instructor:     Dr. Shieu-Hong Lin

Email:             Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: LinEmail

Class:            MW 1:30-2:45 am at BUSN 209 PC Lab

Office Hours: Math & CS department at Grove 8.

(i)                8:30~10:30am

(ii)           Check in advance to set up an appointment

 

 

Course Syllabus

 

About the reading reports:

P       Effort (2 points): How much time have you spent for the reading? What percentage of the contents in the reading do you think you understand? Have you come to the class this week?  Assessment: The student is expected to (i) have attended the class this week at least once (0.5 point), and(ii) have either gained a good understanding of 80% or more of the contents or have spent at least three hours in the reading (1.5 points).

P       Reflection on the reading (2 points): Put down 1~2 paragraphs of your thoughts such as notes of new insight you gained, interesting things encountered, questions of things you dont understand,  and so forth.  Assessment: the student is expected to show substantial evidence of understanding or effort of trying to understand the contents in the reading.

 

*************************************************************************************************

 

Week 1: Introduction to Knowledge Representation & Constraint Logic Programming

 

Showcases: (i) Logic and specification languages: Z, Alloy. (ii) Logic and model checking.

 

Reading#1 (Report due: Wednesday, Feb. 8)

P       Required: Read Sections 1.1~1.4 of Constraint Logic Programming Using Eclipse.

P       Submit your report accordingly under Canvas.

 

Lab #1 (Report due: Wednesday, Feb. 8)

P       (i) Install Eclipse on your computer. (ii) Examine the following sample logic programming programs about family relationship (1, 2) and natural numbers (3 and 4). Use Eclipse to run the programs as suggested in the comments of the programs. (iii) Submit your report under Canvas to describe your findings in (ii) and in addition put down at least two paragraphs about your thoughts/ understanding of these programs accordingly.

 

Reference: Knowledge Representation and Classic Logic: 1

 

*************************************************************************************************

 

Week 2: Syntax and Semantics of Pure Prolog

 

Reading#2 due: Wednesday, Feb. 15

P       Review Sections 1.1~1.4 of Constraint Logic Programming Using Eclipse.

P       Read Sections 1.5~1.7 of Constraint Logic Programming Using Eclipse.

 

Homework#1A, 4 points: Wednesday, Feb. 15

P       Do all Exercises 1.1~1.5 of Constraint Logic Programming Using Eclipse and upload your findings under Canvas or hand it in on paper.

 

*************************************************************************************************

 

Week 3: More on Syntax and Semantics of Pure Prolog

 

Reading#3: Read Chapter 2 due: Wednesday, Feb. 22

 

Homework#1B, 4 points: Wednesday, Feb. 22

P       Do all Exercises 2.1~2.3 of Constraint Logic Programming Using Eclipse and upload your findings under Canvas or hand it in on paper.

 

*************************************************************************************************

 

Week 4: A Reconstruction of Pure Prolog + Arithmetic in Prolog

Reading#4: (i) Review Chapter 2 (ii) Read Chapter 3 on Arithmetic in Prolog due: Wednesday, March 1

 

Homework#1C, 6 points: Wednesday, March 1

P       Revise the program in 3 regarding natural numbers and arithmetic operations such that queries like xPlusYisZ( s(s(zero), Y, Z), xPlusYisZ(X, s(s(zero), Z), and xPlusYisZ(X, Y, s(s(zero)) can find all the solutions without divergence.

P       Carefully fill out this self-evaluation report and upload the program and the evaluation report through Biola Canvas.

 

*************************************************************************************************

 

Week 5: More on Arithmetic in Prolog + Control and Meta Programming.          

Reading#5: (i) Review Chapter 3 and (ii) Read Chapter 4 due: Tuesday, March 8

 

Homework#2, 6 points: due: Wednesday, March 8

P       Write a prolog program for doing merge sort. The quick sort program in Chapter 3 can serve as a helpful example about how this may be implemented. Here is the basic framework of how the program may look like.

P       Submission: (i) Upload your prolog program through Biola Canvas. (ii) Carefully fill out this self-evaluation report and upload it through Biola Canvas. Note that you will receive no point for missing the self-evaluation report or missing the integrity review in the report.

 

*************************************************************************************************

 

Weeks 6-7: More on Control and Meta Programming + Mission Conference    

Reading#6-7: (i) Review Chapter 4 and (ii) Read Chapter 5 due: Wednesday, March 22

 

Homework#3, 6 points: Wednesday, March 22

P       Write a prolog sorting program that implements selection sort. The quick sort program in Chapter 3 can serve as a helpful example about how this may be implemented. Try to work it out on your own. If you have tried but still feel need some more hints, see this basic framework of how the program may look like.

P       Submission: (i) Upload your prolog program through Biola Canvas. (ii) Carefully fill out this self-evaluation report and upload it through Biola Canvas. Note that you will receive no point for missing the self-evaluation report or missing the integrity review in the report.

 

 

Test#1: in class, open-book test on Syntax and Semantics of Pure Prolog on Reading #1~#6 Wednesday, March. 22

 

*************************************************************************************************

 

Week 8: Review of Core Prolog      

 

Reading#8: (i) Review Chapters 1~5 due: Wednesday, March 29

 

Discussion of Homework#2, Homework#3, and Test #1

 

*************************************************************************************************

 

Week 9: Constraint Programming

Reading#9: (i) Browse through Chapter 6. (ii) Read Sections 7.1~7.3 due: Wednesday, April 5.

 

Homework#4A, 4 points: Wednesday, April 5.

P       Do all Exercises 6.2 and 6.3 of Constraint Logic Programming Using Eclipse and upload your work under Canvas.

 

 

*************************************************************************************************

 

Weeks 10~11: Iteration in Eclipse | Spring Break  

 

Homework#4B (4 points): End-of-chapter exercises of Chapter 7, Wednesday, April 26.

 

 

*************************************************************************************************

 

Weeks 12-13: Constraints Propagation: from passive constraints in suspend to active constraints in ic 

 

Homework#5 (6 points) due: Wednesday, May 3. Submission: (i) Upload your prolog program through Biola Canvas. (ii) Carefully fill out this self-evaluation report and upload it through Biola Canvas. Note that you will receive no point for missing the self-evaluation report or missing the integrity review in the report.

 

Homework#6 (12 points) due: Wednesday, May 10.Write your own brute-force Prolog search program like the N-Queen program in chapter 7 to search for magic squares of any given order n. Here are possible frameworks 1 and 2. Feel free to adapt as needed. Submission: (i) Upload your prolog program through Biola Canvas. (ii) Carefully fill out this self-evaluation report and upload it through Biola Canvas. Note that you will receive no point for missing the self-evaluation report or missing the integrity review in the report.

 

*************************************************************************************************

 

Weeks 14-15: Modeling and Solving Constraint Satisfaction/Optimization Problems

 

Final Test#: TBA

 

*************************************************************************************************

To the Top of the Document of the Page

 

 

External resources:

P       List all source code of sample programs in Constraint Logic Programming using Eclipse.

P       Eclipse Constraint Logic Programming: (i) homepage, (ii) online user manual, (iii) online reference manual and (iv) tutorials

.