Tentative distance Created 2026-10-14 Updated 2026-10-31
A tentative distance is the cheapest cost so far recorded by a shortest path problem algorithm. For the single-source convention, initialize and elsewhere. Every finite label is the cost of a discovered route from to , soIt is an upper bound supplied by an actual route, not a guess that might be too low. The loop invariant follows directly from edge relaxation: extending a discovered route to by supplies another discovered route. The usual label initialization and this safety property are stated and proved in the authored MIT notes.[ref]
https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-fall-2011/6277a1f06100c26a7ff21031af6757b5_MIT6_006F11_lec16.pdf. MIT 6.006, Lecture 16, p. 1: relaxation safety
In the trace under edge relaxation, first records the direct directed path . Later records , and finally records . Each label is a usable route cost, but the first two are not shortest. An infinite tentative distance means no route has yet been discovered; only a completed search establishes unreachability. The isolated vertex in that example remains at .
In a directed graph, the discovered route is formally a directed walk, which may repeat vertices; in the pictured acyclic graph it is always a directed path. Negative-cost directed cycles can keep supplying cheaper directed walks without a finite optimum. In the all-to-one convention, the same meaning applies to discovered routes from to . Do not confuse either version with the lower bounds supplied by feasible potentials in the Bellman inequalities: one records something achievable, the other rules out anything cheaper.
Term graph 2026-11-05
A term graph represents the structure of first-order terms with labelled nodes and ordered argument graph edges. For finite acyclic first-order terms, the representation can be a directed acyclic graph, allowing identical subterms to share nodes rather than being copied into separate branches of a tree.
The first-order term has five occurrences in its ordinary syntax tree: one , two and two . A shared term graph can use only three nodes, with the two argument graph edges of pointing to the same node. Sharing a variable node is also useful: identifications made by a unification algorithm can be represented once and followed from every occurrence.[ref]
An Efficient Unification Algorithm by Alberto Martelli and Ugo Montanari. Section2 and implementation discussion, sharing and the acyclicity test
Sharing changes storage, not the meaning of an acyclic finite first-order term. A cycle is different. A node labelled whose argument points back to itself unfolds to an infinite rational tree; it cannot represent a finite solution to . An implementation must therefore state whether it supports infinite rational trees or enforces the finite-term occurs check.
Theoretical computer science Created 2026-09-24 Updated 2026-11-05
Theoretical computer science studies computation through mathematical models, algorithms and proofs. Computability theory asks which problems admit algorithms at all; computational complexity theory asks what resources solving them requires. Automata theory, mathematical logic and formal languages describe machines and representations. For example, a finite-state automaton recognizes a language using finitely many states, while a Turing machine provides a more general model with unbounded working storage. Separating a problem's specification from a particular implementation makes it possible to prove both algorithmic upper bounds and impossibility results.
Time complexity Created 2026-09-24 Updated 2026-10-14
The time complexity of an algorithm bounds its number of computation steps as a function of its input length.
Specify both the size parameter and the operations counted. For binary search, take to be the number of array entries and count a three-way comparison of the target with one entry as one operation. Code using separate equality and less-than tests may perform two primitive tests per inspected entry; this changes a constant factor. The input size in bits is a different parameter when entries have variable-length representations.
Worst-case time complexity maximizes the count over permitted inputs of size . An absent target forces comparisons in linear search. For binary search, the worst-case count is for , attained by a target larger than every entry. Both have a best case of one comparison when the first inspected entry matches.
In Big O notation, the worst-case bounds are and respectively. Here means that fixed constants exist with for all . It is an upper bound, so a logarithmic count is also ; the sharper bound communicates its scaling better. The base of the logarithm changes only a constant factor.
For , linear search can require comparisons, whereas binary search needs at most , since . Doubling adds just one to the worst-case binary search count. These are operation counts, not measured machine runtimes. Translating them into logarithmic execution time assumes constant-cost indexed access, comparison and index arithmetic. Long entries can make comparison expensive; a linked list does not provide constant-cost access to an arbitrary middle index. Building or sorting the array is additional work: merge sort can provide order for many subsequent searches, but its cost belongs in the analysis too.
Tiny-pivot roundoff in Gaussian elimination 2026-10-18
A nonzero pivot element can still be a poor numerical choice. Partial pivoting bounds the absolute values of the elimination multipliers by one in exact arithmetic, because each numerator is no larger than the selected denominator. This usually improves numerical stability, but does not prevent every possible growth of intermediate entries or guarantee accurate answers for every linear system.[ref]
2.6 Row pivoting. Fundamentals of Numerical Computation by Tobin A. Driscoll and others; §2.6.4, Example 2.6.6, equation (2.6.3) and concluding discussion: small-pivot instability and the limits of pivoting
To see the mechanism without depending on hardware, define a toy floating-point arithmetic model. The operator rounds an exact real number to the nearest value with three significant decimal digits; halfway cases choose the even final digit, and . Allow an unbounded exponent range. Round the inputs and the result of every addition, subtraction, multiplication and division separately; a product followed by a subtraction rounds twice. This is a prescribed arithmetic model, not a measurement of a physical computer. All inputs in the following original example are represented exactly:Without a row interchange, the elimination multiplier is . The last coefficient and right-hand side becomeTwo distinct exact values now have the same rounded representation. Back substitution therefore returnsThe small difference carrying information about was lost during elimination; the final subtraction only exposes that loss. Dividing by the tiny pivot element amplifies sensitivity to the lost information.
With partial pivoting, interchange the two rows, including their right-hand sides, to start from . Now , and the rounded updates areBack substitution gives and . Both paths round intermediate values, but only the first creates million-sized entries and then divides a lost difference by .
The true solution follows from the original second equation :Evaluate the linear-system residual against the original data in exact arithmetic, separately from the three-digit solve. With , the maximum norm, the results areThe respective relative linear-system residuals are and . Computing the diagnostic in higher precision matters: a check made only against the rounded reduced equations would miss the original error.
The same three-digit floating-point arithmetic model gives without a row interchange and with partial pivoting; exact linear-system residuals expose the difference
. Details. This matrix is well conditioned in the maximum norm: its induced matrix norm is , whileThe failure therefore belongs to this unpivoted algorithm, rather than a large condition number. In general, however, partial pivoting cannot remove sensitivity inherent in the data. For any approximate solution of an invertible matrix system, ; the induced matrix norm inequality and giveA small linear-system residual controls solution error only in conjunction with the condition number; numerical stability and sensitivity are different questions.[ref]
Tobin A. Driscoll Created 2026-10-13 Updated 2026-11-05
Coauthor with Richard J. Braun of a textbook in numerical analysis. It develops computational methods together with conditioning, approximation error and stability, so an algorithm is judged by the reliability of its result as well as its speed.[ref]
Fundamentals of Numerical Computation by Tobin A. Driscoll and others. author attribution and the named work’s subject
Total variation distance Created 2026-09-24 Updated 2026-10-13
Total variation distance asks how much two probability distributions can disagree about the same event. For probability measures on one measurable space , its definition isThe supremum ranges over all measurable sets, so guarantees that every yes-or-no prediction has probability error at most . This metric takes values between zero and one; it is zero exactly when the two probability measures agree. This makes it useful for comparing a sampling algorithm's output with its target probability distribution, and for defining the mixing time of a Markov chain.
On a finite set, add the excess probability mass wherever exceeds . That excess is also half the sum of all absolute differences:The last expression reveals the common probability mass that the two probability distributions can share.[ref]
Markov Chains and Mixing Times, second edition by David A. Levin and others. §4.1, Proposition 4.2 and Remark 4.3, printed p. 48; §4.2, equation (4.13), printed p. 51
The coupling characterization of total variation distance turns this overlap into an actual joint construction; minimum sum of errors in a simple hypothesis test gives it a statistical interpretation. One quantity connects probability bookkeeping, comparison of sampling methods, and the limits of a statistical test. Turing machine Created 2026-09-24 Updated 2026-11-05
A Turing machine is a model of computation with finite control, a tape of cells and a head scanning one cell at a time. An instruction of a Turing machine uses the current state and scanned symbol to determine a new state, a written symbol and a head movement. The finite transition rules form the machine's description; the tape supplies storage without a fixed global bound.
In a standard input convention, a finite word occupies part of an otherwise blank tape. A Turing machine configuration records the state, head position and tape contents, so the next-configuration relation determines each computation step. A machine can accept, reject or continue indefinitely. Recognizing a formal language permits nontermination on some nonmembers; deciding it requires an answer on every input.
The separation between a finite rule table and unbounded reusable storage makes the model useful for proving general statements about algorithms. Alan Turing's 1936 paper introduced this style of machine to analyze effective calculation; its original examples produce successive digits of numbers.[ref] Multitape Turing machines change the storage organization and possible step counts while retaining the same computability power.
Tuukka Korhonen Created 2026-10-13 Updated 2026-11-05
Tuukka Korhonen coauthored algorithms for graph-minor containment and disjoint paths with Michał Pilipczuk and Giannos Stamoulis. The work connects structural graph properties with efficient detection procedures.[ref]
Minor Containment and Disjoint Paths in almost-linear time by Tuukka Korhonen and others. author attribution and the described mathematical development
Portrait of Tuukka Korhonen
. External portrait hosted by University of Copenhagen, BARC. Source.An infinite Cartesian product of finite sets need not admit any complete list enumeration. For the repeated binary factor, suppose the output lists all sequences as . Define a sequence by . It is a valid binary sequence but differs from the -th output at coordinate , a contradiction. This is Cantor's diagonal argument. Consequently fair binary products can recursively enumerate the choices from finitely many possibly infinite lists, but cannot solve the unrestricted infinite-family specification. A finite-family algorithm's restriction must be explicit.
Undecidable decision problem Created 2026-10-05 Updated 2026-10-06
A decision problem for which no algorithm terminates with the correct yes-or-no answer on every input. For example, if the diagonal halting set had a decision algorithm, a program could halt on its own code exactly when that algorithm says it does not halt, producing a contradiction. An undecidable decision problem may still admit a partial procedure that terminates on every yes-instance.
Unit-cost model 2026-10-31
A computation-cost convention assigning constant cost to specified primitive operations. For exact unbounded integer arithmetic this can differ substantially from bit complexity: a multiplication of increasingly large values is one primitive operation but requires more bit operations. State which convention is used when estimating an algorithm's running time.
Unit roundoff 2026-10-14
For floating-point arithmetic with precision in radix and rounding to nearest, unit roundoff is the half-gap scale . If a nonzero exact real number lies in the normal finite range, its nearest rounded value satisfiesIndeed, the absolute distance to the nearest value is at most , and gives the bound. For a correctly rounded addition, subtraction, multiplication or division, apply this estimate to the exact result of that one operation on the stored operands. The bound does not include earlier roundoff error or automatically bound a whole algorithm. Results outside the finite range and tiny subnormal numbers require separate treatment. Rounding in a directed mode also changes the bound.[ref]
https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html. Goldberg, 1991, §§Relative Error and Ulps, Exactly Rounded Operations
Universal lossless shortening is impossible Created 2026-10-13 Updated 2026-11-05
Fix . There is no injective function from all length- binary strings to binary strings of length strictly less than . There are possible inputs, but even allowing the empty string gives onlypossible shorter outputs. The finite geometric series and pigeonhole principle leave at least two inputs sharing an output, which prevents exact decoding. For , eight inputs compete for the empty string and the six strings
0, 1, 00, 01, 10, 11.This counting argument includes any file header or other information sent to the decoder. An algorithm chosen separately for each input must also be identified to the receiver; its description is not free. A useful compressor saves space on some inputs while leaving others unchanged or making them longer. Lossy compression avoids the exact-recovery requirement by deliberately allowing several inputs to share an output.
Valentine Kabanets Created 2026-10-18 Updated 2026-11-05
Valentine Kabanets is a computer scientist whose research concerns computational complexity theory, derandomization, pseudorandomness and circuit complexity. A recurring question in his research is when efficient randomized algorithms can be replaced by efficient deterministic algorithms.[ref]
Research interests by Valentine Kabanets. Computational Complexity; Role of randomness in efficient computation
His research description emphasizes a connection between designing fast algorithms and proving circuit lower bounds. An upper bound supplies an efficient method for a problem; a lower bound rules out methods within a specified model. In some settings, progress on one side can imply progress on the other, turning apparent obstacles into tools.[ref]
Identity source: www2.cs.sfu.ca/~kabanets/
Portrait of Valentine Kabanets
. Portrait identified on the cited institutional profile. Verifying a satisfying assignment Created 2026-10-18 Updated 2026-10-25
For a CNF input with Boolean variables, Boolean clauses, and Boolean literal occurrences, first check that the supplied Boolean valuation gives each input Boolean variable exactly one truth value. Evaluate each Boolean literal by lookup or logical negation, each Boolean clause by logical disjunction, and the Boolean formula by logical conjunction. Indexed Boolean variables and constant-cost lookups give an operation count; with a finite binary string encoding the check still takes polynomial time. Thus a satisfying assignment is a certificate in computational complexity for SAT, proving that SAT belongs to NP. Finding it by exhaustive checking can require candidate Boolean valuations; this enumeration cost is not a lower bound on every possible SAT algorithm.[ref]
CS 252, Lecture 8: Constraint Satisfaction Problems (Carnegie Mellon University). CS 252, Lecture 8: Constraint Satisfaction Problems, p. 3, §3 opening paragraph: assignments as certificates and membership in NP
Victor Shoup Created 2026-10-13 Updated 2026-11-05
Author of a computational introduction to number theory and algebra. The text develops the mathematical background alongside algorithms, making arithmetic structure and computational cost part of the same account.[ref]
A Computational Introduction to Number Theory and Algebra by Victor Shoup. author attribution and the named work’s subject
Volker Strassen 2026-10-24
Volker Strassen in 1970
. Photograph credited to Konrad Jacobs, via the Oberwolfach Photo Collection. The file page states Creative Commons Attribution-ShareAlike 2.0 Germany, CC BY-SA 2.0 DE. The remote photograph is linked without a local copy. Source. Wayne Rasband 2026-11-05
Wayne Rasband developed NIH Image and ImageJ, tools that make quantitative image processing available through an interactive program and extensible code. The ImageJ project's biography records forty years at the US National Institutes of Health and retirement in 2010. It dates the start of NIH Image to 1987 and ImageJ to 1997, when Rasband explored implementing the earlier program in Java.[ref]
This progression mattered because the same recorded digital image could become input to many explicit measurements. Selecting a region of interest, applying image thresholding and measuring an area are separate operations; each makes a choice that affects the result. ImageJ User Guide by Tiago Ferreira and Wayne Rasband records the program's image representations, selections, analysis commands and scripting facilities.[ref]
ImageJ User Guide by Tiago Ferreira and Wayne Rasband. IJ1.46r, title page and selected contents: Image Types and Formats, Selections, Macro Programming, Threshold and Particle Analyzer
For a small original measurement example, take four stored grayscale valuesSelect values at least 128, obtaining the binary image . If each complete pixel represents a rectangle of calibrated width and height , the area from a calibrated pixel count isThe chosen threshold determines which pixels contribute; the pixel pitch determines the physical area assigned to each. An attractive display alone supplies neither of these measurement choices. The calculation assumes complete selected pixel cells and a uniform rectangular calibration; it is not a measured specimen area.
Rasband's contribution also includes maintaining a community around the software: the project profile describes improvements supplied through user feedback, bug reports, code and documentation. That process connects a general algorithm to the concrete representations and measurement conventions needed for a repeatable analysis.[ref]
Worst-case analysis 2026-11-05
Worst-case analysis measures the largest resource use of a specified algorithm among inputs of the same size. If counts operations on input , the worst-case function isThe cost model and meaning of input size are part of the definition. A big O notation bound describes growth of this function, rather than a claim about how often the difficult input occurs.[ref]
Algorithms by Jeff Erickson. Introduction, algorithm analysis and worst-case running-time convention
For linear search of entries, looking for an absent item requires equality tests; finding the first item needs just one. Thus the worst-case comparison count is , even if many actual queries finish earlier. This supplies a guarantee for every allowed input, while an average-case analysis requires a stated distribution over inputs.




