Knowledge (XXG)

Online algorithm

Source 📝

78:: selection sort repeatedly selects the minimum element from the unsorted remainder and places it at the front, which requires access to the entire input; it is thus an offline algorithm. On the other hand, insertion sort considers one input element per iteration and produces a partial solution without considering future elements. Thus insertion sort is an online algorithm. 118:
of an online problem is the best competitive ratio achieved by an online algorithm. Intuitively, the competitive ratio of an algorithm gives a measure on the quality of solutions produced by this algorithm, while the competitive ratio of a problem shows the importance of knowing the future for this problem.
117:
formalizes this idea by comparing the relative performance of an online and offline algorithm for the same problem instance. Specifically, the competitive ratio of an algorithm, is defined as the worst-case ratio of its cost divided by the optimal cost, over all possible inputs. The competitive ratio
81:
Note that the final result of an insertion sort is optimum, i.e., a correctly sorted list. For many problems, online algorithms cannot match the performance of offline algorithms. If the ratio between the performance of an online algorithm and an optimal offline algorithm is bounded, the online
232:. An alternative analysis of the problem can be made with the help of competitive analysis. For this method of analysis, the offline algorithm knows in advance which edges will fail and the goal is to minimize the ratio between the online and offline algorithms' performance. This problem is 112:
Because it does not know the whole input, an online algorithm is forced to make decisions that may later turn out not to be optimal, and the study of online algorithms has focused on the quality of decision-making that is possible in this setting.
220:. The goal of this problem is to minimize the cost of reaching a target in a weighted graph where some of the edges are unreliable and may have been removed from the graph. However, that an edge has been removed ( 459: 228:
when she/he reaches one of the edge's endpoints. The worst case for this problem is simply that all of the unreliable edges fail and the problem reduces to the usual
452: 445: 114: 83: 200: 416: 56:
is given the whole problem data from the beginning and is required to output an answer which solves the problem at hand. In
637: 607: 592: 180: 45:
is one that can process its input piece-by-piece in a serial fashion, i.e., in the order that the input is fed to the
706: 662: 536: 526: 506: 217: 195: 541: 680: 642: 325: 486: 205: 546: 516: 285: 229: 185: 101: 657: 632: 577: 320: 667: 652: 597: 315: 310: 260: 255: 134: 61: 57: 685: 587: 582: 496: 305: 280: 170: 68: 31: 647: 491: 412: 353: 300: 270: 140: 612: 329: 247: 175: 38: 602: 233: 143:: focusing on the time complexity of maintaining solutions to problems with online inputs. 354:"On-line algorithms versus off-line algorithms: How much is it worth to know the future?" 468: 265: 190: 160: 75: 71: 700: 617: 572: 402: 567: 531: 501: 275: 437: 387: 17: 521: 406: 432: 511: 165: 137:: focusing on the amount of memory needed to accurately represent past inputs; 472: 46: 622: 551: 216:
A problem exemplifying the concepts of online algorithms is the
441: 60:, the area in which online algorithms are developed is called 49:, without having the entire input available from the start. 239:
There are many formal problems that offer more than one
389:
Online Algorithms for the Portfolio Selection Problem
560: 479: 27:
Algorithm that begins on possibly incomplete inputs
453: 8: 433:Bibliography of papers on online algorithms 408:Online Computation and Competitive Analysis 100:In grammar theory they are associated with 460: 446: 438: 347: 345: 341: 7: 201:Algorithms for calculating variance 25: 411:. Cambridge University Press. 1: 126:For other points of view on 67:As an example, consider the 290:Portfolio selection problem 256:Job shop scheduling problem 128:online inputs to algorithms 723: 218:Canadian Traveller Problem 196:Page replacement algorithm 29: 676: 352:Karp, Richard M. (1992). 30:Not to be confused with 681:List of data structures 405:; El-Yaniv, R. (1998). 386:Dochow, Robert (2016). 326:Online machine learning 224:) is only revealed to 102:Straight-line grammars 286:Linear search problem 230:Shortest Path Problem 186:Metrical task systems 122:Other interpretations 578:Breadth-first search 321:Sequential algorithm 115:Competitive analysis 82:algorithm is called 668:Topological sorting 598:Dynamic programming 316:Streaming algorithm 311:Real-time computing 261:List update problem 206:Ukkonen's algorithm 135:streaming algorithm 62:online optimization 58:operations research 686:List of algorithms 593:Divide and conquer 588:Depth-first search 583:Brute-force search 497:Binary search tree 392:. Springer Gabler. 306:Prophet inequality 281:Ski rental problem 171:Reservoir sampling 69:sorting algorithms 32:online and offline 707:Online algorithms 694: 693: 492:Associative array 361:IFIP Congress (1) 301:Dynamic algorithm 271:Secretary problem 154:online algorithms 141:dynamic algorithm 93:has an efficient 91:offline algorithm 54:offline algorithm 18:Offline algorithm 16:(Redirected from 714: 663:String-searching 462: 455: 448: 439: 422: 394: 393: 383: 377: 376: 374: 372: 358: 349: 330:Offline learning 241:online algorithm 176:Greedy algorithm 52:In contrast, an 43:online algorithm 39:computer science 21: 722: 721: 717: 716: 715: 713: 712: 711: 697: 696: 695: 690: 672: 603:Graph traversal 556: 480:Data structures 475: 469:Data structures 466: 429: 419: 401: 398: 397: 385: 384: 380: 370: 368: 356: 351: 350: 343: 338: 297: 251:-server problem 234:PSPACE-complete 214: 212:Online problems 181:Adversary model 150: 124: 110: 35: 28: 23: 22: 15: 12: 11: 5: 720: 718: 710: 709: 699: 698: 692: 691: 689: 688: 683: 677: 674: 673: 671: 670: 665: 660: 655: 650: 645: 640: 635: 630: 625: 620: 615: 610: 605: 600: 595: 590: 585: 580: 575: 570: 564: 562: 558: 557: 555: 554: 549: 544: 539: 534: 529: 524: 519: 514: 509: 504: 499: 494: 489: 483: 481: 477: 476: 467: 465: 464: 457: 450: 442: 436: 435: 428: 427:External links 425: 424: 423: 417: 396: 395: 378: 340: 339: 337: 334: 333: 332: 323: 318: 313: 308: 303: 296: 293: 292: 291: 288: 283: 278: 273: 268: 266:Bandit problem 263: 258: 253: 213: 210: 209: 208: 203: 198: 193: 191:Odds algorithm 188: 183: 178: 173: 168: 163: 161:Insertion sort 149: 146: 145: 144: 138: 123: 120: 109: 106: 76:insertion sort 72:selection sort 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 719: 708: 705: 704: 702: 687: 684: 682: 679: 678: 675: 669: 666: 664: 661: 659: 656: 654: 651: 649: 646: 644: 641: 639: 636: 634: 631: 629: 626: 624: 621: 619: 618:Hash function 616: 614: 611: 609: 606: 604: 601: 599: 596: 594: 591: 589: 586: 584: 581: 579: 576: 574: 573:Binary search 571: 569: 566: 565: 563: 559: 553: 550: 548: 545: 543: 540: 538: 535: 533: 530: 528: 525: 523: 520: 518: 515: 513: 510: 508: 505: 503: 500: 498: 495: 493: 490: 488: 485: 484: 482: 478: 474: 470: 463: 458: 456: 451: 449: 444: 443: 440: 434: 431: 430: 426: 420: 418:0-521-56392-5 414: 410: 409: 404: 400: 399: 391: 390: 382: 379: 366: 362: 355: 348: 346: 342: 335: 331: 327: 324: 322: 319: 317: 314: 312: 309: 307: 304: 302: 299: 298: 294: 289: 287: 284: 282: 279: 277: 274: 272: 269: 267: 264: 262: 259: 257: 254: 252: 250: 246: 245: 244: 243:as solution: 242: 237: 235: 231: 227: 226:the traveller 223: 219: 211: 207: 204: 202: 199: 197: 194: 192: 189: 187: 184: 182: 179: 177: 174: 172: 169: 167: 164: 162: 159: 158: 157: 155: 147: 142: 139: 136: 133: 132: 131: 129: 121: 119: 116: 107: 105: 103: 98: 97:counterpart. 96: 92: 87: 85: 79: 77: 73: 70: 65: 63: 59: 55: 50: 48: 44: 40: 33: 19: 643:Root-finding 627: 568:Backtracking 532:Segment tree 502:Fenwick tree 407: 388: 381: 369:. Retrieved 364: 360: 276:Search games 248: 240: 238: 225: 221: 215: 153: 151: 127: 125: 111: 99: 94: 90: 88: 80: 66: 53: 51: 42: 36: 522:Linked list 403:Borodin, A. 84:competitive 658:Sweep line 633:Randomized 561:Algorithms 512:Hash table 473:algorithms 336:References 166:Perceptron 108:Definition 89:Not every 653:Streaming 638:Recursion 371:17 August 367:: 416–429 47:algorithm 701:Category 295:See also 148:Examples 648:Sorting 623:Minimax 130:, see 628:Online 613:Greedy 542:String 415:  222:failed 95:online 537:Stack 527:Queue 507:Graph 487:Array 357:(PDF) 152:Some 41:, an 608:Fold 552:Trie 547:Tree 517:Heap 471:and 413:ISBN 373:2015 74:and 37:In 703:: 365:12 363:. 359:. 344:^ 236:. 156:: 104:. 86:. 64:. 461:e 454:t 447:v 421:. 375:. 328:/ 249:k 34:. 20:)

Index

Offline algorithm
online and offline
computer science
algorithm
operations research
online optimization
sorting algorithms
selection sort
insertion sort
competitive
Straight-line grammars
Competitive analysis
streaming algorithm
dynamic algorithm
Insertion sort
Perceptron
Reservoir sampling
Greedy algorithm
Adversary model
Metrical task systems
Odds algorithm
Page replacement algorithm
Algorithms for calculating variance
Ukkonen's algorithm
Canadian Traveller Problem
Shortest Path Problem
PSPACE-complete
k-server problem
Job shop scheduling problem
List update problem

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.