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

Explain one modulation technique used for high speed modems, Explain at lea...

Explain at least one modulation technique used for high speed modems. FSK - Frequency Shift Keying: In such technique the frequency of the carrier signal is changed as per to

Hashing, what is hashing in database management system?

what is hashing in database management system?

Subprogram, create a stored procedure to debit a bank account user must ent...

create a stored procedure to debit a bank account user must enter account no. and amount to debited from account .the minimum balance in account should be 500. if the debited amoun

Why network layer is used, Network Layer is used for (A)  Breaking up ...

Network Layer is used for (A)  Breaking up the data in frames for transmission (B)  Deal with Error correction (C)  Automatic Recovery of Procedure (D)  Physica

Discuss about second generation electronic computers, Second Generation (19...

Second Generation (1954-1962) The second generation saw various significant developments at every level of computer system design, from technology used to build the basic circu

Explain processing of an interrupt, Q. Explain Processing of an Interrupt? ...

Q. Explain Processing of an Interrupt? The interrupt is processed as: Step 1: Number field in INT instruction is multiplied by 4 to get its entry in interrupt vector table.

What are pages, What are pages? All programs and date are composed of f...

What are pages? All programs and date are composed of fixed length units known as pages. Each page consists of blocks of words that occupy contiguous locations in main memory

Translation table encryption technique to secure transaction, Discuss about...

Discuss about Translation table encryption technique to ensure secured transactions onto the net? Translation table: In this process each chunk of data is used like an of

What are program-invisible registers, What are program-invisible registers?...

What are program-invisible registers? Ans: the local and global descriptor tables are found in the memory system. To access and specify the address of these tables, program inv

What is an accessor in c++, An accessor is a class operation that does not ...

An accessor is a class operation that does not change the state of an object in C++. The access or functions require to be declared as const operations

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