Algorithms are important in information technology computations which help with problem-solving. Notably, computers are designed to solve problems. The process of creating these solutions is based on the instructions that are given to the computer. How these instructions are adhered to by the computer is determined by the algorithm in place. As such, they are critical since they determine how the computer will accomplish its tasks. There are different types of algorithms that have different roles and application areas. There are also different issues that can be solved using algorithms such as the K-Server and paging problems.
There are two types of algorithms. There are the online algorithms and the offline algorithms. Notably, these classifications are based on how the algorithms operate. The online algorithms are designed to process data that is being input on a piece-by-piece methodology. Notably, these kinds of algorithms do not have to have all the required input available for them to process the data. On the other hand, the offline algorithms are designed to only process the data once they have been presented with all the information. The whole problem data is presented to the algorithm from the beginning.
There are certain operation concepts that characterize the online algorithms that make it the preferred option of the two algorithms. For instance, the algorithm produces partial output as it is still reading the input data. Notably, this concept is preferred by many who desire to have an idea of the process as it is progressing on. On the other hand, in situation where decisions have to be made that should influence the ongoing process, such algorithms help by processing the incoming data perhaps with an intention of integrating some changes based on initial output in order to influence the consequent input.
The motivation behind the application of the online algorithms is the different ways that the algorithm can be applied. For instance, online algorithms can be applied in resource management in operating systems. In this particular context, the online algorithms are used to solve paging issues. Also, the algorithm is applied in data structures. In this context, the online algorithm is used to dynamically maintain the structures. These algorithms are also applied in scheduling jobs as well as management of data transmission in networks.
A competitive ratio is defined as an approximation ratio of an online algorithm. The competitive ratio is determined to be the worst-case ratio that can be achieved between the cost of an optimal solution and the cost of the solution that has been determined by the online algorithm. The online paging problem is a common online issue that is associated with the management of two level memories. Basically, this issue involves the management of a large and slow memory and a small and fast memory. The paging issue is usually experienced when the server is communicating with the memory hierarchy.
The K-Server issue involves the movement of servers to requested points where there are no servers present. The main issue here is how to move the servers at the lowest costs possible. Notably, the cost of moving a server is considered to be equal to the distance that the server is being moved between different points. Apparently, the K-Server issue is considered to model thee paging issue. The list update problem is another popular issue involving online algorithms which is brought about due to competitiveness. This particular issue has attracted much interest due to the fact that it is not easy to prove the upper bounds of the performance of these types of algorithms.
Deterministic algorithms are noted to produce the same results if subjected to the same input and if similar computational steps are adhered to. On the other hand, the randomized algorithms are expected to produce different results even if subjected to the same input and even if the same computational steps are followed. This is because the randomized algorithms throw coins as they are being executed. As such, when they are being executed, the order might be different each time it is done.
Conclusively, algorithms are critical towards the strategic functioning of an information technological gadget. With algorithms, computers are able to carry out certain instructions. The K-Server and the paging issues are associated with and solved using algorithms. The online and offline algorithms have been noted to be two major types of algorithms classified as such based on how they function. On the other hand, competitive ratios come in handy to assist the user determine the worst case scenario.
- Albers, Susanne. “Online algorithms.” Interactive Computation: The New Paradigm (2006): 143-164.
- Albers, Susanne. “Online algorithms: a survey.” Mathematical Programming 97, no. 1-2 (2003): 3-26.
- Beloglazov, Anton, and Rajkumar Buyya. “Optimal online deterministic algorithms and adaptive heuristics for energy and performance efficient dynamic consolidation of virtual machines in cloud data centers.” Concurrency and Computation: Practice and Experience 24, no. 13 (2012): 1397-1420.
- Lu, Huang, Jie Li, and Mohsen Guizani. “Secure and efficient data transmission for cluster-based wireless sensor networks.” IEEE transactions on parallel and distributed systems 25, no. 3 (2014): 750-761.