Analysis of Workflow Graphs through SESE Decomposition

Size: px
Start display at page:

Download "Analysis of Workflow Graphs through SESE Decomposition"

Transcription

1 Analysis of Workflow Graphs through SESE Decomposition Jussi Vanhatalo, IBM Zurich Research Lab Hagen Völzer, IBM Zurich Research Lab Frank Leymann, University of Stuttgart, IAAS AWPN 2007 September 2007

2 Control-flow errors in business process models Business process models are no longer only for documentation Increasing importance when models are executed Workflow engine Realistic business measures through simulation Code generation Our experience [Koehler, Vanhatalo, 2007] & other studies [Mendling et al., 2006] Control-flow errors, e.g. deadlocks occur frequently in real models Early detection can substantially save costs 2

3 Trade off Speed versus debugging information Workflow graph = Free-Choice workflow net Sound workflow graph = no control-flow errors Known soundness checkers can: Check soundness in cubic time Produce error trace in exponential time Our contribution is a preprocessor: Speeds up any soundness checker Improves debugging information Workflow graph Workflow graph Preprocessor Sound? Yes / No Soundness checker Debugging information 3

4 Our contribution Our preprocessor has two parts: 1) Decomposition of workflow graph Into fragments that can be checked in isolation Decomposition takes linear time 2) Fast heuristics Sort out many fragments occuring in practice Takes linear time Decomposition Fast heuristics Sound Unsound Workflow graph Sound? Yes / No? Soundness checker Debugging information 4

5 Outline 1. Introduction Workflow graphs Soundness 2. Decomposition into fragments 3. Heuristics for analyzing soundness 4. Case study 5. Conclusion 5

6 Workflow graph fork activity a1 join start node a2 stop node decision a3 merge 6

7 Soundness of a workflow graph = Terminal state never becomes dead = (1)+(2): Initial state a1 a2 Terminal state 1. No (local) deadlock A join cannot get enough tokens entry edge a3 exit edge 2. No lack of synchronization An edge carries two or more tokens at the same time Deadlock a1 a2 a3 Lack of synchronization a1 a2 a3 7

8 Outline 1. Introduction 2. Decomposition into fragments Fragments Decomposition Process structure tree 3. Heuristics for analyzing soundness 4. Case study 5. Conclusion 8

9 Single-entry-single-exit (SESE) fragments A SESE fragment is a connected subgraph that has a single entry edge and a single exit edge. f7 entry edge d1 fragment C f1 a1 a2 j1 exit edge m1 f2 a4 f3 a6 j2 a8 j3 a9 j6 a3 a5 a7 f4 a10 j4 f5 a14 m4 a16 j5 d2 m2 a11 a12 m3 a13 d3 d4 f6 a15 m5 a17 9

10 Single-entry-single-exit (SESE) fragments SESE fragments are either nested (e.g. J and C), or disjoint (J and V) SESE fragments do not overlap (essentially) f7 J d1 C f1 a1 a2 j1 m1 f2 a4 f3 a6 j2 a8 j3 a9 j6 a3 a5 a7 V f4 a10 j4 f5 a14 m4 a16 j5 d2 m2 a11 a12 m3 a13 d3 d4 f6 a15 m5 a17 10

11 Decomposition into fragments There is a unique decomposition into SESE fragments Linear-time algorithm for SESE decomposition known from compiler theory used for discovering the structure of sequential programs [Johnson et al., 1994] Z f7 X J d1 C f1 A B a1 a2 j1 m1 K f2 E a4 f3 G a6 j2 I a8 j3 L a9 j6 D a3 F a5 H a7 Y V d2 O f4 M N m2 j4 a10 a11 P a12 m3 Q a13 d3 W d4 f5 f6 R S a14 a15 m4 m5 T U a16 a17 j5 11

12 Process structure tree Z X Y J K L V W C D E F G H I O P Q R S T U A B M N Z f7 X J d1 C f1 A B a1 a2 j1 m1 K f2 E a4 f3 G a6 j2 I a8 j3 L a9 j6 D a3 F a5 H a7 Y V d2 O f4 M N m2 j4 a10 a11 P a12 m3 Q a13 d3 W d4 f5 f6 R S a14 a15 m4 m5 T U a16 a17 j5 12

13 Each fragment can be analyzed in isolation A fragment is sound if and only if all its child fragments are sound, and the fragment that is obtained by replacing each child fragment with an activity is sound. [Valette, 1979] V O d2 m2 f4 j4 a10 a11 P m3 a12 Sound Q O f4 j4 a10 V O a13 d3 d2 m3 m2 a11 Sound P P a12 Q Q a13 Sound Sound + Sound d3 13

14 View switch Fragment means the second view in the following V O f4 a10 j4 V O d2 m2 a11 P a12 m3 Q a13 d3 d2 m2 P m3 Q d3 14

15 Bottom-up analysis Z X Y J K L V W C D E F G H I O P Q R S T U A B M N Z f7 X J d1 C f1 A B a1 a2 j1 m1 K f2 E a4 f3 G a6 j2 I a8 j3 L a9 j6 D a3 F a5 H a7 Y V d2 O f4 M N m2 j4 a10 a11 P a12 m3 Q a13 d3 W d4 f5 f6 R S a14 a15 m4 m5 T U a16 a17 j5 15

16 Locating an error Z X Y J K L V W C D E F G H I O P Q R S T U A B M N Z f7 X J d1 C f1 A B a1 a2 j1 m1 K f2 E a4 f3 G a6 j2 I a8 j3 L a9 j6 D a3 F a5 H a7 Y V d2 O f4 M N m2 j4 a10 a11 P a12 m3 Q a13 d3 W d4 f5 f6 R S a14 a15 m4 m5 T U a16 a17 j5 16

17 Reduction achieved through decomposition Number of fragments is linear in graph size Time complexity of the soundness checker is cubic (exponential for error trace) The size of the largest fragment is the most important factor for worst-case running time Workflow 20 graph Decomposition Largest Soundness checker 8000 Sound? vs. Yes 800/ No Debugging information vs

