160 likes | 295 Views
Inference in Cyc. Logical Aspects of Inference Incompleteness in Searching Incompleteness from Resource Bounds and Continuable Searches Inference Features in Cyc Efficiency through Heuristics. Inférence : règles de déduction. “Règles” - générales (#$implies (#$mother ?PERSON ?MOTHER)
E N D
Inference in Cyc • Logical Aspects of Inference • Incompleteness in Searching • Incompleteness from Resource Bounds andContinuable Searches • Inference Features in Cyc • Efficiency through Heuristics
Inférence : règles de déduction “Règles” - générales (#$implies (#$mother ?PERSON ?MOTHER) (#$loves ?PERSON ?MOTHER)) " P " M mother(P, M) => loves(P, M)
Inference : faits “Faits” - spécifiques, sans variables, atomiques (#$mother #$Hamlet #$Gertrude) mother(Hamlet, Gertrude)
Principe de résolution • Technique pour générer des conséquences logiques (déductions) • Travaille sur la forme clausale des formules F == C1et C2et … et Ck Ci == L1ou … ou Lr Lj = (non) P (t1, …, tk)
Résolution simple A partir de deux clauses K1 ou non L K2 ou L K1 ou K2
Résolution simple : application non B ou C C A et B => C A B non A ou non B ou C
Résolution et variables K1 ou non p(t)K2 ou p(u) • Unifier t et u (si possible) :s la plus petite substitutiontelle que st = su • Résolution sK1 ou sK2
Résolution et variables : exemple 1. parent(X, Y) => connaît(Y, X) 2. parent(pierre, marie) Unificateur le plus général (petit) : pierre/X, marie/Y 1'. parent(pierre, marie) => connaît(marie , pierre) 2. parent(pierre, marie)
Unification • constante -- constante : impossible sauf si =) • variable -- constante : constante/variable • variable -- variable : variable/variable • f(t1, …, tn) -- f(u1, …, un) • trouver une substitution qui unifie t1 et u1, ... • p(a, X) et p(X, b) non unifiables !
Exemples parent(X, Y) et parent(Y, Z) => gp(X, Z) parent(marie, paul) parent(pierre, jean) parent(paul, andré) marie/X, paul/Y parent(paul, Z) => gp(marie, Z) impossible andré/Z gp(marie, andré)
Principe de résolution de Robinson f une formule sans quantificateurs en forme normale conjonctive et g = "b1 " b2. … " bn.f g n’est pas satisfaisable ssi il y a une suite de résolutions des clauses de f qui conduisent à la clause vide.
Exemple k1 = ¬ p(x,y) ou q(x) k2 = p(a, b) k3 = ¬ q(a) par résolution de k1 et k2 on obtient k4 = q(a) puis par résolution de k3 et k4 k5 = <vide>
Preuves par réfutation • Pour démontrer P à partir des clauses C1, …, Cn • Montrer que C1, …, Cn, ¬ P n'est pas satisfaisable • Dériver la clause vide à partir de C1, …, Cn, ¬ P
Problème: choix 1. accès(X, Y) et accès(Y, Z) => accès(X, Z) 2. route(U, V) => accès(U, V) 3. route(a, b) 4. route(b, c) 4. non accès(a, c) // preuve par réfutation de accès(a, c)
Problème: choix accès(X, Y) et accès(Y, Z) => accès(X, Z) (1) route(U, V) => accès(U, V) (2) route(a, b) (3) route(b, c) (4) non accès(a, c) (5) 1+5 (a/X, c/Z) (6) non accès(a, Y) ou non accès(Y, c) 6+2 (a/U, Y/V) (7) non route(a, Y) ou non accès(Y, c) 7+2 (Y/U, c/V) (8) non route(a, Y) ou non route(Y, c) 8+3 (b/Y) (9) non route(b, c) 9+4 (10) <>
Problème: choix accès(X, Y) et accès(Y, Z) => accès(X, Z) (1) route(U, V) => accès(U, V) (2) route(a, b) (3) route(b, c) (4) non accès(a, c) (5) (1.+5. a/X, c/Z) 6. non accès(a, Y) ou non accès(Y, c) (6.+ 1. a/X, Y/Z) ! renommer les variables identiques 7.non accès(a, Y') ou non accès(Y', Y) ou non accès(Y, c) (7.+1. a/X, Y'/Z) 8. non accès(a, Y'') ou non accès(Y'', Y') ou non accès(Y', Y) ou non accès(Y, c) ..... on peut continuer longtemps !