Problems, Problem Spaces and Search

Size: px
Start display at page:

Download "Problems, Problem Spaces and Search"

Transcription

1 Problems, Problem Spaces and Search

2 Contents Defining the problem as a State Space Search Production Systems Control Strategies Breadth First Search Depth First Search Heuristic Search Problem Characteristics Is the Problem Decomposable? Can Solution Steps be ignored or undone? Production system characteristics Issues in the design of search programs

3 To build a system to solve a problem 1. Define the problem precisely 2. Analyse the problem 3. Isolate and represent the task knowledge that is necessary to solve the problem 4. Choose the best problem-solving technique and apply it to the particular problem.

4 Defining the problem as State Space Search The state space representation forms the basis of most of the AI methods. Its structure corresponds to the structure of problem solving in two important ways: It allows for a formal definition of a problem as the need to convert some given situation into some desired situation using a set of permissible operations. It permits us to define the process of solving a particular problem as a combination of known techniques (each represented as a rule defining a single step in the space) and search (the general technique of exploring the space to try to find some path from current state to a goal state). Search is a very important process in the solution of hard problems for which no more direct techniques are available.

5 Example: Playing Chess To build a program that could play chess, we could first have to specify the starting position of the chess board, the rules that define the legal moves, and the board positions that represent a win for one side or the other. In addition, we must make explicit the previously implicit goal of not only playing the legal game of chess but also winning the game, if possible,

6 Playing chess The starting position can be described as an 8by 8 array where each position contains a symbol for appropriate piece. We can define as our goal the check mate position. The legal moves provide the way of getting from initial state to a goal state. They can be described easily as a set of rules consisting of two parts: A left side that serves as a pattern to be matched against the current board position. And a right side that describes the change to be made to reflect the move However, this approach leads to large number of rules board positions!! Using so many rules poses problems such as: No person could ever supply a complete set of such rules. No program could easily handle all those rules. Just storing so many rules poses serious difficulties.

7 Defining chess problem as State Space search We need to write the rules describing the legal moves in as general a way as possible. For example: White pawn at Square( file e, rank 2) AND Square( File e, rank 3) is empty AND Square(file e, rank 4) is empty, then move the pawn from Square( file e, rank 2) to Square( file e, rank 4). In general, the more succintly we can describe the rules we need, the less work we will have to do to provide them and more efficient the program.

8 Water Jug Problem The state space for this problem can be described as the set of ordered pairs of integers (x,y) such that x = 0, 1,2, 3 or 4 and y = 0,1,2 or 3; x represents the number of gallons of water in the 4-gallon jug and y represents the quantity of water in 3-gallon jug The start state is (0,0) The goal state is (2,n)

9 Production rules for Water Jug The operators to be used to solve the problem can be described as follows: Problem Sl No Current state Next State Descritpion 1 (x,y) if x < 4 (4,y) Fill the 4 gallon jug 2 (x,y) if y <3 (x,3) Fill the 3 gallon jug 3 (x,y) if x > 0 (x-d, y) Pour some water out of the 4 gallon jug 4 (x,y) if y > 0 (x, y-d) Pour some water out of the 3- gallon jug 5 (x,y) if x>0 (0, y) Empty the 4 gallon jug 6 (x,y) if y >0 (x,0) Empty the 3 gallon jug on the ground 7 (x,y) if x+y >= 4 and y >0 (4, y-(4-x)) Pour water from the 3 gallon jug into the 4 gallon jug until the 4-gallon jug is full

10 Production rules 8 (x, y) if x+y >= 3 and x>0 (x-(3-y), 3) Pour water from the 4-gallon jug into the 3-gallon jug until the 3- gallon jug is full 9 (x, y) if x+y <=4 and y>0 (x+y, 0) Pour all the water from the 3- gallon jug into the 4-gallon jug 10 (x, y) if x+y <= 3 and x>0 (0, x+y) Pour all the water from the 4- gallon jug into the 3-gallon jug 11 (0,2) (2,0) Pour the 2 gallons from 3-gallon jug into the 4-gallon jug 12 (2,y) (0,y) Empty the 2 gallons in the 4- gallon jug on the ground

11 To solve the water jug problem Required a control structure that loops through a simple cycle in which some rule whose left side matches the current state is chosen, the appropriate change to the state is made as described in the corresponding right side, and the resulting state is checked to see if it corresponds to goal state. One solution to the water jug problem Shortest such sequence will have a impact on the choice of appropriate mechanism to guide the search for solution. Gallons in the 4-gallon jug Gallons in the 3-gallon jug Rule applied or r

12 Formal Description of the problem 1. Define a state space that contains all the possible configurations of the relevant objects. 2. Specify one or more states within that space that describe possible situations from which the problem solving process may start ( initial state) 3. Specify one or more states that would be acceptable as solutions to the problem. ( goal states) 4. Specify a set of rules that describe the actions ( operations) available.

13 Production Systems A production system consists of: A set of rules, each consisting of a left side that determines the applicability of the rule and a right side that describes the operation to be performed if that rule is applied. One or more knowledge/databases that contain whatever information is appropriate for the particular task. Some parts of the database may be permanent, while other parts of it may pertain only to the solution of the current problem. A control strategy that specifies the order in which the rules will be compared to the database and a way of resolving the conflicts that arise when several rules match at once. A rule applier

14 Production system Inorder to solve a problem: We must first reduce it to one for which a precise statement can be given. This can be done by defining the problem s state space ( start and goal states) and a set of operators for moving that space. The problem can then be solved by searching for a path through the space from an initial state to a goal state. The process of solving the problem can usefully be modelled as a production system.

15 Control Strategies How to decide which rule to apply next during the process of searching for a solution to a problem? The two requirements of good control strategy are that it should cause motion. It should be systematic

16 Breadth First Search Algorithm: 1. Create a variable called NODE-LIST and set it to initial state 2. Until a goal state is found or NODE-LIST is empty do a. Remove the first element from NODE-LIST and call it E. If NODE-LIST was empty, quit b. For each way that each rule can match the state described in E do: i. Apply the rule to generate a new state ii. iii. If the new state is a goal state, quit and return this state Otherwise, add the new state to the end of NODE-LIST

