fbpx
Wikipedia

Anytime algorithm

In computer science, an anytime algorithm is an algorithm that can return a valid solution to a problem even if it is interrupted before it ends. The algorithm is expected to find better and better solutions the longer it keeps running.

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 edit

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.[1]

Goals edit

The goal of anytime algorithms are to give intelligent systems the ability to make results of better quality in return for turn-around time.[2] They are also supposed to be flexible in time and resources.[3] 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.[3] Also, these are intended to have a better understanding that the system is dependent and restricted to its agents and how they work cooperatively.[3] An example is the Newton–Raphson iteration applied to finding the square root of a number.[4] Another example that uses anytime algorithms is trajectory problems when you're aiming for a target; the object is moving through space while waiting for the algorithm to finish and even an approximate answer can significantly improve its accuracy if given early.[3]


What makes anytime algorithms unique is their ability to return many possible outcomes for any given input.[2] An anytime algorithm uses many well defined quality measures to monitor progress in problem solving and distributed computing resources.[2] It keeps searching for the best possible answer with the amount of time that it is given.[5] It may not run until completion and may improve the answer if it is allowed to run longer.[6] This is often used for large decision set problems.[7] This would generally not provide useful information unless it is allowed to finish.[8] 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 so that it can be told to stop at any time and would return the best result it has found so far.[3] This is why it is called an interruptible algorithm. Certain anytime algorithms also maintain the last result, so that if they are given more time, they can continue from where they left off to obtain an even better result.[3]

Decision trees edit

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.[7]

Performance profile edit

The performance profile estimates the quality of the results based on the input and the amount of time that is allotted to the algorithm.[3] The better the estimate, the sooner the result would be found.[3] Some systems have a larger database that gives the probability that the output is the expected output.[3] It is important to note that one algorithm can have several performance profiles.[9] 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.[1] In this example, the performance profile is the mapping of time to the expected results.[1] This quality can be measured in several ways:

  • certainty: where probability of correctness determines quality[1]
  • accuracy: where error bound determines quality[1]
  • specificity: where the amount of particulars determine quality[1]

Algorithm prerequisites edit

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.[9]

  • Growth direction: How the quality of the program's "output" or result, varies as a function of the amount of time ("run time")[9]
  • 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[9]

References edit

  1. ^ a b c d e f Hendler, James A., ed. (2014) [1992]. Artificial Intelligence Planning Systems: Proceedings of the First Conference (AIPS 92). Elsevier. ISBN 978-0-08-049944-4.
  2. ^ a b c Zilberstein 1996
  3. ^ a b c d e f g h i Grass, J. (1996). "Reasoning about computational resource allocation. XRDS: Crossroads". The ACM Magazine for Students. 3 (1): 16–20. doi:10.1145/332148.332154. S2CID 45448244.
  4. ^ anytime algorithm from Free Online Dictionary of Computing (FOLDOC)
  5. ^ . Cognitive architectures. University of Michigan Artificial Intelligence Laboratory. Archived from the original on 13 December 2013.
  6. ^ . eLook.org. Archived from the original on 12 December 2013.
  7. ^ a b Horsch & Poole 1998
  8. ^ Bender, Edward A. (1996). Mathematical Methods In Artificial Intelligence. Wiley. ISBN 978-0-8186-7200-2.
  9. ^ a b c d Teije, A.T.; van Harmelen, F. (2000). "Describing problem solving methods using anytime performance profiles" (PDF). Proceedings of the 14th European Conference on Artificial Intelligence. pp. 181–5.

Further reading edit

  • Boddy, M.; Dean, T. (1989). "Solving time-dependent planning problems". Proceedings of the 11th international joint conference on Artificial intelligence. Vol. 2. pp. 979–984. Brown University CS-89-03.
  • Grass, J.; Zilberstein, S. (1996). "Anytime Algorithm Development Tools". SIGART Bulletin. 7 (2 Special Issue on Anytime Algorithms and Deliberation Scheduling): 20–27. doi:10.1145/242587.242592. S2CID 7670055.
  • Horsch, M.C.; Poole, D. (1998). "An anytime algorithm for decision making under uncertainty" (PDF). Proceedings of the Fourteenth conference on Uncertainty in artificial intelligence. pp. 246–255. arXiv:1301.7384. ISBN 978-1-55860-555-8.
  • Horvitz, E.J. (March 1986). Reasoning about inference tradeoffs in a world of bounded resources (Technical report). Medical Computer Science Group, Section on Medical Informatics, Stanford University. KSL-86-55.
  • Wallace, R.; Freuder, E. (1995). "Anytime Algorithms for Constraint Satisfaction and SAT Problems". ACM SIGART Bulletin. 7 (2): 7–10. doi:10.1145/242587.242589. S2CID 8250394.
  • Zilberstein, S. (1993). Operational Rationality through Compilation of Anytime Algorithms (PhD). Computer Science Division, University of California at Berkeley. UMX GAX94-08166.
  • Zilberstein, Shlomo (1996). "Using Anytime Algorithms in Intelligent Systems" (PDF). AI Magazine. 17 (3): 73–83.