18 Outline 1. Introduction 2. Decomposition into fragments 3. Heuristics for analyzing soundness Heuristic for sound fragments Heuristic for unsound fragments 4. Case Study 5. Conclusion 18

19 Heuristic for sound fragments Well-structured fragments Well-structured sequence Well-structured alternative branching D A B C G E F Well-structured cycle Well-structured concurrent branching L K O M N All sound, and all recognized in linear time 19

20 Heuristic for sound fragments Pure fragments Pure alternative branching (State machine) Pure concurrent branching (Marked graph) V O K f2 E j2 I j3 d2 m2 P m3 Q d3 F f3 G H No forks, no joins No concurrency No decisions, no merges No cycles All sound, and all recognized in linear time 20

21 Complex fragments Not well-structured, nor pure Mixes of forks/joins with decisions/merges Sound or unsound Soundness checker required Sound complex fragment Unsound complex fragment W d4 f5 f6 R S m4 m5 T U j5 C A B Deadlock 21

22 Outline 1. Introduction 2. Decomposition into fragments 3. Heuristics for analyzing soundness Heuristic for sound fragments Heuristic for unsound fragments 4. Case study 5. Conclusion 22

23 Heuristic for unsound fragments D A B Deadlock H E F Lack of synchr. C G At least one join, but no forks At least one fork, but no joins L I J Lack of synchr. P M N Deadlock K O At least one merge, but no decisions At least one decision, but no merges All unsound, and all recognized in linear time 23

24 Heuristic for unsound fragments Cyclic Fragments H G Deadlock H G Lack of synchr. A cycle, but no merges A cycle, but no decisions H Deadlock G A cycle, but no merges and no decisions All unsound, and all recognized in linear time 24

25 Outline 1. Introduction 2. Decomposition into fragments 3. Heuristics for analyzing soundness 4. Case study Reductions achieved with the decomposition Applicability of the heuristics 5. Conclusion 25

26 Case study More than 340 process models: Industrial business process models Modeled with the IBM WebSphere Business Modeler Workflow graph Decomposition Library 1: More than 140 process models Library 2: More than 200 process models Experimental extension of Library 1 Average analysis time per workflow graph is less than 0.1 seconds Excluding the soundness checker Fast heuristics Sound Unsound Sound? Yes / No? Soundness checker Debugging information 26

27 Reductions achieved with the decomposition Library 1 Reduction factor = Graph size / size of largest fragment Average 2.8 (min: 1.0, max: 9.0) Average size: 67 edges (min: 11, max: 215) Average size of the largest fragment: 24 edges (min: 11, max: 51) 140 x Workflow graph Decomposition Largest Fast heuristics Sound Unsound? Soundness checker Sound? Yes / No Debugging information 27

28 Reduction increases as the graph size increases Number of edges in the largest fragment of the workflow graph Number of edges in the workflow graph Upper boundary for the largest fragment size seems to be independent of graph size 28

29 Applicability of the heuristics Library x Workflow graph Decomposition Largest Fragment category Percentage of fragments Fast heuristics 1) Well-structured (sound) 2) Pure (sound) 3) Complex 3a) Complex (not sound) 3b) Complex (soundness unknown) 54.8 % 45.2 % 0.0 % 0.0 % 0.0 % 100 % 0 % Sound Unsound Sound? All sound Yes / No? 0 % Soundness checker Debugging information 29

30 Applicability of the heuristics Library x Workflow graph Decomposition Largest Fragment category Percentage of fragments Fast heuristics 1) Well-structured (sound) 2) Pure (sound) 3) Complex 3a) Complex (not sound) 3b) Complex (soundness unknown) 65.4 % 14.9 % 19.7 % 5.4 % 14.3 % 80.3 % 5.4 % Sound Unsound Sound? Yes /? / No? Soundness checker 14.3 % Debugging information 30

31 Outline 1. Introduction 2. Decomposition into fragments 3. Heuristics for analyzing soundness 4. Case study 5. Conclusion 31

32 Conclusion Our preprocessor has two parts: 1) Decomposition of workflow graph Workflow graph Decomposition Divide-and-conquer technique Linear time algorithm 2) Fast heuristics Resolves many fragments occurring in practice Linear time algorithm Fast heuristics Sound Unsound? Soundness checker Sound? Yes / No Debugging information 32

33 Future work Integrate our prototype to a soundness checker Compare the analysis times Use cases for the SESE decomposition: Browsing and constructing large processes Discovery of reusable subprocesses Code generation 33

Collectives Pattern CS 472 Concurrent & Parallel Programming University of Evansville

Collectives Pattern CS 472 Concurrent & Parallel Programming University of Evansville Collectives Pattern CS 472 Concurrent & Parallel Programming University of Evansville Selection of slides from CIS 410/510 Introduction to Parallel Computing Department of Computer and Information Science,

More information

Playing Games. Henry Z. Lo. June 23, We consider writing AI to play games with the following properties:

Playing Games. Henry Z. Lo. June 23, We consider writing AI to play games with the following properties: Playing Games Henry Z. Lo June 23, 2014 1 Games We consider writing AI to play games with the following properties: Two players. Determinism: no chance is involved; game state based purely on decisions

More information

Energy-Efficient Data Management for Sensor Networks

Energy-Efficient Data Management for Sensor Networks Energy-Efficient Data Management for Sensor Networks Al Demers, Cornell University ademers@cs.cornell.edu Johannes Gehrke, Cornell University Rajmohan Rajaraman, Northeastern University Niki Trigoni, Cornell

More information

Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames

Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames Decomposition Search Combinatorial Games pproach to Game Tree Search, with pplications to Solving Go Endgames Martin Müller University of lberta Edmonton, Canada Decomposition Search What is decomposition

More information

UNIT-III LIFE-CYCLE PHASES