17 BFS Tree for Water Jug problem (0,0) (4,0) (0,3) (4,3) (0,0) (1,3) (4,3) (0,0) (3,0)

18 Algorithm: Depth First Search 1. If the initial state is a goal state, quit and return success 2. Otherwise, do the following until success or failure is signaled: a. Generate a successor, E, of initial state. If there are no more successors, signal failure. b. Call Depth-First Search, with E as the initial state c. If success is returned, signal success. Otherwise continue in this loop.

19 Backtracking In this search, we pursue a singal branch of the tree until it yields a solution or until a decision to terminate the path is made. It makes sense to terminate a path if it reaches deadend, produces a previous state. In such a state backtracking occurs Chronological Backtracking: Order in which steps are undone depends only on the temporal sequence in which steps were initially made. Specifically most recent step is always the first to be undone. This is also simple backtracking.

20 Advantages of Depth-First Search DFS requires less memory since only the nodes on the current path are stored. By chance, DFS may find a solution without examining much of the search space at all.

21 Advantages of BFS BFS will not get trapped exploring a blind alley. If there is a solution, BFS is guarnateed to find it. If there are multiple solutions, then a minimal solution will be found.

22 TSP A simple motion causing and systematic control structure could solve this problem. Simply explore all possible paths in the tree and return the shortest path. If there are N cities, then number of different paths among them is 1.2.(N-1) or (N-1)! The time to examine single path is proportional to N So the total time required to perform this search is proportional to N! For 10 cities, 10! = 3,628,800 This phenomenon is called Combinatorial explosion.

23 Branch and Bound Begin generating complete paths, keeping track of the shortest path found so far. Give up exploring any path as soon as its partial length becomes greater than the shortest path found so far. Using this algorithm, we are guaranteed to find the shortest path. It still requires exponential time. The time it saves depends on the order in which paths are explored.

24 Heuristic Search A Heuristic is a technique that improves the efficiency of a search process, possibly by sacrificing claims of completeness. Heuristics are like tour guides They are good to the extent that they point in generally interesting directions; They are bad to the extent that they may miss points of interest to particular individuals. On the average they improve the quality of the paths that are explored. Using Heuristics, we can hope to get good ( though possibly nonoptimal ) solutions to hard problems such asa TSP in non exponential time. There are good general purpose heuristics that are useful in a wide variety of problem domains. Special purpose heuristics exploit domain specific knowledge

25 Nearest Neighbour Heuristic It works by selecting locally superior alternative at each step. Applying to TSP: 1. Arbitrarily select a starting city 2. To select the next city, look at all cities not yet visited and select the one closest to the current city. Go to next step. 3. Repeat step 2 until all cities have been visited. This procedure executes in time proportional to N 2 It is possible to prove an upper bound on the error it incurs. This provides reassurance that one is not paying too high a price in accuracy for speed.

26 Heuristic Function This is a function that maps from problem state descriptions to measures of desirability, usually represented as numbers. Which aspects of the problem state are considered, how those aspects are evaluated, and the weights given to individual aspects are chosen in such a way that the value of the heuristic function at a given node in the search process gives as good an estimate as possible of whether that node is on the desired path to a solution. Well designed heuristic functions can play an important part in efficiently guiding a search process toward a solution.

27 Example Simple Heuristic functions Chess : The material advantage of our side over opponent. TSP: the sum of distances so far Tic-Tac-Toe: 1 for each row in which we could win and in we already have one piece plus 2 for each such row in we have two pieces

28 Problem Characteristics Inorder to choose the most appropriate method for a particular problem, it is necessary to analyze the problem along several key dimensions: Is the problem decomposable into a set of independent smaller or easier subproblems? Can solution steps be ignored or at least undone if they prove unwise? Is the problem s universe predictable? Is a good solution to the problem obvious without comparison to all other possible solutions? Is the desired solution a state of the world or a path to a state? Is a large amount of knowledge absolutely required to solve the problem or is knowledge important only to constrain the search? Can a computer that is simply given the problem return the solution or will the solution of the problem require interaction between the computer and a person?

29 Is the problem Decomposable? Whether the problem can be decomposed into smaller problems? Using the technique of problem decomposition, we can often solve very large problems easily.

30 Blocks World Problem Following operators are available: CLEAR(x) [ block x has nothing on it]-> ON(x, Table) CLEAR(x) and CLEAR(y) -> ON(x,y) [ put x on y] ON(B,C) Start: ON(C,A) C A B ON(B,C) and ON(A,B) A B C Goal: ON(B,C) and ON(A,B) ON(A,B) ON(B,C) CLEAR(A) CLEAR(A) ON(A,B) ON(A,B)

31 Can Solution Steps be ignored or undone? Suppose we are trying to prove a math theorem.we can prove a lemma. If we find the lemma is not of any help, we can still continue. 8-puzzle problem Chess: A move cannot be taken back. Important classes of problems: Ignorable ( theorem proving) Recoverable ( 8-puzzle) Irrecoverable ( Chess) The recoverability of a problem plays an important role in determining the complexity of the control structure necessary for the problem s solution. Ignorable problems can be solved using a simple control structure that never backtracks Recoverable problems can be solved by a slightly more complicated control strategy that does sometimes make mistakes Irrecoverable problems will need to be solved by systems that expends a great deal of effort making each decision since decision must be final.

32 Is the universe Predictable? Certain Outcome ( ex: 8-puzzle) Uncertain Outcome ( ex: Bridge, controlling a robot arm) For solving certain outcome problems, open loop approach ( without feedback) will work fine. For uncertain-outcome problems, planning can at best generate a sequence of operators that has a good probability of leading to a solution. We need to allow for a process of plan revision to take place.

33 Is a good solution absolute or Any path problem Best path problem relative? Any path problems can often be solved in a reasonable amount of time by using heuristics that suggest good paths to explore. Best path problems are computationally harder.

