BUILDING of a KNOWLEDGE BASE (KB)


    -    Knowledge Engineering (KE)
                   a process of building a KB.


    -    Knowledge Acquisition (KA)
                   process of elicitting knowledge about the domain in question (preceeding KE)


    -    Knowledge Engineering and Programming
 
Knowledge Engineering
Programming
Input : Problem and Query Description
Input : Program's Input Data Set
Step 1 : Choosing a LOGIC Step 1 : Choosing a PROGRAMMING LANGUAGE
Step 2 : Building a KB Step 2 : Writing a program
Step 3 : Implementing a proof theory Step 3 : Choosing or writing a compiler
Step 4 : Infering new facts Step 4 : Running the program
Output : Answers
Output : Program's Output Data Set
Less work, less committment. Declarative. Additional work (details implementation). OOD, proc.


    -    Knowledge Engineer's Milestones
 
 
(I)   What to talk about and what to ignore - DOMAIN STRUCTURE
(II)  Vocabulary for constants, functions, relations - ONTOLOGY
(III) Encoding the general knowledge about the domain - AXIOMS
(IV) Encoding the descritpion of the specific problem instance - PROBLEMS
(V)   Posing the queries to the inference procedure and getting the answers - QUERIES


   -    An example : Electronic Circuit Domain

(I)   What to talk about and what to ignore - DOMAIN STRUCTURE
       Keep : gates, their types, input and output terminals
       Ignore : wires, their paths, junctions, other components
(II)  Vocabulary for constants, functions, relations - ONTOLOGY
       Gates : X1, X2, ...
       Types : Type(X1) = XOR, ...
       Terminals : In(1, X1), Out(2, X2), ...
       Connectivity : Connected(Out(1,X1), In(1,X2)), ...
       Signals : Signal(t) = On, Signal(u) = Off.
(III) Encoding the general knowledge about the domain - AXIOMS 
        (i)   "t1 "t2 Connected(t1,t2) ==> Signal(t1) = Signal(t2)
        (ii)   "t Signal(t) = On  Signal(t) = Off
        (iii)  "t1 "t2 Connected(t1,t2) ==> Connected(t2,t1)
        (iv)  "g  Type(g) = OR  ==>  Signal(Out(1,g))=On <==>  $n Signal(In(n,g)) = On
        (v)    ..........          AND          ..........
        (vi)    ..........         XOR          ..........
       (vii)    ..........         NOT          ..........
(IV) Encoding the descritpion of the specific problem instance - PROBLEMS
        Type(X1) = XOR             Type(X2) = XOR
        Type(A1) = AND             Type(A2) = AND
        Type(O1) = OR
        Connected(Out(1,X1), In(1,X2))            ..........
        Connected(In(1,C1), In(1,X1))              ..........
        ..........          ..........          ..........          ..........
(V)   Posing the queries to the inference procedure and getting the answers - QUERIES
        (i)
        $i1 $i2 $i3 Signal(In(1,C1)) = i1 & Signal(In(2,C1)) = i2 & 
                       Signal(In(3,C1)) = i3 & Signal(Out(2,C1)) = On
        (ii)
        $i1 $i2 $i3 $o1 $o2 Signal......
                 All Possibilities = Circuit Verification


    -    General Ontology (GO)
                   a theory of the representation for a broad selection of objects and relations
                        (usually encoded in FOL but with more ontological committments) :
 
(i)    CATEGORIES
 
<===> FOL makes it easy.
Reification (each tomato is an element of the Tomatoes category) - predicate turned into object
  Taxonomy (hierarchy of classes : Tomatoes is a subset of Fruit)
Same properties for members of a category 
                         (Vx x Tomatoes  ==>  Red(x) & Round(x))
Recognition by some properties 
                        (Vx Red(Interior(x) & Green(Exterior(x) & x Melons  ==>  x Watermelons)
Properties of categories as easily represented as properties of objects
                        (Tomatoes   DomesticatedSpecies)
Disjoints, Exhaustive Decomposition, Partition
(ii)   MEASURES (mass, age, prices, ...)
 
<===> Vl Cm(2.5*l) = Inch(l) 
Mass(Tomato12) = Kg(0.16)
Vd d Days  ==>  Duration(d) = H(24)
(iii)  COMPOSITE OBJECTS (how to represent structures of c. o.)
 
<===> Partof(Bucharest, Romania)
Partof(Romania,EasternEurope)
Partof(EasternEurope, Europe)
-----> (transitivity of Partof)
Partof(Bucharest, Europe)
Va Biped(a)  ==>  ]l1 ]l2 ]b Leg(l1) & Leg(l2) & Body(b) &
                               Partof(l1,a) & Partof(l2,a) & Partof(b,a) &
                               Attached(l1,b) & Attached(l2,b) &
                               l1!=l2 & Vl3 Leg(l3) & Partof(l3,a)  ==>  (l1=l3 V l2=l3)
(iv)  EVENTS (and PROCESSES (continuous and homogeneous events, i.e. raining))
            - grouped into their own categories
 
Representing CHANGE
with events
Situational calculus (SC) - discrete events only
Event Calculus - continuous SC - for continuous events (processes or liquid events)
     Event - chunk of universe with spatial and temporal coordinates
     Subevent(BofB,WWII), Subevent(WWII,20thCentury)
            20thCentury is an Interval Event - no spatial restrictions
            In(NY,USA)  is a   Place Event

    Vc Vi E(c,i)  <==>  ]e e c & Subevent(e,i)  "an ev. of category c is subev. of ev. i "
    i.e. E(Go(X,NY,ND), Yesterday)

      Processes (Liquid events) - each subinterval is also a member of the same process.
    i.e. Flying(X).

     T(c,i) = some event of type c occured exactly over the interval i
    i.e. T(Working(Mary),TodayLunchHour).
      T(c,i) is used to describe non-change : T(In(Amy,Supermarket),ThisAfternoon)

      Combining propositions :
      Vp,q,e T(And(p,q),e) <==> T(p,e) & T(q,e)
       i.e. T(And(At(Agent,Loc1), At(Tomato1,Loc1)),I3)

       Times, Intervals, Actions
        Vi Interval(i)  ==>  Duration(i) = Time(End(i)) - Time(Start(i))
        ................
       Time(Start(AD1900)) = Sec(0)
        ................
        Date(12,34,56,Feb,14,1993) = Sec(2938682096)
        ................
        Vi,j Meet(i,j)  <==>  Time(End(i)) = Time(Start(j))
        ................

(v)   PHYSICAL OBJECTS (extend over space and time)
(vi)  SUBSTANCES (tomato juice, water)
(vii) MENTAL OBJECTS and BELIEFS (whom to ask about tomato isle)