Υπολογιστική Λογική και Λογικός Προγραμματισμός


The aim of this course is to introduce the students to the concepts of computational logic and logic programming and pore over the Prolog programming language.


Objectives

Knowledge: Familiarization with Mathematical Logic principles, Familiarization with using Logic as a Programming Language, Training on the Prolog programming language. Skills: Representing and solving logical expressions. Programming with the Prolog programming language.


Prerequisites

Απαραίτητες: Βασικές Γνώσεις Προγραμματισμού, Βασικές Γνώσεις Διακριτών Μαθηματικών, Βασικές Γνώσεις Δομών Δεδομένων. Επιθυμητές: Βασικές Γνώσεις Τεχνητής Νοημοσύνης


Syllabus

Mathematical Logic (Propositional calculus, normal forms, inference mechanisms, resolution principle, predicate calculus, variables and quantifiers, variable substitution and unification). From Logic to Logic Programming (Kowalski form, Horn clauses). Logic Programming (Basic concepts, history, Prolog language). Syntax of Logic programs (Queries/Goals, Facts, Rules, Predicates, Complex Terms). Unification. Execution control mechanism. Recursion. Lists. Number representation (arithmetic operations, comparison, mathematical functions). String handling. Input/Output. Variable Goals. Term type testing. Term composition/decomposition. Cut (effect on the computation tree, usage). Negation as failure. Solution management. Clause management. Programming methodology. Logic Programming Applications.

COURSE DETAILS

Level:

Type:

Undergraduate

(A-)


Instructors: Nick Bassiliades
Department: Informatics
Institution: Aristotle University of Thessaloniki
Subject: Computer Science, Information Technology, Telecommunications
Rights: CC - Attribution-NonCommercial-ShareAlike

Visit Course Page

SHARE THIS COURSE
RELATED COURSES