34 Is the solution a state or a path? Examples: Finding a consistent interpretation for the sentence The bank president ate a dish of pasta salad with the fork. We need to find the interpretation but not the record of the processing. Water jug : Here it is not sufficient to report that we have solved, but the path that we found to the state (2,0). Thus the a statement of a solution to this problem must be a sequence of operations ( Plan) that produces the final state.

35 What is the role of knowledge? Two examples: Chess: Knowledge is required to constrain the search for a solution Newspaper story understanding: Lot of knowledge is required even to be able to recognize a solution. Consider a problem of scanning daily newspapers to decide which are supporting the democrats and which are supporting the republicans in some election. We need lots of knowledge to answer such questions as: The names of the candidates in each party The facts that if the major thing you want to see done is have taxes lowered, you are probably supporting the republicans The fact that if the major thing you want to see done is improved education for minority students, you are probably supporting the democrats. etc

36 Does the task require Interaction with a person? The programs require intermediate interaction with people for additional inputs and to provided reassurance to the user. There are two types of programs: Solitary Conversational: Decision on using one of these approaches will be important in the choice of problem solving method.

37 Problem Classification There are several broad classes into which the problems fall. These classes can each be associated with generic control strategy that is appropriate for solving the problems: Classification : ex: medical diagnostics, diagnosis of faults in mechanical devices Propose and Refine: ex: design and planning

38 Production System Characteristics 1. Can production systems, like problems, be described by a set of characteristics that shed some light on how they can easily be implemented? 2. If so, what relationships are there between problem types and the types of production systems best suited to solving the problems? Classes of Production systems: Monotonic Production System: the application of a rule never prevents the later application of another rule that could also have been applied at the time the first rule was selected. Non-Monotonic Production system Partially commutative Production system: property that if application of a particular sequence of rules transforms state x to state y, then permutation of those rules allowable, also transforms state x into state y. Commutative Production system

39 Monotonic Production Systems Production system in which the application of a rule never prevents the later application of another rule that could also have been applied at the time the first rule was applied. i.e., rules are independent.

40 Commutative Production system A partially Commutative production system has a property that if the application of a particular sequence of rules transform state x into state y, then any permutation of those rules that is allowable, also transforms state x into state y. A Commutative production system is a production system that is both monotonic and partially commutative.

41 Partially Commutative, Monotonic These production systems are useful for solving ignorable problems. Example: Theorem Proving They can be implemented without the ability to backtrack to previous states when it is discovered that an incorrect path has been followed. This often results in a considerable increase in efficiency, particularly because since the database will never have to be restored, It is not necessary to keep track of where in the search process every change was made. They are good for problems where things do not change; new things get created.

42 Non Monotonic, Partially Commutative Useful for problems in which changes occur but can be reversed and in which order of operations is not critical. Example: Robot Navigation, 8-puzzle, blocks world Suppose the robot has the following ops: go North (N), go East (E), go South (S), go West (W). To reach its goal, it does not matter whether the robot executes the N-N-E or N-E-N.

43 Not partially Commutative Problems in which irreversible change occurs Example: chemical synthesis The ops can be :Add chemical x to the pot, Change the temperature to t degrees. These ops may cause irreversible changes to the potion being brewed. The order in which they are performed can be very important in determining the final output. (X+y) +z is not the same as (z+y) +x Non partially commutative production systems are less likely to produce the same node many times in search process. When dealing with ones that describe irreversible processes, it is partially important to make correct decisions the first time, although if the universe is predictable, planning can be used to make that less important.

44 Four Categories of Production System Monotonic NonMonotonic Partially Commutative Theorem proving Robot Navigation Not Partially Commutative Chemical Synthesis Bridge

45 Issues in the design of search programs The direction in which to conduct the search ( forward versus backward reasoning). How to select applicable rules ( Matching) How to represent each node of the search process ( knowledge representation problem)

46 Summary Four steps for designing a program to solve a problem: 1. Define the problem precisely 2. Analyse the problem 3. Identify and represent the knowledge required by the task 4. Choose one or more techniques for problem solving and apply those techniques to the problem.

AI: A Modern Approach, Chpts. 3-4 Russell and Norvig

AI: A Modern Approach, Chpts. 3-4 Russell and Norvig AI: A Modern Approach, Chpts. 3-4 Russell and Norvig Sequential Decision Making in Robotics CS 599 Geoffrey Hollinger and Gaurav Sukhatme (Some slide content from Stuart Russell and HweeTou Ng) Spring,

More information

2 SYSTEM DESCRIPTION TECHNIQUES

2 SYSTEM DESCRIPTION TECHNIQUES 2 SYSTEM DESCRIPTION TECHNIQUES 2.1 INTRODUCTION Graphical representation of any process is always better and more meaningful than its representation in words. Moreover, it is very difficult to arrange

More information

CPSC 211 Data Structures & Implementations (c) Texas A&M University [ 313]

CPSC 211 Data Structures & Implementations (c) Texas A&M University [ 313] CPSC 211 Data Structures & Implementations (c) Texas A&M University [ 313] File Structures A file is a collection of data stored on mass storage (e.g., disk or tape) Why on mass storage? too big to fit

More information

6.080/6.089 GITCS Feb 12, 2008. Lecture 3

6.080/6.089 GITCS Feb 12, 2008. Lecture 3 6.8/6.89 GITCS Feb 2, 28 Lecturer: Scott Aaronson Lecture 3 Scribe: Adam Rogal Administrivia. Scribe notes The purpose of scribe notes is to transcribe our lectures. Although I have formal notes of my

More information

Near Optimal Solutions

Near Optimal Solutions Near Optimal Solutions Many important optimization problems are lacking efficient solutions. NP-Complete problems unlikely to have polynomial time solutions. Good heuristics important for such problems.

More information

(Refer Slide Time: 2:03)

(Refer Slide Time: 2:03) Control Engineering Prof. Madan Gopal Department of Electrical Engineering Indian Institute of Technology, Delhi Lecture - 11 Models of Industrial Control Devices and Systems (Contd.) Last time we were

