Lecture presentations (in Slovak)
|
Introduction (symbolic AI, ancient logic and reasoning)
|
|
Propositional logic basics (syntax, semantics, equivalence, entailment, grounding)
|
|
Representation of sentences in propositional logic
|
|
Sentences in Conjunctive Normal Form
(transformations, simplification)
|
|
Inference in propositional logic
(basic inference types)
|
|
Resolution principle for propositional logic
|
|
Conflict-driven clause learning (CDCL) model search for propositional logic
|
|
Problem modelling in propositional logic
|
|
Introduction into SMT (Satisfiability Modulo Theories)
|
|
Late checking for SMT satisfiability and model search
|
|
Predicate logic basics (the 0-th and 1-st order predicate calculus
- syntax and interpretation)
|
|
Resolution principle for predicate logic
|
|
Horn logic (forward and backward chaining of rules)
|
|
Prolog programming language
(Island of liars
and honest people)
|
Internet materials/demos
Code experiments
Software online tools
|
Software download
|
Code snippets
|
Students' projects (2018)
Final exam topics
- Symbolic AI and logic reasoning
- Rational agent
- Symbolic artificial intelligence
- Sylogisms (ancient India and Greece)
- Propositional logic
- Foundations of propositional logic
- Syntax (symbols, operators)
- Logical values and interpretation (rules, truth tables)
- Operator characteristics (precedence, commutativity,
associativity, idempotence, truth/falsity preservation)
- Possible worlds (un/satisfiability, validity)
- Equivalence of logical sentences (transformation rules, minimal operator set)
- Grounding of logical sentences (granularity, natural sentence encoding)
- Logical sentence representations
- Basic representations
- Focus on visualisation
- Focus on syntactic simplicity
- Creation of CNF
- Naive transformation to CNF
- Tseitin transformation
Plaisted-Greenbaum encoding
Transformation to kCNF
- Logical entailment and resolution
- Simplification of CNF
- Symbol elimination (from sentence, from clause)
- Clause elimination
Blocked clause elimination
- Inference in propositional logic
- Inference main tasks (deduction, validity, satisfiability)
- Characteristics of inference procedures
- Inference vs representation (BDD, DNF, CNF - in/direct approach)
- Inference using truth tables
- Enumeration of possible worlds algorithm
- Resolution based inference
- Resolution and contradiction detection
- Resolution algorithm structure
- Special cases treatment (pure literal, tautology, multipresence, clause subsumption)
- Derivation graph
- Useless resolvencies and clause selection strategies
Tablo calculus
Tablo algorithm
Decomposition rules
Rule selections
Tablo calculus vs DNF/CNF
- Search methods
- DPLL algorithm
- Propagations (unit propagation, pure literal propagation)
- Implication and conflict graphs
- Conflict analysis (cuts)
- Conflict clause selection
- Conflict-driven backjumping
- Selection heuristics (DLIS, DLCS, MOM, VSIDS)
- Modelling in propositional logic
- Satisfiability based procedure
- Modelling algorithm
- Binary variables (design and encoding)
- Constraints design (minimal set)
- Cardinality constraints
- Constraint types and replacements
- Binomial encoding
Binary encoding
Sequence counnter encoding
- Symmetry and its breaking
- Domain variables encoding
- Direct encoding
- Logarithmic encoding
- Sequential encoding
Hierarchical encoding
- Constraint encoding
Pseudo Boolean constraint encoding
- Satisfiability modulo theories
- Atoms as symbols with inner structure
- Syntax of sentences with modulo theories
- Satisfiability and T-satisfiability
- Selected modulo theories
- Difference logic
- Linear arithmetics
- Search for model
Early checking
- Late checking
- T-satisfiability
- Fourier-Motzikin variable elimination
- Constraint types
- FM Algorithm
- Algorithm complexity
One phase simplex method
Basic principle
Constraints transformation
Usage of simplex method
Direct encoding
Direct encoding algoorithm for difference logic
Determining values of variables
Direct encoding for linear arithmetics
Reduction of number of generated constraints
- Predicate logic
- Zero order predicate calculus
- Syntax
- Predicates, constants and functions
- Interpretation
- Interpretation of constants
- Interpretation of function/predicate symbols
- Interpretation of logical sentences
- Possible worlds nad models
- First order predicate calculus
- Syntax with variables
- Quantifiers
- Universal and existential quantifiers and their duality
- Negation of quantifiers
- Characteristics of quantifiers (commutativity, distributivity)
- Bounded and free variables
- Interpretation of variables
- Transformation of sentences into CNF
- Inference in predicate logic
- Refutation proof using resolution
- Unification of terms (unifiers, term substitution)
- Unification algorithm
- Generalised resolution
- Variable colisions
- Derivation graph
Paramodulation
- Answering questions
Tablo calculus
Rules for quantifier elimination
Infinite branch developing
- Horn predicate logic
- Horn clauses (rules, facts, goals)
- Forward chaining of rules
- Forward chaining of rules vs resolution
- Hyperresolution
- Forward chaining algorithm
- Backward chaining of rules
- Backward chaining of rules vs resolution
- Input resolution strategy
- Backward chaining algorithm
Clips programming language
ordering hyperresolutions (rule priority)
ordering unifiers
production system activity algorithm
activation of rules
rule firing
Rete network for pattern matching
- Prolog programming language
A bit of history
Prolog and KKUI
- Interaction with Prolog
- Syntax (constants, variables, structures)
- Database (facts, rules)
- Unification of terms
- Computation as database search
- Block model
|