SAT Planning in Description Logics: Solving the Classical Wolf Goat Cabbage Riddle. Michael Wessel

Similar documents
Planning: Regression Planning

Introduction to Management Science Midterm Exam October 29, 2002

TOUCH IOT WITH SAP LEONARDO PROTOTYPE CHALLENGE

AWRI Refrigeration Demand Calculator

6.2.2 Coffee machine example in Uppaal

Semantic Web. Ontology Engineering. Gerd Gröner, Matthias Thimm. Institute for Web Science and Technologies (WeST) University of Koblenz-Landau

Algorithms. How data is processed. Popescu

Caffeine And Reaction Rates

Barista at a Glance BASIS International Ltd.

How Many of Each Kind?

WINE MANAGAMENT PLATFORM FOR WAREHOUSES

Lecture 9: Tuesday, February 10, 2015

A Note on H-Cordial Graphs

Ergon Energy Corporation Limited 21 July 2010

TEST PROJECT. Server Side B. Submitted by: WorldSkills International Manuel Schaffner CH. Competition Time: 3 hours. Assessment Browser: Google Chrome

User Studies for 3-Sweep

Lesson 41: Designing a very wide-angle lens

James A. Harter Senior Consultant for LexTech, Inc. Effect of Grain Orientation on Round Robin Life Predictions

Wine Agent: Semantic Web Testbed Application

Treated Articles and their regulation under the European Biocidal Products Regulation

Lesson 41: Designing a very wide-angle lens

GoSwift Electronic border queue Lauri Lusti ERAA

Smart Plunger TM by PCS

Route List Configuration

CS 387: GAME AI PROCEDURAL CONTENT GENERATION

Activity 10. Coffee Break. Introduction. Equipment Required. Collecting the Data

TITBIT WHITEPAPER TITBIT HELPS ORBIT CAFÉ INCREASE CHECK AVERAGES BY 20% AND IMPROVE EFFICIENCY AT REDUCED COST

CS 322: (Social and Information) Network Analysis Jure Leskovec Stanford University

enjoy the experience

The Government of the Republic of the Union of Myanmar. Ministry of Commerce. Union Minister s Office. Notification No. 18/2015.

Lesson 23: Newton s Law of Cooling

SAP Fiori - Take Order

Feeling Hungry. How many cookies were on the plate before anyone started feeling hungry? Feeling Hungry. 1 of 10

Ovens. A+: Energy efficiency class A+ helps to save up to 10% energy compared to class A. Maximum performance with minimum consumption is guaranteed.

Coffee (lb/day) PPC 1 PPC 2. Nuts (lb/day) COMPARATIVE ADVANTAGE. Answers to Review Questions

Skill #1 I can use a ruler to measure

Please sign and date here to indicate that you have read and agree to abide by the above mentioned stipulations. Student Name #4

Artisan-made ice cream, just as you like it. And much, much more...

CONSEQUENCES OF THE BPR

Table of Contents. Toast Inc. 2

STAINLESS STEEL MILK FROTHER. Model: PKFMR11BK

and to Holger Knublauch, Mark Musen & Natasha Noy Stanford Medical Informatics, Stanford University

Only the Dark Knight is free to choose. Stephen Crain, Aijun Huang, Haiquan Huang & Peng Zhou

2. The proposal has been sent to the Virtual Screening Committee (VSC) for evaluation and will be examined by the Executive Board in September 2008.

User-Centered Design. Steps in the task analysis process. Task Scenario example: Jacques. Scenario development. Conti... (Jacques) Conti...

TASTES OF THE WORLD Black and green olives, dried tomatoes and capers are the best and most refined flavours of the Mediterranean cuisine. Full of sun

3,000 POUND CAPACITY AUTO BODY ROTISSERIE UNIT

What do Calls to Restaurants Signify?

Product Consistency Comparison Study: Continuous Mixing & Batch Mixing

Better air. Leading the new era in air conditioning

Archdiocese of New York Practice Items

3rd Grade Changes Assessment

Unit Summary. Achievement of this Unit will provide you with opportunities to develop the following SQA Core Skills:

Roux Bot Home Cooker. UC Santa Cruz, Baskin Engineering Senior Design Project 2015

Enzymes in Industry Time: Grade Level Objectives: Achievement Standards: Materials:

TOUCH IOT WITH SAP LEONARDO