More information

TEACHER S GUIDE TO RUSH HOUR

TEACHER S GUIDE TO RUSH HOUR Using Puzzles to Teach Problem Solving TEACHER S GUIDE TO RUSH HOUR Includes Rush Hour 2, 3, 4, Rush Hour Jr., Railroad Rush Hour and Safari Rush Hour BENEFITS Rush Hour is a sliding piece puzzle that

More information

Dynamic Programming. Lecture 11. 11.1 Overview. 11.2 Introduction

Dynamic Programming. Lecture 11. 11.1 Overview. 11.2 Introduction Lecture 11 Dynamic Programming 11.1 Overview Dynamic Programming is a powerful technique that allows one to solve many different types of problems in time O(n 2 ) or O(n 3 ) for which a naive approach

More information

IAI : Expert Systems

IAI : Expert Systems IAI : Expert Systems John A. Bullinaria, 2005 1. What is an Expert System? 2. The Architecture of Expert Systems 3. Knowledge Acquisition 4. Representing the Knowledge 5. The Inference Engine 6. The Rete-Algorithm

More information

Solve addition and subtraction word problems, and add and subtract within 10, e.g., by using objects or drawings to represent the problem.

Solve addition and subtraction word problems, and add and subtract within 10, e.g., by using objects or drawings to represent the problem. Solve addition and subtraction word problems, and add and subtract within 10, e.g., by using objects or drawings to represent the problem. Solve word problems that call for addition of three whole numbers

More information

What Is Singapore Math?

What Is Singapore Math? What Is Singapore Math? You may be wondering what Singapore Math is all about, and with good reason. This is a totally new kind of math for you and your child. What you may not know is that Singapore has

More information

The Taxman Game. Robert K. Moniot September 5, 2003

The Taxman Game. Robert K. Moniot September 5, 2003 The Taxman Game Robert K. Moniot September 5, 2003 1 Introduction Want to know how to beat the taxman? Legally, that is? Read on, and we will explore this cute little mathematical game. The taxman game

More information

Improving Knowledge-Based System Performance by Reordering Rule Sequences

Improving Knowledge-Based System Performance by Reordering Rule Sequences Improving Knowledge-Based System Performance by Reordering Rule Sequences Neli P. Zlatareva Department of Computer Science Central Connecticut State University 1615 Stanley Street New Britain, CT 06050

More information

2) Write in detail the issues in the design of code generator.

2) Write in detail the issues in the design of code generator. COMPUTER SCIENCE AND ENGINEERING VI SEM CSE Principles of Compiler Design Unit-IV Question and answers UNIT IV CODE GENERATION 9 Issues in the design of code generator The target machine Runtime Storage

More information

Chapter 11 Number Theory

Chapter 11 Number Theory Chapter 11 Number Theory Number theory is one of the oldest branches of mathematics. For many years people who studied number theory delighted in its pure nature because there were few practical applications

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms

More information

AN ANALYSIS OF A WAR-LIKE CARD GAME. Introduction

AN ANALYSIS OF A WAR-LIKE CARD GAME. Introduction AN ANALYSIS OF A WAR-LIKE CARD GAME BORIS ALEXEEV AND JACOB TSIMERMAN Abstract. In his book Mathematical Mind-Benders, Peter Winkler poses the following open problem, originally due to the first author:

More information

Measuring the Performance of an Agent

Measuring the Performance of an Agent 25 Measuring the Performance of an Agent The rational agent that we are aiming at should be successful in the task it is performing To assess the success we need to have a performance measure What is rational

More information

Sudoku puzzles and how to solve them

Sudoku puzzles and how to solve them Sudoku puzzles and how to solve them Andries E. Brouwer 2006-05-31 1 Sudoku Figure 1: Two puzzles the second one is difficult A Sudoku puzzle (of classical type ) consists of a 9-by-9 matrix partitioned

More information

Mathematical Induction

Mathematical Induction Mathematical Induction (Handout March 8, 01) The Principle of Mathematical Induction provides a means to prove infinitely many statements all at once The principle is logical rather than strictly mathematical,

More information

Sequential lmove Games. Using Backward Induction (Rollback) to Find Equilibrium

Sequential lmove Games. Using Backward Induction (Rollback) to Find Equilibrium Sequential lmove Games Using Backward Induction (Rollback) to Find Equilibrium Sequential Move Class Game: Century Mark Played by fixed pairs of players taking turns. At each turn, each player chooses

More information

Midterm Practice Problems

Midterm Practice Problems 6.042/8.062J Mathematics for Computer Science October 2, 200 Tom Leighton, Marten van Dijk, and Brooke Cowan Midterm Practice Problems Problem. [0 points] In problem set you showed that the nand operator

More information

Game playing. Chapter 6. Chapter 6 1

Game playing. Chapter 6. Chapter 6 1 Game playing Chapter 6 Chapter 6 1 Outline Games Perfect play minimax decisions α β pruning Resource limits and approximate evaluation Games of chance Games of imperfect information Chapter 6 2 Games vs.

More information

Linear Programming for Optimization. Mark A. Schulze, Ph.D. Perceptive Scientific Instruments, Inc.

Linear Programming for Optimization. Mark A. Schulze, Ph.D. Perceptive Scientific Instruments, Inc. 1. Introduction Linear Programming for Optimization Mark A. Schulze, Ph.D. Perceptive Scientific Instruments, Inc. 1.1 Definition Linear programming is the name of a branch of applied mathematics that

More information

Computation Strategies for Basic Number Facts +, -, x,

Computation Strategies for Basic Number Facts +, -, x, Computation Strategies for Basic Number Facts +, -, x, Addition Subtraction Multiplication Division Proficiency with basic facts aids estimation and computation of multi-digit numbers. The enclosed strategies

More information

Decision Making under Uncertainty

Decision Making under Uncertainty 6.825 Techniques in Artificial Intelligence Decision Making under Uncertainty How to make one decision in the face of uncertainty Lecture 19 1 In the next two lectures, we ll look at the question of how