UNIT-III LIFE-CYCLE PHASES INTRODUCTION: UNIT-III LIFE-CYCLE PHASES - If there is a well defined separation between research and development activities and production activities then the software is said to be in successful development

More information

CS325 Artificial Intelligence Ch. 5, Games!

CS325 Artificial Intelligence Ch. 5, Games! CS325 Artificial Intelligence Ch. 5, Games! Cengiz Günay, Emory Univ. vs. Spring 2013 Günay Ch. 5, Games! Spring 2013 1 / 19 AI in Games A lot of work is done on it. Why? Günay Ch. 5, Games! Spring 2013

More information

Five-In-Row with Local Evaluation and Beam Search

Five-In-Row with Local Evaluation and Beam Search Five-In-Row with Local Evaluation and Beam Search Jiun-Hung Chen and Adrienne X. Wang jhchen@cs axwang@cs Abstract This report provides a brief overview of the game of five-in-row, also known as Go-Moku,

More information

Announcements. Homework 1 solutions posted. Test in 2 weeks (27 th ) -Covers up to and including HW2 (informed search)

Announcements. Homework 1 solutions posted. Test in 2 weeks (27 th ) -Covers up to and including HW2 (informed search) Minimax (Ch. 5-5.3) Announcements Homework 1 solutions posted Test in 2 weeks (27 th ) -Covers up to and including HW2 (informed search) Single-agent So far we have look at how a single agent can search

More information

ARTIFICIAL INTELLIGENCE (CS 370D)

ARTIFICIAL INTELLIGENCE (CS 370D) Princess Nora University Faculty of Computer & Information Systems ARTIFICIAL INTELLIGENCE (CS 370D) (CHAPTER-5) ADVERSARIAL SEARCH ADVERSARIAL SEARCH Optimal decisions Min algorithm α-β pruning Imperfect,

More information

UNIT 13A AI: Games & Search Strategies

UNIT 13A AI: Games & Search Strategies UNIT 13A AI: Games & Search Strategies 1 Artificial Intelligence Branch of computer science that studies the use of computers to perform computational processes normally associated with human intellect

More information

Privacy at the communication layer

Privacy at the communication layer Privacy at the communication layer The Dining Cryptographers Problem: Unconditional Sender and Recipient Untraceability David Chaum 1988 CS-721 Carmela Troncoso http://carmelatroncoso.com/ (borrowed slides

More information

Chapter 5 Backtracking. The Backtracking Technique The n-queens Problem The Sum-of-Subsets Problem Graph Coloring The 0-1 Knapsack Problem

Chapter 5 Backtracking. The Backtracking Technique The n-queens Problem The Sum-of-Subsets Problem Graph Coloring The 0-1 Knapsack Problem Chapter 5 Backtracking The Backtracking Technique The n-queens Problem The Sum-of-Subsets Problem Graph Coloring The 0-1 Knapsack Problem Backtracking maze puzzle following every path in maze until a dead

More information

USING SIMPLE PID CONTROLLERS TO PREVENT AND MITIGATE FAULTS IN SCIENTIFIC WORKFLOWS

USING SIMPLE PID CONTROLLERS TO PREVENT AND MITIGATE FAULTS IN SCIENTIFIC WORKFLOWS USING SIMPLE PID CONTROLLERS TO PREVENT AND MITIGATE FAULTS IN SCIENTIFIC WORKFLOWS Rafael Ferreira da Silva 1, Rosa Filgueira 2, Ewa Deelman 1, Erola Pairo-Castineira 3, Ian Michael Overton 4, Malcolm

More information

Collectives Pattern. Parallel Computing CIS 410/510 Department of Computer and Information Science. Lecture 8 Collective Pattern

Collectives Pattern. Parallel Computing CIS 410/510 Department of Computer and Information Science. Lecture 8 Collective Pattern Collectives Pattern Parallel Computing CIS 410/510 Department of Computer and Information Science Outline q What are Collectives? q Reduce Pattern q Scan Pattern q Sorting 2 Collectives q Collective operations

More information

Outline. Drawing the Graph. 1 Homework Review. 2 Introduction. 3 Histograms. 4 Histograms on the TI Assignment

Outline. Drawing the Graph. 1 Homework Review. 2 Introduction. 3 Histograms. 4 Histograms on the TI Assignment Lecture 14 Section 4.4.4 on Hampden-Sydney College Fri, Sep 18, 2009 Outline 1 on 2 3 4 on 5 6 Even-numbered on Exercise 4.25, p. 249. The following is a list of homework scores for two students: Student

More information

Set 4: Game-Playing. ICS 271 Fall 2017 Kalev Kask

Set 4: Game-Playing. ICS 271 Fall 2017 Kalev Kask Set 4: Game-Playing ICS 271 Fall 2017 Kalev Kask Overview Computer programs that play 2-player games game-playing as search with the complication of an opponent General principles of game-playing and search

More information

Design and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute. Module 6 Lecture - 37 Divide and Conquer: Counting Inversions

Design and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute. Module 6 Lecture - 37 Divide and Conquer: Counting Inversions Design and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute Module 6 Lecture - 37 Divide and Conquer: Counting Inversions Let us go back and look at Divide and Conquer again.

More information

Theory of Computer Games: Concluding Remarks

Theory of Computer Games: Concluding Remarks Theory of Computer Games: Concluding Remarks Tsan-sheng Hsu tshsu@iis.sinica.edu.tw http://www.iis.sinica.edu.tw/~tshsu 1 Practical issues. The open book. The endgame database. Smart usage of resources.

More information

Foundations of Distributed Systems: Tree Algorithms

Foundations of Distributed Systems: Tree Algorithms Foundations of Distributed Systems: Tree Algorithms Stefan Schmid @ T-Labs, 2011 Broadcast Why trees? E.g., efficient broadcast, aggregation, routing,... Important trees? E.g., breadth-first trees, minimal

More information

Edge-disjoint tree representation of three tree degree sequences

