Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Donald E. Knuth

dblp:k/DonaldEKnuth · also Donald Ervin Knuth · DBLP profile ↗
← Back
50ranked-venue papers
41as first author
1since 2021 · last 2022
0009-0000-8366-9524ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Theory of computation · 34 · 27 first-authorDatabases, data management, data science and information retrieval · 8 · 6 first-authorSoftware engineering, systems software and programming languages · 6 · 5 first-author · 1 since 2021Applied, interdisciplinary, general and emerging computing · 4 · 3 first-authorArtificial intelligence and machine learning · 3 · 3 first-author · 1 since 2021Systems, architecture and hardware · 3 · 3 first-authorGraphics, computer vision, multimedia, augmented reality and games · 1 · 1 first-authorHuman-computer interaction and ubiquitous computing · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Theoretical computer science
11 papers
Algorithms and data structures · 30% Computational geometry · 28% Graph algorithms and graph theory · 14%
Computer graphics and multimedia
1 paper
Image and video processing · 100%
Computer architecture, parallel and distributed computing, and storage systems
5 papers
Memory systems · 89% Performance modeling and evaluation · 8% Parallel and multicore computing · 2%
Network and information security
1 paper
Cryptographic primitives and cryptanalysis · 100%

Topics — the 30 heaviest of 38, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Algorithms and data structures
combinatorial algorithms
0.011993
The Stanford GraphBase: A Platform for Combinatorial Algorithms · SODA 1993
Algorithms and data structures › algebraic computation
arithmetic algorithms
0.011990
Addition Machines · SIAM J. Comput. 1990
Computational complexity
computational models
0.011990
Addition Machines · SIAM J. Comput. 1990
Computational geometry › triangulation
delaunay triangulation
0.011990
Randomized Incremental Construction of Delaunay and Voronoi Diagrams · ICALP 1990
Algorithmic game theory and mechanism design
matching
0.011990
Stable Husbands · SODA 1990
Computational geometry › randomized geometric algorithms
randomized incremental construction
0.011990
Randomized Incremental Construction of Delaunay and Voronoi Diagrams · ICALP 1990
Graph algorithms and graph theory › graph matching › matching algorithms
stable marriage
0.011990
Stable Husbands · SODA 1990
Computational geometry
voronoi diagram
0.011990
Randomized Incremental Construction of Delaunay and Voronoi Diagrams · ICALP 1990
Image and video processing › halftoning
dot diffusion
0.011987
Digital Halftones by Dot Diffusion · ACM Trans. Graph. 1987
Image and video processing › halftoning
error diffusion
0.011987
Digital Halftones by Dot Diffusion · ACM Trans. Graph. 1987
Image and video processing
halftoning
0.011987
Digital Halftones by Dot Diffusion · ACM Trans. Graph. 1987
Coding theory › error-correcting codes › constant-weight codes
balanced codes
0.011986
Efficient balanced codes · IEEE Trans. Inf. Theory 1986
Cryptographic primitives and cryptanalysis › pseudorandom generators
linear congruential generator
0.011985
Deciphering a linear congruential encryption · IEEE Trans. Inf. Theory 1985
Memory systems
cache
0.011985
Optimal Prepaging and Font Caching · ACM Trans. Program. Lang. Syst. 1985
Memory systems
cache management
0.011985
Optimal Prepaging and Font Caching · ACM Trans. Program. Lang. Syst. 1985
Graph algorithms and graph theory
graph algorithms
0.011993
The Stanford GraphBase: A Platform for Combinatorial Algorithms · SODA 1993
Automata and formal languages › language recognition
formal language recognition
0.011977
Fast Pattern Matching in Strings · SIAM J. Comput. 1977
Algorithms and data structures › randomized algorithms
randomized data structures
0.011977
Deletions That Preserve Randomness · IEEE Trans. Software Eng. 1977
Algorithms and data structures › sequence algorithms › string algorithms
string matching
0.011977
Fast Pattern Matching in Strings · SIAM J. Comput. 1977
Knowledge, reasoning and agents › Planning, search and constraint satisfaction › game tree search › minimax search
alpha-beta pruning
0.011975
An Analysis of Alpha-Beta Pruning · Artif. Intell. 1975
Knowledge, reasoning and agents › Planning, search and constraint satisfaction
game tree search
0.011975
An Analysis of Alpha-Beta Pruning · Artif. Intell. 1975
Memory systems › memory architecture
interleaved memory
0.011975
Activity in an Interleaved Memory · IEEE Trans. Computers 1975
Programming languages and type systems
language design
0.021967
A Formal Definition of SOL · IEEE Trans. Electron. Comput. 1964
Programming Language for Automata · J. ACM 1967
Performance modeling and evaluation
queueing models
0.011975
Activity in an Interleaved Memory · IEEE Trans. Computers 1975
Automata and formal languages › formal grammars › chomsky hierarchy
context-sensitive languages
0.011967
Programming Language for Automata · J. ACM 1967
Algorithms and data structures › analysis of algorithms
probabilistic analysis of algorithms
0.011977
Deletions That Preserve Randomness · IEEE Trans. Software Eng. 1977
Automata and formal languages › infinite-state systems › automata with storage
stack automata
0.011967
Programming Language for Automata · J. ACM 1967
Parallel and multicore computing
parallel programming models
0.011964
SOLߞA Symbolic Language for General-Purpose Systems Simulation · IEEE Trans. Electron. Comput. 1964
Performance modeling and evaluation › simulation
simulation language
0.011964
SOLߞA Symbolic Language for General-Purpose Systems Simulation · IEEE Trans. Electron. Comput. 1964
Automata and formal languages › parsing
deterministic parsing
0.011965
On the Translation of Languages from Left to Right · Inf. Control. 1965