More information

Static Program Transformations for Efficient Software Model Checking

Static Program Transformations for Efficient Software Model Checking Static Program Transformations for Efficient Software Model Checking Shobha Vasudevan Jacob Abraham The University of Texas at Austin Dependable Systems Large and complex systems Software faults are major

More information

Introduction Solvability Rules Computer Solution Implementation. Connect Four. March 9, 2010. Connect Four

Introduction Solvability Rules Computer Solution Implementation. Connect Four. March 9, 2010. Connect Four March 9, 2010 is a tic-tac-toe like game in which two players drop discs into a 7x6 board. The first player to get four in a row (either vertically, horizontally, or diagonally) wins. The game was first

More information

Data Structures and Algorithms

Data Structures and Algorithms Data Structures and Algorithms Computational Complexity Escola Politècnica Superior d Alcoi Universitat Politècnica de València Contents Introduction Resources consumptions: spatial and temporal cost Costs

More information

High Performance Computing for Operation Research

High Performance Computing for Operation Research High Performance Computing for Operation Research IEF - Paris Sud University claude.tadonki@u-psud.fr INRIA-Alchemy seminar, Thursday March 17 Research topics Fundamental Aspects of Algorithms and Complexity

More information

Chess Algorithms Theory and Practice. Rune Djurhuus Chess Grandmaster runed@ifi.uio.no / runedj@microsoft.com October 3, 2012

Chess Algorithms Theory and Practice. Rune Djurhuus Chess Grandmaster runed@ifi.uio.no / runedj@microsoft.com October 3, 2012 Chess Algorithms Theory and Practice Rune Djurhuus Chess Grandmaster runed@ifi.uio.no / runedj@microsoft.com October 3, 2012 1 Content Complexity of a chess game History of computer chess Search trees

More information

Section 1.3 P 1 = 1 2. = 1 4 2 8. P n = 1 P 3 = Continuing in this fashion, it should seem reasonable that, for any n = 1, 2, 3,..., = 1 2 4.

Section 1.3 P 1 = 1 2. = 1 4 2 8. P n = 1 P 3 = Continuing in this fashion, it should seem reasonable that, for any n = 1, 2, 3,..., = 1 2 4. Difference Equations to Differential Equations Section. The Sum of a Sequence This section considers the problem of adding together the terms of a sequence. Of course, this is a problem only if more than

More information

Mathematical Induction

Mathematical Induction Mathematical Induction In logic, we often want to prove that every member of an infinite set has some feature. E.g., we would like to show: N 1 : is a number 1 : has the feature Φ ( x)(n 1 x! 1 x) How

More information

Self Organizing Maps: Fundamentals

Self Organizing Maps: Fundamentals Self Organizing Maps: Fundamentals Introduction to Neural Networks : Lecture 16 John A. Bullinaria, 2004 1. What is a Self Organizing Map? 2. Topographic Maps 3. Setting up a Self Organizing Map 4. Kohonen

More information

Symmetry of Nonparametric Statistical Tests on Three Samples

Symmetry of Nonparametric Statistical Tests on Three Samples Symmetry of Nonparametric Statistical Tests on Three Samples Anna E. Bargagliotti Donald G. Saari Department of Mathematical Sciences Institute for Math. Behavioral Sciences University of Memphis University

More information

Chapter 3 Review Math 1030

Chapter 3 Review Math 1030 Section A.1: Three Ways of Using Percentages Using percentages We can use percentages in three different ways: To express a fraction of something. For example, A total of 10, 000 newspaper employees, 2.6%

More information

POLYNOMIAL FUNCTIONS

POLYNOMIAL FUNCTIONS POLYNOMIAL FUNCTIONS Polynomial Division.. 314 The Rational Zero Test.....317 Descarte s Rule of Signs... 319 The Remainder Theorem.....31 Finding all Zeros of a Polynomial Function.......33 Writing a

More information

2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8]

