LOGICMOO INFERENCE ENGINE: Use only “decidable” fragments of Logic. (No false negatives and no false positives) Expect the systems Knowledge of the world.

Slides:



Advertisements
Similar presentations
Knowledge Representation using First-Order Logic
Advertisements

Some Prolog Prolog is a logic programming language
Russell and Norvig Chapter 7
PROOF BY CONTRADICTION
Inference Rules Universal Instantiation Existential Generalization
Gremlins and Goblins Gremlins always tell the truth. Goblins sometimes lie. Unfortunately, their appearance is identical. You are in a dungeon with two.
1. An Overview of Prolog.
Logic Programming Automated Reasoning in practice.
UIUC CS 497: Section EA Lecture #2 Reasoning in Artificial Intelligence Professor: Eyal Amir Spring Semester 2004.
Propositional and First Order Reasoning. Terminology Propositional variable: boolean variable (p) Literal: propositional variable or its negation p 
We have seen that we can use Generalized Modus Ponens (GMP) combined with search to see if a fact is entailed from a Knowledge Base. Unfortunately, there.
Methods of Proof Chapter 7, second half.. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound)
For Friday No reading Homework: –Chapter 9, exercise 4 (This is VERY short – do it while you’re running your tests) Make sure you keep variables and constants.
Methods of Proof Chapter 7, Part II. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound) generation.
Logic CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
Logic.
Intelligent systems Lecture 6 Rules, Semantic nets.
RESOLUTION: A COMPLETE INFERENCE PROCEDURE. I Then we certainly want to be able to conclude S(A); S(A) is true if S(A) or R(A) is true, and one of those.
Axiomatic Verification I Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 17.
22C:19 Discrete Structures Logic and Proof Spring 2014 Sukumar Ghosh.
Outline Recap Knowledge Representation I Textbook: Chapters 6, 7, 9 and 10.
Formal Logic Proof Methods Direct Proof / Natural Deduction Conditional Proof (Implication Introduction) Reductio ad Absurdum Resolution Refutation.
Proof methods Proof methods divide into (roughly) two kinds: –Application of inference rules Legitimate (sound) generation of new sentences from old Proof.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
Inference and Resolution for Problem Solving
Methods of Proof Chapter 7, second half.
Knoweldge Representation & Reasoning
Artificial Intelligence
Dr. Alexandra I. Cristea CS 319: Theory of Databases: C3.
Rosen 1.6. Approaches to Proofs Membership tables (similar to truth tables) Convert to a problem in propositional logic, prove, then convert back Use.
CS1502 Formal Methods in Computer Science Lecture Notes 10 Resolution and Horn Sentences.
Methods of Proof & Proof Strategies
Notes for Chapter 12 Logic Programming The AI War Basic Concepts of Logic Programming Prolog Review questions.
FATIH UNIVERSITY Department of Computer Engineering Controlling Backtracking Notes for Ch.5 of Bratko For CENG 421 Fall03.
Understanding PML Paulo Pinheiro da Silva. PML PML is a provenance language (a language used to encode provenance knowledge) that has been proudly derived.
0 Validity & Invalidity (Exercises) December 23, 2005.
CHAPTERS 7, 8 Oliver Schulte Logical Inference: Through Proof to Truth.
1 Knowledge Based Systems (CM0377) Lecture 4 (Last modified 5th February 2001)
Logical Agents Logic Propositional Logic Summary
9.4 Mathematical Induction
S P Vimal, Department of CSIS, BITS, Pilani
1 Prolog and Logic Languages Aaron Bloomfield CS 415 Fall 2005.
AIM: WHAT IS AN INDIRECT PROOF?
CS Introduction to AI Tutorial 8 Resolution Tutorial 8 Resolution.
0 Validity & Invalidity (Exercises) All dogs have two heads. 2. All tigers are dogs. ___________________________________ 3. All tigers have two.
Logical Agents Chapter 7. Knowledge bases Knowledge base (KB): set of sentences in a formal language Inference: deriving new sentences from the KB. E.g.:
LECTURE LECTURE Propositional Logic Syntax 1 Source: MIT OpenCourseWare.
Automated Reasoning Early AI explored how to automated several reasoning tasks – these were solved by what we might call weak problem solving methods as.
Automated Reasoning Early AI explored how to automate several reasoning tasks – these were solved by what we might call weak problem solving methods as.
Proof By Contradiction Chapter 3 Indirect Argument Contradiction Theorems and pg. 171.
First-Order Logic and Inductive Logic Programming.
Chapter 1: The Foundations: Logic and Proofs
Entry Task Write down your age Multiply it by 10 Add 8 to the product Double that answer and subtract 16 Divide the result by 20 Explain what you notice.
© Copyright 2008 STI INNSBRUCK Intelligent Systems Propositional Logic.
1 Knowledge Based Systems (CM0377) Introductory lecture (Last revised 28th January 2002)
1 Knowledge Based Systems (CM0377) Lecture 6 (last modified 20th February 2002)
22C:19 Discrete Structures Logic and Proof Fall 2014 Sukumar Ghosh.
2.3 Methods of Proof.
Logical Agents Chapter 7. Outline Knowledge-based agents Propositional (Boolean) logic Equivalence, validity, satisfiability Inference rules and theorem.
Knowledge Repn. & Reasoning Lecture #9: Propositional Logic UIUC CS 498: Section EA Professor: Eyal Amir Fall Semester 2005.
Logical Agents. Outline Knowledge-based agents Logic in general - models and entailment Propositional (Boolean) logic Equivalence, validity, satisfiability.
EA C461 Artificial Intelligence
EA C461 – Artificial Intelligence Logical Agent
Resolution in the Propositional Calculus
Logical Inference 2 Rule-based reasoning
Logical Inference: Through Proof to Truth
Lecture 2 Propositional Logic
Homework: Friday Read Section 4.1. In particular, you must understand the proofs of Theorems 4.1, 4.2, 4.3, and 4.4, so you can do this homework. Exercises.
CS 416 Artificial Intelligence
Methods of Proof Chapter 7, second half.
Presentation transcript:

