4 research outputs found
Extension of Knuth's balancing algorithm with error correction
Knuth's celebrated balancing method consists of inverting the first z bits in a binary information sequence, such that the resulting sequence has as many ones as zeroes, and communicating the index z to the receiver through a short balanced prefix. In the proposed method, Knuth's scheme is extended with error-correcting capabilities, where it is allowed to give unequal protection levels to the prefix and the payload. An analysis with respect to the redundancy of the proposed method is performed, showing good results while maintaining the simplicity features of the original scheme
Two-way replacement selection
The performance of external sorting is highly dependant on the length of the runs generated.
One of the most commonly used run generation strategies is Replacement Selection (RS) because,
on average, it generates runs that are twice the size of the memory available.
However, the length of the runs generated by RS is downsized for data with certain characteristics,like inputs sorted inversely with respect to the desired output order.
The goal of this project is to propose and analyze two-way replacement selection (2WRS),
which is a generalization of RS obtained by implementing two heaps instead of the single
heap implemented by RS. The appropriate management of these two heaps allows generating runs larger than the memory available in a stable way, i.e. independent from the characteristics of the datasets.
Depending on the changing characteristics of the input dataset,
2WRS assigns a new data record to one or the other heap, and grows or shrinks each heap,
accommodating to the growing or decreasing tendency of the dataset.
On average, 2WRS creates runs of at least the length generated by RS,
and longer for datasets that combine increasing and decreasing data subsets.
We tested both algorithms on large datasets with different characteristics
and 2WRS achieves speedups at least similar to RS, and over 2.5 when RS fails
to generate large runs.
. El projecte consisteix en desenvolupar un algorisme d'ordenació externa basat en Replacement Selection, de manera que solucioni els problemes inherents a replacement selection.
L'estudiant haurà de dissenyar i implementar l'algorisme, fer un estudi estadÃstic de la seva eficiència, i comparar la eficiència en temps del nou algorisme amb replacement selection
Two-way replacement selection
The performance of external sorting is highly dependant on the length of the runs generated.
One of the most commonly used run generation strategies is Replacement Selection (RS) because,
on average, it generates runs that are twice the size of the memory available.
However, the length of the runs generated by RS is downsized for data with certain characteristics,like inputs sorted inversely with respect to the desired output order.
The goal of this project is to propose and analyze two-way replacement selection (2WRS),
which is a generalization of RS obtained by implementing two heaps instead of the single
heap implemented by RS. The appropriate management of these two heaps allows generating runs larger than the memory available in a stable way, i.e. independent from the characteristics of the datasets.
Depending on the changing characteristics of the input dataset,
2WRS assigns a new data record to one or the other heap, and grows or shrinks each heap,
accommodating to the growing or decreasing tendency of the dataset.
On average, 2WRS creates runs of at least the length generated by RS,
and longer for datasets that combine increasing and decreasing data subsets.
We tested both algorithms on large datasets with different characteristics
and 2WRS achieves speedups at least similar to RS, and over 2.5 when RS fails
to generate large runs.
. El projecte consisteix en desenvolupar un algorisme d'ordenació externa basat en Replacement Selection, de manera que solucioni els problemes inherents a replacement selection.
L'estudiant haurà de dissenyar i implementar l'algorisme, fer un estudi estadÃstic de la seva eficiència, i comparar la eficiència en temps del nou algorisme amb replacement selection
Studies related to the process of program development
The submitted work consists of a collection of publications arising from research carried out at Rhodes University (1970-1980) and at Heriot-Watt University (1980-1992). The theme of this research is the process of program development, i.e. the process of creating a computer program to solve some particular problem. The papers presented cover a number of different topics which relate to this process, viz. (a) Programming methodology programming. (b) Properties of programming languages. aspects of structured. (c) Formal specification of programming languages. (d) Compiler techniques. (e) Declarative programming languages. (f) Program development aids. (g) Automatic program generation. (h) Databases. (i) Algorithms and applications