Edge-disjoint tree representation of three tree degree sequences Edge-disjoint tree representation of three tree degree sequences Ian Min Gyu Seong Carleton College seongi@carleton.edu October 2, 208 Ian Min Gyu Seong (Carleton College) Trees October 2, 208 / 65 Trees

More information

Artificial Intelligence. 4. Game Playing. Prof. Bojana Dalbelo Bašić Assoc. Prof. Jan Šnajder

Artificial Intelligence. 4. Game Playing. Prof. Bojana Dalbelo Bašić Assoc. Prof. Jan Šnajder Artificial Intelligence 4. Game Playing Prof. Bojana Dalbelo Bašić Assoc. Prof. Jan Šnajder University of Zagreb Faculty of Electrical Engineering and Computing Academic Year 2017/2018 Creative Commons

More information

Design Automation for IEEE P1687

Design Automation for IEEE P1687 Design Automation for IEEE P1687 Farrokh Ghani Zadegan 1, Urban Ingelsson 1, Gunnar Carlsson 2 and Erik Larsson 1 1 Linköping University, 2 Ericsson AB, Linköping, Sweden Stockholm, Sweden ghanizadegan@ieee.org,

More information

Divide & conquer. Which works better for multi-cores: insertion sort or merge sort? Why?

Divide & conquer. Which works better for multi-cores: insertion sort or merge sort? Why? 1 Sorting... more 2 Divide & conquer Which works better for multi-cores: insertion sort or merge sort? Why? 3 Divide & conquer Which works better for multi-cores: insertion sort or merge sort? Why? Merge

More information

CS 540-2: Introduction to Artificial Intelligence Homework Assignment #2. Assigned: Monday, February 6 Due: Saturday, February 18

CS 540-2: Introduction to Artificial Intelligence Homework Assignment #2. Assigned: Monday, February 6 Due: Saturday, February 18 CS 540-2: Introduction to Artificial Intelligence Homework Assignment #2 Assigned: Monday, February 6 Due: Saturday, February 18 Hand-In Instructions This assignment includes written problems and programming

More information

Tic-tac-toe. Lars-Henrik Eriksson. Functional Programming 1. Original presentation by Tjark Weber. Lars-Henrik Eriksson (UU) Tic-tac-toe 1 / 23

Tic-tac-toe. Lars-Henrik Eriksson. Functional Programming 1. Original presentation by Tjark Weber. Lars-Henrik Eriksson (UU) Tic-tac-toe 1 / 23 Lars-Henrik Eriksson Functional Programming 1 Original presentation by Tjark Weber Lars-Henrik Eriksson (UU) Tic-tac-toe 1 / 23 Take-Home Exam Take-Home Exam Lars-Henrik Eriksson (UU) Tic-tac-toe 2 / 23

More information

More on games (Ch )

More on games (Ch ) More on games (Ch. 5.4-5.6) Announcements Midterm next Tuesday: covers weeks 1-4 (Chapters 1-4) Take the full class period Open book/notes (can use ebook) ^^ No programing/code, internet searches or friends

More information

Bootstrapping from Game Tree Search

Bootstrapping from Game Tree Search Joel Veness David Silver Will Uther Alan Blair University of New South Wales NICTA University of Alberta December 9, 2009 Presentation Overview Introduction Overview Game Tree Search Evaluation Functions

More information

CS 771 Artificial Intelligence. Adversarial Search

CS 771 Artificial Intelligence. Adversarial Search CS 771 Artificial Intelligence Adversarial Search Typical assumptions Two agents whose actions alternate Utility values for each agent are the opposite of the other This creates the adversarial situation

More information

the gamedesigninitiative at cornell university Lecture 4 Game Grammars

the gamedesigninitiative at cornell university Lecture 4 Game Grammars Lecture 4 Sources for Today s Talk Raph Koster (one of original proponents) Theory of Fun, 10 Years Later (GDCOnline 2012) http://raphkoster.com Ernest Adams and Joris Dormans Game Mechanics: Advanced

More information

PROCESS-VOLTAGE-TEMPERATURE (PVT) VARIATIONS AND STATIC TIMING ANALYSIS

PROCESS-VOLTAGE-TEMPERATURE (PVT) VARIATIONS AND STATIC TIMING ANALYSIS PROCESS-VOLTAGE-TEMPERATURE (PVT) VARIATIONS AND STATIC TIMING ANALYSIS The major design challenges of ASIC design consist of microscopic issues and macroscopic issues [1]. The microscopic issues are ultra-high

More information

Adversarial Search: Game Playing. Reading: Chapter

Adversarial Search: Game Playing. Reading: Chapter Adversarial Search: Game Playing Reading: Chapter 6.5-6.8 1 Games and AI Easy to represent, abstract, precise rules One of the first tasks undertaken by AI (since 1950) Better than humans in Othello and

More information

DNA Mapping and Brute Force Algorithms

DNA Mapping and Brute Force Algorithms DNA Mapping and Brute Force Algorithms Outline 1. Restriction Enzymes 2. Gel Electrophoresis 3. Partial Digest Problem 4. Brute Force Algorithm for Partial Digest Problem 5. Branch and Bound Algorithm

More information

Low-Latency Multi-Source Broadcast in Radio Networks

Low-Latency Multi-Source Broadcast in Radio Networks Low-Latency Multi-Source Broadcast in Radio Networks Scott C.-H. Huang City University of Hong Kong Hsiao-Chun Wu Louisiana State University and S. S. Iyengar Louisiana State University In recent years

More information

AIMA 3.5. Smarter Search. David Cline

AIMA 3.5. Smarter Search. David Cline AIMA 3.5 Smarter Search David Cline Uninformed search Depth-first Depth-limited Iterative deepening Breadth-first Bidirectional search None of these searches take into account how close you are to the

More information

CPS331 Lecture: Search in Games last revised 2/16/10

CPS331 Lecture: Search in Games last revised 2/16/10 CPS331 Lecture: Search in Games last revised 2/16/10 Objectives: 1. To introduce mini-max search 2. To introduce the use of static evaluation functions 3. To introduce alpha-beta pruning Materials: 1.