Methods — techniques the papers use, named apart from their topics

combinatorial optimization · 0.0stable matching · 0.0modular exponentiation · 0.0gcd computation · 0.0parallel computation · 0.0grayscale approximation · 0.0codeword construction · 0.0optimal offline caching · 0.0leading bit analysis · 0.0demand paging · 0.0probabilistic analysis · 0.0algorithm design · 0.0integer programming · 0.0formal semantics · 0.0discrete-event simulation · 0.0automatic programming · 0.0
YearPublicationVenuePosition
2022 All Questions Answered (Invited Talk)
Donald E. Knuth
CP1
2012 Satisfiability and The Art of Computer Programming
Donald E. Knuth
SAT1
2003 Bottom-up education
abstract
People who discover the power and beauty of high-level, abstract ideas often make the mistake of believing that concrete ideas at lower levels are relatively worthless and might as well be forgotten. The speaker will argue that, on the contrary, the best computer scientists are thoroughly grounded in basic concepts of how computers actually work, and indeed that the essence of computer science is an ability to understand many levels of abstraction simultaneously. Therefore he has put considerable effort into the design of a RISC machine called MMIX, as an aid to computer science educators. MMIX is intended to be simple and clean yet realistic. Many tools have been built to simulate the MMIX architecture, and more are under development.
Donald E. Knuth
ITiCSE1
1998 Linear Probing and Graphs
Donald E. Knuth
Algorithmica1
1997 A Sequence of Series for the Lambert W Function
abstract
Article A sequence of series for the Lambert W function Share on Authors: Robert M. Corless Department of Applied Mathematics, University of Western Ontario, London, Canada N6A 5B7 Department of Applied Mathematics, University of Western Ontario, London, Canada N6A 5B7View Profile , David J. Jeffrey Department of Applied Mathematics, University of Western Ontario, London, Canada N6A 5B7 Department of Applied Mathematics, University of Western Ontario, London, Canada N6A 5B7View Profile , Donald E. Knuth Computer Science Department, Gates 4B, Stanford University, Stanford, CA Computer Science Department, Gates 4B, Stanford University, Stanford, CAView Profile Authors Info & Claims ISSAC '97: Proceedings of the 1997 international symposium on Symbolic and algebraic computationJuly 1997 Pages 197–204https://doi.org/10.1145/258726.258783Online:01 July 1997Publication History 87citation1,653DownloadsMetricsTotal Citations87Total Downloads1,653Last 12 Months71Last 6 weeks9 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteGet Access
Robert M. Corless, David J. Jeffrey, Donald E. Knuth
ISSAC3
1995 Two-Way Rounding
abstract
Given n real numbers $0 \leq x_1 , \ldots , x_n < 1$ and a permutation $\sigma $ of $\{ 1, \ldots ,n \}$, we can always find $\bar x_1 , \cdots ,\bar x_n \in \{ 0,1 \}$ so that the partial sums $\bar x_1 + \cdots + \bar x_k $ and $\bar x_{\sigma 1} + \cdots + \bar x_{\sigma k} $ differ from the unrounded values $x_1 + \cdots + x_k $ and $x_{\sigma 1} + \cdots + x_{\sigma k} $ by at most $n/(n + 1)$, for $1 \leq k \leq n$. The latter bound is best possible. The proof uses an elementary argument about flows in a certain network, and leads to a simple algorithm that finds an optimum way to round.
Donald E. Knuth
SIAM J. Discret. Math.1
1993 The Stanford GraphBase: A Platform for Combinatorial Algorithms
Donald E. Knuth
SODA1
1992 Randomized Incremental Construction of Delaunay and Voronoi Diagrams
Leonidas J. Guibas, Donald E. Knuth, Micha Sharir
Algorithmica2
1992 The Problem of Compatible Representatives
abstract
This paper attaches a name to a natural class of combinatorial problems and points out that the class includes many important special cases. One special case, a simple problem of placing nonoverlapping labels on a rectangular map, is shown to be NP-complete.
Donald E. Knuth, Arvind Raghunathan
SIAM J. Discret. Math.1
1991 Theory and Practice
Donald E. Knuth
Theor. Comput. Sci.1
1990 Randomized Incremental Construction of Delaunay and Voronoi Diagrams
Leonidas J. Guibas, Donald E. Knuth, Micha Sharir
ICALP2
1990 Stable Husbands
Donald E. Knuth, Rajeev Motwani 0001, Boris G. Pittel
SODA1
1990 Nested Satisfiability
Donald E. Knuth
Acta Informatica1
1990 Addition Machines
abstract
It is possible to compute gcd $(x, y)$ efficiently with only $O(\log xy)$ additions and subtractions, when three arithmetic registers are available but not when there are only two. Several other functions, such as $x^y \bmod z$, are also efficiently computable in a small number of registers, using only addition, subtraction, and comparison.
Robert W. Floyd, Donald E. Knuth
SIAM J. Comput.2
1989 The Errors of TEX
abstract
Abstract This paper is a case study of program evolution. The author kept track of all changes made to TEX during a period of ten years, including the changes made when the original program was first debugged in 1978. The log book of these errors, numbering more than 850 items, appears as an appendix to this paper. The errors have been classified into fifteen categories for purposes of analysis, and some of the noteworthy bugs are discussed in detail. The history of the TEX project can teach valuable lessons about the preparation of highly portable software and the maintenance of programs that aspire to high standards of reliability.
Donald E. Knuth
Softw. Pract. Exp.1
1987 Digital Halftones by Dot Diffusion
abstract
This paper describes a technique for approximating real-valued pixels by two-valued pixels. The new method, called dot diffusion, appears to avoid some deficiencies of other commonly used techniques. It requires approximately the same total number of arithmetic operations as the Floyd-Steinberg method of adaptive grayscale, and it is well suited to parallel computation; but it requires more buffers and more complex program logic than other methods when implemented sequentially. A “smooth” variant of the method may prove to be useful in high-resolution printing.
Donald E. Knuth
ACM Trans. Graph.1
1986 Efficient balanced codes
abstract
Coding schemes in which each codeword contains equally many zeros and ones are constructed in such a way that they can be efficiently encoded and decoded.
Donald E. Knuth
IEEE Trans. Inf. Theory1
1985 Deciphering a linear congruential encryption
abstract
It is shown that the multiplier, the increment, and the seed value of a linear congruential random number generator on a binary computer can be deduced from the leading bits of the "random" numbers that are generated.
Donald E. Knuth
IEEE Trans. Inf. Theory1
1985 Optimal Prepaging and Font Caching
abstract
An efficient algorithm for communicating letter-shape information from a high-speed computer with a large memory to a typesetting device that has a limited memory is presented. The encoding is optimum, in the sense that the total time for typesetting is minimized, using a model that generalizes well-known “demand paging” strategies to the case where changes to the cache are allowed before the associated information is actually needed. Extensive empirical data show that good results are obtained even when difficult technical material is being typeset on a machine that can store information concerning only 100 characters. The methods of this paper are also applicable to other hardware and software caching applications with restricted lookahead.
David R. Fuchs, Donald E. Knuth
ACM Trans. Program. Lang. Syst.2
1984 Literate Programming
abstract
The author and his associates have been experimenting for the past several years with a programming language and documentation system called WEB. This paper presents WEB by example, and discusses why the new system appears to be an improvement over previous ones.
Donald E. Knuth
Comput. J.1
1981 Breaking Paragraphs into Lines
abstract
Abstract This paper discusses a new approach to the problem of dividing the text of a paragraph into lines of approximately equal length. Instead of simply making decisions one line at a time, the method considers the paragraph as a whole, so that the final appearance of a given line might be influenced by the text on succeeding lines. A system based on three simple primitive concepts called ‘boxes’, ‘glue’, and ‘penalties’ provides the ability to deal satisfactorily with a wide variety of typesetting problems in a unified framework, using a single algorithm that determines optimum breakpoints. The algorithm avoids backtracking by a judicious use of the techniques of dynamic programming. Extensive computational experience confirms that the approach is both efficient and effective in producing high‐quality output. The paper concludes with a brief history of line‐breaking methods, and an appendix presents a simplified algorithm that requires comparatively few resources.
Donald E. Knuth, Michael F. Plass
Softw. Pract. Exp.1
1979 Lexicographic permutations with restrictions
Donald E. Knuth
Discret. Appl. Math.1
1978 A Trivial Algorithm Whose Analysis Isn't
Arne T. Jonassen, Donald E. Knuth
J. Comput. Syst. Sci.2
1978 The Expected Linearity of a Simple Equivalence Algorithm
Donald E. Knuth, Arnold Schönhage
Theor. Comput. Sci.1
1977 A Generalization of Dijkstra's Algorithm
Donald E. Knuth
Inf. Process. Lett.1
1977 Fast Pattern Matching in Strings
abstract
An algorithm is presented which finds all occurrences of one given string within another, in running time proportional to the sum of the lengths of the strings. The constant of proportionality is low enough to make this algorithm of practical use, and the procedure can also be extended to deal with some more general pattern-matching problems. A theoretical application of the algorithm shows that the set of concatenations of even palindromes, i.e., the language $\{\alpha \alpha ^R\}^*$, can be recognized in linear time. Other algorithms which run even faster on the average are also considered.
Donald E. Knuth, James H. Morris, Vaughan R. Pratt
SIAM J. Comput.1
1977 Deletions That Preserve Randomness
abstract
This paper discusses dynamic properties of data structures under insertions and deletions It is shown that, in certain circumstances, the result of n random insertions and m random deletions will be equivalent to n-m random insertions, under various interpretations of the world "random" and under various constraints on the order of insertions and deletions.
Donald E. Knuth
IEEE Trans. Software Eng.1
1976 Analysis of a Simple Factorization Algorithm
Donald E. Knuth, Luis Trabb Pardo
Theor. Comput. Sci.1
1975 An Analysis of Alpha-Beta Pruning
Donald E. Knuth, Ronald W. Moore
Artif. Intell.1
1975 Evading the Drift in Floating-Point Addition
John F. Reiser, Donald E. Knuth
Inf. Process. Lett.2
1975 Erratum: Evading the Drift in Floating-Point Addition
John F. Reiser, Donald E. Knuth
Inf. Process. Lett.2
1975 Activity in an Interleaved Memory
abstract
A complicated expression for the average number of active modules, in a published model for interleaved memory, is shown to be a function well studied in other contexts.
Donald E. Knuth, Gururaj S. Rao
IEEE Trans. Computers1
1974 Ordered Hash Tables
abstract
Abstract : Some variants of the traditional hash method, making use of the numerical or alphabetical order of the keys, lead to faster searching at the expense of a little extra work when items are inserted. The paper presents the new algorithms and analyzes their average running time. (Author)
Ole Amble, Donald E. Knuth
Comput. J.2
1974 A Structured Program to Generate all Topological Sorting Arrangements
Donald E. Knuth, Jayme Luiz Szwarcfiter
Inf. Process. Lett.1
1974 Erratum: A Structured Program to Generate all Topological Sorting Arrangements
Donald E. Knuth, Jayme Luiz Szwarcfiter
Inf. Process. Lett.1
1972 Errata: Notes on Avoiding "go to" Statements
Donald E. Knuth, Robert W. Floyd
Inf. Process. Lett.1
1972 An Experiment in Optimal Sorting
Donald E. Knuth, E. B. Kaehler
Inf. Process. Lett.1
1971 Optimum Binary Search Trees
Donald E. Knuth
Acta Informatica1
1971 Top-Down Syntax Analysis
Donald E. Knuth
Acta Informatica1
1971 Notes on Avoiding "go to" Statements
Donald E. Knuth, Robert W. Floyd
Inf. Process. Lett.1
1971 Correction: Semantics of Context-Free Languages
Donald E. Knuth
Math. Syst. Theory1
1971 An Empirical Study of FORTRAN Programs
abstract
Abstract A sample of programs, written in FORTRAN by a wide variety of people for a wide variety of applications, was chosen ‘at random’ in an attempt to discover quantitatively ‘what programmers really do’. Statistical results of this survey are presented here, together with some of their apparent implications for future work in compiler design. The principal conclusion which may be drawn is the importance of a program ‘profile’, namely a table of frequency counts which record how often each statement is performed in a typical run; there are strong indications that profile‐keeping should become a standard practice in all computer systems, for casual users as well as system programmers. This paper is the report of a three month study undertaken by the author and about a dozen students and representatives of the software industry during the summer of 1970. It is hoped that a reader who studies this report will obtain a fairly clear conception of how FORTRAN is being used, and what compilers can do about it.
Donald E. Knuth
Softw. Pract. Exp.1
1971 Review of 'Introduction to Combinatorial Mathematics' (Liu, C. L.; 1968)
Donald E. Knuth
IEEE Trans. Inf. Theory1
1968 Semantics of Context-Free Languages
Donald E. Knuth
Math. Syst. Theory1
1967 A Characterization of Parenthesis Languages
Donald E. Knuth
Inf. Control.1
1967 Programming Language for Automata
abstract
The techniques of automatic programming are useful for constructive proofs in automata theory. A formal definition of an elementary programming language for a stack automaton is given, and it is shown how this may be readily adapted to other classes of automata. The second part of this paper shows how this programming language can be applied to automata theory, as we prove there are non-context-sensitive languages accepted by a stack automaton.
Donald E. Knuth, Richard H. Bigelow
J. ACM1
1965 On the Translation of Languages from Left to Right
Donald E. Knuth
Inf. Control.1
1964 SOLߞA Symbolic Language for General-Purpose Systems Simulation
abstract
This paper illustrates the use of SOL, a general-purpose algorithmic language useful for describing and simulating complex systems. Such a system is described as a number of individual processes which simultaneously enact a program very much like a computer program. (Some features of the SOL language are directly applicable to programming languages for parallel computers, as well as for simulation.) Once a system has been described in the language, the program can be translated by the SOL compiler into an interpretive code, and the execution of this code produces statistical information about the model. A detailed example of a SOL model for a multiple on-line console system is exhibited, indicating the notational simplicity and intuitive nature of the language.
Donald E. Knuth, J. L. McNeley
IEEE Trans. Electron. Comput.1
1964 A Formal Definition of SOL
abstract
This paper gives a formal definition of SOL, a general-purpose algorithmic language useful for describing and simulating complex systems. SOL is described using meta-linguistic formulas as used in the definition of ALGOL 60. The principal differences between SOL and problem-oriented languages such as ALGOL or FORTRAN is that SOL includes capabilities for expressing parallel computation, convenient notations for embedding random quantities within arithmetic expressions and automatic means for gathering statistics about the elements involved. SOL differs from other simulation languages such as SIMSCRIPT primarily in simplicity of use and in readability since it is capable of describing models without including computer-oriented characteristics.
Donald E. Knuth, J. L. McNeley
IEEE Trans. Electron. Comput.1
1961 Minimizing Drum Latency Time
abstract
The need for latency minimization m many programs for certain computers is qmte pronounced, as quantitative results indicate.OptHmzmg computer instructions includes many things besides merely assigning locations optimally.There are rigorous mathematmal methods for formulating the latency problem into a series of integer programming problems, and a mechamcal technique has also been developed for iterating on chosen locations in an attempt to improve the choices.The most practical way discovered for minimizing latency, however, has been to let people do the job manually with a semisystematic procedure and to use computers for the routine phases and for checking the human output. I. COMPARISON OF PRESENT METHODS
Donald E. Knuth
J. ACM1