SHOP2. Modelling for and using a hierarchical planner. Ilche Georgievski Room: IAAS

Size: px
Start display at page:

Download "SHOP2. Modelling for and using a hierarchical planner. Ilche Georgievski Room: IAAS"

Transcription

1 SHOP2 Modelling for and using a hierarchical planner Ilche Georgievski ilche.georgievski@iaas.uni-stuttgart.de Room: IAAS /2018 Spring

2 Why hierarchies? Easily understandable Different levels of abstractions Many real-world domains are intrinsically hierarchical Library classification DNS Star system

3 Hierarchies in planning (1) We may have an idea how to go about solving some problems Recipes why not use them? Instructions of how to do something Write actions and tasks that do fit the recipe Speed up planning Don t waste time to construct plans from individual actions Avoid exponential explosion

4 Hierarchies in planning (2) Reduce complexity Abstractions hide details Disadvantage Writing a planning domain is complicated (or more complicated than writing actions for classical planning) Abstractions hide conflicts too

5 Recap: HTN Planning Tasks Compound abstractions Primitive we know how to execute them directly Task network Tasks and their ordering Methods Ways to decompose compound tasks into subtasks (task network) Operators Achieve primitive tasks Actions in classical planning Initial state Predicates that are true Initial task network

6 Domain Modelling No standard language specification (yet) Hierarchical Planning Definition Language (HPDL) Attempt to standardize based on PDDL SIADEX and SH planners Each planner has ist own syntax SHOP2 specification syntax For the SHOP familiy of planners

7 SHOP2 planner Simple Hierarchical Ordered Planner Partial-order forward decomposition Domain configurable Turing-complete, sound and complete Won a distinguished award at the 3rd International Planning Competition

8 SHOP2 planner Input: tasks are partially ordered Output: totally ordered plan It knows the state at each planning step Make use of it to prune actions It is easy to call external programs, perform numeric operations, etc. Can be used to create efficient domainspecific planning algorithms

9 SHOP2 Syntax First-order logic Uses schematic encodings Lisp-like syntax More or less the same syntax for JSHOP2, the Java implementation of SHOP2

10 SHOP2 Components Predicates are properties of objects that can be true or false Operators describe ways of changing the state of the world Methods are ways of accomplishing our tasks (instructions) Initial state is the state of the world in which we start Initial task network contains the methods we want to perform and their ordering Axioms are statements not explicitly present in the planning state, but their logical value is inferred from the predicates in the state (Horn clauses)

11 Two parts of SHOP2 modelling Planner s input separated into two files Domain file for operators and methods Problem file for the initial state and initial task network SHOP2 files have a.lisp extension JSHOP2 files have no extension

12 SHOP2 Domain File Basic structure of domain files: (defdomain <domain-name> <SHOP2 code for operator schemas> <SHOP2 code for method schemas> ) <domain-name> is a string the identifies the application domain

13 SHOP2 Problem File Basic structure of problem files: (defproblem <problem-name> <domain-name> ) <SHOP2 code for the initial state> <SHOP2 code for the initial task network> <problem-name> is a string that identifies the planning problem <domain-name> must match the domain name in the corresponding domain file

14 TARS, the Gripper A gripping planning problem with four balls* TARS, a smart home robot, can move between boy s room and girl s room, and can pick up or drop balls with either of his two arms. Initially, all balls and TARS are in the boy s room. We want the balls to be in the girl s room. *As in the gripper planning domain found on Internet

15 TARS, the Gripper Instructions for how to move a ball to some destination What do we already now? Pick up a ball, move the robot, and drop the ball Pick up two balls, move the robot, drop the balls

16 TARS, the Gripper Predicates: Is ball x inside room y? Is TARS arm x empty? [ ] Operators: TARS can move between the rooms, pick up a ball or drop a ball. Tasks: move a ball, carry a ball, leave a ball Initial state: all balls and TARS are in the boy s room. Both TARS arms are empty. [ ] Initial task network: move all four balls.

17 TARS, the Gripper: Predicates Predicates: at-robot(x) at-ball(x, y) free(x) carry(x, y) true iff x is a room and TARS is in x true iff x is a ball, y is a room, and x is in y true iff x is an arm and x does not hold a ball true iff x is an arm, y is a ball, and x holds y SHOP2: predicates are not listed in the domain (in contrast to PDDL)

18 TARS, the Gripper: Movement Operator (1) Operator: Description: Precondition: Effect: TARS can move from x to y Empty. Knowledge transferred into the methods. at-robot(y) becomes true. at-robot(x) becomes false. Everything else does not change.

19 TARS, the Gripper: Movement Operator (2) SHOP2: Operators begin with! (:operator (!move?x?y) () ((at-robot?x)) ((at-robot?y)) ) Precondition Delete list Add list Effect