More information

Formalising Concurrent UML State Machines Using Coloured Petri Nets

Formalising Concurrent UML State Machines Using Coloured Petri Nets KSE 2014 October 10th, 2014 Hanoi Formalising Concurrent UML State Machines Using Coloured Petri Nets Étienne André, Mohamed Mahdi Benmoussa, Christine Choppy Université Paris 13, Sorbonne Paris Cité,

More information

Adversarial Search and Game- Playing C H A P T E R 6 C M P T : S P R I N G H A S S A N K H O S R A V I

Adversarial Search and Game- Playing C H A P T E R 6 C M P T : S P R I N G H A S S A N K H O S R A V I Adversarial Search and Game- Playing C H A P T E R 6 C M P T 3 1 0 : S P R I N G 2 0 1 1 H A S S A N K H O S R A V I Adversarial Search Examine the problems that arise when we try to plan ahead in a world

More information

Lecture 13 Register Allocation: Coalescing

Lecture 13 Register Allocation: Coalescing Lecture 13 Register llocation: Coalescing I. Motivation II. Coalescing Overview III. lgorithms: Simple & Safe lgorithm riggs lgorithm George s lgorithm Phillip. Gibbons 15-745: Register Coalescing 1 Review:

More information

Surveillance strategies for autonomous mobile robots. Nicola Basilico Department of Computer Science University of Milan

Surveillance strategies for autonomous mobile robots. Nicola Basilico Department of Computer Science University of Milan Surveillance strategies for autonomous mobile robots Nicola Basilico Department of Computer Science University of Milan Intelligence, surveillance, and reconnaissance (ISR) with autonomous UAVs ISR defines

More information

Lecture 5: Game Playing (Adversarial Search)

Lecture 5: Game Playing (Adversarial Search) Lecture 5: Game Playing (Adversarial Search) CS 580 (001) - Spring 2018 Amarda Shehu Department of Computer Science George Mason University, Fairfax, VA, USA February 21, 2018 Amarda Shehu (580) 1 1 Outline

More information

Mixed Synchronous/Asynchronous State Memory for Low Power FSM Design

Mixed Synchronous/Asynchronous State Memory for Low Power FSM Design Mixed Synchronous/Asynchronous State Memory for Low Power FSM Design Cao Cao and Bengt Oelmann Department of Information Technology and Media, Mid-Sweden University S-851 70 Sundsvall, Sweden {cao.cao@mh.se}

More information

Pin-Permutations and Structure in Permutation Classes

Pin-Permutations and Structure in Permutation Classes and Structure in Permutation Classes Frédérique Bassino Dominique Rossin Journées de Combinatoire de Bordeaux, feb. 2009 liafa Main result of the talk Conjecture[Brignall, Ruškuc, Vatter]: The pin-permutation

More information

Adversarial Search and Game Playing. Russell and Norvig: Chapter 5

Adversarial Search and Game Playing. Russell and Norvig: Chapter 5 Adversarial Search and Game Playing Russell and Norvig: Chapter 5 Typical case 2-person game Players alternate moves Zero-sum: one player s loss is the other s gain Perfect information: both players have

More information

an Intuitive Logic Shifting Heuristic for Improving Timing Slack Violating Paths

an Intuitive Logic Shifting Heuristic for Improving Timing Slack Violating Paths an Intuitive Logic Shifting Heuristic for Improving Timing Slack Violating Paths Xing Wei, Wai-Chung Tang, Yu-Liang Wu Department of Computer Science and Engineering The Chinese University of Hong Kong

More information

CS 1571 Introduction to AI Lecture 12. Adversarial search. CS 1571 Intro to AI. Announcements

CS 1571 Introduction to AI Lecture 12. Adversarial search. CS 1571 Intro to AI. Announcements CS 171 Introduction to AI Lecture 1 Adversarial search Milos Hauskrecht milos@cs.pitt.edu 39 Sennott Square Announcements Homework assignment is out Programming and experiments Simulated annealing + Genetic

More information

Last update: March 9, Game playing. CMSC 421, Chapter 6. CMSC 421, Chapter 6 1

Last update: March 9, Game playing. CMSC 421, Chapter 6. CMSC 421, Chapter 6 1 Last update: March 9, 2010 Game playing CMSC 421, Chapter 6 CMSC 421, Chapter 6 1 Finite perfect-information zero-sum games Finite: finitely many agents, actions, states Perfect information: every agent

More information

Chapter # 1: Introduction

Chapter # 1: Introduction Chapter # : Introduction Contemporary Logic Design Randy H. Katz University of California, erkeley May 994 No. - The Process Of Design Design Implementation Debug Design Initial concept: what is the function

More information

Software Life Cycle Models

Software Life Cycle Models 1 Software Life Cycle Models The goal of Software Engineering is to provide models and processes that lead to the production of well-documented maintainable software in a manner that is predictable. 2

More information

Outline. Game Playing. Game Problems. Game Problems. Types of games Playing a perfect game. Playing an imperfect game

Outline. Game Playing. Game Problems. Game Problems. Types of games Playing a perfect game. Playing an imperfect game Outline Game Playing ECE457 Applied Artificial Intelligence Fall 2007 Lecture #5 Types of games Playing a perfect game Minimax search Alpha-beta pruning Playing an imperfect game Real-time Imperfect information

More information

Lecture 20 November 13, 2014

Lecture 20 November 13, 2014 6.890: Algorithmic Lower Bounds: Fun With Hardness Proofs Fall 2014 Prof. Erik Demaine Lecture 20 November 13, 2014 Scribes: Chennah Heroor 1 Overview This lecture completes our lectures on game characterization.

More information

Presentation Overview. Bootstrapping from Game Tree Search. Game Tree Search. Heuristic Evaluation Function

Presentation Overview. Bootstrapping from Game Tree Search. Game Tree Search. Heuristic Evaluation Function Presentation Bootstrapping from Joel Veness David Silver Will Uther Alan Blair University of New South Wales NICTA University of Alberta A new algorithm will be presented for learning heuristic evaluation

