Anytime algorithm

Anytime algorithm

Introduction

Most algorithms run to completion: they provide a single answer after performing some fixed amount of computation. In some cases, however, the user may wish to terminate the algorithm prior to completion. The amount of the computation required may be substantial, for example, and computational resources might need to be reallocated. Most algorithms either run to completion or they provide no useful solution information. Anytime algorithms, however, are able to return a partial answer, whose quality depends on the amount of computation they were able to perform. The answer generated by anytime algorithms is an approximation of the correct answer. This feature of anytime algorithms is modeled by such a theoretical construction as limit Turing machine (Burgin, 1992; 2005). A limit Turing machine provides a sequence of partial results that converge in a given topology to the final result.

Names

An anytime algorithm may be also called an "interruptible algorithm". They are different from contact algorithms, which must declare a time in advance; in an anytime algorithm, a process can just announce that it is terminating.Hendler, James A., "Artificial Intelligence Planning Systems", 1992]

Goals

The goal of anytime algorithms are to give intelligent systems the ability to make results of better quality in return for turn-around time Zilberstein, Shlomo. "Using Anytime Algorithms in Intelligent Systems". http://anytime.cs.umass.edu/shlomo/papers/aimag96.pdf] . They are also supposed to be flexible in time and resources.Grass, Joshua. "Reasoning about Computational Resource Allocation." http://www.acm.org/crossroads/xrds3-1/racra.html] They are important because artificial intelligence or AI algorithms can take a long time to complete results. This algorithm is designed to complete in a shorter amount of time. Also, these are intended to have a better understanding that the system is dependent and restricted to its agents and how they work cooperatively. An example the is Newton-Raphson iteration applied to finding the square root of a number. [http://foldoc.org/?anytime+algorithm anytime algorithm from FOLDOC ] ] Another example that uses anytime algorithms is trajectory problems when you're aiming for a target.

What makes anytime algorithms unique is their ability to return many possible outcomes for any given output. An anytime algorithm uses many well defined quality measures to monitor progress in problem solving and distributing computing resources. It keeps searching for the best possible answer with the amount of time that it is given. [http://ai.eecs.umich.edu/cogarch2/cap/anytime.plan Anytime algorithm ] ] It may not run until completion and may improve the answer if it is allowed to run longer. [http://www.elook.org/computing/anytime-algorithm.htm Anytime algorithm - Computing Reference - eLook.org ] ] This is often used for large decision set problems. This would generally not provide useful information unless it is allowed to finish.Bender, Edward A. "Mathematical Methods In Artificial Intelligence", IEEE Computer Society Pres, 1996] While this may sound similar to dynamic programming, the difference is that it is fine-tuned through random adjustments, rather than sequential.

Anytime algorithms are designed to be predictable. Another goal is that someone can interrupt the process and the algorithm would give its most accurate result. This is why it is called an interruptible algorithm. Another goal of anytime algorithms are to maintain the last result so as they are given more time, they can continue calculating a more accurate result.

Construction

Make an algorithm with a parameter that influences running time. For example, as time increases, this variable also increases. After for a period of time, the search is stopped without having the goal met. This is similar to Jeopardy when the time runs out. The contestants have to represent what they believe is the closest answer, although they may not know it or come even close to figuring out what it could be. This is similar to an hour long test. Although the test questions are not in themselves limiting for time, the test must be completed within the hour. Likewise, the computer has to figure out how much time and resources to spend on each problem.

Decision Trees

When the decider has to act, there must be some ambiguity. Also, there must be some idea about how to solve this ambiguity. This idea must be translatable to a state to action diagram.Horsch, Michael C., Poole, David "An Anytime Algorithm for Decision Making under Uncertainty" http://www.cs.ubc.ca/spider/poole/papers/randaccref.pdf]

Performance Profile

The performance profile estimates the quality of the results based on the input and the amount of time that is allotted to the algorithm. The better the estimate, the sooner the result would be found. Some systems have a larger database that gives the probability that the output is the expected output. It is important to note that one algorithm can have several performance profiles.Teije, Annette ten, Harmelen, Frank. "Describing Problem Solving Methods using Anytime Performance Profiles".] Most of the time performance profiles are constructed using mathematical statistics using representative cases. For example in the traveling salesman problem, the performance profile was generated using a user-defined special program to generate the necessary statistics. In this example, the performance profile is the mapping of time to the expected results. This quality can be measured in several ways:

*certainty: where probability of correctness determines quality
*accuracy: where error bound determines quality
*specificity: where the amount of particulars determine quality

Algorithm Prerequisites

Initial behavior: While some algorithms start with immediate guesses, others take a more calculated approach and have a start up period before making any guesses.

*Growth direction: How the quality of the program's "output" or result, varies as a function of the amount of time ("run time")
*Growth rate: Amount of increase with each step. Does it change constantly, such as in a bubble sort or does it change unpredictably?
*End condition: The amount of runtime needed

References

*Anytime Algorithm http://tarono.wordpress.com/2007/03/20/anytime-algorithm
*http://www.acm.org/crossroads/xrds3-1/racra.html

Further reading

* Boddy, M, Dean, T. 1989. "Solving Time-Dependent Planning Problems". Technical Report: CS-89-03, Brown University
* Burgin, M. Multiple computations and Kolmogorov complexity for such processes, "Notices of the Academy of Sciences of the USSR", 1983, v. 27, No. 2 , pp. 793-797
* Burgin M., Universal limit Turing machines, "Notices of the Russian Academy of Sciences", 325, No. 4, (1992), 654-658
* Burgin, M. "Super-recursive algorithms", Monographs in computer science, Springer, 2005
* Grass, J., and Zilberstein, S. 1996. Anytime Algorithm Development Tools. "SIGART Bulletin" (Special Issue on Anytime Algorithms and Deliberation Scheduling) 7(2)
* Michael C. Horsch and David Poole, An Anytime Algorithm for Decision Making under Uncertainty, In Proc. 14th Conference on Uncertainty in Artificial Intelligence (UAI-98), Madison, Wisconsin, USA, July 1998, pages 246-255.
* E.J. Horvitz. "Reasoning about inference tradeoffs in a world of bounded resources". Technical Report KSL-86-55, Medical Computer Science Group, Section on Medical Informatics, Stanford University, Stanford, CA, March 1986
* Wallace, R., and Freuder, E. 1995. Anytime Algorithms for Constraint Satisfaction and SAT Problems. Paper presented at the IJCAI-95 Workshop on Anytime Algorithms and Deliberation Scheduling, 20 August, Montreal, Canada.
* Zilberstein, S. 1993. "Operational Rationality through Compilation of Anytime Algorithms". Ph.D. diss., Computer Science Division, University of California at Berkeley.
* Shlomo Zilberstein, Using Anytime Algorithms in Intelligent Systems, "AI Magazine", 17(3):73-83, 1996


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • Anytime — may refer to:* Anytime (Brian McKnight album), and the title song * Anytime (1921 song), a popular song by Herbert Happy Lawson * Anytime (Kumi Koda song), a 2008 single by J Pop singer Kumi Koda * Anytime (Cheap Trick song) * A song by My… …   Wikipedia

  • Super-recursive algorithm — In computer science and computability theory, super recursive algorithms are algorithms that are more powerful, that is, compute more, than Turing machines. The term was introduced by Mark Burgin, whose book Super recursive algorithms develops… …   Wikipedia

  • Decomposition method (constraint satisfaction) — In constraint satisfaction, a decomposition method translates a constraint satisfaction problem into another constraint satisfaction problem that is binary and acyclic. Decomposition methods work by grouping variables into sets, and solving a… …   Wikipedia

  • Beam stack search — is a search algorithm which integrates backtracking with beam search.It was recently proposed by Rong Zhou and Eric A. Hansen, Department of Computer Science and Engineering, Mississippi State University during the 15th International Conference… …   Wikipedia

  • Action selection — is a way of characterizing the most basic problem of intelligent systems: what to do next. In artificial intelligence and computational cognitive science, the action selection problem is typically associated with intelligent agents and animats… …   Wikipedia

  • Partitionsproblem — Das Partitionsproblem (auch Zahlenaufteilungsproblem, oft mit PARTITION notiert) ist ein Optimierungs bzw. Entscheidungsproblem der Kombinatorik. Inhaltsverzeichnis 1 Formulierung des Partitionsproblems 2 Phasenübergang im Partitionsproblem …   Deutsch Wikipedia

  • Defeasible reasoning — is a kind of reasoning that is based on reasons that are defeasible, as opposed to the indefeasible reasons of deductive logic. Defeasible reasoning is a particular kind of non demonstrative reasoning, where the reasoning does not produce a full …   Wikipedia

  • PARTITION — Das Partitionsproblem (auch Zahlenaufteilungsproblem, oft mit PARTITION notiert) ist ein Optimierungs bzw. Entscheidungsproblem der Kombinatorik. Inhaltsverzeichnis 1 Formulierung des Partitionsproblems 2 Phasenübergang im Partitionsproblem 3… …   Deutsch Wikipedia

  • Zahlenaufteilungsproblem — Das Partitionsproblem (auch Zahlenaufteilungsproblem, oft mit PARTITION notiert) ist ein Optimierungs bzw. Entscheidungsproblem der Kombinatorik. Inhaltsverzeichnis 1 Formulierung des Partitionsproblems 2 Phasenübergang im Partitionsproblem 3… …   Deutsch Wikipedia

  • Artificial intelligence — AI redirects here. For other uses, see Ai. For other uses, see Artificial intelligence (disambiguation). TOPIO, a humanoid robot, played table tennis at Tokyo International Robot Exhibition (IREX) 2009.[1] Artificial intelligence ( …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”