Algorithm Engineering for fundamental Sorting and Graph Problems
نویسنده
چکیده
Fundamental Algorithms build a basis knowledge for every computer science undergraduate or a professional programmer. It is a set of basic techniques one can find in any (good) coursebook on algorithms and data structures. Thus, if one checks the contents of one such recent book by Mehlhorn and Sanders [105] he would find that we address most of the algorithmic problems covered in the book. In particular, we present current advances in such classical topics as sorting, graph traversals, shortest paths, minimum spanning trees, graph matchings and partitioning One can argue that all these problems are folklore with optimal worst-case behaviour. It is certainly true as long as the assumptions we use to derive the runtime bounds hold for a particular problem or available architecture at hand. In most of the coursebooks it is a Random Access Machine (RAM) model assuming that the input fits into the main memory of the computer and access time is unform throughout the size of the available memory. Unfortunately, it is often not the case for the real world architectures that posses a number of memory hierarchy layers including several levels of cache, main memory and an external hard drive. For instance, classical graph traversal algorithms become orders of magnitude slower as soon as data does not fit into the main memory and the operating system is forced to use a hard drive. Another problem for the classical coursebook algorithms is a rapidly growing parallelism. Currently it ranges from several cores in commodity home workstations (multicores) up to hundreds of cores available in Graphical Processing Units (GPUs). Classical approaches often become inefficient or even inapplicable in such settings. Even being on the safe side, that is in sequential RAM model, the worst-case optimality alone does not guarantee the best performance in practice. The reason for it is that the worst cases are rare in practice and thus the theoretically worse algorithms often perform better than their worst-case optimal counterparts. Clever heuristics often have further positive impact on the performance. In this thesis we try to close the gap between theoretically worst-case optimal classical algorithms and the real-world circumstances one face under the assumptions imposed by the data size, limited main memory or available parallelism.
منابع مشابه
Solving a New Multi-objective Inventory-Routing Problem by a Non-dominated Sorting Genetic Algorithm
This paper considers a multi-period, multi-product inventory-routing problem in a two-level supply chain consisting of a distributor and a set of customers. This problem is modeled with the aim of minimizing bi-objectives, namely the total system cost (including startup, distribution and maintenance costs) and risk-based transportation. Products are delivered to customers by some heterogeneous ...
متن کاملA method for identifying software components based on Non-dominated Sorting Genetic Algorithm
Identifying the appropriate software components in the software design phase is a vital task in the field of software engineering and is considered as an important way to increase the software maintenance capability. Nowadays, many methods for identifying components such as graph partitioning and clustering are presented, but most of these methods are based on expert opinion and have poor accur...
متن کاملSimplified External Memory Algorithms for Planar DAGs
In recent years a large number I/O-efficient algorithms have been developed for fundamental planar graph problems. Most of these algorithms rely on the existence of small planar separators as well as an O(sort(N)) I/O algorithm for computing a partition of a planar graph based on such separators, where O(sort(N)) is the number of I/Os needed to sort N elements. In this paper we simplify and uni...
متن کاملSIMULATED ANNEALING ALGORITHM FOR SELECTING SUBOPTIMAL CYCLE BASIS OF A GRAPH
The cycle basis of a graph arises in a wide range of engineering problems and has a variety of applications. Minimal and optimal cycle bases reduce the time and memory required for most of such applications. One of the important applications of cycle basis in civil engineering is its use in the force method to frame analysis to generate sparse flexibility matrices, which is needed for optimal a...
متن کاملON THE MATCHING NUMBER OF AN UNCERTAIN GRAPH
Uncertain graphs are employed to describe graph models with indeterministicinformation that produced by human beings. This paper aims to study themaximum matching problem in uncertain graphs.The number of edges of a maximum matching in a graph is called matching numberof the graph. Due to the existence of uncertain edges, the matching number of an uncertain graph is essentially an uncertain var...
متن کاملA knowledge-based NSGA-II approach for scheduling in virtual manufacturing cells
This paper considers the job scheduling problem in virtual manufacturing cells (VMCs) with the goal of minimizing two objectives namely, makespan and total travelling distance. To solve this problem two algorithms are proposed: traditional non-dominated sorting genetic algorithm (NSGA-II) and knowledge-based non-dominated sorting genetic algorithm (KBNSGA-II). The difference between these algor...
متن کامل