More information

CSE101: Design and Analysis of Algorithms. Ragesh Jaiswal, CSE, UCSD

CSE101: Design and Analysis of Algorithms. Ragesh Jaiswal, CSE, UCSD Course Overview Graph Algorithms Algorithm Design Techniques: Greedy Algorithms Divide and Conquer Dynamic Programming Network Flows Computational Intractability Main Ideas Main idea: Break the given

More information

Game Theory and Randomized Algorithms

Game Theory and Randomized Algorithms Game Theory and Randomized Algorithms Guy Aridor Game theory is a set of tools that allow us to understand how decisionmakers interact with each other. It has practical applications in economics, international

More information

UMLEmb: UML for Embedded Systems. II. Modeling in SysML. Eurecom

UMLEmb: UML for Embedded Systems. II. Modeling in SysML. Eurecom UMLEmb: UML for Embedded Systems II. Modeling in SysML Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Eurecom, office 470 http://soc.eurecom.fr/umlemb/ @UMLEmb Eurecom Goals Learning objective

More information

UNIT 13A AI: Games & Search Strategies. Announcements

UNIT 13A AI: Games & Search Strategies. Announcements UNIT 13A AI: Games & Search Strategies 1 Announcements Do not forget to nominate your favorite CA bu emailing gkesden@gmail.com, No lecture on Friday, no recitation on Thursday No office hours Wednesday,

More information

CMPUT 657: Heuristic Search

CMPUT 657: Heuristic Search CMPUT 657: Heuristic Search Assignment 1: Two-player Search Summary You are to write a program to play the game of Lose Checkers. There are two goals for this assignment. First, you want to build the smallest

More information

CMPUT 396 Tic-Tac-Toe Game

CMPUT 396 Tic-Tac-Toe Game CMPUT 396 Tic-Tac-Toe Game Recall minimax: - For a game tree, we find the root minimax from leaf values - With minimax we can always determine the score and can use a bottom-up approach Why use minimax?

More information

Conflict Management in Multiagent Robotic System: FSM and Fuzzy Logic Approach

Conflict Management in Multiagent Robotic System: FSM and Fuzzy Logic Approach Conflict Management in Multiagent Robotic System: FSM and Fuzzy Logic Approach Witold Jacak* and Stephan Dreiseitl" and Karin Proell* and Jerzy Rozenblit** * Dept. of Software Engineering, Polytechnic

More information

Outline for today s lecture Informed Search Optimal informed search: A* (AIMA 3.5.2) Creating good heuristic functions Hill Climbing

Outline for today s lecture Informed Search Optimal informed search: A* (AIMA 3.5.2) Creating good heuristic functions Hill Climbing Informed Search II Outline for today s lecture Informed Search Optimal informed search: A* (AIMA 3.5.2) Creating good heuristic functions Hill Climbing CIS 521 - Intro to AI - Fall 2017 2 Review: Greedy

More information

CS 4700: Foundations of Artificial Intelligence

CS 4700: Foundations of Artificial Intelligence CS 4700: Foundations of Artificial Intelligence selman@cs.cornell.edu Module: Adversarial Search R&N: Chapter 5 1 Outline Adversarial Search Optimal decisions Minimax α-β pruning Case study: Deep Blue

More information

Adversarial Search. Human-aware Robotics. 2018/01/25 Chapter 5 in R&N 3rd Ø Announcement: Slides for this lecture are here:

Adversarial Search. Human-aware Robotics. 2018/01/25 Chapter 5 in R&N 3rd Ø Announcement: Slides for this lecture are here: Adversarial Search 2018/01/25 Chapter 5 in R&N 3rd Ø Announcement: q Slides for this lecture are here: http://www.public.asu.edu/~yzhan442/teaching/cse471/lectures/adversarial.pdf Slides are largely based

More information

Sokoban: Reversed Solving

Sokoban: Reversed Solving Sokoban: Reversed Solving Frank Takes (ftakes@liacs.nl) Leiden Institute of Advanced Computer Science (LIACS), Leiden University June 20, 2008 Abstract This article describes a new method for attempting

More information

Channel Sensing Order in Multi-user Cognitive Radio Networks

Channel Sensing Order in Multi-user Cognitive Radio Networks 2012 IEEE International Symposium on Dynamic Spectrum Access Networks Channel Sensing Order in Multi-user Cognitive Radio Networks Jie Zhao and Xin Wang Department of Electrical and Computer Engineering

More information

Convergence in competitive games

Convergence in competitive games Convergence in competitive games Vahab S. Mirrokni Computer Science and AI Lab. (CSAIL) and Math. Dept., MIT. This talk is based on joint works with A. Vetta and with A. Sidiropoulos, A. Vetta DIMACS Bounded

More information

Heuristic Search with Pre-Computed Databases

Heuristic Search with Pre-Computed Databases Heuristic Search with Pre-Computed Databases Tsan-sheng Hsu tshsu@iis.sinica.edu.tw http://www.iis.sinica.edu.tw/~tshsu 1 Abstract Use pre-computed partial results to improve the efficiency of heuristic

More information

Scheduling and Communication Synthesis for Distributed Real-Time Systems

Scheduling and Communication Synthesis for Distributed Real-Time Systems Scheduling and Communication Synthesis for Distributed Real-Time Systems Department of Computer and Information Science Linköpings universitet 1 of 30 Outline Motivation System Model and Architecture Scheduling

More information

Past questions from the last 6 years of exams for programming 101 with answers.

Past questions from the last 6 years of exams for programming 101 with answers. 1 Past questions from the last 6 years of exams for programming 101 with answers. 1. Describe bubble sort algorithm. How does it detect when the sequence is sorted and no further work is required? Bubble

More information

Fall 2015 COMP Operating Systems. Lab #7

