Artificial Intelligence


Course: ARTFICIAL INTELLIGENCE | Bachelor of Science (Computer Science)
Software: Prolog (SICStus Prolog, SWI Prolog, GNU Prolog)

Artificial Intelligence / Declarative Programming / Expert Systems

- SICStus Prolog -
- SWI Prolog -
- GNU Prolog -
- Prolog.NET -
- Visual Prolog -

"AI is the part of computer science concerned with designing intelligent computer systems, that is, systems that exhibit the characteristics we associate with intelligence in human behavior - understanding language, learning, reasoning, solving problems, and so on" A. Barr and E. A. Feigenbaum, 1981

Languages and Knowledge: Natural environments are ruled by languages. Computer science use artificial languages. Languages exist therefore, not for communication purposes alone, but particularly for knowledge. (Vlada, CNIV & eLSE 2005)

Computer Program: "A program is a theory (in some logic) and computation is deduction from the theory." J. A. Robinson

Sciencies: Sciences are models and virtual representations of knowledge. (CNIV 2008, M. Vlada)


If the decade 70 (XX century) at the university level, some subjects were their own computer, today there are complex areas of Computer Science: Programming and Software Engineering, Computer Networks and Computing, Databases and Information Systems, Programming and Web Development, Graphics computer and virtual reality, computational geometry, modeling and simulation, Parallel and Distributed Computing, Artificial intelligence and expert systems, Knowledge Engineering.




  •      Knowledge and use of AI concepts and techniques to solve problems using declarative programming, expert systems
  •      fundamentals of math-order logic for knowledge representation and processing and use of knowledge bases provided by Prolog;
  •      the laboratory activity is aimed to get students responsible for the use of Prolog as inference engine (demonstrator theorems) in representing and processing knowledge bases.


- understanding and assimilating the main programming declarative knowledge representation and processing of knowledge bases, problem solving using AI methods and techniques, intelligent systems and expert systems;
- declarative programming and knowledge representation in Prolog database


- strengthening the knowledge of the application and testing process, development of Prolog programs (knowledge base)
- Prolog programming and knowledge base
- applications and projects using methods and techniques for solving AI: test Einstein SUDOKO problem, symbolic derivation, the problem of "monkey and banana", etc.



     * Structure of an intelligent system
     * states of a problem space. Sample
     * Representing the state-space problems and
     * Tree solutions for backtracking method
     * state space for the problem of "missionaries and cannibals"
     * space for the problem states "eight-puzzle
     * The knowledge and the structure of a logic program
     * attached to a tree demonstration purpose. Sample
     * Processing in Prolog knowledge base. Sample
     * EXEC procedure-execution semantics of procedural programs in Prolog
     * The representation of formulas in CNF form
     * The representation of formulas in prenex form
     * Representation formulas in Skolem form
     * The concepts of substitution and unification. Sample
     * Robinson unification Argoritmul
     * Expert System for the derivation simbolica.Exemplu
     * Prolog program for coloring map
     * The solution: space representation, structure search, the search procedure
     * Breadh-first search algorithm, the procedural form
     * Breadh-first search algorithm, as Prolog
     * Depth-first search algorithm, as Prolog
     * search algorithm Besth-First-form general / Prologue
     * A *- search algorithm as procedural / Prologue



Language of knowledge:

  • Natural languages (the languages of the peoples) - "entity"=word; lexical constructions describe states, images, actions, etc.
  • Languages of sciences (used in the fields of science: mathematics, physics, chemistry, economics, etc.) - "entity"= knowledge/meet; study of objects and relationships between objects in the fields of mathematics, physics, chemistry, computer science, biology, economics, etc.
  • Artificial languages (used computer) consisting of 
    • Procedural Programming languages - "entity" =memory location
    • Functional Programming Languages - "entity" = item list
    • Logic Programming Languages - "entity "= object, clause
    • Object Oriented Programming - "entity" = object
    • Web Programming Languages - "entity" = web/multimedia elements
    • Languages for Databases - "entity" = registration
    • Languages for Computer graphics - "entity" = graphics object
    • Languages for Modeling-Simulation - "entity "= event
    • Languages for Operating Systems- "entity" = process/ task
    • Languages for Artificial Intelligence - "entity" = meet/ knowledge

Definition. A language of knowledge is virtual system/logical

                       L = ( V, Sin, Sem, O, C, T, Tc)  , where