2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8] Code No: R05220502 Set No. 1 1. (a) Describe the performance analysis in detail. (b) Show that f 1 (n)+f 2 (n) = 0(max(g 1 (n), g 2 (n)) where f 1 (n) = 0(g 1 (n)) and f 2 (n) = 0(g 2 (n)). [8+8] 2. (a)

More information

Lecture 18: Applications of Dynamic Programming Steven Skiena. Department of Computer Science State University of New York Stony Brook, NY 11794 4400

Lecture 18: Applications of Dynamic Programming Steven Skiena. Department of Computer Science State University of New York Stony Brook, NY 11794 4400 Lecture 18: Applications of Dynamic Programming Steven Skiena Department of Computer Science State University of New York Stony Brook, NY 11794 4400 http://www.cs.sunysb.edu/ skiena Problem of the Day

More information

36 CHAPTER 1. LIMITS AND CONTINUITY. Figure 1.17: At which points is f not continuous?

36 CHAPTER 1. LIMITS AND CONTINUITY. Figure 1.17: At which points is f not continuous? 36 CHAPTER 1. LIMITS AND CONTINUITY 1.3 Continuity Before Calculus became clearly de ned, continuity meant that one could draw the graph of a function without having to lift the pen and pencil. While this

More information

Formal Languages and Automata Theory - Regular Expressions and Finite Automata -

Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Samarjit Chakraborty Computer Engineering and Networks Laboratory Swiss Federal Institute of Technology (ETH) Zürich March

More information

Partial-Order Planning Algorithms

Partial-Order Planning Algorithms 6.825 Techniques in Artificial Intelligence Partial-Order Planning Algorithms Lecture 11 1 Last time we talked about partial order planning, and we got through the basic idea and the formal description

More information

Roulette Wheel Selection Game Player

Roulette Wheel Selection Game Player Macalester College DigitalCommons@Macalester College Honors Projects Mathematics, Statistics, and Computer Science 5-1-2013 Roulette Wheel Selection Game Player Scott Tong Macalester College, stong101@gmail.com

More information

Single-Link Failure Detection in All-Optical Networks Using Monitoring Cycles and Paths

Single-Link Failure Detection in All-Optical Networks Using Monitoring Cycles and Paths Single-Link Failure Detection in All-Optical Networks Using Monitoring Cycles and Paths Satyajeet S. Ahuja, Srinivasan Ramasubramanian, and Marwan Krunz Department of ECE, University of Arizona, Tucson,

More information

Sample Fraction Addition and Subtraction Concepts Activities 1 3

Sample Fraction Addition and Subtraction Concepts Activities 1 3 Sample Fraction Addition and Subtraction Concepts Activities 1 3 College- and Career-Ready Standard Addressed: Build fractions from unit fractions by applying and extending previous understandings of operations

More information

Discrete Mathematics and Probability Theory Fall 2009 Satish Rao, David Tse Note 2

Discrete Mathematics and Probability Theory Fall 2009 Satish Rao, David Tse Note 2 CS 70 Discrete Mathematics and Probability Theory Fall 2009 Satish Rao, David Tse Note 2 Proofs Intuitively, the concept of proof should already be familiar We all like to assert things, and few of us

More information

PROG0101 Fundamentals of Programming PROG0101 FUNDAMENTALS OF PROGRAMMING. Chapter 3 Algorithms

PROG0101 Fundamentals of Programming PROG0101 FUNDAMENTALS OF PROGRAMMING. Chapter 3 Algorithms PROG0101 FUNDAMENTALS OF PROGRAMMING Chapter 3 1 Introduction to A sequence of instructions. A procedure or formula for solving a problem. It was created mathematician, Mohammed ibn-musa al-khwarizmi.

More information

Backward Induction and Subgame Perfection

Backward Induction and Subgame Perfection Backward Induction and Subgame Perfection In extensive-form games, we can have a Nash equilibrium profile of strategies where player 2 s strategy is a best response to player 1 s strategy, but where she

More information

A New Interpretation of Information Rate

A New Interpretation of Information Rate A New Interpretation of Information Rate reproduced with permission of AT&T By J. L. Kelly, jr. (Manuscript received March 2, 956) If the input symbols to a communication channel represent the outcomes

More information

Lecture 1: Course overview, circuits, and formulas

Lecture 1: Course overview, circuits, and formulas Lecture 1: Course overview, circuits, and formulas Topics in Complexity Theory and Pseudorandomness (Spring 2013) Rutgers University Swastik Kopparty Scribes: John Kim, Ben Lund 1 Course Information Swastik

More information

Scheduling. Getting Started. Scheduling 79

Scheduling. Getting Started. Scheduling 79 Scheduling 9 Scheduling An event planner has to juggle many workers completing different tasks, some of which must be completed before others can begin. For example, the banquet tables would need to be

More information

Welcome to Harcourt Mega Math: The Number Games

Welcome to Harcourt Mega Math: The Number Games Welcome to Harcourt Mega Math: The Number Games Harcourt Mega Math In The Number Games, students take on a math challenge in a lively insect stadium. Introduced by our host Penny and a number of sporting

More information

Kenken For Teachers. Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles June 27, 2010. Abstract

Kenken For Teachers. Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles June 27, 2010. Abstract Kenken For Teachers Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles June 7, 00 Abstract Kenken is a puzzle whose solution requires a combination of logic and simple arithmetic skills.

More information

Math Journal HMH Mega Math. itools Number

Math Journal HMH Mega Math. itools Number Lesson 1.1 Algebra Number Patterns CC.3.OA.9 Identify arithmetic patterns (including patterns in the addition table or multiplication table), and explain them using properties of operations. Identify and

More information

3.1. RATIONAL EXPRESSIONS

3.1. RATIONAL EXPRESSIONS 3.1. RATIONAL EXPRESSIONS RATIONAL NUMBERS In previous courses you have learned how to operate (do addition, subtraction, multiplication, and division) on rational numbers (fractions). Rational numbers

More information

Informed search algorithms. Chapter 4, Sections 1 2 1

Informed search algorithms. Chapter 4, Sections 1 2 1 Informed search algorithms Chapter 4, Sections 1 2 Chapter 4, Sections 1 2 1 Outline Best-first search A search Heuristics Chapter 4, Sections 1 2 2 Review: Tree search function Tree-Search( problem, fringe)

More information

So today we shall continue our discussion on the search engines and web crawlers. (Refer Slide Time: 01:02)

So today we shall continue our discussion on the search engines and web crawlers. (Refer Slide Time: 01:02) Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #39 Search Engines and Web Crawler :: Part 2 So today we

More information

INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET)

INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 6367(Print), ISSN 0976 6367(Print) ISSN 0976 6375(Online)

More information

Guidance paper - The use of calculators in the teaching and learning of mathematics

Guidance paper - The use of calculators in the teaching and learning of mathematics Guidance paper - The use of calculators in the teaching and learning of mathematics Background and context In mathematics, the calculator can be an effective teaching and learning resource in the primary

More information

Sowing Games JEFF ERICKSON

Sowing Games JEFF ERICKSON Games of No Chance MSRI Publications Volume 29, 1996 Sowing Games JEFF ERICKSON Abstract. At the Workshop, John Conway and Richard Guy proposed the class of sowing games, loosely based on the ancient African

More information

Level 2 Routing: LAN Bridges and Switches

Level 2 Routing: LAN Bridges and Switches Level 2 Routing: LAN Bridges and Switches Norman Matloff University of California at Davis c 2001, N. Matloff September 6, 2001 1 Overview In a large LAN with consistently heavy traffic, it may make sense

More information

An Introduction to The A* Algorithm

An Introduction to The A* Algorithm An Introduction to The A* Algorithm Introduction The A* (A-Star) algorithm depicts one of the most popular AI methods used to identify the shortest path between 2 locations in a mapped area. The A* algorithm

More information

Making Decisions in Chess

Making Decisions in Chess Making Decisions in Chess How can I find the best move in a position? This is a question that every chess player would like to have answered. Playing the best move in all positions would make someone invincible.

More information

Solving Linear Systems, Continued and The Inverse of a Matrix

