TL;DR: This book discusses competitive analysis and decision making under uncertainty in the context of the k-server problem, which involves randomized algorithms in order to solve the problem of paging.
Abstract: Preface 1. Introduction to competitive analysis: the list accessing problem 2. Introduction to randomized algorithms: the list accessing problem 3. Paging: deterministic algorithms 4. Paging: randomized algorithms 5. Alternative models for paging: beyond pure competitive analysis 6. Game theoretic foundations 7. Request - answer games 8. Competitive analysis and zero-sum games 9. Metrical task systems 10. The k-server problem 11. Randomized k-server algorithms 12. Load-balancing 13. Call admission and circuit-routing 14. Search, trading and portfolio selection 15. Competitive analysis and decision making under uncertainty Appendices Bibliography Index.
TL;DR: This article shows that move-to-front is within a constant factor of optimum among a wide class of list maintenance rules, and analyzes the amortized complexity of LRU, showing that its efficiency differs from that of the off-line paging rule by a factor that depends on the size of fast memory.
Abstract: In this article we study the amortized efficiency of the “move-to-front” and similar rules for dynamically maintaining a linear list. Under the assumption that accessing the ith element from the front of the list takes t(i) time, we show that move-to-front is within a constant factor of optimum among a wide class of list maintenance rules. Other natural heuristics, such as the transpose and frequency count rules, do not share this property. We generalize our results to show that move-to-front is within a constant factor of optimum as long as the access cost is a convex function. We also study paging, a setting in which the access cost is not convex. The paging rule corresponding to move-to-front is the “least recently used” (LRU) replacement rule. We analyze the amortized complexity of LRU, showing that its efficiency differs from that of the off-line paging rule (Belady's MIN algorithm) by a factor that depends on the size of fast memory. No on-line paging algorithm has better amortized performance.
TL;DR: In this article, a system and method for assisting a consumer in selecting items from a master list of available items, when the consumer has already sampled some of the available items and indicated a favorable response to a subset of the sampled items by including the names of the favored items on an input list.
Abstract: A system and method for assisting a consumer in selecting items from a master list of available items, when the consumer has already sampled some of the available items, and indicated a favorable response to a subset of the sampled items by including the names of the favored items on an input list. The system recommends items from the master list based on the input list of favored items. These recommended items having a high probability of appeal to the consumer. The accuracy of the recommendations is achieved by calculating degrees of similarity between different items on the master list. The similarities are calculated by storing how often the items are linked together, by appearing together on the input lists of previous consumers. Each use of the system by a consumer then increases the accuracy of the system, since one more input list is added to the table of input lists captured from previous consumers.
TL;DR: The order maintenance problem is that of maintaining a list under a sequence of Insert and Delete operations, while answering Order queries (determine which of two elements comes first in the list).
Abstract: The order maintenance problem is that of maintaining a list under a sequence of Insert and Delete operations, while answering Order queries (determine which of two elements comes first in the list). We give two new algorithms for this problem. The first algorithm matches the O(1) amortized time per operation of the best previously known algorithm, and is much simpler. The second algorithm permits all operations to be performed in O(1) worst-case time.
TL;DR: In this article, the user can rapidly enter and search for text using a data entry system through a combination of entering one or more characters on a digitally displayed keyboard with a pointing device and using a search list to obtain a list of completion candidates.
Abstract: In one aspect of the present invention the user can rapidly enter and search for text using a data entry system through a combination of entering one or more characters on a digitally displayed keyboard with a pointing device and using a search list to obtain a list of completion candidates. The user can activate the search list to obtain a list of completion candidates at any time while entering a partial text entry with the data entry system. When the search list is active, a list of completion candidates is displayed on a graphical user interface for the user to select from and the user can perform one of several actions. The user can deactivate the search list and return to modifying the current partial text entry and other text. The user can select one of the completion candidates in the search list and use the selected completion candidate to replace the partial text entry which the user is currently entering. When the user deactivates the interactive search list, the user can immediately continue adding to or modifying the current partial text entry being entered, and may re-invoke the search list to further search for completion candidates based on the modified partial text entry. In the second case, the selected completion candidate is used to replace the partial text entry that the user is currently entering, and the data entry system begins monitoring for a new partial text entry from the user.