LOGICMOO INFERENCE ENGINE: Use only “decidable” fragments of Logic. (No false negatives and no false positives) Expect the systems Knowledge of the world to be incomplete. Expect our Knowledge of the world to be a “convenient generalization” of the truth. More Knowledge must make us run faster not slower. Since new Knowledge helps us understand the world better. It takes our generalized world and makes it more specific. Constraint based problems are solved faster be narrowing possibility. Know how to decide when we don’t know the answer. (Construct a proof showing why we don’t know an answer.) Surgical Conflict resolution.

Use only “decidable” fragments of Logic.. No false positives: Do not assume something is true unless we can both find concrete evidence to prove it and additionally fail to find cases that subsets of the evidence proves to be false. No false negatives: Do not assume something is false until we find concrete evidence that proves it false. And we additionally fail to find cases that subsets of this evidence proves to be true.

Use only “decidable” fragments of Logic. (No false positives). Do not assume something is true unless 1)We can both find concrete evidence to prove it and … (Prolog success) 2)additionally fail to find cases that subsets of the evidence found proves to be false. (Prolog failure) Arbitration Hint: Remove evidence that succeeds in #2. Retain only evidence that fails.

Use only “decidable” fragments of Logic. (No false negatives). Do not assume something is False unless 1)We can both find concrete evidence to prove it False (Prolog success) and … 2)additionally fail to find cases that subsets of the evidence found proves to be True. (Prolog failure) Arbitration Hint: Remove evidence that succeeds in #2. Retain only evidence that fails in #2.

Use only “decidable” fragments of Logic. Implementation? CNF -> HORN Translation. (From the 1970s/80s) Can this be enough?

Use only “decidable” fragments of Logic. Implementation?. ?- kif_add(male(P) => ~female(P)). %%%%%%%%%%%%%%%%%%%%%%% % kif = % all(P, (male(P)=> ~female(P))). % % pkif = % all(P, (male(P)=>not(female(P)))). % % cnf = % not(male(P))v not(female(P)). % % horn = % [ (not(female(P)):-male(P)), (not(male(P)):-female(P))]. % % succeed(user:boxlog_to_pfc((not(female(P)):-male(P)), (male(P), {is_unit(P)}==>neg(female(P))))). % % succeed(user:boxlog_to_pfc((not(male(P)):-female(P)), (female(P), {is_unit(P)}==>neg(male(P))))). % %%%%%%%%%%%%%%%%%%%%%%% Notice that we do not have the rule to prove anyone male to female? We have only rules to disprove! (Rules to narrow search space)

Use only “decidable” fragments of Logic. Implementation? % Humans are male or female ?- kif_add(human(P) => (female(P) v male(P))). %%%%%%%%%%%%%%%%%%%%%%% % kif = % all(P, (human(P)=>female(P)v male(P))). % % pkif = % all(P, (human(P)=>female(P)v male(P))). % % cnf = % not(human(P))v (female(P)v male(P)). % % horn = % % [ (female(P):-human(P), not(male(P))), % (male(P):-human(P), not(female(P))), % (not(human(P)):-not(female(P)), not(male(P))) % ]. % % succeed(user:boxlog_to_pfc((female(P):-human(P), not(male(P))), (human(P), neg(male(P)), {is_unit(P)}==>female(P)))). % % succeed(user:boxlog_to_pfc((male(P):-human(P), not(female(P))), (human(P), neg(female(P)), {is_unit(P)}==>male(P)))). % % succeed(user:boxlog_to_pfc((not(human(P)):-not(female(P)), not(male(P))), (neg(female(P)), neg(male(P)), {is_unit(P)}==>neg(human(P))))). % %%%%%%%%%%%%%%%%%%%%%%% We can prove something male (P) or female (P) as long as we can prove it is human(P) and prove that it is not male or female. How? The previous page shows how to disprove one or the other. We also can disprove something human(P) if we can prove with definite information that is neither male or female.

Use only “decidable” fragments of Logic. Implementation? % joe is male ==> male(joe). % pat is not female ==> ~female(pat). % We check that we cannot prove Pat is male. % Thus a query to ?- male(pat ). Will fail. :- test_if_failure( male(pat )). % Assert pat is human ==> human(pat). % Thus we can deduce he is male now :- test_if_success( male(pat )).