School of Computing and Mathematics, University of Huddersfield The Induction of Operator Descriptions from Examples and Structural Domain Knowledge Lee.

Slides:



Advertisements
Similar presentations
SDL+ The Simplest, Useful Enhanced SDL-Subset The documentation is the design, the design is the system! Copyright © SDL Task Force Consortium.
Advertisements

Knowledge Engineering for Planning Domain Design Ron Simpson University of Huddersfield.
Copyright W. Howden1 Programming by Contract CSE 111 6/4/2014.
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Semantics Static semantics Dynamic semantics attribute grammars
AI – Week 17 Machine Learning Applied to AI Planning: LOCM Lee McCluskey, room 2/09
1 1 Regression Verification for Multi-Threaded Programs Sagar Chaki, SEI-Pittsburgh Arie Gurfinkel, SEI-Pittsburgh Ofer Strichman, Technion-Haifa Originally.
1 Software Testing and Quality Assurance Lecture 13 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Opmaker2: Efficient Action Schema Acquisition T.L.McCluskey, S.N.Cresswell, N. E. Richardson and M.M.West The University of Huddersfield,UK
CH02: Modeling the process and life cycle Process of developing software (organization and discipline in the activities) contribute to the quality of the.
ISBN Chapter 3 Describing Syntax and Semantics.
CS 355 – Programming Languages
An Integration of Program Analysis and Automated Theorem Proving Bill J. Ellis & Andrew Ireland School of Mathematical & Computer Sciences Heriot-Watt.
Object Transition Sequences: A New Form of Abstraction for HTN Planners Lee McCluskey Computing Science Dept, The University.
Towards An Algebraic Formulation of Domain Definitions using Parameterised Machines T. L. McCluskey and R. M.Simpson School of Computing and Engineering.
GIPO II: HTN Planning in a Tool- supported Knowledge Engineering Environment Lee McCluskey Donghong Liu Ron Simpson Department of Computing and Mathematical.
Knowledge and Systems Research Group, University of Huddersfield B vs OCL: Comparing Specification Languages for Planning Domains Diane Kitchin, Lee McCluskey,
Control Flow Analysis Mooly Sagiv Tel Aviv University Sunday Scrieber 8 Monday Schrieber.
Lee McCluskey, University of Huddersfield - EKAW'04 Knowledge Formulation for AI Planning Lee McCluskey Ron Simpson Artform research group Department of.
School of Computing and Mathematics, University of Huddersfield An Interactive Method for Inducing Operator Descriptions Lee McCluskey Beth Richardson.
GIPO [Graphical Interface for Planning with Objects] Demonstration case-tool for Knowledge Engineering to support Domain Independent Planning Ron Simpson.
PDDL: A Language with a Purpose? Lee McCluskey Department of Computing and Mathematical Sciences, The University of Huddersfield.
1 Objectives To introduces the concept of software Design. To introduce the concept of Object- Oriented Design (OOD). To Define various aspects about object.
School of Computing and Mathematics, University of Huddersfield Knowledge Engineering: Issues for the Planning Community Lee McCluskey Department of Computing.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
ICKEP International Competition for Knowledge Engineering in Planning Lee McCluskey PLANET Knowledge Engineering.
School of Computing and Mathematics, University of Huddersfield PDDL and other languages.. Lee McCluskey Department of Computing and Mathematical Sciences,
Informatics Research Group University of Huddersfield Tool Support for Planning and Plan Analysis within Domains embodying Continuous Change Lee McCluskey.
School of Computing and Mathematics, University of Huddersfield Week 21: Knowledge Acquisition / GIPO Lee McCluskey, room 2/09
Describing Syntax and Semantics
Using GIPO to support learning in knowledge acquisition and automated planning Lee McCluskey and Ron Simpson.
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
Using Use Case Scenarios and Operational Variables for Generating Test Objectives Javier J. Gutiérrez María José Escalona Manuel Mejías Arturo H. Torres.
Objects What are Objects Observations
School of Computing and Mathematics, University of Huddersfield Computing Science: WEEK 17 Announcement: next few weeks… 9 nd Feb: Comparative Programming.
1 Yolanda Gil Information Sciences InstituteJanuary 10, 2010 Requirements for caBIG Infrastructure to Support Semantic Workflows Yolanda.
Avalanche Internet Data Management System. Presentation plan 1. The problem to be solved 2. Description of the software needed 3. The solution 4. Avalanche.
LANGUAGE TRANSLATORS: WEEK 3 LECTURE: Grammar Theory Introduction to Parsing Parser - Generators TUTORIAL: Questions on grammar theory WEEKLY WORK: Read.
POSTECH DP & NM Lab. (1)(1) POWER Prototype (1)(1) POWER Prototype : Towards Integrated Policy-based Management Mi-Joung Choi
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
1 Introduction to Software Engineering Lecture 1.
LEARNING USER PLAN PREFERENCES OBFUSCATED BY FEASIBILITY CONSTRAINTS Nan Li, William Cushing, Subbarao Kambhampati, and Sungwook Yoon School of Computing.
Chapter 3 Part II Describing Syntax and Semantics.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
ECSE Software Engineering 1I HO 4 © HY 2012 Lecture 4 Formal Methods A Library System Specification (Continued) From Specification to Design.
BOĞAZİÇİ UNIVERSITY DEPARTMENT OF MANAGEMENT INFORMATION SYSTEMS MATLAB AS A DATA MINING ENVIRONMENT.
Scientific Debugging. Errors in Software Errors are unexpected behaviors or outputs in programs As long as software is developed by humans, it will contain.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Static Techniques for V&V. Hierarchy of V&V techniques Static Analysis V&V Dynamic Techniques Model Checking Simulation Symbolic Execution Testing Informal.
TRAINING PACKAGE The User Action Framework Reliability Study July 1999.
CSC3315 (Spring 2009)1 CSC 3315 Languages & Compilers Hamid Harroud School of Science and Engineering, Akhawayn University
Knowledge Based Systems ExpertSystems Difficulties in Expert System Development u Scarce resources – new technology – demand for trained personnel u Development.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
The PLA Model: On the Combination of Product-Line Analyses 강태준.
Advanced Higher Computing Science
CSC 222: Object-Oriented Programming
Matching Logic An Alternative to Hoare/Floyd Logic
Graph Coverage for Specifications CS 4501 / 6501 Software Testing
B (The language of B-Method )
Global Challenge Walking for Water Lesson 2.
Global Challenge Walking for Water Lesson 2.
Cognitive models linguistic physical and device architectural
Java Coding 4 (part2) David Davenport Computer Eng. Dept.,
Chapter 26 Estimation for Software Projects.
From Use Cases to Implementation
Presentation transcript:

School of Computing and Mathematics, University of Huddersfield The Induction of Operator Descriptions from Examples and Structural Domain Knowledge Lee McCluskey Beth Richardson Department of Computing and Mathematical Sciences, The University of Huddersfield

School of Computing and Mathematics, University of Huddersfield Background n Acquiring and maintaining planning domains is acknowledged to be a major problem. Operators can be hard to construct and debug and planners aren’t built to help in debugging. n We want non-planning experts to use our planning technology. This requires a higher level interface than PDDL ‘code’ n Complex domains make these problems more acute

School of Computing and Mathematics, University of Huddersfield Thrust of this work.. To develop an induction method for creating planning operators that works.. n in complex hierarchical domains n in the context of an “acquisition method” supported by a planning engineering environment (- something I’ve argued for at past SIGs..) It should reduce the complexity of the creation process by abstracting away “mathematical details” and reusing off the shelf templates. Eventually it should be usable for non-planning-experts

School of Computing and Mathematics, University of Huddersfield Operator induction in the past.. Tim Grant - (‘96) induction of operators from pairs of states (POI algorithm) ‘unordered observations’ --- acquisition --> object domain theory --- induction --> operators X. Wang - (‘96) induction of ops from operator headings, types and pre- and post states. Repair carried out through ‘planning practice’. Huffman et al - (‘91) extending and correcting planning domain theories - more refinement that initial operator acquisition

School of Computing and Mathematics, University of Huddersfield GIPO (described in separate paper + demo) n An ‘open’ tools environment supporting domain acquisition and domain modelling - the tools are integrated via a GUI around the OCL / OCL h language and associated method. n The hardest part of planning domain modelling is designing the operators - GIPO + OCL eases acquisition, but the user still has to mess around with parameters!

School of Computing and Mathematics, University of Huddersfield Specific goal of this research n Use GIPO to create a PARTIAL domain model n Induce operators using sample operator sequences and simple input if required (mouse clicks) n Either use Theory Revision techniques or User Intervention (with the help of ‘standard’ validation tools) to correct bugs. [Recall induction does not give us the correct answer!]

School of Computing and Mathematics, University of Huddersfield Opmaker - INPUT in OCL/OCLh Offline: Partial domain spec, got via GIPO or other acquisition method: n Objects, object classes (sorts), predicates: objects(car,[car1,car2]). objects(tent,[tent1]) objects(person,[sue,fred]). objects(couple,[couple1]) objects(place,[keswick,helvelyn,fairfield,honister,derwent]) predicates([ up(tent,place), down(tent,place), loaded(tent,car,place), in(person,car,place), fit(person,place), tired(person,place), at(car,place), partners(couple,person,person), walked(couple,place), next(place,place)])

School of Computing and Mathematics, University of Huddersfield Opmaker - INPUT n Substate classes - for each dynamic sort substate_classes(person,Person,[ [tired(Person,Place)], [fit(Person,Place)], [in(Person,Car,Place)]]). substate_classes(couple,Couple,[ [walked(Couple,Place),partners(Couple,Person1,Person2)] ]). substate_classes(tent,Tent,[ [up(Tent,Place)], [down(Tent,Place)], [loaded(Tent,Car,Place)] ]) substate_classes(car,Car,[[at(Car,Place)]]) n Atomic Invariants atomic_invariants(partners(couple1,sue,fred),next(keswick,helvelyn), next(helvelyn,fairfield), next(fairfield,honister), next(honister,derwent)])

