CS322 Fall 1997
Assignment 10

Due: 1:30pm, Friday 21 November 1997.

Question 1

In this question, we will consider using integrity constraints and consistency-based diagnosis in an infobot. To answer a question from the web, we need to believe what the information sources tell us. However information sources are sometimes wrong. It is useful to be able to automatically determine which information sources may be wrong when you get conflicting information.

In this question we will consider how integrity constraints and assumables can be used to determine what errors there are in different information sources.

In this question, we will use meaningless symbols such as a,b,c,..., but in a real domain there will be meaning associated with the symbols, such as a meaning "there is skiing in Hawaii" and z meaning "there is no skiing in Hawaii", or a meaning "butterflies don't eat anything" and z meaning "butterflies eat nectar". We will use the meaningless symbols in this assignment, because the computer doesn't have access to the meanings, and must just treat them as meaningless symbols.

Suppose you have the following information sources, and the information they are providing to you:

Source s1:
Source s1 claims the following clauses are true:
a <- h.
d <- c.
Source s2:
Source s2 claims the following clauses are true:
e <- d.
f <- k.
z <- g.
j.
Source s3:
Source s3 claims the following clause is true:
h <- d.
Source s4:
Source s4 claims the following clauses are true:
a <- b & e.
b <- c.
Source s5:
Source s5 claims the following clause is true:
g <- f & j.
Yourself:
Suppose that you know that the following clauses are true:
false <- a & z.
c.
k.
Note every source can be believed, as together they produce a contradiction.
  1. code the knowledge provided by the users into cilog using assumables. To use a clause provided by one of the sources, you need to assume that the source is reliable.
  2. use the program to find the conflicts about what sources are reliable. To find conflicts you can just ask false.

Question 2

Suppose you would like to assume as few sources as possible are unreliable.
  1. Which single sources, if they were unreliable could account for the contradiction (assuming all other sources were reliable)?
  2. Which pairs of sources could account for the contradiction (assuming all other sources were reliable) such that no single one of them could account for the contradiction?

Question 3

How much time did you spend on each question? Was it reasonable? What did you learn?