Knowledge Engineering in First-Order Logic: by G. Sathish Kumar Ap-Cse
Knowledge Engineering in First-Order Logic: by G. Sathish Kumar Ap-Cse
Knowledge Engineering in First-Order Logic: by G. Sathish Kumar Ap-Cse
IN FIRST-ORDER LOGIC
By
G. Sathish Kumar
AP-CSE
KNOWLEDGE ENGINEERING IN
FIRST-ORDER LOGIC
• The general process of knowledge-base construction — a process
called knowledge engineering.
• The knowledge engineer writes down the axioms for all the
vocabulary terms.
• This pins down (to the extent possible) the meaning of the terms,
enabling the expert to check the content.
The knowledge-engineering process
• This is where the reward is: we can let the inference procedure
operate on the axioms and problem-specific facts to derive the facts
we are interested in knowing.
• More precisely, the answers will be correct for the knowledge base as
written, assuming that the inference procedure is sound, but they will not
be the ones that the user is expecting.
3. Decide on a vocabulary
• We now know that we want to talk about circuits, terminals, signals, and
gates.
• The next step is to choose functions, predicates, and constants to represent
them.
• First, we need to be able to distinguish gates from each other and from other
objects.
• Each gate is represented as an object named by a constant, about which we
assert that it is a gate with, say, Gate(X).
The electronic circuits domain
• The behavior of each gate is determined by its type: one of the
constants AND, OR, XOR,or NOT.
• Because a gate has exactly one type, a function is appropriate: Type
(X)=XOR.
• Circuits, like gates, are identified by a predicate: Circuit(C1).
• One sign that we have a good ontology is that we require only a few
general rules, which can be stated clearly and concisely.
This final query will return a complete input–output table for the device, which can be
used to check that it does in fact add its inputs correctly. This is a simple example of
circuit verification.
The electronic circuits domain
7. Debug the knowledge base
• We can perturb the knowledge base in various ways to see what kinds
of erroneous behaviors emerge.
• We can pinpoint the problem by asking for the outputs of each gate.
For example,