School of Computing and Mathematics, University of Huddersfield Opmaker - INPUT Online: Training sequence, initial state, and user ‘clicks’! Example op sequence: put_down tent1 fred keswick load fred tent1 car1 keswick getin sue keswick car1 drive sue car1 keswick helvelyn getout sue helvelyn car1 unload sue tent1 car1 helvelyn put_up tent1 sue helvelyn getin sue helvelyn car1 drive sue car1 helvelyn keswick getout sue keswick car1 walk_together sue fred couple1 keswick helvelyn sleep_in_tent sue fred tent1 helvelyn

School of Computing and Mathematics, University of Huddersfield Opmaker - OUTPUT - A set of Operators in OCLh Operators are sets of TRANSITIONS A transition is of the form: (sort, sort variable, LHS => RHS) where: n A transition can be necessary, conditional, or null (the latter being a ‘prevail’ condition) n The LHS and RHS are substate expressions possibly containing static constraints (The Operator set can be output in PDDL ADL format if required)

School of Computing and Mathematics, University of Huddersfield OPMAKER -the step for each training op. Assume OP is NEW Input Op-name O1.. Oi.. On (1) for each dynamic object Oi in parameter list form LHS from current substate information on Oi ask user to CLICK on new substate class (2) match free variables in transitions with parameter list using sort structure as guide (3) add generalised atomic invariants to the operator using parameter list and sort structure as a guide Finally, record the actual object transitions of the training sequence

School of Computing and Mathematics, University of Huddersfield OPMAKER - for hierarchical operators HTN operators in OCLh are roughly of the form: (Transitions, Static Constraints, Temporal Constraints, Decomposition)

School of Computing and Mathematics, University of Huddersfield OPMAKER - to induce HTN operators 1. retrieve set of object transitions T that made up the training sequence. For any conditional transitions, make them into necessary if they did indeed change an object 2. Work out (hierarchical) 'start' and 'end' substates for each object using T to give the transitions. 3. Use primitive operator’s generalised atomic invariants to make up static constraints 4. Temporal constraints can be derived from transition sequences and primitive operators 5. Decomposition = generalised training sequence

School of Computing and Mathematics, University of Huddersfield RESULTS n The Hiking Domain: as shown in paper - a partial domain model was created, then a full operator set was generated by Opmaker, passing all local and global validation checks in the GIPO system. The resulting model was fed into Hoffman’s FF which solved the general hiking problem. This was all done in approximately 1 day’s development. n Other “Flat” domains: Briefcase World, Rocket World and Tyre World: full operator sets induced with little difference to hand-crafted

School of Computing and Mathematics, University of Huddersfield RESULTS: Hierarchical domains Results for Translog and Drum Store showed up problems: n inaccurate constraints: opmaker may generate unwanted constraints, and in some cases may miss necessary constraints. On the other hand it may throw up needed constraints that may not have been thought of. n inaccurate pre-conditions: especially in the hierarchical case, the LHS is not so easy to generate accurately. n undergeneralised parameters: The rule of generalising constants to variables in the object's primitive sorts is sometimes too restrictive. For example, the load_package induced operator in the Translog worlds was only applicable to loading packages into trucks if the training example used involved trucks.

School of Computing and Mathematics, University of Huddersfield RESULTS e.g. HTN operator method(move_package(Truck_2,Pk_3,Ac5), % dynamic constraints [], % list of necessary transitions [sc(truck,Truck_2,[at(Truck_2,City3_cl1),moveable(Truck_2),available(Truck_2)] => [at(Truck_2,Ap1),moveable(Truck_2),available(Truck_2)]), sc(package,Pk_3,[at(Pk_3,City3_cl1),uncertified(Pk_3)] => [at(Pk_3,Ap2),waiting(Pk_3),certified(Pk_3)]), sc(aircraft,Ac5,[at(Pk_3,Ap1)] => [at(Ac5,Ap2)])], % static constraints [ in_city(Ap1,City3), in_city(City3_cl1,City3), in_city(City3_cl2,City3)], % temporal constraints [before(1,2),before(2,3),before(3,4),before(4,5),before(5,6),before(6,7),before (7,8),before(8,9)], % decomposition [pay_fees(Pk_3), commission(Truck_2), local_move(Truck_2,City3_cl1,City3_cl2), load_package(Pk_3,Truck_2,City3_cl2), local_move(Truck_2,City3_cl2,Ap1), unload_package(Pk_3,Truck_2,Ap1), load_package(Pk_3,Ac5,Ap1), fly(Ac5,Ap1,Ap2), unload_package(Pk_3,Ac5,Ap2)]).

School of Computing and Mathematics, University of Huddersfield Future Work n Induction of recursive hierarchical operators, with more distinctive HTM features (e.g. more conditional filters) n full integration into GIPO n use of theory refinement to debug initial operator set n evaluation with novice users (students?)

School of Computing and Mathematics, University of Huddersfield Conclusions Opmaker relies on the following cues to help induce operators: n a partial domain model of object sort and behaviour n the completeness and coherence of the example sequences of operators n high level user input, when necessary, in the form of one `click' indicating a choice of substate class It appears to help a great deal in operator acquisition, but a full evaluation is ongoing..