20 TARS, the Gripper: Pick-up Operator Operator: Description: Precondition: Effect: TARS can pick up x with y in z Empty. Knowledge transferred into the methods. carry(z, x) becomes true. at-ball(x, y) and free(z) become false. Everything else does not change. SHOP2: (:operator (!pick-up (?x?y?z) () ((at-ball?x?y) (free?z)) ((carry?z?x)) )

21 TARS, the Gripper: Drop Operator Operator: Description: TARS can drop x in y from z Preconditions and effects similar to the pick-up operator. SHOP2: (:operator (!drop (?x?y?z) () ((carry?z?x)) ((at-ball?x?y) (free?z)) )

22 TARS, the Gripper: Move a Ball Task (1) Task: Description: What needs to be done for TARS to move a ball x to y Method 1 Description: Precondition: Subtasks: If x is already at the destination, do not do anything. at-ball(x,y) is true. No subtasks. Method 2 Description: Precondition: Subtasks: If there is a ball x to be moved, make sure TARS is in the same room z, so that he can take x, move to y and leave x. at-ball(x,z) is true. move-robot(y,z), take(x,z), move-robot(z,y),leave(x,y).

23 TARS, the Gripper: Move a Ball Task (2) SHOP2: :method is used to define all possible ways of achieving a task (:method (move-ball?ball?to) ((at-ball?ball?to)) () Precondition Subtasks Method 1 ) ((at-ball?ball?from)) ((move-robot?to?from) (take?ball?from) (move-robot?from?to) (leave?ball?to)) Precondition Subtasks Method 2

24 TARS, the Gripper: Move the Robot Task (1) Task: Description: What needs to be done for TARS to move from x to y Description: Precondition: Subtasks: Method 1 If TARS is already at y, do not do anything. at-robot(y) is true. No subtasks. Method 2 Description: If TARS is at x, make him move to y. Precondition: at-robot(x) is true. Subtasks: move(x,y).

25 TARS, the Gripper: Move the Robot Task (2) SHOP2: (:method (move-robot?from?to) ((at-robot?to)) () ) ((at-robot?from)) ((!move?from?to))

26 TARS, the Gripper: Take a Ball Task Task: Description: What needs to be done for TARS to take a ball x at y Method 1 Description: Precondition: Subtasks: If TARS has a free arm and is in the same room as the ball, he can pick x up. free(z) and at-robot(y) are true. pick-up(x,y,z) SHOP2: (:method (take?ball?from) ) ((free?arm) (at-robot?from)) ((!pick-up?ball?from?arm))

27 TARS, the Gripper: Leave a Ball Task Task: Description: What needs to be done for TARS to leave a ball x at y. Method 1 Description: If TARS is carrying x and is at y, he can drop x. Precondition: Subtasks: carry(x,z) and at-robot(y) are true. drop(x,y,z). SHOP2: (:method (leave?ball?to) ) ((carry?ball?arm) (at-robot?to)) ((!drop?ball?to?arm))

28 TARS, the Gripper: Initial State (1) Initial state: free(left) and free(right) are true. at-robot(boyroom) is true. at-ball(blueball, boyroom),, at-ball(yellowball, boyroom) are true. Everything else is false.

29 TARS, the Gripper: Initial state (2) SHOP2: ( ) (free left) (free right) (at-robot boyroom) (at-ball blueball boyroom) (at-ball greenroom boyroom) (at-ball pinkball boyroom) (at-ball yellowball boyroom)

30 TARS, the Gripper: Initial Task Network Initial task network: move-ball(blueball, girlroom),, move-ball(yellowball, girlroom) must be performed and they can be performed in any order. Everything else is not important. SHOP2: (:unordered (move-ball blueball girlroom) (move-ball greenball girlroom) (move-ball pinkball girlroom) (move-ball yellowball girlroom) )

31 SHOP2 Written in Common Lisp Requirements Common Lisp installed (e.g., Allegro Common Lisp v8.2) Linux and Mac OS X Windows (under the assumption that ASDF system definitions are set properly) Download, installation and usage instructions here (github fork of the original SourceForce CSV repository)

32 JSHOP2 Java implementation of SHOP2 Download Documentation (JSHOP2.pdf) included in the.zip file Some syntax differences with SHOP2 Operator s preconditions cannot be omitted Smaller range of possible symbol names Keywords :task, :ordered and list are not supported Requirements JDK installed

33 JSHOP2 Installation Unzip the JSHOP2 zipped file Set the CLASSPATH environment variable to include On Windows: JSHOP2_DIRECTORY\bin\antlr.jar;JSHOP2_DIRECTORY\bi n\jshop2.jar;. On UNIX: JSHOP2_DIRECTORY/bin/antlr.jar:JSHOP2_DIRECTORY/bi n/jshop2.jar:. Replace JSHOP2_DIRECTORY with the directory where JSHOP2 is unzipped

34 JSHOP2 Compiling the source make or make c Running the planner For domains included in the.zip file: make <num>, where <num> is a number between 1 and 11 repesenting a domain from the included examples Your own domain java JSHOP2.InternalDomain <domain file> Choose: java JSHOP2.InternalDomain r <problem file> for a single plan, java JSHOP2.InternalDomain r<num> <problem file> for a <num> number of plans, or java JSHOP2.InternalDomain ra <problem file> for all possible plans javac <problem-name>.java java <problem-name> Programatically

35 TARS, the Gripper, JSHOP2 output (1)

36 TARS, the Gripper, JSHOP2 output (2)

37 References Ilghami, O. Documentation for JSHOP2, University of Maryland Nau, Dana S. Hierarchical Task Network Planning. Lecture slides for Automated Planning: Theory and Practice. University of Maryland

38 Report Submission Update your specification document Project title Project team members Update your sections as you see fit Include a Reflection section Did you implement everything you wanted? If not, why? What would you do differently with your project given the knowledge and experience you now have? Submit the report PDF document (no slides!) Deadline: Friday 20 th July 23:59. Where: marco.aiello@iaas.uni-stuttgart.de and ilche.georgievski@iaas.uni-stuttgart.de

39 Final Demo Date: Monday 23 rd July Room: 0.353, Universitätsstraße 38 Time: Group 1 9:30 Group 2 9:50 Group 11 10:10 Group 4 10:30 Group 5 10:50 Group 6 11:10 Group 7 11:30 Group 8 11:50 Group 10 12:10 Group 3 12:30

Cognitive Robotics. Planning: Plan Domain Description Language. Matteo Matteucci

Cognitive Robotics. Planning: Plan Domain Description Language. Matteo Matteucci Cognitive Robotics Planning: Plan Domain Description Language Matteo Matteucci matteo.matteucci@polimi.it Artificial Intelligence and Robotics Lab - Politecnico di Milano Planning Problems in Artificial

More information

Cognitive Robotics Introduction Matteo Matteucci

Cognitive Robotics Introduction Matteo Matteucci Cognitive Robotics Introduction About me and my lectures Lectures given by Matteo Matteucci +39 02 2399 3470 matteo.matteucci@polimi.it http://www.deib.polimi.it/people/matteucci Research Topics (several

More information

Documentation for JSHOP2

Documentation for JSHOP2 Documentation for JSHOP2 Okhtay Ilghami Department of Computer Science University of Maryland College Park, MD 20742 USA okhtay@cs.umd.edu Technical Report CS-TR-4694 May 9, 2006 Contents 1 Introduction

More information

Hierarchical Task Network (HTN) Planning

Hierarchical Task Network (HTN) Planning Sec. 12.2 p.1/25 Hierarchical Task Network (HTN) Planning Section 12.2 Sec. 12.2 p.2/25 Outline Example Primitive vs. non-primitive operators HTN planning algorithm Practical planners Additional references

More information

SECTION 2: CODE REASONING + PROGRAMMING TOOLS. slides borrowed and adapted from Alex Mariakis and CSE 390a

SECTION 2: CODE REASONING + PROGRAMMING TOOLS. slides borrowed and adapted from Alex Mariakis and CSE 390a SECTION 2: CODE REASONING + PROGRAMMING TOOLS cse331-staff@cs.washington.edu slides borrowed and adapted from Alex Mariakis and CSE 390a OUTLINE Reasoning about code Developer tools Eclipse and Java versions

More information

CMSC424: Programming Project

CMSC424: Programming Project CMSC424: Programming Project Due: April 24, 2012 There are two parts to this assignment. The first one involves generating and analyzing the query plans that Oracle generates. The second part asks you

More information

CS 4649/7649 Robot Intelligence: Planning

CS 4649/7649 Robot Intelligence: Planning CS 4649/7649 Robot Intelligence: Planning Hierarchical Network Planning Sungmoon Joo School of Interactive Computing College of Computing Georgia Institute of Technology S. Joo (sungmoon.joo@cc.gatech.edu)

More information

Integrating HTN Planning and Semantic Web Ontologies for Efficient Information Integration

Integrating HTN Planning and Semantic Web Ontologies for Efficient Information Integration Integrating HTN Planning and Semantic Web Ontologies for Efficient Information Integration Jeff Heflin and Hector Muñoz-Avila Dept. of Computer Science & Engineering Lehigh University 19 Memorial Drive

More information

A deterministic action is a partial function from states to states. It is partial because not every action can be carried out in every state

A deterministic action is a partial function from states to states. It is partial because not every action can be carried out in every state CmSc310 Artificial Intelligence Classical Planning 1. Introduction Planning is about how an agent achieves its goals. To achieve anything but the simplest goals, an agent must reason about its future.

More information

HTN Planning for Web Service Composition Using SHOP2

HTN Planning for Web Service Composition Using SHOP2 HTN Planning for Web Service Composition Using SHOP2 Evren Sirin a, Bijan Parsia b, Dan Wu a, James Hendler a, Dana Nau a a University of Maryland, Computer Science Department, College Park MD 20742, USA

More information

Programming in Java

Programming in Java 320341 Programming in Java Fall Semester 2014 Lecture 5: Packages Instructor: Slides: Jürgen Schönwälder Bendick Mahleko Objectives The objective of this lecture is to - Introduce packages in Java page

More information

IT151: Introduction to Programming (java)

IT151: Introduction to Programming (java) IT151: Introduction to Programming (java) Programming Basics Program A set of instructions that a computer uses to do something. Programming / Develop The act of creating or changing a program Programmer

More information

Hierarchical Task Networks

Hierarchical Task Networks Hierarchical Task Networks Planning to perform tasks rather than to achieve goals Literature Malik Ghallab, Dana Nau, and Paolo Traverso. Automated Planning Theory and Practice, chapter 11. Elsevier/Morgan

More information

Classical Planning Problems: Representation Languages

Classical Planning Problems: Representation Languages jonas.kvarnstrom@liu.se 2017 Classical Planning Problems: Representation Languages History: 1959 3 The language of Artificial Intelligence was/is logic First-order, second-order, modal, 1959: General

More information

Assignment Tutorial.

Assignment Tutorial. Assignment Tutorial rudolf.lam@mail.mcgill.ca What we are looking at today Overview Demo Why Motivation for this lecture on assignment How The way the assignment is run What The components of the assignment

More information

Planning. Outside Materials (see Materials page)

Planning. Outside Materials (see Materials page) Planning Outside Materials (see Materials page) What is Planning? Given: A way to describe the world An ini

More information

CS 61B Data Structures and Programming Methodology. July 3, 2008 David Sun

CS 61B Data Structures and Programming Methodology. July 3, 2008 David Sun CS 61B Data Structures and Programming Methodology July 3, 2008 David Sun Announcements Project 1 is out! Due July 15 th. Check the course website. Reminder: the class newsgroup ucb.class.cs61b should

More information

HTN Planning for Web Service Composition Using SHOP2

HTN Planning for Web Service Composition Using SHOP2 HTN Planning for Web Service Composition Using SHOP2 Evren Sirin a, Bijan Parsia b, Dan Wu a, James Hendler a, Dana Nau a a University of Maryland, Computer Science Department, College Park MD 20742, USA

More information

Com S 541. Programming Languages I

Com S 541. Programming Languages I Programming Languages I Lecturer: TA: Markus Lumpe Department of Computer Science 113 Atanasoff Hall http://www.cs.iastate.edu/~lumpe/coms541.html TR 12:40-2, W 5 Pramod Bhanu Rama Rao Office hours: TR

More information

CMSC424: Programming Project

CMSC424: Programming Project CMSC424: Programming Project Due: April 24, 2012 There are two parts to this assignment. The first one involves generating and analyzing the query plans that Oracle generates. The second part asks you

More information

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209 CSC209 Software Tools and Systems Programming https://mcs.utm.utoronto.ca/~209 What is this Course About? Software Tools Using them Building them Systems Programming Quirks of C The file system System

More information

CPSC : Program 3, Perceptron and Backpropagation

CPSC : Program 3, Perceptron and Backpropagation CPSC 420-500: Program 3, Perceptron and Backpropagation Yoonsuck Choe Department of Computer Science Texas A&M University October 31, 2008 1 Overview You will implement perceptron learning from scratch

More information

(Provisional) Lecture 08: List recursion and recursive diagrams 10:00 AM, Sep 22, 2017

(Provisional) Lecture 08: List recursion and recursive diagrams 10:00 AM, Sep 22, 2017 Integrated Introduction to Computer Science Hughes (Provisional) Lecture 08: List recursion and recursive diagrams 10:00 AM, Sep 22, 2017 Contents 1 Announcements 1 2 Evaluation Correction 1 3 Lists 2

More information

Assignment Submission HOWTO

Assignment Submission HOWTO Assignment Submission HOWTO This document provides detailed instructions on: 1. How to submit an assignment via Blackboard 2. How to create a zip file and check its contents 3. How to make file extensions

More information

Web Services and Planning or How to Render an Ontology of Random Buzzwords Useful? Presented by Zvi Topol. May 12 th, 2004

Web Services and Planning or How to Render an Ontology of Random Buzzwords Useful? Presented by Zvi Topol. May 12 th, 2004 Web Services and Planning or How to Render an Ontology of Random Buzzwords Useful? Presented by Zvi Topol May 12 th, 2004 Agenda Web Services Semantic Web OWL-S Composition of Web Services using HTN Planning

More information

ASSIGNMENT 5 Data Structures, Files, Exceptions, and To-Do Lists

ASSIGNMENT 5 Data Structures, Files, Exceptions, and To-Do Lists ASSIGNMENT 5 Data Structures, Files, Exceptions, and To-Do Lists COMP-202B, Winter 2009, All Sections Due: Tuesday, April 14, 2009 (23:55) You MUST do this assignment individually and, unless otherwise

More information

Compiling Techniques

Compiling Techniques Lecture 12: Code Shapes (EaC Chapter 7) 17 November 2015 Coursework Demo: Friday 4th of December In order to comply with the school regulations, you will have to give a demonstration of your compiler.

More information

Data Structures and Algorithms

Data Structures and Algorithms CS 3114 Data Structures and Algorithms 1 Trinity College Library Univ. of Dublin Instructors and Course Information 2 William D McQuain Email: Office: Office Hours: wmcquain@cs.vt.edu 634 McBryde Hall

More information

Planning as Search. Progression. Partial-Order causal link: UCPOP. Node. World State. Partial Plans World States. Regress Action.

Planning as Search. Progression. Partial-Order causal link: UCPOP. Node. World State. Partial Plans World States. Regress Action. Planning as Search State Space Plan Space Algorihtm Progression Regression Partial-Order causal link: UCPOP Node World State Set of Partial Plans World States Edge Apply Action If prec satisfied, Add adds,

More information

Lab 1: Silver Dollar Game 1 CSCI 2101B Fall 2018

Lab 1: Silver Dollar Game 1 CSCI 2101B Fall 2018 Lab 1: Silver Dollar Game 1 CSCI 2101B Fall 2018 Due: Tuesday, September 18, 11:59 pm Collaboration Policy: Level 1 (review full policy for details) Group Policy: Individual This lab will give you experience

More information

FUNCTIONAL DEPENDENCIES

FUNCTIONAL DEPENDENCIES FUNCTIONAL DEPENDENCIES CS 564- Spring 2018 ACKs: Dan Suciu, Jignesh Patel, AnHai Doan WHAT IS THIS LECTURE ABOUT? Database Design Theory: Functional Dependencies Armstrong s rules The Closure Algorithm

More information

CSC 418/2504 Computer Graphics, Winter 2012 Assignment 1 (10% of course grade)

CSC 418/2504 Computer Graphics, Winter 2012 Assignment 1 (10% of course grade) CSC 418/2504 Computer Graphics, Winter 2012 Assignment 1 (10% of course grade) Part A [50 marks in total] Due 11:59pm onwed., Feb. 8, 2012. Below are 4 exercises covering di erent topics from the first

More information

Scope. Chapter Ten Modern Programming Languages 1

Scope. Chapter Ten Modern Programming Languages 1 Scope Chapter Ten Modern Programming Languages 1 Reusing Names Scope is trivial if you have a unique name for everything: fun square a = a * a; fun double b = b + b; But in modern languages, we often use

More information

Prof. Dr. A. Podelski, Sommersemester 2017 Dr. B. Westphal. Softwaretechnik/Software Engineering

Prof. Dr. A. Podelski, Sommersemester 2017 Dr. B. Westphal. Softwaretechnik/Software Engineering Prof. Dr. A. Podelski, Sommersemester 2017 Dr. B. Westphal Softwaretechnik/Software Engineering http://swt.informatik.uni-freiburg.de/teaching/ss2017/swtvl Exercise Sheet 6 Early submission: Wednesday,

More information

Components of a Planning System

Components of a Planning System Planning Components of a Planning System In any general problem solving systems, elementary techniques to perform following functions are required Choose the best rule (based on heuristics) to be applied

More information

ASSIGNMENT 3 Classes, Objects and the Robot World

ASSIGNMENT 3 Classes, Objects and the Robot World ASSIGNMENT 3 Classes, Objects and the Robot World COMP-202B, Winter 2009, All Sections Due: Tuesday, March 3, 2009 (23:55) You MUST do this assignment individually and, unless otherwise specified, you

More information

143a, Spring 2018 Discussion Week 4 Programming Assignment. Jia Chen 27 Apr 2018

143a, Spring 2018 Discussion Week 4 Programming Assignment. Jia Chen 27 Apr 2018 143a, Spring 2018 Discussion Week 4 Programming Assignment Jia Chen 27 Apr 2018 Annoucements HW2 posted due Friday, May 4, 2018, 11:55 PM Programming Assignment posted due Friday, Jun 1, 2018, 11:55 PM

More information

A Small Interpreted Language

A Small Interpreted Language A Small Interpreted Language What would you need to build a small computing language based on mathematical principles? The language should be simple, Turing equivalent (i.e.: it can compute anything that

More information

Running Java Programs

Running Java Programs Running Java Programs Written by: Keith Fenske, http://www.psc-consulting.ca/fenske/ First version: Thursday, 10 January 2008 Document revised: Saturday, 13 February 2010 Copyright 2008, 2010 by Keith

More information

Chapter 1 Introduc0on

Chapter 1 Introduc0on Lecture slides for Automated Planning: Theory and Practice Chapter 1 Introduc0on Dana S. Nau University of Maryland Updated 3:03 PM December 14, 2013 1 Some Dic0onary Defini0ons of Plan plan n. 1. A scheme,

More information

ASSIGNMENT 4 Records and Objects

ASSIGNMENT 4 Records and Objects ASSIGNMENT 4 Records and Objects COMP-202B, Winter 2010, All Sections Due: Wednesday, March 31, 2010 (23:55) You MUST do this assignment individually and, unless otherwise specified, you MUST follow all

More information

SHOP2: An HTN Planning System

SHOP2: An HTN Planning System Journal of Artificial Intelligence Research 20 (2003) 379-404 Submitted 10/02; published 12/03 SHOP2: An HTN Planning System Dana Nau Dept. of Computer Science, and Institute for Systems Research University

More information

CPSC Tutorial 4 Visual Studio and C#

CPSC Tutorial 4 Visual Studio and C# CPSC 481 - Tutorial 4 Visual Studio and C# (based on previous tutorials by Alice Thudt, Fateme Rajabiyazdi, David Ledo, Brennan Jones, and Sowmya Somanath) Today Intro to Assignment 2 Visual Studio Intro

More information

Tips from the experts: How to waste a lot of time on this assignment

Tips from the experts: How to waste a lot of time on this assignment Com S 227 Spring 2018 Assignment 1 80 points Due Date: Friday, February 2, 11:59 pm (midnight) Late deadline (25% penalty): Monday, February 5, 11:59 pm General information This assignment is to be done

More information

How to utilize the CM-9 source

How to utilize the CM-9 source How to utilize the CM-9 source The CM-900 s hardware and software are open-source. You can access the source via Github. You can use the source to develop your own robot development environment and share

More information

Establishing the overall structure of a software system

Establishing the overall structure of a software system Architectural Design Establishing the overall structure of a software system Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13 Slide 1 Objectives To introduce architectural design and

More information

Com S 227 Assignment Submission HOWTO

Com S 227 Assignment Submission HOWTO Com S 227 Assignment Submission HOWTO This document provides detailed instructions on: 1. How to submit an assignment via Canvas and check it 3. How to examine the contents of a zip file 3. How to create

More information

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209 CSC209 Software Tools and Systems Programming https://mcs.utm.utoronto.ca/~209 What is this Course About? Software Tools Using them Building them Systems Programming Quirks of C The file system System

More information

Lab 7 1 Due Thu., 6 Apr. 2017

Lab 7 1 Due Thu., 6 Apr. 2017 Lab 7 1 Due Thu., 6 Apr. 2017 CMPSC 112 Introduction to Computer Science II (Spring 2017) Prof. John Wenskovitch http://cs.allegheny.edu/~jwenskovitch/teaching/cmpsc112 Lab 7 - Using Stacks to Create a

More information

COMP 346 Winter 2019 Programming Assignment 2

COMP 346 Winter 2019 Programming Assignment 2 COMP 346 Winter 2019 Programming Assignment 2 Due: 11:59 PM March 1 st, 2019 Mutual Exclusion and Barrier Synchronization 1. Objectives The objective of this assignment is to allow you to learn how to

More information

Artificial Intelligence II

Artificial Intelligence II Artificial Intelligence II 2013/2014 - Prof: Daniele Nardi, Joachim Hertzberg Exercitation 3 - Roberto Capobianco Planning: STRIPS, Partial Order Plans, Planning Graphs 1 STRIPS (Recap-1) Start situation;

More information

Primitive goal based ideas

Primitive goal based ideas Primitive goal based ideas Once you have the gold, your goal is to get back home s Holding( Gold, s) GoalLocation([1,1], s) How to work out actions to achieve the goal? Inference: Lots more axioms. Explodes.

More information

ASSIGNMENT 5 Objects, Files, and More Garage Management

ASSIGNMENT 5 Objects, Files, and More Garage Management ASSIGNMENT 5 Objects, Files, and More Garage Management COMP-202B, Winter 2010, All Sections Due: Wednesday, April 14, 2009 (23:55) You MUST do this assignment individually and, unless otherwise specified,

More information

CS 2750 Foundations of AI Lecture 17. Planning. Planning

CS 2750 Foundations of AI Lecture 17. Planning. Planning S 2750 Foundations of I Lecture 17 Planning Milos Hauskrecht milos@cs.pitt.edu 5329 Sennott Square Planning Planning problem: find a sequence of actions that achieves some goal an instance of a search

More information

CSE 344: Section 1 Git Setup for HW Introduction to SQLite. September 28, 2017

CSE 344: Section 1 Git Setup for HW Introduction to SQLite. September 28, 2017 CSE 344: Section 1 Git Setup for HW Introduction to SQLite September 28, 2017 1 Administrivia HW1 due on GitLab on Tuesday, October 3rd at 11:00 P.M. WQ1 due on Gradiance on Friday, October 6th at 11:59

More information

ASSIGNMENT 5 Objects, Files, and a Music Player

ASSIGNMENT 5 Objects, Files, and a Music Player ASSIGNMENT 5 Objects, Files, and a Music Player COMP-202A, Fall 2009, All Sections Due: Thursday, December 3, 2009 (23:55) You MUST do this assignment individually and, unless otherwise specified, you

More information

The Assignment-2 Specification and Marking Criteria

The Assignment-2 Specification and Marking Criteria The Assignment- Specification and Marking Criteria Java RMI (Remote Method Invocation, reference Chapter 5 of the textbook and Week-3 lecture) enables the local invocation and remote invocation use the

More information

Domain-Configurable Planning: Hierarchical Task Networks

Domain-Configurable Planning: Hierarchical Task Networks Automated Planning Domain-Configurable Planning: Hierarchical Task Networks Jonas Kvarnström Automated Planning Group Department of Computer and Information Science Linköping University jonas.kvarnstrom@liu.se

More information

Tips from the experts: How to waste a lot of time on this assignment

Tips from the experts: How to waste a lot of time on this assignment Com S 227 Spring 2018 Assignment 1 100 points Due Date: Friday, September 14, 11:59 pm (midnight) Late deadline (25% penalty): Monday, September 17, 11:59 pm General information This assignment is to be

More information

CS510 \ Lecture Ariel Stolerman

CS510 \ Lecture Ariel Stolerman CS510 \ Lecture02 2012-10-03 1 Ariel Stolerman Midterm Evan will email about that after the lecture, at least 2 lectures from now. The exam will be given in a regular PDF (not an online form). We will

More information

CS558 Programming Languages

CS558 Programming Languages CS558 Programming Languages Fall 2016 Lecture 7a Andrew Tolmach Portland State University 1994-2016 Values and Types We divide the universe of values according to types A type is a set of values and a

More information

CS3114 (Fall 2013) PROGRAMMING ASSIGNMENT #2 Due Tuesday, October 11:00 PM for 100 points Due Monday, October 11:00 PM for 10 point bonus

CS3114 (Fall 2013) PROGRAMMING ASSIGNMENT #2 Due Tuesday, October 11:00 PM for 100 points Due Monday, October 11:00 PM for 10 point bonus CS3114 (Fall 2013) PROGRAMMING ASSIGNMENT #2 Due Tuesday, October 15 @ 11:00 PM for 100 points Due Monday, October 14 @ 11:00 PM for 10 point bonus Updated: 10/10/2013 Assignment: This project continues

More information

1 What is Planning? automatic programming. cis716-spring2004-parsons-lect17 2

1 What is Planning? automatic programming. cis716-spring2004-parsons-lect17 2 PLANNING 1 What is Planning? Key problem facing agent is deciding what to do. We want agents to be taskable: give them goals to achieve, have them decide for themselves how to achieve them. Basic idea

More information

Implementing Some Foundations for a Computer-Grounded AI

Implementing Some Foundations for a Computer-Grounded AI Implementing Some Foundations for a Computer-Grounded AI Thomas Lin MIT 410 Memorial Drive Cambridge, MA 02139 tlin@mit.edu Abstract This project implemented some basic ideas about having AI programs that

More information

Intro. Scheme Basics. scm> 5 5. scm>

Intro. Scheme Basics. scm> 5 5. scm> Intro Let s take some time to talk about LISP. It stands for LISt Processing a way of coding using only lists! It sounds pretty radical, and it is. There are lots of cool things to know about LISP; if

More information

CSE 305 Programming Languages Spring, 2010 Homework 5 Maximum Points: 24 Due 10:30 AM, Friday, February 26, 2010

CSE 305 Programming Languages Spring, 2010 Homework 5 Maximum Points: 24 Due 10:30 AM, Friday, February 26, 2010 CSE 305 Programming Languages Spring, 2010 Homework 5 Maximum Points: 24 Due 10:30 AM, Friday, February 26, 2010 Professor Shapiro February 12, 2010 Write the answers in a file named hw5.txt. Put your

More information

Chapter 3 Complexity of Classical Planning

Chapter 3 Complexity of Classical Planning Lecture slides for Automated Planning: Theory and Practice Chapter 3 Complexity of Classical Planning Dana S. Nau CMSC 722, AI Planning University of Maryland, Spring 2008 Licensed under the Creative Commons

More information

public class Foo { private int var; public int Method1() { // var accessible anywhere here } public int MethodN() {

public class Foo { private int var; public int Method1() { // var accessible anywhere here } public int MethodN() { Scoping, Static Variables, Overloading, Packages In this lecture, we will examine in more detail the notion of scope for variables. We ve already indicated that variables only exist within the block they

More information

Getting Started with the FTC SDK. Jaxon Brown August 5, 2017

Getting Started with the FTC SDK. Jaxon Brown August 5, 2017 Getting Started with the FTC SDK Jaxon Brown August 5, 2017 Goals Install the Software Development Kit (SDK) Learn the Java basics How is the FTC SDK structured? Creating a basic Teleop Program Creating

More information

Finish Lec12 TREES, PART 2. Announcements. JavaHyperText topics. Trees, re-implemented. Iterate through data structure 3/7/19

Finish Lec12 TREES, PART 2. Announcements. JavaHyperText topics. Trees, re-implemented. Iterate through data structure 3/7/19 2 Finish Lec12 TREES, PART 2 Lecture 13 CS2110 Spring 2019 Announcements JavaHyperText topics 3 Prelim conflict quiz was due last night. Too late now to make changes. We won t be sending confirmations

More information

Scientific Software Development with Eclipse

Scientific Software Development with Eclipse Scientific Software Development with Eclipse A Best Practices for HPC Developers Webinar Gregory R. Watson ORNL is managed by UT-Battelle for the US Department of Energy Contents Downloading and Installing

More information

Intelligent Agents. State-Space Planning. Ute Schmid. Cognitive Systems, Applied Computer Science, Bamberg University. last change: 14.

Intelligent Agents. State-Space Planning. Ute Schmid. Cognitive Systems, Applied Computer Science, Bamberg University. last change: 14. Intelligent Agents State-Space Planning Ute Schmid Cognitive Systems, Applied Computer Science, Bamberg University last change: 14. April 2016 U. Schmid (CogSys) Intelligent Agents last change: 14. April

More information

Slide 1 CS 170 Java Programming 1 Duration: 00:00:49 Advance mode: Auto

Slide 1 CS 170 Java Programming 1 Duration: 00:00:49 Advance mode: Auto CS 170 Java Programming 1 Eclipse@Home Downloading, Installing and Customizing Eclipse at Home Slide 1 CS 170 Java Programming 1 Eclipse@Home Duration: 00:00:49 What is Eclipse? A full-featured professional

More information

ASSIGNMENT 4 Classes and Objects

ASSIGNMENT 4 Classes and Objects ASSIGNMENT 4 Classes and Objects COMP-202A, Fall 2010, All Sections Due: Friday, November 19, 2010 (23:55) You MUST do this assignment individually and, unless otherwise specified, you MUST follow all

More information

Project 1 Computer Science 2334 Spring 2016 This project is individual work. Each student must complete this assignment independently.

Project 1 Computer Science 2334 Spring 2016 This project is individual work. Each student must complete this assignment independently. Project 1 Computer Science 2334 Spring 2016 This project is individual work. Each student must complete this assignment independently. User Request: Create a simple movie data system. Milestones: 1. Use

More information

CPSC : Program 3, Perceptron and Backpropagation

CPSC : Program 3, Perceptron and Backpropagation CPSC 420-500: Program 3, Perceptron and Backpropagation Yoonsuck Choe Department of Computer Science Texas A&M University November 2, 2007 1 Overview You will implement perceptron learning from scratch

More information

CS110/CS119 Introduction to Computing (Java) Bob Wilson S-3-176

CS110/CS119 Introduction to Computing (Java) Bob Wilson S-3-176 CS110/CS119 Introduction to Computing (Java) Bob Wilson bobw@cs.umb.edu S-3-176 1 CS110 vs CSIT114/CSIT115 Two tracks for starting CS curriculum at UMB CS110 is a traditional one semester introduction

More information

Announcements. 1. Forms to return today after class:

Announcements. 1. Forms to return today after class: Announcements Handouts (3) to pick up 1. Forms to return today after class: Pretest (take during class later) Laptop information form (fill out during class later) Academic honesty form (must sign) 2.

More information

CS 11 java track: lecture 1

CS 11 java track: lecture 1 CS 11 java track: lecture 1 Administrivia need a CS cluster account http://www.cs.caltech.edu/ cgi-bin/sysadmin/account_request.cgi need to know UNIX www.its.caltech.edu/its/facilities/labsclusters/ unix/unixtutorial.shtml

More information

ENJOY! Problem 2 What does the following code do, in a brief English sentence? int mystery(int k) { int i = 0; if (k < 0) return -1;

ENJOY! Problem 2 What does the following code do, in a brief English sentence? int mystery(int k) { int i = 0; if (k < 0) return -1; Midterm Practice Problems TA: Brian Choi (schoi@cs.ucla.edu) Section Webpage: http://www.cs.ucla.edu/~schoi/cs31 ENJOY! Problem 1 True False Variable names can begin with an alphabet or a digit. True False

More information

SOFTWARE ENGINEERING DESIGN I

SOFTWARE ENGINEERING DESIGN I 2 SOFTWARE ENGINEERING DESIGN I 3. Schemas and Theories The aim of this course is to learn how to write formal specifications of computer systems, using classical logic. The key descriptional technique

More information

2IP15 Programming Methods

2IP15 Programming Methods Lecture 1: Introduction, Functional Decomposition 2IP15 Programming Methods From Small to Large Programs Tom Verhoeff Eindhoven University of Technology Department of Mathematics & Computer Science Software

More information

Set 9: Planning Classical Planning Systems. ICS 271 Fall 2013

Set 9: Planning Classical Planning Systems. ICS 271 Fall 2013 Set 9: Planning Classical Planning Systems ICS 271 Fall 2013 Outline: Planning Classical Planning: Situation calculus PDDL: Planning domain definition language STRIPS Planning Planning graphs Readings:

More information

CS11 Java. Fall Lecture 1

CS11 Java. Fall Lecture 1 CS11 Java Fall 2006-2007 Lecture 1 Welcome! 8 Lectures Slides posted on CS11 website http://www.cs.caltech.edu/courses/cs11 7-8 Lab Assignments Made available on Mondays Due one week later Monday, 12 noon

More information

Dealing with Bugs. Kenneth M. Anderson University of Colorado, Boulder CSCI 5828 Lecture 27 04/21/2009

Dealing with Bugs. Kenneth M. Anderson University of Colorado, Boulder CSCI 5828 Lecture 27 04/21/2009 Dealing with Bugs Kenneth M. Anderson University of Colorado, Boulder CSCI 5828 Lecture 27 04/21/2009 University of Colorado, 2009 1 Goals 2 Review material from Chapter 11 of Pilone & Miles Dealing with

More information

Department of Computer Science. COS 122 Operating Systems. Practical 3. Due: 22:00 PM

Department of Computer Science. COS 122 Operating Systems. Practical 3. Due: 22:00 PM Department of Computer Science COS 122 Operating Systems Practical 3 Due: 2018-09-13 @ 22:00 PM August 30, 2018 PLAGIARISM POLICY UNIVERSITY OF PRETORIA The Department of Computer Science considers plagiarism

More information

High-Performance Scientific Computing

High-Performance Scientific Computing High-Performance Scientific Computing Instructor: Randy LeVeque TA: Grady Lemoine Applied Mathematics 483/583, Spring 2011 http://www.amath.washington.edu/~rjl/am583 World s fastest computers http://top500.org

More information

CS 220: Introduction to Parallel Computing. Beginning C. Lecture 2

CS 220: Introduction to Parallel Computing. Beginning C. Lecture 2 CS 220: Introduction to Parallel Computing Beginning C Lecture 2 Today s Schedule More C Background Differences: C vs Java/Python The C Compiler HW0 8/25/17 CS 220: Parallel Computing 2 Today s Schedule

More information

Pypeline Documentation

Pypeline Documentation Pypeline Documentation Release 0.2 Kyle Corbitt May 09, 2014 Contents 1 Contents 3 1.1 Installation................................................ 3 1.2 Quick Start................................................

More information

COMBINING TASK AND MOTION PLANNING FOR COMPLEX MANIPULATION

COMBINING TASK AND MOTION PLANNING FOR COMPLEX MANIPULATION COMBINING TASK AND MOTION PLANNING FOR COMPLEX MANIPULATION 16-662: ROBOT AUTONOMY PROJECT Team: Gauri Gandhi Keerthana Manivannan Lekha Mohan Rohit Dashrathi Richa Varma ABSTRACT Robots performing household

More information

ECE571: Advanced Microprocessor Design Final Project Spring Officially Due: Friday, 4 May 2018 (Last day of Classes)

ECE571: Advanced Microprocessor Design Final Project Spring Officially Due: Friday, 4 May 2018 (Last day of Classes) Overview: ECE571: Advanced Microprocessor Design Final Project Spring 2018 Officially Due: Friday, 4 May 2018 (Last day of Classes) Design a project that explores the power, energy, and/or performance

More information

Java SE 8 Programming

Java SE 8 Programming Oracle University Contact Us: +52 1 55 8525 3225 Java SE 8 Programming Duration: 5 Days What you will learn This Java SE 8 Programming training covers the core language features and Application Programming

More information

CS197U: A Hands on Introduction to Unix

CS197U: A Hands on Introduction to Unix CS197U: A Hands on Introduction to Unix Lecture 4: My First Linux System Tian Guo University of Massachusetts Amherst CICS 1 Reminders Assignment 2 was due before class Assignment 3 will be posted soon

More information

Lecture 7: Type Systems and Symbol Tables. CS 540 George Mason University

Lecture 7: Type Systems and Symbol Tables. CS 540 George Mason University Lecture 7: Type Systems and Symbol Tables CS 540 George Mason University Static Analysis Compilers examine code to find semantic problems. Easy: undeclared variables, tag matching Difficult: preventing

More information

INF3190 Mandatory Assignment:

INF3190 Mandatory Assignment: INF3190 Mandatory Assignment: Formally: This assignment must be completed individually. The submission must be approved prior to submission of the Home Exam 1. To pass the submission must meet the requirements

More information

Summer 2017 Discussion 10: July 25, Introduction. 2 Primitives and Define

Summer 2017 Discussion 10: July 25, Introduction. 2 Primitives and Define CS 6A Scheme Summer 207 Discussion 0: July 25, 207 Introduction In the next part of the course, we will be working with the Scheme programming language. In addition to learning how to write Scheme programs,

More information

DM204 - Scheduling, Timetabling and Routing

DM204 - Scheduling, Timetabling and Routing Department of Mathematics and Computer Science University of Southern Denmark, Odense Issued: March 27, 2009 Marco Chiarandini DM204 - Scheduling, Timetabling and Routing, Fall 2009 Problem A 1 Practical

More information

Scheme: Expressions & Procedures

Scheme: Expressions & Procedures Scheme: Expressions & Procedures CS F331 Programming Languages CSCE A331 Programming Language Concepts Lecture Slides Friday, March 31, 2017 Glenn G. Chappell Department of Computer Science University

More information

More About Objects and Methods

More About Objects and Methods More About Objects and Methods Chapter 6 Objectives Define and use constructors Write and use static variables and methods Use methods from class Math Use predefined wrapper classes Use stubs, drivers

More information

Lecture 15 Distributed System Architectures

Lecture 15 Distributed System Architectures Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Lecture 15 Distributed System Architectures Architectural

More information