Histogram matching: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>Owen214
m grammar
 
Line 1: Line 1:
{{Technical|date=November 2009}}
{{graph search algorithm}}


'''SMA*''' or '''Simplified Memory Bounded A*''' is a [[shortest path algorithm]] based on the [[A*]] algorithm. The main advantage of SMA* is that it uses a bounded memory, while the A* algorithm might need exponential memory. All other characteristics of SMA* are inherited from A*.


Bonus:  WP Twin and WP Twin Auto Backup: (link to )  While not a theme, I think this software is essential if you are maintaining your Wordpress blog or regularly create new blog sites. What I advise you do next is save the backup data file to a remote place like a CD-ROM, external disk drive if you have one or a provider such as Dropbox. If you adored this short article and you would certainly like to receive more info regarding [http://rlpr.co/wordpress_dropbox_backup_304525 backup plugin] kindly browse through our own internet site. A pinch of tablet centric strategy can get your Word - Press site miles ahead of your competitors, so here are few strategies that will give your Wordpress websites and blogs an edge over your competitors:. If you're using Wordpress and want to make your blog a "dofollow" blog, meaning that links from your blog pass on the benefits of Google pagerank, you can install one of the many dofollow plugins available. This particular wordpress plugin is essential for not only having the capability where you improve your position, but to enhance your organic searches for your website. <br><br>Any business enterprise that is certainly worth its name should really shell out a good deal in making sure that they have the most effective website that provides related info to its prospect. WPTouch is among the more well known Word - Press smartphone plugins which is currently in use by thousands of users. Well Managed Administration  The Word - Press can easily absorb the high numbers of traffic by controlling the server load to make sure that the site works properly. From my very own experiences, I will let you know why you should choose WPZOOM Live journal templates. Moreover, many Word - Press themes need to be purchased and designing your own WP site can be boring. <br><br>It is very easy to install Word - Press blog or website. Word - Press has ensured the users of this open source blogging platform do not have to troubleshoot on their own, or seek outside help. You can now search through the thousands of available plugins to add all kinds of functionality to your Word - Press site. User friendly features and flexibility that Word - Press has to offer is second to none. There are plenty of tables that are attached to this particular database. <br><br>The disadvantage is it requires a considerable amount of time to set every thing up. Quttera - Quttera describes itself as a 'Saa - S [Software as a Service] web-malware monitoring and alerting solution for websites of any size and complexity. re creating a Word - Press design yourself, the good news is there are tons of Word - Press themes to choose from. IVF ,fertility,infertility expert,surrogacy specialist in India at Rotundaivf. If your blog employs the permalink function, This gives your SEO efforts a boost, and your visitors will know firsthand what's in the post when seeing the URL. <br><br>A sitemap is useful for enabling web spiders and also on rare occasions clients, too, to more easily and navigate your website. If you operate a website that's been built on HTML then you might have to witness traffic losses because such a site isn't competent enough in grabbing the attention of potential consumers. You can select color of your choice, graphics of your favorite, skins, photos, pages, etc. You should stay away from plugins that are full of flaws and bugs. 95, and they also supply studio press discount code for their clients, coming from 10% off to 25% off upon all theme deals.
== Process ==
 
Like A*, it expands the most promising branches according to the heuristic. What sets SMA* apart is that it prunes nodes whose expansion has revealed less promising than expected. The approach allows the algorithm to explore branches and backtrack to explore other branches.
 
Expansion and pruning of nodes is driven by keeping two values of <math>f</math> for every node. Node <math>x</math> stores a value <math>f(x)</math> which estimates the cost of reaching the goal by taking a path through that node. The lower the value, the higher the priority. As in A* this value is initialized to <math>f(x)+g(x)</math>, but will then be updated to reflect changes to this estimate when its children are expanded. A fully expanded node will have an <math>f</math> value at least as high as that of its successors. In addition, the node stores the <math>f</math> value of the best forgotten successor. This value is restored if the forgotten successor is revealed to be the most promising successor.
 
Starting with the first node, it maintains OPEN, ordered lexicographically by <math>f</math> and depth. When chosing a node to expand, it choses the best according to that order. When selecting a node to prune, it choses the worst.
 
== Properties ==
 
SMA* has the following properties
 
* It works with a [[heuristic]], just as A*
* It is complete if the allowed memory is high enough to store the shallowest solution
* It is optimal if the allowed memory is high enough to store the shallowest optimal solution, otherwise it will return the best solution that fits in the allowed memory
* It avoids repeated states as long as the memory bound allows it
* It will use all memory available
* Enlarging the memory bound of the algorithm will only speed up the calculation
* When enough memory is available to contain the entire search tree, then calculation has an optimal speed
 
== Implementation ==
 
The implementation of SMA* is very similar to the one of A*, the only difference is that when there isn't any space left, nodes with the highest f-cost are pruned from the queue. Because those nodes are deleted, the SMA* also has to remember the f-cost of the best forgotten child with the parent node. When it seems that all explored paths are worse than such a forgotten path, the path is re-generated.<ref>{{cite conference | last = Russell | first = S. | year = 1992 | id = {{citeseerx|10.1.1.105.7839}} | title = Efficient memory-bounded search methods | booktitle = Proceedings of the 10th European Conference on Artificial intelligence | location = Vienna, Austria | editor-first = B. | editor-last = Neumann | publisher = John Wiley & Sons, New York, NY | pages = 1–5 }}</ref>
 
Pseudo code:
<source lang="pascal">
function SMA-star(problem): path
  queue: set of nodes, ordered by f-cost;
begin
  queue.insert(problem.root-node);
 
  while True do begin
    if queue.empty() then return failure; //there is no solution that fits in the given memory
    node := queue.begin(); // min-f-cost-node
    if problem.is-goal(node) then return success;
   
    s := next-successor(node)
    if !problem.is-goal(s) && depth(s) == max_depth then
        f(s) := inf;
        // there is no memory left to go past s, so the entire path is useless
    else
        f(s) := max(f(node), g(s) + h(s));
        // f-value of the successor is the maximum of
        //      f-value of the parent and  
        //      heuristic of the successor + path length to the successor
    endif
    if no more successors then
      update node-s f-cost and those of its ancestors if needed
   
    if node.successors ⊆ queue then queue.remove(node);
    // all children have already been added to the queue via a shorter way
    if memory is full then begin
      badNode := shallowest node with highest f-cost;
      for parent in badNode.parents do begin
        parent.successors.remove(badNode);
        if needed then queue.insert(parent);
      endfor
    endif
 
    queue.insert(s);
  endwhile
end
</source>
 
==References==
{{Reflist}}
 
{{DEFAULTSORT:Sma}}
[[Category:Graph algorithms]]
[[Category:Routing algorithms]]
[[Category:Search algorithms]]
[[Category:Game artificial intelligence]]
[[Category:Articles with example pseudocode]]

Revision as of 00:24, 30 January 2014

My name is Winnie and I am studying Anthropology and Sociology and Modern Languages and Classics at Rillieux-La-Pape / France.

Also visit my web site ... hostgator1centcoupon.info Template:Graph search algorithm

SMA* or Simplified Memory Bounded A* is a shortest path algorithm based on the A* algorithm. The main advantage of SMA* is that it uses a bounded memory, while the A* algorithm might need exponential memory. All other characteristics of SMA* are inherited from A*.

Process

Like A*, it expands the most promising branches according to the heuristic. What sets SMA* apart is that it prunes nodes whose expansion has revealed less promising than expected. The approach allows the algorithm to explore branches and backtrack to explore other branches.

Expansion and pruning of nodes is driven by keeping two values of f for every node. Node x stores a value f(x) which estimates the cost of reaching the goal by taking a path through that node. The lower the value, the higher the priority. As in A* this value is initialized to f(x)+g(x), but will then be updated to reflect changes to this estimate when its children are expanded. A fully expanded node will have an f value at least as high as that of its successors. In addition, the node stores the f value of the best forgotten successor. This value is restored if the forgotten successor is revealed to be the most promising successor.

Starting with the first node, it maintains OPEN, ordered lexicographically by f and depth. When chosing a node to expand, it choses the best according to that order. When selecting a node to prune, it choses the worst.

Properties

SMA* has the following properties

  • It works with a heuristic, just as A*
  • It is complete if the allowed memory is high enough to store the shallowest solution
  • It is optimal if the allowed memory is high enough to store the shallowest optimal solution, otherwise it will return the best solution that fits in the allowed memory
  • It avoids repeated states as long as the memory bound allows it
  • It will use all memory available
  • Enlarging the memory bound of the algorithm will only speed up the calculation
  • When enough memory is available to contain the entire search tree, then calculation has an optimal speed

Implementation

The implementation of SMA* is very similar to the one of A*, the only difference is that when there isn't any space left, nodes with the highest f-cost are pruned from the queue. Because those nodes are deleted, the SMA* also has to remember the f-cost of the best forgotten child with the parent node. When it seems that all explored paths are worse than such a forgotten path, the path is re-generated.[1]

Pseudo code:

function SMA-star(problem): path
  queue: set of nodes, ordered by f-cost;
begin
  queue.insert(problem.root-node);

  while True do begin
    if queue.empty() then return failure; //there is no solution that fits in the given memory
    node := queue.begin(); // min-f-cost-node
    if problem.is-goal(node) then return success;
    
    s := next-successor(node)
    if !problem.is-goal(s) && depth(s) == max_depth then
        f(s) := inf; 
        // there is no memory left to go past s, so the entire path is useless
    else
        f(s) := max(f(node), g(s) + h(s));
        // f-value of the successor is the maximum of
        //      f-value of the parent and 
        //      heuristic of the successor + path length to the successor
    endif
    if no more successors then
       update node-s f-cost and those of its ancestors if needed
    
    if node.successors  queue then queue.remove(node); 
    // all children have already been added to the queue via a shorter way
    if memory is full then begin
      badNode := shallowest node with highest f-cost;
      for parent in badNode.parents do begin
        parent.successors.remove(badNode);
        if needed then queue.insert(parent); 
      endfor
    endif

    queue.insert(s);
  endwhile
end

References

43 year old Petroleum Engineer Harry from Deep River, usually spends time with hobbies and interests like renting movies, property developers in singapore new condominium and vehicle racing. Constantly enjoys going to destinations like Camino Real de Tierra Adentro.

  1. 55 years old Systems Administrator Antony from Clarence Creek, really loves learning, PC Software and aerobics. Likes to travel and was inspired after making a journey to Historic Ensemble of the Potala Palace.

    You can view that web-site... ccleaner free download