Ida* search-artificial intelligence, Basic Computer Science

Assignment Help:

IDA* Search-Artificial intelligence:

A* search is a sophisticated and successful search strategy. yet, a problem with A* search is that it might  keep every states in its memory, so memory is frequently a much bigger consideration than time in designing agents to undertake A* searches. We solve  the same problem with breadth first search by using an  IDS, and we do similar with A*.

Like IDS, an IDA* search is a series of depth first searches where the depth is increased after every iteration. yet, the depth is not measured in terms of the path length, like  it is in IDS, but rather in terms of the A*  collect function f(n) as described above. To do this, we have to define contours as regions of the search space containing states where it is below some restriction for every the states, as shown pictorially here:

 

2348_IDA- Search-Artificial intelligence.dib

 We see that we could discard M2 straight away, so saving ourselves 3 nodes in the search space. We could reject M3 after we came across the nine, and in the end M4 turns out to be better than M1 for player one. In conclusion, using alpha-beta pruning, we ignored looking at 5 end nodes out of 16 - around 30%. If the calculation to assess the scores at end-game states (or estimate them with an evaluation function) is computationally costly, then this saving could enable a greatly larger search. In addition, t his kind of pruning may occur anywhere on the tree. The general principles are that:

1. Given a node N which may be decide by player one, then if there is another node, X, along any path, likewise that (a) X may be chosen by player two (b) X is on a higher level than N and (c) X has been shown to guarantee a bad score for player one than N, then every the nodes with the same parent as N may be pruned.

2. Given a node N which may be selected by player two, then if there is a node X along any path such that (a) player one may select X (b) X is on a higher level than N and (c) X has been shown to guarantee a better score for player one than N, then every nodes with the same parent as N can be pruned.

As an quection which of these principles did we use in the M1  - M4  pruning example above? (To make it simple, I've written on the N's and X's).

Because we may prune using the alpha-beta method, it makes logic to perform a depth-first search using the minima principle. Compared to a breadth first search, a depth primary search will get to goal states early, and this information may be used to determine the scores guaranteed for a player at specific board states, which used to perform alpha-beta pruning. If a game-playing agent used a breadth first search instead, then only accurate at the end of the search would it reach the goal states and start to perform minima calculations. Thus, the agent would miss much potential to perform pruning.

Utilize a depth first search and alpha-beta pruning is sensitive to the order in which we try operators in our search. In above example, if we had selected to look at move M4 first, then we would have been able to do more pruning, due to the high minimum value (11) from that branch. Regularly it is worth spending some time working out how best to order a set of operators, as this will really increase the amount of pruning that can occur.

It's clear that a depth-first minimax search with alpha-beta pruning search dominates minimax search alone. Actually, if the effective branching rate of a typical minimax search was b, then using

Alpha-beta pruning will decrease this rate tob. In chess, this means that the valuable branching rate reduces from thirty to around six, meaning that alpha-beta search may look further moves ahead than a normal minimax search with cutoff.

Each node in a contour scores less than a specific value and IDA* search agents are told how much to increase the contour limit by on each iteration. This defines the depth for successive searches. When using contours, it is valuable for the function f(n) to be monotonic,for example , f is monotonic if whenever an operator takes a state s1  to a state s2, then f(s2) >= f(s1). In other words, if the value of f always increases along  a path, then  f  is  monotonic.  As an exercise,  why do  we want  monotonicity to ensure optimality in IDA* search?


Related Discussions:- Ida* search-artificial intelligence

Software Engineering, You are an engineer involved in the development of a ...

You are an engineer involved in the development of a financial system. During installation, you discover that this system will make a significant number of people redundant. The pe

Calories burned, Running on a particular treadmill you burn 3.9 calories pe...

Running on a particular treadmill you burn 3.9 calories per minute. design a program that uses a loop to display the number of calories burned after 10,15,20,25,30 minutes?

cpp programming assignment help, wrap that computes a customer water bill....

wrap that computes a customer water bill. The bill include Rs.100 water demand charge + a consumption charge of Rs.1.5 for every thousand gallons used. Consumption is figured from

Types of printers, Types of Printers 1. Impact printers The impact...

Types of Printers 1. Impact printers The impact printers produce the image through a mechanism of striking on the stationary. 2. Line Printer This type of printer

Cathode ray tube monitors, Cathode Ray Tube Monitors (CRT): Monitors d...

Cathode Ray Tube Monitors (CRT): Monitors display what is going on in your computer. They can run at various resolutions. It is the part of computer which looks like a TV set.

Deadlock , My question on the following link: http://www.3n33.com/upload/d...

My question on the following link: http://www.3n33.com/upload/download.php?img=1410

What is packet switching? explain, Question 1 What are the five subscriber...

Question 1 What are the five subscriber-related signaling functions performed by the operator? Question 2 Compare Microprogrammed control and Hard-wired control Que

Python Tuples , A tuple is one more series data type that is like to the li...

A tuple is one more series data type that is like to the list. A tuple consists of a number of values divided by commas. Not like lists, though, tuples are enclosed inside parenthe

Explain any two issues in web design, Question 1 Explain any two issues in...

Question 1 Explain any two issues in web design Question 2 Mention the factors considered for good design Question 3 What are the advantages of graphical system?

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd