Content deleted Content added
Rescuing 1 sources and tagging 0 as dead. #IABot (v2.0beta14) |
Altered title. Added journal. | Use this tool. Report bugs. | #UCB_Gadget |
||
(21 intermediate revisions by 15 users not shown) | |||
Line 1:
{{short description|Algorithm that can return a valid solution to a problem even if interrupted}}
In [[computer science]], an '''anytime algorithm''' is an [[algorithm]] that can return a valid solution to a [[ 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 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.
==Names==
An anytime algorithm may be also called an "interruptible algorithm". They are different from contract algorithms, which must declare a time in advance; in an anytime algorithm, a process can just announce that it is terminating.<ref name="Hendler">
== Goals ==
The goal of anytime algorithms are to give [[Hybrid intelligent system|intelligent systems]] the ability to make results of better quality in return for turn-around time.<ref name="Zilberstein">{{harvnb|Zilberstein
What makes anytime algorithms unique is their ability to return many possible outcomes for any given input.<ref name="Zilberstein"/> An anytime algorithm uses many well defined quality measures to monitor progress in [[problem solving]] and [[distributed computing]] resources.<ref name="Zilberstein"/> It keeps searching for the best possible answer with the amount of time that it is given.<ref name="umich">{{cite web|title=Anytime algorithms|url=http://ai.eecs.umich.edu/cogarch2/index.html|website=Cognitive architectures|publisher=University of Michigan Artificial Intelligence Laboratory|archiveurl=https://web.archive.org/web/20131213011435/http://ai.eecs.umich.edu/cogarch2/cap/anytime.plan|archivedate=13
This is often used for large decision set problems.<ref name="Horsch"/> This would generally not provide useful information unless it is allowed to finish.<ref name="Bender">
Anytime algorithms are designed so that it can be told to stop at any time and would return the best result it has found so far.<ref name="Grass"/> This is why it is called an interruptible algorithm.
== 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.<ref name="Horsch">{{harvnb|Horsch
== 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.<ref name="Grass"/> The better the estimate, the sooner the result would be found.<ref name="Grass"/> Some systems have a larger database that gives the probability that the output is the expected output.<ref name="Grass"/> It is important to note that one algorithm can have several performance profiles.<ref name="Teije">{{cite conference |last1=Teije
*certainty: where probability of correctness determines quality<ref name="Hendler"/>
Line 36 ⟶ 37:
== Further reading ==
{{refbegin}}
*{{cite conference |last1=Boddy |first1=M. |last2=Dean |first2=T. |title=Solving time-dependent planning problems |book-title=Proceedings of the 11th international joint conference on Artificial intelligence |volume=2 |date=1989 |isbn= |pages=979–984 |url=https://dl.acm.org/doi/abs/10.5555/1623891.1623912 |id=Brown University CS-89-03}}
* {{cite journal |last1=Grass
* {{cite conference |arxiv=1301.7384 |last1=Horsch |first1=M.C. |last2=Poole |first2=D. |title=An anytime algorithm for decision making under uncertainty |book-title=Proceedings of the Fourteenth conference on Uncertainty in artificial intelligence |date=1998 |isbn=978-1-55860-555-8 |pages=246–255 |url=http://www.cs.ubc.ca/spider/poole/papers/randaccref.pdf}}
* {{cite tech report |first=E.J. |last=Horvitz
* {{cite journal |last1=Wallace
*
*{{cite journal |first=Shlomo |last=Zilberstein
{{refend}}
{{DEFAULTSORT:Anytime Algorithm}}
[[Category:Artificial intelligence engineering]]
[[Category:Search algorithms]]
|