A Dictionary of Algorithmic Theory
https://doi.org/10.13140/RG.2.2.25712.07688…
30 pages
1 file
Sign up for access to the world's latest research
Abstract
A glossary of Algorithmic Theory (or “Algorithm Framework Theory”) is provided here, which also includes the author’s re-interpretation or comments on some traditional theoretical terms or topics. A few contents have not yet appeared in the text of Book I or this book, but in the subsequent Algorithmic writings.
Related papers
Journal of Logic and Computation, 2011
We define an algorithm to be the set of programs that implement or express that algorithm. The set of all programs is partitioned into equivalence classes. Two programs are equivalent if they are essentially the same program. The set of equivalence classes forms the category of algorithms. Although the set of programs does not even form a category, the set
2003
Abstract Algorithm Engineering is concerned with the design, analysis, implementation, tuning, debugging and experimental evaluation of computer programs for solving algorithmic problems. It provides methodologies and tools for developing and engineering efficient algorithmic codes and aims at integrating and reinforcing traditional theoretical approaches for the design and analysis of algorithms and data structures.
IEEE Software, 2012
Enormous advances in computing power and programming environments have obscured the importance of algorithms, one of the foundational pillars of software engineering. Today, even university curricula too often pay only lip service to the teaching of algorithmic fundamentals, reinforcing the popular belief that their place at the core of a software engineer's education is past. Yet even today, the importance of algorithms in software engineering has not diminished, and the effects of neglect are evident everywhere in needlessly inefficient industrial applications. The study of algorithms must regain its rightful place of central importance in the everyday work of today's practitioner.
2021
Algorithmics is the study and practice of taking a high-level description of a program's purpose and, from it, producing an executable program of acceptable efficiency. Each step in that process is justified by rigorous, careful reasoning at the moment it is taken; and the repertoire of steps allowed by that rigour, at each stage, guides the development of the algorithm itself. IFIP's Working Group 2.1 [i] has always been concerned with Algorithmics: both the design of its notations and the laws that enable its calculations. ALGOL 60 had already shown that orthogonality, simplicity and rigour in a programming language improves the quality of its programs. Our Group's title "Algorithmic Languages and Calculi" describes our activities: the discovery of precise but more general rules of calculational reasoning for the many new styles of programming that have developed over the 60 years since IFIP's founding. As our contribution to the birthday celebrations, we outline how we have tried to contribute during those decades to the rigorous and reliable design of computer programs of all kinds-to Algorithmics. (Roman-numbered references like [i] in this abstract refer to details given in Sect. 10.
Computers & Mathematics with Applications, 1982
Theory of Computation is a valuable textbook, which has been much needed in most computer science curricula. Despite the existence of good advanced texts on computability, logic, analysis of algorithms, and formal languages and the recent advent of introductory discrete mathematics texts for computer science students, there has not been a comprehensive intermediate text in theoretical computer science. Lewis and Papadimitriou have provided such a text. The background required is a semester of discrete mathematics, and some mathematical maturity; thus the material would be suitable for a two semester course for thud year computer science or mathematics students. Judicious selection of topics would enable the presentation of a one semester course using this text, with the emphasis reflecting the preferences of the instructor. Chapter 1, "Sets, Relations, and Languages", provides a brief but remarkably thorough overview of the basic required concepts of discrete mathematics: an introduction to logic and set theory, relations and functions, and formal languages. Chapter 2 introduces finite automata as abstractions of real computing devices. Deterministic and nondeterministic finite automata are described: it is shown that they accept the same set of languages, the "regular" languages. The chapter concludes by showing that non-regular languages exist. Chapter 3 starts with the notion of a grammar and develops the natural correspondence between context-free languages, context-free grammars, and pushdown automata. Important properties of the context-free languages are derived; this leads into an excellent discussion of parsing techniques. Moving down the Chomsky hierarchy, Chapter 4 concerns Turing machines. The correspondence between accepting languages and computing functions is developed; then, from modest initial Turing machine computations, progressively more sophisticated ones are built. This culminates in the statement that all computable functions are computable by a Turing machine. Nondeterminism in Turing machines is introduced, and shown to leave unchanged the set of functions computed. Starting with Church's thesis, Chapter 5 discusses the equivalence of Turing machines, unrestricted grammars, and partial recursive functions. In the process, the primitive recursive functions are defined, and shown not to include all computable functions. The chapter concludes with universal Turing machines. Chapter 6 shows that some propositions are undecidable and some functions are uncomputable. The halting problem and Post's correspondence problem, among others, are considered. The chapter does not attempt detailed coverage of this area, but rather is an intelligent selection of topics. Chapter 7 proceeds to computational complexity, by introducing resource bounds on Turing machine computations. The complexity classes P and NP are defined, and their importance to everyday computation is emphasized. The NP-completeness of various combinatorial problems is proved. Chapters 8 and 9 change focus somewhat, to logicspecifically, the propositional calculus and the predicate calculus. Presentation of this material is fairly consistent from one text to another; notable in this presentation are the discussions of compactness and resolution theorem proving. In addition, parallels between unsolvability and NP-completeness are drawn. The choice of topics appears well considered, and the logical progression from topic to topic is very good. One topic which is omitted is the design and analysis of algorithms; however, the existence of good introductory and advanced texts in this area compensates for this. The book is well written and precise. Numerous exercises serve to illustrate and expand on the material covered in the body of the text. Worked examples are not provided, however, and would have to be provided in accompanying lectures. I see no serious drawbacks in this text, and as outlined here I see many strong points. In conclusion, I feel that the book is a valuable contribution to any computer science education.
Algorithmica, 1993
Theorieën voor het berekenen van algoritmen (met een samenvatting in het Nederlands) PROEFSCHRIFT ter verkrijging van de graad van doctor aan de Rijksuniversiteit te Utrecht op gezag van de Rector Magnificus, Prof. Dr. J.A. van Ginkel ingevolge het besluit van het College van Dekanen in het openbaar te verdedigen op donderdag 18 februari 1993 des namiddags te 2.30 uur door Johan Theodoor Jeuring geboren op 12 augustus 1965 te Oude Pekela Promotor: Prof. L.G.L.T. Meertens Faculteit Wiskunde en Informatica CIP-GEGEVENS KONINKLIJKE BIBLIOTHEEK, DEN HAAG Jeuring, Johan Theodoor Theories for algorithm calculation / Johan Theodoor Jeuring. -Utrecht : Universiteit Utrecht, Faculteit Wiskunde. -Ill. Proefschrift Rijksuniversiteit Utrecht. -Met lit. opg. -Met samenvatting in het Nederlands. ISBN 90-393-0235-9 Trefw.: algoritmen. Support has been received from the Dutch organisation for scientific research NWO under NFI project STOP, project number NF 62/63-518. Bibliography 284 Samenvatting 295 Curriculum Vitae 305 I've not said a word. Arthur Miller, The Crucible voor mijn vader en moeder
2003
The papers in this volume were presented at the 14th Symposium on Fundamentals of Computation Theory.
Proceedings of the 1993 ACM conference on Computer science - CSC '93, 1993
Computer science inherited its present conceptual foundations from a branch of pure mathematics that, historically, had been exploring the fundamental nature of mathematical computation since before the turn of the century. It is argued that the conceptual concerns of computer science are different from the conceptual concerns of mathematics, and that this mathematical legacy, in particular the notion of the algorithm, has been largely ineffective as a paradigm for computer science. It is fi rst necessary to understand the role of the algorithm in mathematics. The notion of the algorithm is fundamental to mathematics. To understand the signifi cance of the algorithm to mathematics, it is necessary to understand the history of its development. The term derives from the name of an important ninth-century Persian mathematician, Mohammed ibn Musa al-Khowarizmi, who in about ad 825 wrote a small book describing how to calculate with a new ten-symbol, positional value number system developed in India. It described simple procedures for carrying out addition, subtraction, © ACM, 1993. This chapter is a minor revision of my work: K. Fant, "A Critical review of the notion of the algorithm in computer science,"
Preface The objective of the third edition of Languages and Machines: An Introduction to the Theory of Computer Science remains the same as that of the first two editions, to provide a mathematically sound presentation of the theory of computer science at a level suitable for junior-and senior-level computer science majors. The impetus for the third edition was threefold: to enhance the presentation by providing additional motivation and examples; to expand the selection of topics, particularly in the area of computational complexity; and to provide additional flexibility to the instructor in the design of an introductory course in the theory of computer science. While many applications-oriented students question the importance o f studying the oretical foundations, it is this subject that addresses the " big picture" issues of computer science. When today's programming languages and computer architectures are obsolete and solutions have been found for problems currently of interest, the questions considered in this book will still be relevant. What types of patterns can be algorithmically detected? How can languages be formally defined and analyzed? What are the inherent capabilities and limitations of algorithmic computation? What problems have solutions that require so much time or memory that they are realistically intractable? How do we compare the relative difficulty of two problems? Each of these questions will be addressed in this text. Organization Since most computer science students at the undergraduate level have little or no background in abstract mathematics, the presentation is intended not only to introduce the foundations of computer science but also to increase the student's mathematical sophistication. This is accomplished by a rigorous presentation of the concepts and theorems of the subject accompanied by a generous supply of examples. Each chapter ends with a set of exercises that reinforces and augments the material covered in the chapter. To make the topics accessible, no special mathematical prerequisites are assumed. Instead, Chapter 1 introduces the mathematical tools of the theory of computing; naive set

Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.