anytime, algorithm, computer, science, anytime, algorithm, algorithm, that, return, valid, solution, problem, even, interrupted, before, ends, algorithm, expected, find, better, better, solutions, longer, keeps, running, most, algorithms, completion, they, pro. In computer science an anytime algorithm is an algorithm that can return a valid solution to a problem even if it is interrupted before it ends The algorithm is expected to find better and better solutions the longer it keeps running 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 Contents 1 Names 2 Goals 3 Decision trees 4 Performance profile 5 Algorithm prerequisites 6 References 7 Further readingNames editAn 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 1 Goals editThe goal of anytime algorithms are to give intelligent systems the ability to make results of better quality in return for turn around time 2 They are also supposed to be flexible in time and resources 3 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 3 Also these are intended to have a better understanding that the system is dependent and restricted to its agents and how they work cooperatively 3 An example is the Newton Raphson iteration applied to finding the square root of a number 4 Another example that uses anytime algorithms is trajectory problems when you re aiming for a target the object is moving through space while waiting for the algorithm to finish and even an approximate answer can significantly improve its accuracy if given early 3 What makes anytime algorithms unique is their ability to return many possible outcomes for any given input 2 An anytime algorithm uses many well defined quality measures to monitor progress in problem solving and distributed computing resources 2 It keeps searching for the best possible answer with the amount of time that it is given 5 It may not run until completion and may improve the answer if it is allowed to run longer 6 This is often used for large decision set problems 7 This would generally not provide useful information unless it is allowed to finish 8 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 so that it can be told to stop at any time and would return the best result it has found so far 3 This is why it is called an interruptible algorithm Certain anytime algorithms also maintain the last result so that if they are given more time they can continue from where they left off to obtain an even better result 3 Decision trees editWhen 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 7 Performance profile editThe performance profile estimates the quality of the results based on the input and the amount of time that is allotted to the algorithm 3 The better the estimate the sooner the result would be found 3 Some systems have a larger database that gives the probability that the output is the expected output 3 It is important to note that one algorithm can have several performance profiles 9 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 1 In this example the performance profile is the mapping of time to the expected results 1 This quality can be measured in several ways certainty where probability of correctness determines quality 1 accuracy where error bound determines quality 1 specificity where the amount of particulars determine quality 1 Algorithm prerequisites editInitial behavior While some algorithms start with immediate guesses others take a more calculated approach and have a start up period before making any guesses 9 Growth direction How the quality of the program s output or result varies as a function of the amount of time run time 9 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 9 References edit a b c d e f Hendler James A ed 2014 1992 Artificial Intelligence Planning Systems Proceedings of the First Conference AIPS 92 Elsevier ISBN 978 0 08 049944 4 a b c Zilberstein 1996 a b c d e f g h i Grass J 1996 Reasoning about computational resource allocation XRDS Crossroads The ACM Magazine for Students 3 1 16 20 doi 10 1145 332148 332154 S2CID 45448244 anytime algorithm from Free Online Dictionary of Computing FOLDOC Anytime algorithms Cognitive architectures University of Michigan Artificial Intelligence Laboratory Archived from the original on 13 December 2013 Anytime algorithm Computing Reference eLook org Archived from the original on 12 December 2013 a b Horsch amp Poole 1998 Bender Edward A 1996 Mathematical Methods In Artificial Intelligence Wiley ISBN 978 0 8186 7200 2 a b c d Teije A T van Harmelen F 2000 Describing problem solving methods using anytime performance profiles PDF Proceedings of the 14th European Conference on Artificial Intelligence pp 181 5 Further reading editBoddy M Dean T 1989 Solving time dependent planning problems Proceedings of the 11th international joint conference on Artificial intelligence Vol 2 pp 979 984 Brown University CS 89 03 Grass J Zilberstein S 1996 Anytime Algorithm Development Tools SIGART Bulletin 7 2 Special Issue on Anytime Algorithms and Deliberation Scheduling 20 27 doi 10 1145 242587 242592 S2CID 7670055 Horsch M C Poole D 1998 An anytime algorithm for decision making under uncertainty PDF Proceedings of the Fourteenth conference on Uncertainty in artificial intelligence pp 246 255 arXiv 1301 7384 ISBN 978 1 55860 555 8 Horvitz E J March 1986 Reasoning about inference tradeoffs in a world of bounded resources Technical report Medical Computer Science Group Section on Medical Informatics Stanford University KSL 86 55 Wallace R Freuder E 1995 Anytime Algorithms for Constraint Satisfaction and SAT Problems ACM SIGART Bulletin 7 2 7 10 doi 10 1145 242587 242589 S2CID 8250394 Zilberstein S 1993 Operational Rationality through Compilation of Anytime Algorithms PhD Computer Science Division University of California at Berkeley UMX GAX94 08166 Zilberstein Shlomo 1996 Using Anytime Algorithms in Intelligent Systems PDF AI Magazine 17 3 73 83 Retrieved from https en wikipedia org w index php title Anytime algorithm amp oldid 1166967923, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.