180 likes | 266 Views
IBROW Progress Report - OU. Enrico Motta Knowledge Media Institute. Classification Library in OCML (at the end of IBROW 1). Task spec (TaskSpec1) Flat classification PSM (GenPSM1) Applied to apple and Rocky-III domains. Current work. Revision of TaskSpec1 Revision of GenPSM1
E N D
IBROW Progress Report - OU Enrico Motta Knowledge Media Institute
Classification Library in OCML (at the end of IBROW 1) • Task spec (TaskSpec1) • Flat classification PSM (GenPSM1) • Applied to apple and Rocky-III domains
Current work • Revision of TaskSpec1 • Revision of GenPSM1 • Definition of new problem solving models (e.g., heuristic classification) • Work still in very draft form!
Task Spec Observables Classification Solutions Solution_Space
Task Spec (revised) Observables Classification Solutions Solution_Space Criterion
Classification Simple-Classification-PSM Match-Candidate-Solution Compare-Match-Scores Basic-Match-Candidate-PSM Basic-Compare-Match-Scores-PSM Match-Feature Basic-Match-Feature-PSM
Classification Heuristic-Classification-PSM Refine-Solution Abstraction Match-&-Compare Refine-Solution-PSM Match&Compare-PSM Abstraction-PSM Match-Candidate-Solution Compare-Match-Scores Basic-Match-Candidate-PSM Basic-Compare-Match-Scores-PSM Match-Feature Basic-Match-Feature-PSM
Problem Solving Knowledge • Abstraction Knowledge needed to construct the partial order given by the abstraction_of relation • Refinement Knowledge normally follows the subclass-of hierarchy • Matching mechanism uses a 4-dimensional vector • Inconsistent features • Explained features • Unxplained features (in obs. but not in solution) • Missing features(in solution but not in obs.)
(def-class classification-task (goal-specification-task) ?task ((has-input-role :value has-solution_space :value has-observables :value has-criterion) (has-output-role :value best-matching-solutions) (has-solution_space :type solution_space) (has-criterion :type match_criterion) (has-observables :type observables) (best-matching-solutions :type solution_space) (has-precondition :value (kappa (?task) (and (exists ?obs (member-of ?obs (role-value ?task has-observables))) (exists ?sol (member-of ?sol (role-value ?task has-solution_space))) (match_criterion (role-value ?task has-criterion))))) (has-goal-expression ;;the goal is to find the best matching classes :value (kappa (?task ?solutions) (forall ?sol (=> (member ?sol ?solutions) (best-match ?sol (role-value ?task has-solution_space) (role-value ?task has-observables) (role-value ?task has-criterion) )))))))
(def-class TASK () ?task "An OCML task is characterised by its input roles, output role, and goal. The goal expression is a kappa expression which takes as argument the task itself and a value (which is meant to be a possible result from carrying out the task. The goal is satisfied if the kappa expression holds for its two arguments. A role is a slot of a task. Tasks divide into two main subclasses: goal-specification-task and executable-task. The former provides only a goal specification, while the latter provides also an 'organic' method for achieving the task” ((has-input-role :type role) (has-output-role :type role) (has-precondition :type unary-kappa-expression) (has-goal-expression :type legal-task-goal-expression)) :constraint (=> (has-role ?task ?role) (and (slot-of ?role ?task) (functional-relation ?role))) :axiom-def (exhaustive-subclass-partition task (set-of goal-specification-task executable-task)))
(def-class UNARY-KAPPA-EXPRESSION (kappa-expression) ?rel "Relations defined by means of the kappa operator" :iff-def (and (kappa-expression ?rel) (= (length ?schema) 1))) (def-class TERM (ocml-expression) ?x "The class of OCML functional terms" :iff-def (or (string ?x) (variable ?x) (constant ?x) (quote-expression ?x) (findall-expression ?x) (the-expression ?x) (setofall-expression ?x) (if-term ?x) (cond-term ?x) (in-env-term ?x) (eval-expression ?x) (call-expression ?x) (apply-expression ?x) (defined-function-expression ?x)))
Conclusions • Need for an object-level language for UPML • key task for IBROW!!! • These issues have already been discussed in depth by Dieter • Planning to use OCML • at least in the short term • Will investigate changes to OCML base ontology required to reflect the UPML architecture • e.g., definitions of classes Task, PSM, etc. • Also planning to experiment with Protégé