Solving Linear Systems, Continued and The Inverse of a Matrix , Continued and The of a Matrix Calculus III Summer 2013, Session II Monday, July 15, 2013 Agenda 1. The rank of a matrix 2. The inverse of a square matrix Gaussian Gaussian solves a linear system by reducing

More information

Enumerating possible Sudoku grids

Enumerating possible Sudoku grids Enumerating possible Sudoku grids Bertram Felgenhauer Department of Computer Science TU Dresden 00 Dresden Germany bf@mail.inf.tu-dresden.de Frazer Jarvis Department of Pure Mathematics University of Sheffield,

More information

The Crescent Primary School Calculation Policy

The Crescent Primary School Calculation Policy The Crescent Primary School Calculation Policy Examples of calculation methods for each year group and the progression between each method. January 2015 Our Calculation Policy This calculation policy has

More information

A MULTI-STAGE HEURISTIC APPROACH TO RESOURCE ALLOCATION (AMHARA) FOR AUTOMATED SCHEDULING

A MULTI-STAGE HEURISTIC APPROACH TO RESOURCE ALLOCATION (AMHARA) FOR AUTOMATED SCHEDULING エシアン ゾロナル オフ ソシルサエニセズ アンドヒオメニテズ ISSN: 2186-8492, ISSN: 2186-8484 Print A MULTI-STAGE HEURISTIC APPROACH TO RESOURCE ALLOCATION (AMHARA) FOR AUTOMATED SCHEDULING Mehryar Nooriafshar * Faculty of Business,

More information

The theory of the six stages of learning with integers (Published in Mathematics in Schools, Volume 29, Number 2, March 2000) Stage 1

The theory of the six stages of learning with integers (Published in Mathematics in Schools, Volume 29, Number 2, March 2000) Stage 1 The theory of the six stages of learning with integers (Published in Mathematics in Schools, Volume 29, Number 2, March 2000) Stage 1 Free interaction In the case of the study of integers, this first stage

More information

WRITING PROOFS. Christopher Heil Georgia Institute of Technology

WRITING PROOFS. Christopher Heil Georgia Institute of Technology WRITING PROOFS Christopher Heil Georgia Institute of Technology A theorem is just a statement of fact A proof of the theorem is a logical explanation of why the theorem is true Many theorems have this

More information

CSC2420 Fall 2012: Algorithm Design, Analysis and Theory

CSC2420 Fall 2012: Algorithm Design, Analysis and Theory CSC2420 Fall 2012: Algorithm Design, Analysis and Theory Allan Borodin November 15, 2012; Lecture 10 1 / 27 Randomized online bipartite matching and the adwords problem. We briefly return to online algorithms

More information

Using Use Cases for requirements capture. Pete McBreen. 1998 McBreen.Consulting

Using Use Cases for requirements capture. Pete McBreen. 1998 McBreen.Consulting Using Use Cases for requirements capture Pete McBreen 1998 McBreen.Consulting petemcbreen@acm.org All rights reserved. You have permission to copy and distribute the document as long as you make no changes

More information

Efficient Data Structures for Decision Diagrams

Efficient Data Structures for Decision Diagrams Artificial Intelligence Laboratory Efficient Data Structures for Decision Diagrams Master Thesis Nacereddine Ouaret Professor: Supervisors: Boi Faltings Thomas Léauté Radoslaw Szymanek Contents Introduction...

More information

Data Structures Fibonacci Heaps, Amortized Analysis

Data Structures Fibonacci Heaps, Amortized Analysis Chapter 4 Data Structures Fibonacci Heaps, Amortized Analysis Algorithm Theory WS 2012/13 Fabian Kuhn Fibonacci Heaps Lacy merge variant of binomial heaps: Do not merge trees as long as possible Structure:

More information

Test Case Design Techniques

Test Case Design Techniques Summary of Test Case Design Techniques Brian Nielsen, Arne Skou {bnielsen ask}@cs.auc.dk Development of Test Cases Complete testing is impossible Testing cannot guarantee the absence of faults How to select

More information

Graph Theory Problems and Solutions

Graph Theory Problems and Solutions raph Theory Problems and Solutions Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles November, 005 Problems. Prove that the sum of the degrees of the vertices of any finite graph is

More information

Representing Reversible Cellular Automata with Reversible Block Cellular Automata

Representing Reversible Cellular Automata with Reversible Block Cellular Automata Discrete Mathematics and Theoretical Computer Science Proceedings AA (DM-CCG), 2001, 145 154 Representing Reversible Cellular Automata with Reversible Block Cellular Automata Jérôme Durand-Lose Laboratoire

More information

Math Content by Strand 1

Math Content by Strand 1 Math Content by Strand 1 Number and Operations with Whole Numbers Multiplication and Division Grade 3 In Grade 3, students investigate the properties of multiplication and division, including the inverse

More information

Ready, Set, Go! Math Games for Serious Minds

Ready, Set, Go! Math Games for Serious Minds Math Games with Cards and Dice presented at NAGC November, 2013 Ready, Set, Go! Math Games for Serious Minds Rande McCreight Lincoln Public Schools Lincoln, Nebraska Math Games with Cards Close to 20 -

More information

A Non-Linear Schema Theorem for Genetic Algorithms

A Non-Linear Schema Theorem for Genetic Algorithms A Non-Linear Schema Theorem for Genetic Algorithms William A Greene Computer Science Department University of New Orleans New Orleans, LA 70148 bill@csunoedu 504-280-6755 Abstract We generalize Holland

More information

Creating, Solving, and Graphing Systems of Linear Equations and Linear Inequalities

Creating, Solving, and Graphing Systems of Linear Equations and Linear Inequalities Algebra 1, Quarter 2, Unit 2.1 Creating, Solving, and Graphing Systems of Linear Equations and Linear Inequalities Overview Number of instructional days: 15 (1 day = 45 60 minutes) Content to be learned

More information

ph. Weak acids. A. Introduction

