Understand fundamental concepts for knowledge representation such as logic program, negation and negation as failure, open and closed world hypothesis, knowledge graphs, ontologies.
Recognize and understand Knowledge Representation techniques and their utilization in problem solving / application contexts.
It points out the specificity of individual reasoning problems, the selection and adaptation to them of appropriate search techniques, constraint solving, answer set solving and preferences.
Plan the evaluation of the methods in comparison with each other, recognizing the possibilities and limitations of each method.
Understand the structure of the semantic web and how its basic tools work.
Communicate ideas related to the application of knowledge representation techniques and reasoning in a clear, concise and formal manner. The student must be able to design, build and evaluate knowledge representation and reasoning systems for solving real-world problems, and to explain their operation.
Also, the course targets to the following general competencies:
Ability to organize and plan work, and manage time effectively
Ability to communicate orally and in writing
Ability to solve problems
Ability to develop critical thinking and capacity for critical approaches
Ability to apply theoretical knowledge in practice
Ability to adapt methods and techniques to new situations and conditions
Exercise criticism and self-criticism
Promotion of free, creative and inductive thinking
Contents
Introduction to Logic Programming: Facts, rules and queries, recursion, lists and functional terms, reversible predicates
LP for AI: Non-deterministic programming, generate-and-test, searching in Prolog
Approaches to negation: Negation-as-failure, stratification, well-founded negation in non-stratified knowledge bases
Representing incomplete knowledge: Answer Set Programming, integrity constraints, stable models, satisfiability, enumeration, answer set solving
Representing preferences: quantitative vs. qualitative preferences, logical formalisms for qualitative preference representation, preferences between sets
KRR for the Semantic Web: data integration and the semantics of atomic symbols, representing Web semantics, Resource Description Framework (RDF), ontologies and knowledge graphs (KG), OWL 2, Description Logics and equivalence with RDFS/OWL 2, reasoning over RDFS/OWL 2
Representing and reasoning over spatial and numerical knowledge: Many-valued logics, Satisfiability Modulo Theories (SMT), geospatial data and inference, 3D data and inference
Bibliography
Lloyd, John W. Foundations of logic programming. Springer Science & Business Media, 2012.
O’Keefe, Richard. The craft of Prolog. Logic programming. MIT Press, 1990.
Apt, Krzysztof R., and Mark Wallace. Constraint logic programming using ECLiPSe. Cambridge University Press, 2006.
Baral, Chitta. Knowledge representation, reasoning and declarative problem solving with Answer sets, 2001
Pascal Hitzler, Markus Krötzsch, Bijan Parsia, Peter F. Patel-Schneider, and Sebastian Rudolph (eds), OWL 2 Web Ontology Language Primer (Second Edition). W3C Recommendation, 11 December 2012, http://www.w3.org/TR/owl2-primer
Tom Mitchell, “Learning sets of rules”. Chapter 10, Machine Learning, McGraw Hill, 1997.
Stasinos Konstantopoulos, Rui Camacho, Nuno Fonseca and Vitor Santos Costa, “Induction as a search procedure”. Chapter 7, Artificial Intelligence for Advanced Problem Solving Techniques. Information Science Reference, IGΙ Global, 2008.