Logic Programming (MAE544)

Από Wiki Τμήματος Μαθηματικών

General

School

School of Science

Academic Unit

Department of Mathematics

Level of Studies

Undergraduate

Course Code

MAE544

Semester

5

Course Title

Logic Programming

Independent Teaching Activities

Lectures (Weekly Teaching Hours: 3, Credits: 6)

Course Type

Special Background

Prerequisite Courses -
Language of Instruction and Examinations

Greek

Is the Course Offered to Erasmus Students

Yes (in English)

Course Website (URL) See eCourse, the Learning Management System maintained by the University of Ioannina.

Learning Outcomes

Learning outcomes

The goal of this course is the deeper understanding of PROLOG. During the course a detailed examination of the following topics are done:

  • Procedural and Declarative Programming
  • Logic Programming a version of Declarative Programming
  • The programming language PROLOG (PROLOG programs syntax, Lists, Operators, Arithmetic, Backtracking control, The negation in PROLOG, Recursive predicates, Data Structure manipulation, PROLOG implementation to searching problems, symbolic processing, natural language understanding and metaprogramming)
  • Logic Programming Theory
  • Logic Programming under restrictions
  • Logic Programming systems implementation techniques
  • Parallel Logic Programming
  • Logic Programming for knowledge representation

After completing the course the student can handle:

  • programming in PROLOG
  • solving exercises in PROLOG
  • tracking applications in PROLOG
General Competences
  • Programming in PROLOG
  • Implement PROLOG to Mathematics, Natural Language, Expert Systems, e.t.c.
  • Implementation- Consolidation.

Syllabus

  • Introductory concepts of Automata , Computability and Complexity as well as basic definitions, basic theorems and inductive proofs
  • Finite State Machines and Languages, Finite Automata (Deterministic FA, Nondeterministic FA, FA with Epsilon-Transitions) and their applications, Regular Expressions and Languages, derivation trees. Removing Nondeterminism . Equivalence NFA and NFA with ε-moves. Minimization of DFA, Pumping Lemma
  • FA and Grammars. Grammars of Chomsky Hierarchy. Regular Sets (RS). Properties of Regular Languages. RS and FA. Finding a correspondence Regular Expression of a FA. Abilities and disabilities of FA.
  • Context-Free Grammars and Languages, Pushdown Automata (Deterministic PDA, Acceptance by Final State, Acceptance by Empty Stack) , Properties of Context-Free Languages. Correspondence PDA and Context-Free Languages.
  • Introduction of Turing Machines. Standard TM, useful techniques for TM constructions. Modification of TM. TM as procedure.
  • Unsolvability. The Church-Turing Thesis. The Universal TM. The Halting Problem for TM. Computational Complexity. NP-complete problems.

Teaching and Learning Methods - Evaluation

Delivery

Face to face

Use of Information and Communications Technology Yes, Use of Natural Language and Mathematical Problems Processing Laboratory
Teaching Methods
Activity Semester Workload
Lectures 39
Self study 78
Exercises 33
Course total 150
Student Performance Evaluation

Final test

Attached Bibliography

See the official Eudoxus site or the local repository of Eudoxus lists per academic year, which is maintained by the Department of Mathematics. Books and other resources, not provided by Eudoxus:

  • Π. Σταματόπουλος, "Λογικός και Συναρτησιακός Προγραμματισμός", Σύνδεσμος Ελληνικών Ακαδημαϊκών Βιβλιοθηκών, http://hdl.handle.net/11419/3587 (με διορθωμένα παροράματα εδώ)
  • Η. Σακελλαρίου, Ν. Βασιλειάδης, Π. Κεφαλάς, Δ. Σταμάτης, "Τεχνικές Λογικού Προγραμματισμού", Σύνδεσμος Ελληνικών Ακαδημαϊκών Βιβλιοθηκών, http://hdl.handle.net/11419/777
  • I. Bratko, "Prolog Programming for Artificial Intelligence", Third Edition, Addison-Wesley, 2000.
  • L. Sterling, E. Shapiro, "The Art of Prolog", The MIT Press, 1994.
  • J. W. Lloyd, "Foundations of Logic Programming", Springer Verlag, 1993