ph. Weak acids. A. Introduction ph. Weak acids. A. Introduction... 1 B. Weak acids: overview... 1 C. Weak acids: an example; finding K a... 2 D. Given K a, calculate ph... 3 E. A variety of weak acids... 5 F. So where do strong acids

More information

Pigeonhole Principle Solutions

Pigeonhole Principle Solutions Pigeonhole Principle Solutions 1. Show that if we take n + 1 numbers from the set {1, 2,..., 2n}, then some pair of numbers will have no factors in common. Solution: Note that consecutive numbers (such

More information

Chess Algorithms Theory and Practice. Rune Djurhuus Chess Grandmaster runed@ifi.uio.no / runedj@microsoft.com September 23, 2014

Chess Algorithms Theory and Practice. Rune Djurhuus Chess Grandmaster runed@ifi.uio.no / runedj@microsoft.com September 23, 2014 Chess Algorithms Theory and Practice Rune Djurhuus Chess Grandmaster runed@ifi.uio.no / runedj@microsoft.com September 23, 2014 1 Content Complexity of a chess game Solving chess, is it a myth? History

More information

1. I have 4 sides. My opposite sides are equal. I have 4 right angles. Which shape am I?

1. I have 4 sides. My opposite sides are equal. I have 4 right angles. Which shape am I? Which Shape? This problem gives you the chance to: identify and describe shapes use clues to solve riddles Use shapes A, B, or C to solve the riddles. A B C 1. I have 4 sides. My opposite sides are equal.

More information

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits Outline NP-completeness Examples of Easy vs. Hard problems Euler circuit vs. Hamiltonian circuit Shortest Path vs. Longest Path 2-pairs sum vs. general Subset Sum Reducing one problem to another Clique

More information

MATH10212 Linear Algebra. Systems of Linear Equations. Definition. An n-dimensional vector is a row or a column of n numbers (or letters): a 1.

MATH10212 Linear Algebra. Systems of Linear Equations. Definition. An n-dimensional vector is a row or a column of n numbers (or letters): a 1. MATH10212 Linear Algebra Textbook: D. Poole, Linear Algebra: A Modern Introduction. Thompson, 2006. ISBN 0-534-40596-7. Systems of Linear Equations Definition. An n-dimensional vector is a row or a column

More information

Session 6 Number Theory

Session 6 Number Theory Key Terms in This Session Session 6 Number Theory Previously Introduced counting numbers factor factor tree prime number New in This Session composite number greatest common factor least common multiple

More information

Basics of Dimensional Modeling

Basics of Dimensional Modeling Basics of Dimensional Modeling Data warehouse and OLAP tools are based on a dimensional data model. A dimensional model is based on dimensions, facts, cubes, and schemas such as star and snowflake. Dimensional

More information

Answer: The relationship cannot be determined.

Answer: The relationship cannot be determined. Question 1 Test 2, Second QR Section (version 3) In City X, the range of the daily low temperatures during... QA: The range of the daily low temperatures in City X... QB: 30 Fahrenheit Arithmetic: Ranges

More information

Current Standard: Mathematical Concepts and Applications Shape, Space, and Measurement- Primary

Current Standard: Mathematical Concepts and Applications Shape, Space, and Measurement- Primary Shape, Space, and Measurement- Primary A student shall apply concepts of shape, space, and measurement to solve problems involving two- and three-dimensional shapes by demonstrating an understanding of:

More information

[Refer Slide Time: 05:10]

[Refer Slide Time: 05:10] Principles of Programming Languages Prof: S. Arun Kumar Department of Computer Science and Engineering Indian Institute of Technology Delhi Lecture no 7 Lecture Title: Syntactic Classes Welcome to lecture

More information

6.099, Spring Semester, 2006 Assignment for Week 13 1

6.099, Spring Semester, 2006 Assignment for Week 13 1 6.099, Spring Semester, 2006 Assignment for Week 13 1 MASSACHVSETTS INSTITVTE OF TECHNOLOGY Department of Electrical Engineering and Computer Science 6.099 Introduction to EECS I Spring Semester, 2006

More information

Statistical Machine Translation: IBM Models 1 and 2

Statistical Machine Translation: IBM Models 1 and 2 Statistical Machine Translation: IBM Models 1 and 2 Michael Collins 1 Introduction The next few lectures of the course will be focused on machine translation, and in particular on statistical machine translation

More information

Lies My Calculator and Computer Told Me

Lies My Calculator and Computer Told Me Lies My Calculator and Computer Told Me 2 LIES MY CALCULATOR AND COMPUTER TOLD ME Lies My Calculator and Computer Told Me See Section.4 for a discussion of graphing calculators and computers with graphing

More information

Vector Treasure Hunt Teacher s Guide

Vector Treasure Hunt Teacher s Guide Vector Treasure Hunt Teacher s Guide 1.0 Summary Vector Treasure Hunt is the first activity to be done after the Pre-Test. This activity should take approximately 30 minutes. 2.0 Learning Goals Driving

More information

Y. Xiang, Constraint Satisfaction Problems

Y. Xiang, Constraint Satisfaction Problems Constraint Satisfaction Problems Objectives Constraint satisfaction problems Backtracking Iterative improvement Constraint propagation Reference Russell & Norvig: Chapter 5. 1 Constraints Constraints are

More information

9.4. The Scalar Product. Introduction. Prerequisites. Learning Style. Learning Outcomes

9.4. The Scalar Product. Introduction. Prerequisites. Learning Style. Learning Outcomes The Scalar Product 9.4 Introduction There are two kinds of multiplication involving vectors. The first is known as the scalar product or dot product. This is so-called because when the scalar product of

More information

3 Some Integer Functions

3 Some Integer Functions 3 Some Integer Functions A Pair of Fundamental Integer Functions The integer function that is the heart of this section is the modulo function. However, before getting to it, let us look at some very simple

More information

Representing Vector Fields Using Field Line Diagrams

Representing Vector Fields Using Field Line Diagrams Minds On Physics Activity FFá2 5 Representing Vector Fields Using Field Line Diagrams Purpose and Expected Outcome One way of representing vector fields is using arrows to indicate the strength and direction

More information