V = vocabulary / alphabet, Sin = syntax (rules), Sem = semantics (rules), O = objects, C = concepts / terms, T = theories / methods / techniques to solve, Tc = treasury of knowledge (knowledge base).

(Vlada 2005)

Propose the following:




TUTORIALS: Fisier de tip .pdf ! Probleme_prolog Fisier de tip .pdf ! met_BACKTRACKING

PROJECTS: Fisier de tip .pdf ! Proiecte-1 Fisier de tip .pdf ! Proiecte-2

- Bratko, Ivan - Prolog Programming for Artificial Intelligence (LINK , Prolog code for all chapters ):


- Reid G. Smith, Knowledge-Based Systems: Concepts, Techniques, Examples:MYCIN , Ottawa, ON, May 8, 1985 |  LINK (pdf,


- M. Vlada, Algorithms for Testing Satisfiability Formulas, ARTIFICIAL INTELLIGENCE REVIEW,  Kluwer Academic Publishers – ISSN 0269-2821 , vol.15 , No 3, 2001, pag.153-163

- M. Vlada, An efficient algorithm for testing propositional formulas, COMPUTERS AND ARTIFICIAL  INTELLIGENCE - ISSN 1335-9150 , Vol. 17, No. 4, 1998, pag. 383-391

- M. Vlada,  Models for the exploration of knowledge bases and artificial intelligence applications , University of Bucharest (1997)

- St. Andrei, Counting for Satisfiability by Inverting Resolution, Artificial Intelligence Review 22: 339–366, 2004

- Jurgen Schmidhuber, Optimal Ordered Problem Solver, Machine Learning, 54, 211–254, Kluwer Academic, 2004 ( Fisier de tip .pdf ! OOPS )

- D. Dumitrescu – Principles of Artificial Intelligence, Ed. Albastră, 2005


  • Avron Barr and Edward A. Feigenbaum, Handbook of AI, Addison-Wesley Longman Publishing Co., Inc. Boston, MA, USA 1986, ISBN:0201118114
  • Bilaniuk, S. (2009), Deduction Theorem, [online] Trent University, Peterborough, Ontario, Canada,
  • Clocksin, W. F. and Mellish, C. S. (1984 ) Programming in Prolog Using the ISO Standard, New York: Springer-Verlag, and [online] Wolfram Math,
  • CSAIL, (2009) Learning and Intelligent Systems, Computer Science and Artificial Intelligence Laboratory, [online], MIT - The Massachusetts Institute of Technology,  Cambridge,
  • Kowalski, R. (1979) Logic for Problem Solving. Artificial Intelligence, Series North Holland, [online],
  • Lloyd, J.W. (1984). Foundations of Logic Programming. Springer-Verlag: Berlin, Germany.
  • Minsky, M. (1986) The Society of Mind, Touchstone Books, New York,
  • Robinson, J. A. (1965). A Machine Oriented Logic Based on the Resolution Principle. Journal of the ACM 12: 23–41.
  • Sterling L. (1984) Logical Levels of Problem Solving, Proceedings 2nd Intl. Logic Programming Conference, Uppsala, Sweden, pp. 231-242
  • Thomas, R. (2007) The Four Color Theorem [online] School of Mathematics, Georgia Institute of Technology, Atlanta,
  • Vlada, M. (2003) "Eureka: Algorithmic thinking", Solving Problems using Eureka [online], University of Bucharest,
  • Vlada, M. (2005) "Role of Language in processing Information and Knowledge",  Proceedings of The International Scientific Conference – eLearning and Software for Education”, eLSE 2005, “Carol I” National Defence University, Bucharest, University Publishing House, pp 165-178
  • Wirth N. (1975) Algorithms + Data Structures = Programs, Prentice-Hall, pp 1-366.
  • S. Russell, P. Norvig. Artificial Intelligence: A Modern Approach, Prentice Hall, 2002,
  • D. Poole, A. Mackworth, R. Goebel. Computational Intelligence – a Logical Approach. Oxford University Press, 1998,
  1. | Sicstus PROLOG
  2. (James F. Power) |GNU Prolog
  5. (Computer Science Department Walla WallaCollege)
  6. (Loiseleur Michel & Vigier Nicolas)
  7. (Visual Prolog)
  8. Warren's Abstract Machine -


Solutions 21st Century Skills    BETT 2009- Londra: Siveco&Sanako



Last updated at: April 21, 2011.