270 likes | 290 Vues
Uncertain Knowledge Representation. CPSC 386 Artificial Intelligence Ellen Walker Hiram College. Reasoning Under Uncertainty. We have no way of getting complete information, e.g. limited sensors We don’t have time to wait for complete information, e.g. driving
E N D
Uncertain Knowledge Representation CPSC 386 Artificial Intelligence Ellen Walker Hiram College
Reasoning Under Uncertainty • We have no way of getting complete information, e.g. limited sensors • We don’t have time to wait for complete information, e.g. driving • We can’t know the result of an action until after having done it, e.g. rolling a die • There are too many unlikely events to consider, e.g. “I will drive home, unless my car breaks down, or unless a natural disaster destroys the roads …”
But… • A decision must be made! • No intelligent system can afford to consider all eventualities, wait until all the data is in and complete, or try all possibilities to see what happens
So… • We must be able to reason about the likelihood of an event • We must be able to consider partial information as part of larger decisions • But • We are lazy (too many options to list, most unlikely) • We are ignorant • No complete theory to work from • All possible observations haven’t been made
Quick Overview of Reasoning Systems • Logic • True or false, nothing in between. No uncertainty • Non-monotonic logic • True or false, but new information can change it. • Probability • Degree of belief, but in the end it’s either true or false • Fuzzy • Degree of belief, allows overlapping of true and false states
Examples • Logic • Rain is precipitation • Non-monotonic • It is currently raining • Probability • It will rain tomorrow (70% chance) • Fuzzy • It is raining (.5 hard / .8 very hard / .2 a little)
NonMonotonic Logic • Once true (or false) does not mean always true (or false) • As information arrives, truth values can change (Penelope is a bird, penguin, magic penguin) • Implementations (you are not responsible for details) • Circumscription • Bird(x) and not abnormal(x) -> flies(x) • We can assume not abnormal(x) unless we know abnormal(x) • Default logic • “x is true given x does not conflict with anything we already know”
Truth Maintenance Systems • These systems allow truth values to be changed during reasoning (belief revision) • When we retract a fact, we must also retract any other fact that was derived from it • Penelope is a bird. (can fly) • Penelope is a penguin. (cannot fly) • Penelope is magical. (can fly) • Retract (Penelope is magical). (cannot fly) • Retract (Penelope is a penguin). (can fly)
Types of TMS • Justification based TMS • For each fact, track its justification (facts and rules from which it was derived) • When a fact is retracted, retract all facts that have justifications leading back to that fact, unless they have independent justifications. • Each sentence labeled IN or OUT • Assumption based TMS • Represent all possible states simultaneously • When a fact is retracted, change state sets • For each fact, use list of assumptions that make that fact true; each world state is a set of assumptions.
TMS Example (Quine & Ullman 1978) • Abbot, Babbit & Cabot are murder suspects • Abbot’s alibi: At hotel (register) • Babbit’s alibi: Visiting brother-in-law (testimony) • Cabot’s alibi: Watching ski race • Who committed the murder? • New Evidence comes in… • TV video shows Cabot at the ski race • Now, who committed the murder?
JTMS Example • Each belief has justifications (+ and -) • We mark each fact as IN or OUT Suspect Abbot (IN) – + Beneficiary Abbot (IN) Alibi Abbot(OUT)
Revised Justification Suspect Abbot (OUT) – + Beneficiary Abbot (IN) Alibi Abbot (IN) + – + Far Away(IN) Forged(OUT) Registered(IN)
ATMS Example (Partial) • List all possible assumptions (e.g. A1: register was forged, A2: register was not forged) • Consider all possible facts • (e.g. Abbot was at hotel.) • For each fact, determine all possible sets of assumptions that would make it valid • Eg. Abbot was at hotel (all sets that include A2 but not A1)
JTMS vs. ATMS • JTMS is sequential • With each new fact, update the current set of beliefs • ATMS is “pre-compiled” • Determine the correct set of beliefs for each fact in advance • When you have actual facts, find the set of beliefs that is consistent with all of them (intersection of sets for each fact)
Probability • The likelihood of an event occurring represented as a percentage of observed events over total observations • E.g. • I have a bag containing red & black balls • I pull 8 balls from the bag (replacing the ball each time) • 6 are red and 2 are black • Assume 75% of balls are red, 25% are black • The probability of the next ball being red is 75%
More examples • There are 52 cards in a deck, 4 suits (2 red, 2 black) • What is the probability of picking a red card • (26 red cards) / (52 cards) = 50% • What is the probability of picking 2 red cards? • 50% for the first card • (25 red cards) / (51 cards) for the second • Multiply for total result (26*25) / (52*51)
Basic Probability Notation • Proposition • an assertion like “the card is red” • Random variable • Describes an event we want to know the outcome of, like “ColorofCardPicked” • Domain is set of values such as {red, black} • Unconditional (prior) probability P(A) • In the absence of other information • Conditional probability P(A | B) • Based on specific prior knowledge
Some important equations • P(true) = 1; P(false) = 0 • 0 <= P(a) <= 1 • All probabilities between 0 and 1, inclusive • P(a v b) = P(a) + P(b) – P(a ^ b) • We can derive others • P(a v ~a) = 1 • P(a ^ ~a) = 0 • P(~a) + P(a) = 1
Conditional & unconditional Probabilities in example • Unconditional • P(Color2ndCard = red) = 50% • With no other knowledge • Conditional • P(Color2ndCard = red |Color1stCard=red) = 25/51 • Knowing the first card was red, gives more info (lower likelihood of 2nd card being red) • The bar is read “given”
Computing Conditional Probabilities • P(A|B) = P(A ^ B) / P(B) • The probability that the 2nd card is red given the first card was red is (the probability that both cards are red) / (probability that 1st card is red) • P(CarWontStart |NoGas) = P(CarWontStart ^ NoGas) / P(NoGas) • P(NoGas | CarWontStart) = P(CarWontStart ^ NoGas) / P(CarWontStart)
Product Rule and Independence • P(A^B) = P(A|B) * P(B) • (just an algebraic manipulation) • Two events are independent if P(A|B) = P(A) • E.g. 2 consecutive coin flips are independent • If events are independent, we can multiply their probabilities • P(A^B) = P(A)*P(B) when A and B are independent
Back to Conditional Probabilities • P (CarWontStart | NoGas) • This predicts a symptom based on an underlying cause • These can be generated empirically • (Drain N gastanks, see how many cars start) • P (NoGas | CarWontStart) • This is a good example of diagnosis. We have a symptom and want to predict the cause • We can’t measure these
Bayes’ Rule • P(A^B) = P(A|B) * P(B) • = P(B|A) * P(A) • So • P(A|B) = P(B|A) * P(A) / P(B) • This allows us to compute diagnostic probabilities from causal probabilities and prior probabilities!
Bayes’ rule for diagnosis • P(measles) = 0.1 • P(chickenpox) = 0.4 • P(allergy) = 0.6 • P(spots | measles) = 1.0 • P(spots | chickenpox) = 0.5 • P(spots | allergy) = 0.2 • (assume diseases are independent) • What is P(measles | spots)?
P(spots) • P(spots) was not given. • We can estimate it with the following (unlikely) assumptions • The three listed diseases are independent; no one will have two or more • There are no other causes or co-factors for spots, P.e. p(spots | none-of-the-above) = 0 • Then we can say that: • P(spots) = p(spots^measles) + p(spots^chickenpox) + p(spots^allergy) (0.42)
Combining Evidence ache flu fever Multiple sources of evidence leading to the same conclusion thermometer reading fever flu Chain of evidence leading to a conclusion