Cabbage processing - CAP 68 and KSB. Professional coring and cutting of cabbage. designed and constructed for the food processing industry

a day Get your 5-a-day in one yummy meal!

Yelp Chanllenge. Tianshu Fan Xinhang Shao University of Washington. June 7, 2013

Unit 2, Lesson 15: Part-Part-Whole Ratios

Biocides IT training Vienna - 4 December 2017 IUCLID 6

Best Quality for the Best Wines

Winemaking and Sulfur Dioxide

Route List Setup. About Route List Setup

Temperature effect on pollen germination/tube growth in apple pistils

Contents 1 Introduction 1 2 The CLASSIC Knowledge Representation System Knowledge Base Components Named Concept

ARM4 Advances: Genetic Algorithm Improvements. Ed Downs & Gianluca Paganoni

SYSTEMS OF LINEAR INEQUALITIES

Achievement of this Unit will provide you with opportunities to develop the following SQA Core Skills:

PRODUCT EXAMPLE PIZZA

NVIVO 10 WORKSHOP. Hui Bian Office for Faculty Excellence BY HUI BIAN

Decision making with incomplete information Some new developments. Rudolf Vetschera University of Vienna. Tamkang University May 15, 2017

Association Rule Mining

c o m b i n e d t h e w i n n i n g c h o i c e

Wine Selectors. Devotion. B2C WINE RETAILER AND CONTENT PUBLISHER

Fibonacci Numbers: How To Use Fibonacci Numbers To Predict Price Movements [Kindle Edition] By Glenn Wilson

Which of your fingernails comes closest to 1 cm in width? What is the length between your thumb tip and extended index finger tip? If no, why not?

Roaster/Production Operative. Coffee for The People by The Coffee People. Our Values: The Role:

1. What is made when a solute is dissolved in a solvent?

Promote and support advanced computing to further Tier-One research and education at the University of Houston

THE STEEL DETAILER SolidWorks 2016 INSTALLATION PROCEDURE

The grade 5 English science unit, Solutions, meets the academic content standards set in the Korean curriculum, which state students should:

BLT-E ELECTRIC FLOOR MODEL BRAISING PAN WITH MANUAL TILT INSTALLATION OPERATION MAINTENANCE

Biologist at Work! Experiment: Width across knuckles of: left hand. cm... right hand. cm. Analysis: Decision: /13 cm. Name

Managing Multiple Ontologies in Protégé

Table of Contents. Angelique Shepherd Event Manager Event Coordinator

Learning Connectivity Networks from High-Dimensional Point Processes

Mechanical Canopy and Crop Load Management of Pinot Gris. Joseph P. Geller and S. Kaan Kurtural

world i n w h i c h n o b o d y t a k e s the first step?

Home Cooking for Fat Loss New Year s Shake Up

The aim of the thesis is to determine the economic efficiency of production factors utilization in S.C. AGROINDUSTRIALA BUCIUM S.A.

DOWNLOAD OR READ : RUBY 39 S CHINESE NEW YEAR PDF EBOOK EPUB MOBI

Functions Modeling Change A Preparation for Calculus Third Edition

KITCHEN LAYOUT & DESIGN

CLEVER COFFEE SOLUTIONS. Networked coffee machines mean better business

Food waste prevention and donation. Ferrara 10 November 2017

Restaurants. lainox cooking system. How to guarantee excellent daily service stress-free and in complete safety! lainox cooking system

Look carefully at the picture of the river. Read the words given below. Boat, flowing water, blue, fish, water-plants, river, foul smell, big ship,

GLOSSARY Last Updated: 10/17/ KL. Terms and Definitions

Introduction to Measurement and Error Analysis: Measuring the Density of a Solution

Transcription:

SAT Planning in Description Logics: Solving the Classical Wolf Goat Cabbage Riddle Michael Wessel 2014 06-30

Wolf Goat (Sheep) Cabbage Riddle A shepherd (= ferryman in the following), wolf, goat, and cabbage want to cross the river. The boat only hosts two. The wolf and goat (sheep?) cannot be left alone together. The cabbage and goat cannot be left alone. How can they safely cross the river?

Sat Plan Is a planning problem Reduction of planning to SAT (propositional case) SAT ( plan /\ start /\ goal /\ actions /\ ) = true iff Plan = <step_1 = start, step_2,, step_n = goal> (see Russell & Norvig s AIMA book for full details) Problem: length n of plan unknown (try all ) Propositional logic: proliferation of symbols Here more symbol efficient reduction to modal logic / description logics

