11 research outputs found

    Cache-Oblivious Iterated Predecessor Queries via Range Coalescing

    Get PDF
    In this paper we develop an optimal cache-oblivious data structure that solves the iterated predecessor problem. Given k static sorted lists L[subscript 1],L[subscript 2],…,L[subscript k] of average length n and a query value q, the iterated predecessor problem is to find the largest element in each list which is less than q. Our solution to this problem, called “range coalescing”, requires O(log[subscript B+1]n+k/B) memory transfers for a query on a cache of block size B, which is information-theoretically optimal. The range-coalescing data structure consumes O(kn) space, and preprocessing requires only O(kn / B) memory transfers with high probability, given a tall cache of size M=Ω(B[superscript 2])

    Cache Oblivious Sparse Matrix Multiplication

    Get PDF

    Sparse Matrix Multiplication Kernels

    Get PDF

    Algorithm Engineering for fundamental Sorting and Graph Problems

    Get PDF
    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. 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

    LIPIcs, Volume 261, ICALP 2023, Complete Volume

    Get PDF
    LIPIcs, Volume 261, ICALP 2023, Complete Volum

    On the generation and analysis of program transformations

    Get PDF
    This thesis discusses the idea of using domain specific languages for program transformation, and the application, implementation and analysis of one such domain specific language that combines rewrite rules for transformation and uses temporal logic to express its side conditions. We have conducted three investigations. - An efficient implementation is described that is able to generate compiler optimizations from temporal logic specifications. Its description is accompanied by an empirical study of its performance. - We extend the fundamental ideas of this language to source code in order to write bug fixing transformations. Example transformations are given that fix common bugs within Java programs. The adaptations to the transformation language are described and a sample implementation which can apply these transformations is provided. - We describe an approach to the formal analysis of compiler optimizations that proves that the optimizations do not change the semantics of the program that they are optimizing. Some example proofs are included. The result of these combined investigations is greater than the sum of their parts. By demonstrating that a declarative language may be efficiently applied and formally reasoned about satisfies both theoretical and practical concerns, whilst our extension towards bug fixing shows more varied uses are possible

    Notes on Randomized Algorithms

    Full text link
    Lecture notes for the Yale Computer Science course CPSC 469/569 Randomized Algorithms. Suitable for use as a supplementary text for an introductory graduate or advanced undergraduate course on randomized algorithms. Discusses tools from probability theory, including random variables and expectations, union bound arguments, concentration bounds, applications of martingales and Markov chains, and the Lov\'asz Local Lemma. Algorithmic topics include analysis of classic randomized algorithms such as Quicksort and Hoare's FIND, randomized tree data structures, hashing, Markov chain Monte Carlo sampling, randomized approximate counting, derandomization, quantum computing, and some examples of randomized distributed algorithms

    Sixth Biennial Report : August 2001 - May 2003

    No full text

    Constructing and Leveraging “Flight and Expulsion”: Expellee Memory Politics and Victimhood Narratives in the Federal Republic of Germany, 1944-1970

    Get PDF
    My dissertation examines the construction, instrumentalization, and institutionalization of a homogenized “master narrative” of “flight and expulsion” in West Germany between 1945 and 1990. I argue that expellee groups, historians, and politicians cemented a victimhood narrative and idealized past that emphasized German suffering and Soviet barbarity in museums, literature, and the media in order to underpin arguments for social, material, and political claims. In this manner, the expellee organizations fashioned a central concept of “flight and expulsion” and colonized public debates for decades, leaving a lasting impact on how contemporary Germany remembers the war and the integration of 10-12 million refugees. By examining the trajectory of the expulsion narrative, I seek to show the layering of memory, how it was used over time, and the defining impact that this victimhood discourse has had on German public memory and academic interpretation of the phenomenon. My work investigates the origins and evolution of a discourse that continues to inform German historical consciousness, thereby providing fresh insights into the relationship between memory politics, the production and narration of history, and political interest group advocacy.Doctor of Philosoph
    corecore