Fall 2015 COMP Operating Systems. Lab #7 Fall 2015 COMP 3511 Operating Systems Lab #7 Outline Review and examples on virtual memory Motivation of Virtual Memory Demand Paging Page Replacement Q. 1 What is required to support dynamic memory allocation

More information

From ProbLog to ProLogic

From ProbLog to ProLogic From ProbLog to ProLogic Angelika Kimmig, Bernd Gutmann, Luc De Raedt Fluffy, 21/03/2007 Part I: ProbLog Motivating Application ProbLog Inference Experiments A Probabilistic Graph Problem What is the probability

More information

Lecture 14. Questions? Friday, February 10 CS 430 Artificial Intelligence - Lecture 14 1

Lecture 14. Questions? Friday, February 10 CS 430 Artificial Intelligence - Lecture 14 1 Lecture 14 Questions? Friday, February 10 CS 430 Artificial Intelligence - Lecture 14 1 Outline Chapter 5 - Adversarial Search Alpha-Beta Pruning Imperfect Real-Time Decisions Stochastic Games Friday,

More information

Required Course Numbers. Test Content Categories. Computer Science 8 12 Curriculum Crosswalk Page 2 of 14

Required Course Numbers. Test Content Categories. Computer Science 8 12 Curriculum Crosswalk Page 2 of 14 TExES Computer Science 8 12 Curriculum Crosswalk Test Content Categories Domain I Technology Applications Core Competency 001: The computer science teacher knows technology terminology and concepts; the

More information

Communication Theory II

Communication Theory II Communication Theory II Lecture 13: Information Theory (cont d) Ahmed Elnakib, PhD Assistant Professor, Mansoura University, Egypt March 22 th, 2015 1 o Source Code Generation Lecture Outlines Source Coding

More information

2/5/17 ADVERSARIAL SEARCH. Today. Introduce adversarial games Minimax as an optimal strategy Alpha-beta pruning Real-time decision making

2/5/17 ADVERSARIAL SEARCH. Today. Introduce adversarial games Minimax as an optimal strategy Alpha-beta pruning Real-time decision making ADVERSARIAL SEARCH Today Introduce adversarial games Minimax as an optimal strategy Alpha-beta pruning Real-time decision making 1 Adversarial Games People like games! Games are fun, engaging, and hard-to-solve

More information

EXPERIMENT 8: SPEED OF SOUND IN AIR

EXPERIMENT 8: SPEED OF SOUND IN AIR LAB SECTION: NAME: EXPERIMENT 8: SPEED OF SOUND IN AIR Introduction: In this lab, you will create standing sound waves in a column of air confined to a tube. You will be able to change the frequency of

More information

THERE is a growing need for high-performance and. Static Leakage Reduction Through Simultaneous V t /T ox and State Assignment

THERE is a growing need for high-performance and. Static Leakage Reduction Through Simultaneous V t /T ox and State Assignment 1014 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 24, NO. 7, JULY 2005 Static Leakage Reduction Through Simultaneous V t /T ox and State Assignment Dongwoo Lee, Student

More information

A Brief History of Timing

A Brief History of Timing A Brief History of Timing David Hathaway February 28, 2005 Tau 2005 February 28, 2005 Outline Snapshots from past Taus Delay modeling Timing analysis Timing integration Future challenges 2 Tau 2005 February

More information

Zhan Chen and Israel Koren. University of Massachusetts, Amherst, MA 01003, USA. Abstract

Zhan Chen and Israel Koren. University of Massachusetts, Amherst, MA 01003, USA. Abstract Layer Assignment for Yield Enhancement Zhan Chen and Israel Koren Department of Electrical and Computer Engineering University of Massachusetts, Amherst, MA 0003, USA Abstract In this paper, two algorithms

More information

Generalized Game Trees

Generalized Game Trees Generalized Game Trees Richard E. Korf Computer Science Department University of California, Los Angeles Los Angeles, Ca. 90024 Abstract We consider two generalizations of the standard two-player game

More information

Hardcore Classification: Identifying Play Styles in Social Games using Network Analysis

Hardcore Classification: Identifying Play Styles in Social Games using Network Analysis Hardcore Classification: Identifying Play Styles in Social Games using Network Analysis Ben Kirman and Shaun Lawson September 2009 Abstract In the social network of a web-based online game, all players

More information

Computer Chess Programming as told by C.E. Shannon

Computer Chess Programming as told by C.E. Shannon Computer Chess Programming as told by C.E. Shannon Tsan-sheng Hsu tshsu@iis.sinica.edu.tw http://www.iis.sinica.edu.tw/~tshsu 1 Abstract C.E. Shannon. 1916 2001. The founding father of Information theory.

More information

CS 2710 Foundations of AI. Lecture 9. Adversarial search. CS 2710 Foundations of AI. Game search

CS 2710 Foundations of AI. Lecture 9. Adversarial search. CS 2710 Foundations of AI. Game search CS 2710 Foundations of AI Lecture 9 Adversarial search Milos Hauskrecht milos@cs.pitt.edu 5329 Sennott Square CS 2710 Foundations of AI Game search Game-playing programs developed by AI researchers since

More information

INTERFACING WITH INTERRUPTS AND SYNCHRONIZATION TECHNIQUES

INTERFACING WITH INTERRUPTS AND SYNCHRONIZATION TECHNIQUES Faculty of Engineering INTERFACING WITH INTERRUPTS AND SYNCHRONIZATION TECHNIQUES Lab 1 Prepared by Kevin Premrl & Pavel Shering ID # 20517153 20523043 3a Mechatronics Engineering June 8, 2016 1 Phase

More information

15-381: Artificial Intelligence Assignment 3: Midterm Review

15-381: Artificial Intelligence Assignment 3: Midterm Review 15-381: Artificial Intelligence Assignment 3: Midterm Review Handed out: Tuesday, October 2 nd, 2001 Due: Tuesday, October 9 th, 2001 (in class) Solutions will be posted October 10 th, 2001: No late homeworks

More information

Regulatory Motif Finding II

