Assessing heuristic searches-artificial intelligence, Computer Engineering

Assignment Help:

Assessing Heuristic Searches

Given a specific problem you want to create an agent to solve, there can be more than one way of specifying it as a search problem, more than one option for the search strategy and different possibilities for heuristic measures. To a large extent, it is hard to predict what the best option will be, and it will require some experimentation to find out them. In some kind of cases, - if we calculate the effective branching rate, as described below - we may tell for sure if one heuristic measure is always being out-performed by another.

The Effective Branching Rate

Assessing heuristic functions is an essential part of Artificial Intelligence research: a specific heuristic function can sound like a good idea, but in practice give no discernible increase in the quality of the search. Search quality may be determined experimentally  in  terms  of  the  output  from  the  search,  and  by  using  sevral measures likewise  the effective branching rate. Imagine  a specific  problem P has been solved by search strategy S by expanding N nodes, and the solution lay at depth D in the space. Then the effective branching value of S for P is calculated by comparing S to a uniform search U. An example of a uniform search is a breadth first search where many branches from any node are always the same (as in our baby naming example). We then suppose the (uniform) branching rate of U is like  that, on exhausting its search to depth D, it too would have expanded defiantly N nodes. This imagined branching rate, written b*, is the effective branching rate of S and is calculated thus:

N = 1 + b* + (b*)2 + ... + (b*)D.

Rearranging this equation will give a value for b*. For an example (taken from  Norvig and Russell )imagine S finds a solution at depth 5 having expanded 52 nodes. In this type of case:

 52 = 1 + b* + (b*)2 + ... + (b*)5.

and it turns out that b*=1.91. To calculate its value , we use the well known mathematical identity:

 

This make us enables to write a polynomial for which b* is a 0, and we may solve this using numerical techniques such as Newton's method.

581_Assessing Heuristic Searches.png 
It is typically the case that the effective branching rate of a search strategy is same  over all the problems it is used for, because of this it is suitable to average b* over a small set of problems to give a valid account. If a heuristic search has a branching rate near to 1, then it is a good sign.  We say that 1 heuristic function  h1 dominates another h2 if the search using h1 always has a lower effective branching rate than h2. Having a lower effective branching rate is obviously desirable because it means a quicker search.


Related Discussions:- Assessing heuristic searches-artificial intelligence

Pipeline, where can I find detailed explanation of 6 stage and 7 stage pipe...

where can I find detailed explanation of 6 stage and 7 stage pipeline ??

How much CMOS circuits consume power, CMOS circuits consume power ? An...

CMOS circuits consume power ? Ans. As in CMOS one device is ON and one is Always OFF therefore power consumption is low or can say less than TTL.

Define the karnaugh maps (k maps), Define The Karnaugh Maps (K Maps) Th...

Define The Karnaugh Maps (K Maps) The Karnaugh map (K map) provides the systematic method for simplifying a Boolean expression or a truth table function when used properly the

EME, How can i made Carnot engine

How can i made Carnot engine

In java system.out is an object of which type, In Java System.out is an obj...

In Java System.out is an object of type? In Java System.out is an object of form Print Stream.

What is stack addressing, Q. What is Stack Addressing? In this addressi...

Q. What is Stack Addressing? In this addressing technique operand is implied as top of stack. It isn't explicit however implied. It employs a CPU Register known as Stack Pointe

Design a model for object oriented development, Design a model for object o...

Design a model for object oriented development The model for object oriented development could be shown as in Figure. It could be classified as dynamic / static and physical /

Explain characteristics of prototyping, Question: (a) List five main c...

Question: (a) List five main characteristics of ‘Prototyping'. (b) Describe briefly why ‘Prototyping' is essential to Rapid Application Development. (c) Describe the 2 t

Develop a program which reads hexadecimal number, Q.  Develop a program, wh...

Q.  Develop a program, which reads Hexadecimal number from an input file & convert it into Octal, Binary, and Decimal. The O/P should be written to a file & displayed accordingly.

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