Information Technology Reference
In-Depth Information
Purpose
Insight
Reason
Perceptions Concepts
Heuristics
Criteria
Pro bl em
Solution
Abstract
Abduce
Deduce
Validate
Action
Fig. 3.4 Validation requirements trigger action
For this we create a function ' gen_function ' that randomly chooses a potential
logic operator from a list of operators, and ' gen_feature_pair ' generates a pair of
suitable parameters that may also include the logical operator ' no t'. For example,
we can generate the pair of requirements thus:
QUERY > gen_function Implies
QUERY > gen_feature_pair [ (isa "int") (isnot iseven) ]
QUERY > gen_function Xor
QUERY > gen_feature_pair [ (isnot (isa "char")) (isnot
iseven) ]
QUERY > gen_function
QUERY > gen_feature_pair [ isvowel (isnot (isa "int")) ]
We then combine these functions in ' abduce ' shown in Fig. 3.5 . Examples of this
function are 2 :
QUERY > abduce
[is_not vowel and is_not even]
QUERY > abduce
[is_not a vowel or is_even but_not_both]
QUERY > abduce
[is not even implies a vowel]
A more efficient abduction mechanism might have been written that ensures that the
generated hypothesis has a good chance of success. For example, we might choose
a method of generation that simulates the process of evolution. This might combine
successful hypotheses to produce potentially better hypotheses.
The problem with the function ' abduce ', as defined in this program, is that it
has no memory and will reproduce a hypothesis that has already been rejected or
generate another hypothesis that has little to do with previous ones; in this function the
hypotheses do not evolve from those that have gone before. To provide a mechanism
2
The actual command is > abduce and the response is [ && (isnot isvowel) (isnot iseven) ] etc.
 
Search WWH ::




Custom Search