Effective branching rate - heuristic searches, Computer Engineering

Assignment Help:

Effective Branching Rate:

Assessing heuristic functions is an important part of "AI" research: a particular heuristic function may sound such a good idea, but in practice give no discernible increase in the quality of the search. Search quality can be estimated experimentally in terms of the output from the search, so by using various measures such as the effective branching rate. Let suppose a particular problem P has been solved by search strategy S by expanding N nodes, and the solution play at depth D in the space. Then the effective branching rate of S for P is calculated by comparing S just to a uniform search U. The other example of a uniform search is a breadth first search where the number of branches from any node is always the same (as in our baby naming example). After that we suppose the (uniform) branching rate of U is like that, on the exhausting its search to depth D, it too would have expanded exactly N nodes. That should be 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 proper value for b*. For example if we considered that we taken from Russell and Norvig rule, suppose S finds a solution at depth 5 having expanded 52 nodes. As in the above this case:

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

and it turns out that b*=1.91. To calculate this, we can use the very well known mathematical character:

362_Effective Branching Rate.png
This enables us to write a polynomial for which b* is a zero, and we can solve this using numerical techniques like Newton's method.
It is normally the case that the effective branching rate of a search strategy is similar over all the problems. It is may be used for, so that it is acceptable to average b* over a small set of problems to give a valid account. If there is a heuristic search has a branching rate near to 1, then this is a good sign. We state that one 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 clearly desirable because it means a quicker search.


Related Discussions:- Effective branching rate - heuristic searches

Which scheduling is suitable for time-shared operatin system, Which schedul...

Which scheduling policy is most suitable for a time-shared operating system? Ans. Round-Robin scheduling policy is most appropriate for a time-shared operating system.

How to build the structure chart, Building the Structure Chart - Proces...

Building the Structure Chart - Processes in the DFD tend to show single module on the structure chart Afferent processes - give inputs to system Central processes -

Difference between next and continue clause, The difference among the next ...

The difference among the next and continue verb is that in the continue verb it is used for a situation where there is no EOF condition that is the records are to be accessed again

Prolog, Prolog: Still we can take our card game from the previous lect...

Prolog: Still we can take our card game from the previous lecture like a case study for the implementation of a logic-based expert system. So there the rules were: four cards

Explain syntax of recursion, Syntax of recursion int fib(int num) /*...

Syntax of recursion int fib(int num) /* Fibonacci value of a number */ {      switch(num) { case 0: return(0); break; case 1: return(1); break; default:  /* Incl

Set up the site structure, Structuring the Web site is first step towards b...

Structuring the Web site is first step towards building the corporate Web site. Structuring includes creating a folder that includes all our picture files, text files and database

Write the factors considered in designing an i/o subsystem, Write the facto...

Write the factors considered in designing an I/O subsystem? 1.  Data Location: Device selection, address of data within device ( track, sector etc) 2.  Data transfer: Amount

Assembler, Assembler: Typically a modern assembler makes object code b...

Assembler: Typically a modern assembler makes object code by translating assembly instruction into op codes, & by resolving symbolic names for memory locations and any other e

what are the advantages of threads over processes, What are the advantages...

What are the advantages of threads over processes? Some of the useful threads offer over processes includes: i)   It does not take more time to create and finished a new thr

Pipe, Your shell should accept and execute the pipe "|"  operator. This wil...

Your shell should accept and execute the pipe "|"  operator. This will look like the following: | The functionality of this operator is to execute command1 and send i

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