Logical Signature Next is a functional relation (feature) Each logical symbol can be in 4 different states goat-a (goat on A river bank) goat-b (goat on B river bank) goat-on-boat-from-a-to-b goat-on-boat-from-b-to-a

Axioms to Constrain Possible Worlds Need axioms that describe the possible next states

Successor State Axioms If the boat is on riverbank A, the next it is going from A to B If the boat is going from A to B, then next it is on riverbank B, etc. (implies boat-a (all next boat-from-a-to-b)) (implies boat-from-a-to-b (all next boat-b)) x : boat-from-a-to-b x y : next x, y boat-b(y) (implies boat-b (all next boat-from-b-to-a)) (implies boat-from-b-to-a (all next boat-a)) KRSS Syntax

Some More Constraints If the boat is going from A to B, then the boat cannot go alone (the ferryman has to go with it) It should not go with only the ferryman however, it can go back from B to A with only the ferryman! the boat has capacity for ferryman and one other object (implies boat-from-a-to-b x : boat-from-a-to-b x (and ferryman-boat-from-a-to-b (or cabbage-boat-from-a-to-b wolf-boat-from-a-to-b goat-boat-from-a-to-b) (not (and cabbage-boat-from-a-to-b wolf-boat-from-a-to-b)) (not (and cabbage-boat-from-a-to-b goat-boat-from-a-to-b)) (not (and wolf-boat-from-a-to-b goat-boat-from-a-to-b)))) ferryman-boat-from-a-to-b x ( cabbage-boat-from-a-to-b(x) wolf-boat-from-a-to-b(x) goat-boat-from-a-to-b(x) ) ~ ( cabbage-boat-from-a-to-b x wolf-boat-from-a-to-b x ~ ( cabbage-boat-from-a-to-b x goat-boat-from-a-to-b x ~ ( wolf-boat-from-a-to-b x goat-boat-from-a-to-b(x) )

Further Axioms Ensure cabbage and goat, and wolf and goat, are not alone Ensure every object can only be at one place at a time Make sure objects don t disappear every state specifies that goat, boat, etc. exists somewhere (implies (and wolf-a goat-a) ferryman-a) (implies (and wolf-b goat-b) ferryman-b) (implies (and cabbage-a goat-a) ferryman-a) (implies (and cabbage-b goat-b) ferryman-b) (disjoint goat-a goat-b goat-boat-from-a-to-b goat-boat-from-b-to-a) (implies goat (or goat-a goat-b goat-boat-from-a-to-b goat-boat-from-b-to-a))

States, Start, Goal Every state is either a goal or has some next state Every state specifies the state of all objects Start state = all objects on riverbank A Goal state = all objects on riverbank B (implies goat (or goat-a goat-b goat-boat-from-a-to-b goat-boat-from-b-to-a)) (implies state (and (or goal (some next state)) goat wolf cabbage ferryman boat)) KRSS Syntax (implies start (and state boat-a goat-a wolf-a cabbage-a ferryman-a)) (implies goal (and state boat-b goat-b wolf-b cabbage-b ferryman-b))

Verifying a Solution Check satisfiability of formula (and start (some next (some next (some next (some next goal)))) There is a solution for n = 14 and also a surprising one however, we need an ABox to read off the solution!

Create ABox to Read off Entailed Individual Types via Abox Query (instance s1 start) (related s1 s2 next) (related s2 s3 next) (related s3 s4 next) (related s13 s14 next) (related s14 s15 next) (instance s15 goal)? (retrieve (?x (types?x)) (?x state))? (retrieve (?x (types?x)) (?x state)) > (((?X S1) ((BOAT-A) (CABBAGE-A) (FERRYMAN-A) (GOAT-A) (START) (WOLF-A))) ((?X S2) ((BOAT-FROM-A-TO-B FERRYMAN-BOAT-FROM-A-TO-B) (CABBAGE-A) (GOAT-BOAT-FROM-A-TO-B) (WOLF-A))) ((?X S3) ((BOAT-B) (CABBAGE-A) (FERRYMAN-B) (GOAT-B) (WOLF-A))) ((?X S4) ((BOAT-FROM-B-TO-A FERRYMAN-BOAT-FROM-B-TO-A) (CABBAGE-A) (GOAT-B) (WOLF-A))) ((?X S5) ((BOAT-A) (CABBAGE-A) (FERRYMAN-A) (GOAT-B) (WOLF-A))) ((?X S6) ((BOAT-FROM-A-TO-B FERRYMAN-BOAT-FROM-A-TO-B) (GOAT-B) )) ((?X S7) ((BOAT-B) (FERRYMAN-B) (GOAT-B) )) ((?X S8) ((BOAT-FROM-B-TO-A FERRYMAN-BOAT-FROM-B-TO-A) (GOAT-BOAT-FROM-B-TO-A) )) ((?X S9) ((BOAT-A) (FERRYMAN-A) (GOAT-A) )) ((?X S10) ((BOAT-FROM-A-TO-B FERRYMAN-BOAT-FROM-A-TO-B) (GOAT-A) )) ((?X S11) ((BOAT-B) (CABBAGE-B) (FERRYMAN-B) (GOAT-A) (WOLF-B))) ((?X S12) ((BOAT-FROM-B-TO-A FERRYMAN-BOAT-FROM-B-TO-A) (CABBAGE-B) (GOAT-A) (WOLF-B))) ((?X S13) ((BOAT-A) (CABBAGE-B) (FERRYMAN-A) (GOAT-A) (WOLF-B))) ((?X S14) ((BOAT-FROM-A-TO-B FERRYMAN-BOAT-FROM-A-TO-B) (CABBAGE-B) (GOAT-BOAT-FROM-A-TO-B) (WOLF-B))) ((?X S15) ((BOAT-B) (CABBAGE-B) (FERRYMAN-B) (GOAL) (GOAT-B) (WOLF-B)))

Two Possible Solutions!? (retrieve (?x (types?x)) (?x state)) > (((?X S1) ((BOAT-A) (CABBAGE-A) (FERRYMAN-A) (GOAT-A) (START) (WOLF-A))) ((?X S2) ((BOAT-FROM-A-TO-B FERRYMAN-BOAT-FROM-A-TO-B) (CABBAGE-A) (GOAT-BOAT-FROM-A-TO-B) (WOLF-A))) ((?X S3) ((BOAT-B) (CABBAGE-A) (FERRYMAN-B) (GOAT-B) (WOLF-A))) ((?X S4) ((BOAT-FROM-B-TO-A FERRYMAN-BOAT-FROM-B-TO-A) (CABBAGE-A) (GOAT-B) (WOLF-A))) ((?X S5) ((BOAT-A) (CABBAGE-A) (FERRYMAN-A) (GOAT-B) (WOLF-A))) ((?X S6) ((CABBAGE-BOAT-FROM-A-TO-B) ) ((?X S7) ((CABBAGE-B) (GOAT-B) ) ((?X S8) ((GOAT-BOAT-FROM-B-TO-A) ) ((?X S9) ((FERRYMAN-A) ) ((?X S10) ((WOLF-BOAT-FROM-A-TO-B) ) ((?X S6) ((WOLF-BOAT-FROM-A-TO-B) ) ((?X S7) ((WOLF-B) (GOAT-B) ) ((?X S8) ((GOAT-BOAT-FROM-B-TO-A) ) ((?X S9) ((FERRYMAN-A) ) ((?X S10) ((CABBAGE-BOAT-FROM-A-TO-B) ) ((?X S11) ((BOAT-B) (CABBAGE-B) (FERRYMAN-B) (GOAT-A) (WOLF-B))) ((?X S12) ((BOAT-FROM-B-TO-A FERRYMAN-BOAT-FROM-B-TO-A) (CABBAGE-B) (GOAT-A) (WOLF-B))) ((?X S13) ((BOAT-A) (CABBAGE-B) (FERRYMAN-A) (GOAT-A) (WOLF-B))) ((?X S14) ((BOAT-FROM-A-TO-B FERRYMAN-BOAT-FROM-A-TO-B) (CABBAGE-B) (GOAT-BOAT-FROM-A-TO-B) (WOLF-B))) ((?X S15) ((BOAT-B) (CABBAGE-B) (FERRYMAN-B) (GOAL) (GOAT-B) (WOLF-B)))

The Official Solution

Racer via JRacer API Load wzk-via- Load wzk-viaporter.racer

User this button to get all types on a node Change options as shown here computation of graph takes about 5 seconds