Regulatory Motif Finding II Regulatory Motif Finding II Lectures 13 Nov 9, 2011 CSE 527 Computational Biology, Fall 2011 Instructor: Su-In Lee TA: Christopher Miles Monday & Wednesday 12:00-1:20 Johnson Hall (JHN) 022 1 Outline Regulatory

More information

16.410/413 Principles of Autonomy and Decision Making

16.410/413 Principles of Autonomy and Decision Making 16.10/13 Principles of Autonomy and Decision Making Lecture 2: Sequential Games Emilio Frazzoli Aeronautics and Astronautics Massachusetts Institute of Technology December 6, 2010 E. Frazzoli (MIT) L2:

More information

M.Sc. Thesis. Implementation and automatic generation of asynchronous scheduled dataflow graph. T.M. van Leeuwen B.Sc. Abstract

M.Sc. Thesis. Implementation and automatic generation of asynchronous scheduled dataflow graph. T.M. van Leeuwen B.Sc. Abstract Circuits and Systems Mekelweg 4, 2628 CD Delft The Netherlands http://ens.ewi.tudelft.nl/ CAS-2010-10 Implementation and automatic generation of asynchronous scheduled dataflow graph Abstract Most digital

More information

CRYPTOSHOOTER MULTI AGENT BASED SECRET COMMUNICATION IN AUGMENTED VIRTUALITY

CRYPTOSHOOTER MULTI AGENT BASED SECRET COMMUNICATION IN AUGMENTED VIRTUALITY CRYPTOSHOOTER MULTI AGENT BASED SECRET COMMUNICATION IN AUGMENTED VIRTUALITY Submitted By: Sahil Narang, Sarah J Andrabi PROJECT IDEA The main idea for the project is to create a pursuit and evade crowd

More information

Compiler Optimisation

Compiler Optimisation Compiler Optimisation 6 Instruction Scheduling Hugh Leather IF 1.18a hleather@inf.ed.ac.uk Institute for Computing Systems Architecture School of Informatics University of Edinburgh 2018 Introduction This

More information

A Gentle Introduction to Dynamic Programming and the Viterbi Algorithm

A Gentle Introduction to Dynamic Programming and the Viterbi Algorithm A Gentle Introduction to Dynamic Programming and the Viterbi Algorithm Dr. Hubert Kaeslin Microelectronics Design Center ETH Zürich Extra teaching material for Digital Integrated Circuit Design, from VLSI

More information

Artificial Intelligence Search III

Artificial Intelligence Search III Artificial Intelligence Search III Lecture 5 Content: Search III Quick Review on Lecture 4 Why Study Games? Game Playing as Search Special Characteristics of Game Playing Search Ingredients of 2-Person

More information

Game Playing: Adversarial Search. Chapter 5

Game Playing: Adversarial Search. Chapter 5 Game Playing: Adversarial Search Chapter 5 Outline Games Perfect play minimax search α β pruning Resource limits and approximate evaluation Games of chance Games of imperfect information Games vs. Search

More information

Adversarial Search Lecture 7

Adversarial Search Lecture 7 Lecture 7 How can we use search to plan ahead when other agents are planning against us? 1 Agenda Games: context, history Searching via Minimax Scaling α β pruning Depth-limiting Evaluation functions Handling

More information

Game-playing AIs: Games and Adversarial Search FINAL SET (w/ pruning study examples) AIMA

Game-playing AIs: Games and Adversarial Search FINAL SET (w/ pruning study examples) AIMA Game-playing AIs: Games and Adversarial Search FINAL SET (w/ pruning study examples) AIMA 5.1-5.2 Games: Outline of Unit Part I: Games as Search Motivation Game-playing AI successes Game Trees Evaluation

More information

A Quoridor-playing Agent

A Quoridor-playing Agent A Quoridor-playing Agent P.J.C. Mertens June 21, 2006 Abstract This paper deals with the construction of a Quoridor-playing software agent. Because Quoridor is a rather new game, research about the game

More information

Column Generation. A short Introduction. Martin Riedler. AC Retreat

Column Generation. A short Introduction. Martin Riedler. AC Retreat Column Generation A short Introduction Martin Riedler AC Retreat Contents 1 Introduction 2 Motivation 3 Further Notes MR Column Generation June 29 July 1 2 / 13 Basic Idea We already heard about Cutting

More information

Experiments on Alternatives to Minimax

Experiments on Alternatives to Minimax Experiments on Alternatives to Minimax Dana Nau University of Maryland Paul Purdom Indiana University April 23, 1993 Chun-Hung Tzeng Ball State University Abstract In the field of Artificial Intelligence,

More information

The purpose of this document is to outline the structure and tools that come with FPS Control.

The purpose of this document is to outline the structure and tools that come with FPS Control. FPS Control beta 4.1 Reference Manual Purpose The purpose of this document is to outline the structure and tools that come with FPS Control. Required Software FPS Control Beta4 uses Unity 4. You can download

More information

Solving Problems by Searching: Adversarial Search

Solving Problems by Searching: Adversarial Search Course 440 : Introduction To rtificial Intelligence Lecture 5 Solving Problems by Searching: dversarial Search bdeslam Boularias Friday, October 7, 2016 1 / 24 Outline We examine the problems that arise

More information

Chapter 3 Chip Planning

Chapter 3 Chip Planning Chapter 3 Chip Planning 3.1 Introduction to Floorplanning 3. Optimization Goals in Floorplanning 3.3 Terminology 3.4 Floorplan Representations 3.4.1 Floorplan to a Constraint-Graph Pair 3.4. Floorplan

More information

Reinforcement Learning in Games Autonomous Learning Systems Seminar

Reinforcement Learning in Games Autonomous Learning Systems Seminar Reinforcement Learning in Games Autonomous Learning Systems Seminar Matthias Zöllner Intelligent Autonomous Systems TU-Darmstadt zoellner@rbg.informatik.tu-darmstadt.de Betreuer: Gerhard Neumann Abstract

More information