VIEWS: 20 PAGES: 196 POSTED ON: 7/28/2010
Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Topological Complexity and Degrees of Discontinuity Peter Hertling Institut für Theoretische Informatik und Mathematik Universität der Bundeswehr München, Germany International Conference on Inﬁnity in Logic and Computation Cape Town, 3–5 November 2007 Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Introduction Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Introduction Goal Analyse the discontinuities appearing in computation problems Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Introduction Goal Analyse the discontinuities appearing in computation problems Motivation Discontinuities cause problems when computing real number functions. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Introduction Goal Analyse the discontinuities appearing in computation problems Motivation Discontinuities cause problems when computing real number functions. • Discontinuities in • numerical computation: instabilities. • computational geometry: degenerate conﬁgurations. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Introduction Goal Analyse the discontinuities appearing in computation problems Motivation Discontinuities cause problems when computing real number functions. • Discontinuities in • numerical computation: instabilities. • computational geometry: degenerate conﬁgurations. • In Computable Analysis (Turing machine model, computing with “ﬁnite” (rational, dyadic) approximations): Computable functions are continuous. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Introduction Goal Analyse the discontinuities appearing in computation problems Motivation Discontinuities cause problems when computing real number functions. • Discontinuities in • numerical computation: instabilities. • computational geometry: degenerate conﬁgurations. • In Computable Analysis (Turing machine model, computing with “ﬁnite” (rational, dyadic) approximations): Computable functions are continuous. Levels of discontinuity are topological levels of noncomputability. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Overview I Level of Discontinuity = Number of Tests in Continuous Computation Trees Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Overview I Level of Discontinuity = Number of Tests in Continuous Computation Trees • Level of Discontinuity • Hausdorff’s Reducible Sets/Difference Hierarchy • Schwarz Genus Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Overview I Level of Discontinuity = Number of Tests in Continuous Computation Trees • Level of Discontinuity • Hausdorff’s Reducible Sets/Difference Hierarchy • Schwarz Genus • The Number of Tests in Computation Trees • Degenerate Conﬁgurations in Computational Geometry • Problems from Algebraic Topology and from Algebraic Complexity Theory • The Topological Complexity of Zero Finding for Continuous Functions in Various Settings Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Overview I Level of Discontinuity = Number of Tests in Continuous Computation Trees • Level of Discontinuity • Hausdorff’s Reducible Sets/Difference Hierarchy • Schwarz Genus • The Number of Tests in Computation Trees • Degenerate Conﬁgurations in Computational Geometry • Problems from Algebraic Topology and from Algebraic Complexity Theory • The Topological Complexity of Zero Finding for Continuous Functions in Various Settings II Continuous Reducibility of Functions → Reﬁnement of the Level of Discontinuity • Degrees of Discontinuity Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Level of Discontinuity of a Function Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Level of Discontinuity of a Function Let X , Y be topological spaces, f :⊆ X → Y a (possibly partial) function. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Level of Discontinuity of a Function Let X , Y be topological spaces, f :⊆ X → Y a (possibly partial) function. Cα (f ) := dom(f ) ∩ {x ∈ Cβ (f ) | f |Cβ (f ) is discontinuous in x} β<α Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Level of Discontinuity of a Function Let X , Y be topological spaces, f :⊆ X → Y a (possibly partial) function. Cα (f ) := dom(f ) ∩ {x ∈ Cβ (f ) | f |Cβ (f ) is discontinuous in x} β<α Example Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Level of Discontinuity of a Function Let X , Y be topological spaces, f :⊆ X → Y a (possibly partial) function. Cα (f ) := dom(f ) ∩ {x ∈ Cβ (f ) | f |Cβ (f ) is discontinuous in x} β<α Example C0 (f ) = Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Level of Discontinuity of a Function Let X , Y be topological spaces, f :⊆ X → Y a (possibly partial) function. Cα (f ) := dom(f ) ∩ {x ∈ Cβ (f ) | f |Cβ (f ) is discontinuous in x} β<α Example C0 (f ) = R2 Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Level of Discontinuity of a Function Let X , Y be topological spaces, f :⊆ X → Y a (possibly partial) function. Cα (f ) := dom(f ) ∩ {x ∈ Cβ (f ) | f |Cβ (f ) is discontinuous in x} β<α Example C0 (f ) = R2 C1 (f ) = Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Level of Discontinuity of a Function Let X , Y be topological spaces, f :⊆ X → Y a (possibly partial) function. Cα (f ) := dom(f ) ∩ {x ∈ Cβ (f ) | f |Cβ (f ) is discontinuous in x} β<α Example C0 (f ) = R2 C1 (f ) = {(x, y ) ∈ R2 | y = 0 ∨ y > 0 ∧ x = 0} Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Level of Discontinuity of a Function Let X , Y be topological spaces, f :⊆ X → Y a (possibly partial) function. Cα (f ) := dom(f ) ∩ {x ∈ Cβ (f ) | f |Cβ (f ) is discontinuous in x} β<α Example C0 (f ) = R2 C1 (f ) = {(x, y ) ∈ R2 | y = 0 ∨ y > 0 ∧ x = 0} C2 (f ) = Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Level of Discontinuity of a Function Let X , Y be topological spaces, f :⊆ X → Y a (possibly partial) function. Cα (f ) := dom(f ) ∩ {x ∈ Cβ (f ) | f |Cβ (f ) is discontinuous in x} β<α Example C0 (f ) = R2 C1 (f ) = {(x, y ) ∈ R2 | y = 0 ∨ y > 0 ∧ x = 0} C2 (f ) = {(0, 0)} Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Level of Discontinuity of a Function Let X , Y be topological spaces, f :⊆ X → Y a (possibly partial) function. Cα (f ) := dom(f ) ∩ {x ∈ Cβ (f ) | f |Cβ (f ) is discontinuous in x} β<α Example C0 (f ) = R2 C1 (f ) = {(x, y ) ∈ R2 | y = 0 ∨ y > 0 ∧ x = 0} C2 (f ) = {(0, 0)} C3 (f ) = Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Level of Discontinuity of a Function Let X , Y be topological spaces, f :⊆ X → Y a (possibly partial) function. Cα (f ) := dom(f ) ∩ {x ∈ Cβ (f ) | f |Cβ (f ) is discontinuous in x} β<α Example C0 (f ) = R2 C1 (f ) = {(x, y ) ∈ R2 | y = 0 ∨ y > 0 ∧ x = 0} C2 (f ) = {(0, 0)} C3 (f ) = ∅ Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Level of Discontinuity of a Function Let X , Y be topological spaces, f :⊆ X → Y a (possibly partial) function. Cα (f ) := dom(f ) ∩ {x ∈ Cβ (f ) | f |Cβ (f ) is discontinuous in x} β<α Example C0 (f ) = R2 C1 (f ) = {(x, y ) ∈ R2 | y = 0 ∨ y > 0 ∧ x = 0} C2 (f ) = {(0, 0)} C3 (f ) = ∅ Lev(f ) := min{α | Cα (f ) = ∅}, Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Level of Discontinuity of a Function Let X , Y be topological spaces, f :⊆ X → Y a (possibly partial) function. Cα (f ) := dom(f ) ∩ {x ∈ Cβ (f ) | f |Cβ (f ) is discontinuous in x} β<α Example C0 (f ) = R2 C1 (f ) = {(x, y ) ∈ R2 | y = 0 ∨ y > 0 ∧ x = 0} C2 (f ) = {(0, 0)} C3 (f ) = ∅ Lev(f ) = Lev(f ) := min{α | Cα (f ) = ∅}, Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Level of Discontinuity of a Function Let X , Y be topological spaces, f :⊆ X → Y a (possibly partial) function. Cα (f ) := dom(f ) ∩ {x ∈ Cβ (f ) | f |Cβ (f ) is discontinuous in x} β<α Example C0 (f ) = R2 C1 (f ) = {(x, y ) ∈ R2 | y = 0 ∨ y > 0 ∧ x = 0} C2 (f ) = {(0, 0)} C3 (f ) = ∅ Lev(f ) = 3 Lev(f ) := min{α | Cα (f ) = ∅}, Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Level of Discontinuity of a Function Let X , Y be topological spaces, f :⊆ X → Y a (possibly partial) function. Cα (f ) := dom(f ) ∩ {x ∈ Cβ (f ) | f |Cβ (f ) is discontinuous in x} β<α Example C0 (f ) = R2 C1 (f ) = {(x, y ) ∈ R2 | y = 0 ∨ y > 0 ∧ x = 0} C2 (f ) = {(0, 0)} C3 (f ) = ∅ Lev(f ) = 3 Lev(f ) := min{α | Cα (f ) = ∅}, lev(f , x) := min{α | x ∈ Cα (f )}. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Properties Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Properties • If Lev(f ) ≥ α then Lev(f ) = α + Lev(f |Cα (f ) ). Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Properties • If Lev(f ) ≥ α then Lev(f ) = α + Lev(f |Cα (f ) ). • Lev(f ◦ g) ≤ Lev(f ) · Lev(g). Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Level and Admissible Representations Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Level and Admissible Representations • The level is invariant under admissible representations Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Level and Admissible Representations • The level is invariant under admissible representations A function δ :⊆ Σω → X is an admissible representation iff δ is surjective, continuous, and for every cont. f :⊆ Σω → X there is some cont. h :⊆ Σω → Σω with f = δ ◦ h (use adm. repr. of X for computations over X via oracle Turing machines). Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Level and Admissible Representations • The level is invariant under admissible representations A function δ :⊆ Σω → X is an admissible representation iff δ is surjective, continuous, and for every cont. f :⊆ Σω → X there is some cont. h :⊆ Σω → Σω with f = δ ◦ h (use adm. repr. of X for computations over X via oracle Turing machines). Let X , Y be T0 -spaces with countable bases, δX :⊆ Σω → X and δY :⊆ Σω → Y admissible representations of X and Y . Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Level and Admissible Representations • The level is invariant under admissible representations A function δ :⊆ Σω → X is an admissible representation iff δ is surjective, continuous, and for every cont. f :⊆ Σω → X there is some cont. h :⊆ Σω → Σω with f = δ ◦ h (use adm. repr. of X for computations over X via oracle Turing machines). Let X , Y be T0 -spaces with countable bases, δX :⊆ Σω → X and δY :⊆ Σω → Y admissible representations of X and Y . F A function F :⊆ Σω → Σω real- Σω −→ Σω izes f if for all p ∈ dom(f δX ) δX ↓ ↓ δY f δX (p) = δY F (p). X −→ Y f Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Level and Admissible Representations • The level is invariant under admissible representations Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Level and Admissible Representations • The level is invariant under admissible representations Theorem Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Level and Admissible Representations • The level is invariant under admissible representations Theorem • (global) Lev(f ) ≤ α ⇐⇒ there exists F realizing f with Lev(F ) ≤ α. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Level and Admissible Representations • The level is invariant under admissible representations Theorem • (global) Lev(f ) ≤ α ⇐⇒ there exists F realizing f with Lev(F ) ≤ α. • (local) For every function F realizing f and all α, Cα (f ) ⊆ δX (Cα (F )). Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Level and Admissible Representations • The level is invariant under admissible representations Theorem • (global) Lev(f ) ≤ α ⇐⇒ there exists F realizing f with Lev(F ) ≤ α. • (local) For every function F realizing f and all α, Cα (f ) ⊆ δX (Cα (F )). If Lev(f ) is deﬁned then there exists a function F realizing f with Cα (f ) = δX (Cα (F )) for all α. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Hausdorff’s Reducible Sets/Difference Hierarchy Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Hausdorff’s Reducible Sets/Difference Hierarchy Let X be a topological space, M ⊆ X . Hausdorff’s residues: M if α = 0 Rα (M) := R (M) ∩ Rβ (M) \ Rβ (M) if α = β + 1 β β<α Rβ (M) if α is a limit number. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Hausdorff’s Reducible Sets/Difference Hierarchy Let X be a topological space, M ⊆ X . Hausdorff’s residues: M if α = 0 Rα (M) := R (M) ∩ Rβ (M) \ Rβ (M) if α = β + 1 β β<α Rβ (M) if α is a limit number. Lemma Rα (M) = M ∩ C2·α (cfM ). Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Hausdorff’s Reducible Sets/Difference Hierarchy Let X be a topological space, M ⊆ X . Hausdorff’s residues: M if α = 0 Rα (M) := R (M) ∩ Rβ (M) \ Rβ (M) if α = β + 1 β β<α Rβ (M) if α is a limit number. Lemma Rα (M) = M ∩ C2·α (cfM ). Hausdorff called a set M reducible if there exists an α with Rα (M) = ∅. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Hausdorff’s Reducible Sets/Difference Hierarchy Let X be a topological space, M ⊆ X . Hausdorff’s residues: M if α = 0 Rα (M) := R (M) ∩ Rβ (M) \ Rβ (M) if α = β + 1 β β<α Rβ (M) if α is a limit number. Lemma Rα (M) = M ∩ C2·α (cfM ). Hausdorff called a set M reducible if there exists an α with Rα (M) = ∅. Equivalent to: Lev(cfM ) is deﬁned. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Hausdorff’s Reducible Sets/Difference Hierarchy Let X be a topological space, M ⊆ X . Hausdorff’s residues: M if α = 0 Rα (M) := R (M) ∩ Rβ (M) \ Rβ (M) if α = β + 1 β β<α Rβ (M) if α is a limit number. Lemma Rα (M) = M ∩ C2·α (cfM ). Hausdorff called a set M reducible if there exists an α with Rα (M) = ∅. Equivalent to: Lev(cfM ) is deﬁned. For subsets M of a Polish space: M is in Fσ ∩ Gδ ⇐⇒ M is reducible ⇐⇒ Lev(cfM ) is deﬁned. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity The Schwarz Genus Let p : X → Y be continuous and surjective. A function s :⊆ Y → X is a section if p(s(y )) = y for all y ∈ dom(s). Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity The Schwarz Genus Let p : X → Y be continuous and surjective. A function s :⊆ Y → X is a section if p(s(y )) = y for all y ∈ dom(s). minLev(p) := min{Lev(s) | s : Y → X is a total section}, g(p) := min{k | (∃ open V1 , . . . , Vk ⊆ Y ) ( k Vi = Y ∧ i=1 (∀i ≤ k ) (∃ cont. section si : Vi → X ))}. g(p) is called Schwarz genus. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity The Schwarz Genus Let p : X → Y be continuous and surjective. A function s :⊆ Y → X is a section if p(s(y )) = y for all y ∈ dom(s). minLev(p) := min{Lev(s) | s : Y → X is a total section}, g(p) := min{k | (∃ open V1 , . . . , Vk ⊆ Y ) ( k Vi = Y ∧ i=1 (∀i ≤ k ) (∃ cont. section si : Vi → X ))}. g(p) is called Schwarz genus. Proposition • Always minLev(p) ≤ g(p). • Let Y be a locally connected metric space and p : X → Y a covering map. If g(p) or minLev(p) is ﬁnite, then g(p) = minLev(p). Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity The Number of Tests in Computation Trees Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity The Number of Tests in Computation Trees A Computation Tree over the real numbers is a tree containing unary and binary nodes where Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity The Number of Tests in Computation Trees A Computation Tree over the real numbers is a tree containing unary and binary nodes where • unary nodes contain operations of the form “xi := f (xi1 , . . . , xik )” where • xi1 , . . . , xik : values computed earlier, • xi : value computed in the current node, • f : some arithmetic operation, often only constants, id, +, −, ∗, /, also exp, log, | · |, and others, • binary nodes contain tests of the form “xi ◦ 0” with ◦ ∈ {>, <, ≥, ≤}, • the last node (leaf) on each path is unary. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity The Number of Tests in Computation Trees A Computation Tree over the real numbers is a tree containing unary and binary nodes where • unary nodes contain operations of the form “xi := f (xi1 , . . . , xik )” where • xi1 , . . . , xik : values computed earlier, • xi : value computed in the current node, • f : some arithmetic operation, often only constants, id, +, −, ∗, /, also exp, log, | · |, and others, • binary nodes contain tests of the form “xi ◦ 0” with ◦ ∈ {>, <, ≥, ≤}, • the last node (leaf) on each path is unary. The computation Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity The Number of Tests in Computation Trees A Computation Tree over the real numbers is a tree containing unary and binary nodes where • unary nodes contain operations of the form “xi := f (xi1 , . . . , xik )” where • xi1 , . . . , xik : values computed earlier, • xi : value computed in the current node, • f : some arithmetic operation, often only constants, id, +, −, ∗, /, also exp, log, | · |, and others, • binary nodes contain tests of the form “xi ◦ 0” with ◦ ∈ {>, <, ≥, ≤}, • the last node (leaf) on each path is unary. The computation • starts in the root with the input in some registers x1 , . . . , xn . • ends if a leaf is reached. Then the value in that leaf is the result of the computation. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Computation trees over the real numbers are the common computation model in Computational Geometry. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Computation trees over the real numbers are the common computation model in Computational Geometry. A complexity theory has been built on this model by Blum, Shub and Smale (1989). Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Computation trees over the real numbers are the common computation model in Computational Geometry. A complexity theory has been built on this model by Blum, Shub and Smale (1989). In practice problematic: the comparisons “xi ≥ 0”, etc (unstable). Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Continuous Computation Trees Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Continuous Computation Trees Similar to computation trees as above but Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Continuous Computation Trees Similar to computation trees as above but • over arbitrary topological spaces X , Y , • with arbitrary continuous operations, • tests of the form “x ∈ O” for open sets O. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Continuous Computation Trees Similar to computation trees as above but • over arbitrary topological spaces X , Y , • with arbitrary continuous operations, • tests of the form “x ∈ O” for open sets O. Let T be a continuous computation tree. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Continuous Computation Trees Similar to computation trees as above but • over arbitrary topological spaces X , Y , • with arbitrary continuous operations, • tests of the form “x ∈ O” for open sets O. Let T be a continuous computation tree. Size(T ) := the number of its leaves = 1 + the number of comparison nodes Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Continuous Computation Trees Similar to computation trees as above but • over arbitrary topological spaces X , Y , • with arbitrary continuous operations, • tests of the form “x ∈ O” for open sets O. Let T be a continuous computation tree. Size(T ) := the number of its leaves = 1 + the number of comparison nodes size(T , x) := the number of leaves that can be reached if x may be disturbed slightly at the beginning Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Continuous Computation Trees Similar to computation trees as above but • over arbitrary topological spaces X , Y , • with arbitrary continuous operations, • tests of the form “x ∈ O” for open sets O. Let T be a continuous computation tree. Size(T ) := the number of its leaves = 1 + the number of comparison nodes size(T , x) := the number of leaves that can be reached if x may be disturbed slightly at the beginning size (T , x) := the number of leaves that can be reached if x may be disturbed slightly at any time Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Continuous Computation Trees Similar to computation trees as above but • over arbitrary topological spaces X , Y , • with arbitrary continuous operations, • tests of the form “x ∈ O” for open sets O. Let T be a continuous computation tree. Size(T ) := the number of its leaves = 1 + the number of comparison nodes size(T , x) := the number of leaves that can be reached if x may be disturbed slightly at the beginning size (T , x) := the number of leaves that can be reached if x may be disturbed slightly at any time Clear: size(T , x) ≤ size (T , x) ≤ Size(T ) Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity For a continuous computation tree T let fT be the function computed by T . Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity For a continuous computation tree T let fT be the function computed by T . Theorem For any continuous computation tree T lev(fT , x) ≤ size(T , x) ≤ size (T , x) for all x ∈ X and Lev(fT ) ≤ Size(T ). Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity For a continuous computation tree T let fT be the function computed by T . Theorem For any continuous computation tree T lev(fT , x) ≤ size(T , x) ≤ size (T , x) for all x ∈ X and Lev(fT ) ≤ Size(T ). Theorem Let f be a function with Lev(f ) < ω. Then there exists a continuous computation tree T with lev(fT , x) = size(T , x) = size (T , x) for all x ∈ X and Lev(fT ) = Size(T ). Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Degenerate Conﬁgurations in Computational Geometry Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Degenerate Conﬁgurations in Computational Geometry Let f be a geometric function to be computed. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Degenerate Conﬁgurations in Computational Geometry Let f be a geometric function to be computed. Yap (1990) distinguishes between Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Degenerate Conﬁgurations in Computational Geometry Let f be a geometric function to be computed. Yap (1990) distinguishes between inherent algorithm-induced and degeneracies x degeneracies x Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Degenerate Conﬁgurations in Computational Geometry Let f be a geometric function to be computed. Yap (1990) distinguishes between inherent algorithm-induced and degeneracies x degeneracies x Can be modeled by: Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Degenerate Conﬁgurations in Computational Geometry Let f be a geometric function to be computed. Yap (1990) distinguishes between inherent algorithm-induced and degeneracies x degeneracies x Can be modeled by: lev(f , x) > 1 and size(T , x) > 1 or size (T , x) > 1 Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Degenerate Conﬁgurations in Computational Geometry Let f be a geometric function to be computed. Yap (1990) distinguishes between inherent algorithm-induced and degeneracies x degeneracies x Can be modeled by: lev(f , x) > 1 and size(T , x) > 1 or size (T , x) > 1 Yap: “It seems that induced degeneracies subsume inherent degeneracies”. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Degenerate Conﬁgurations in Computational Geometry Let f be a geometric function to be computed. Yap (1990) distinguishes between inherent algorithm-induced and degeneracies x degeneracies x Can be modeled by: lev(f , x) > 1 and size(T , x) > 1 or size (T , x) > 1 Yap: “It seems that induced degeneracies subsume inherent degeneracies”. Our Theorem: lev(fT , x) ≤ size(T , x) ≤ size (T , x). Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Topological Complexity of a problem P over the real numbers: Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Topological Complexity of a problem P over the real numbers: comptotal (P) ARI := minARI−trees T Size(T ) − 1 Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Topological Complexity of a problem P over the real numbers: comptotal (P) ARI := minARI−trees T Size(T ) − 1 = the minimum of the total number of comparisons in the tree, where the minimum is taken over all computation trees that solve the problem using a certain set ARI of operations. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Topological Complexity of a problem P over the real numbers: comptotal (P) ARI := minARI−trees T Size(T ) − 1 = the minimum of the total number of comparisons in the tree, where the minimum is taken over all computation trees that solve the problem using a certain set ARI of operations. Another variant: Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Topological Complexity of a problem P over the real numbers: comptotal (P) ARI := minARI−trees T Size(T ) − 1 = the minimum of the total number of comparisons in the tree, where the minimum is taken over all computation trees that solve the problem using a certain set ARI of operations. Another variant: path compARI (P) := the minimum of the maximum number of comparisons on a computation path in the tree, where the minimum is taken over all computation trees that solve the problem using a certain set ARI of operations. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity For all computation trees: path compARI (P) ≥ log2 (comptotal (P)) + 1) . ARI Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity For all computation trees: path compARI (P) ≥ log2 (comptotal (P)) + 1) . ARI In fact, trees with ARI = {cont. op.} or ARI = {+, −, ∗, /, | · |} can be balanced leading to path compARI (P) = log2 (comptotal (P)) + 1) ARI Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity For all computation trees: path compARI (P) ≥ log2 (comptotal (P)) + 1) . ARI In fact, trees with ARI = {cont. op.} or ARI = {+, −, ∗, /, | · |} can be balanced leading to path compARI (P) = log2 (comptotal (P)) + 1) ARI Hence, in these cases, comptotal (P) is ﬁner and therefore more ARI interesting! X ! Computation Trees and their disjunction t1 _ t2 : Tests in fTRUE FALSEg are also total topological tests. Level of Discontinuity Degrees of Discontinuity Lemma 2.10 Let t1 t2 : X ! fTRUE FALSEg be total topological tests and T1, T2, T3 CCTs. Then the two CCTs in Figure 1 are equivalent to each other and the two CCTs in Figure 2 are via: equivalent to Balancing at each point. each other. Furthermore, in both cases the branching number is the same ? H ? H ; H t1 HH + () ; H t1 ^ tHH + ? HH ? H ? HH 2 ? T1 ; H t2 HH + ; H tHHH + T3 ? H H ? ? HH1 ? T2 T3 T1 T2 Figure 1: Equivalent CCTs, Part 1 Figure: Equivalent computation trees, Part 1 ? H () and similarly in the other direction. ? H ; H t1 HH + ; H t1 _ tHH + ? H HH ? ? HH 2 ? ; H t2 HH + T3 T1 ; H tHHH + ? HH ? ? HH1 ? T1 T2 T2 T3 X ! Computation Trees and their disjunction t1 _ t2 : Tests in fTRUE FALSEg are also total topological tests. Level of Discontinuity Degrees of Discontinuity Lemma 2.10 Let t1 t2 : X ! fTRUE FALSEg be total topological tests and T1, T2, T3 CCTs. Then the two CCTs in Figure 1 are equivalent to each other and the two CCTs in Figure 2 are via: equivalent to Balancing at each point. each other. Furthermore, in both cases the branching number is the same ? H ? H ; H t1 HH + () ; H t1 ^ tHH + ? HH ? H ? HH 2 ? T1 ; H t2 HH + ; H tHHH + T3 ? H H ? ? HH1 ? T2 T3 T1 T2 Figure 1: Equivalent CCTs, Part 1 Figure: Equivalent computation trees, Part 1 ? H () and similarly in the other direction. H ? ; H t1 HH + ; H t1 _ tHH + ? HH Possible for computation trees ? HHH + ? HH 2 using the operations ? H {+, −, ∗, /, | · |} because with |T3| one can compute;min and H + ; H t2 ? HH ? · T1 H t1 H max. ? HH ? T1 T2 T2 T3 Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Topological Complexity of Problems over the Reals: Examples Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Topological Complexity of Problems over the Reals: Examples Sorting real numbers. Three versions: Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Topological Complexity of Problems over the Reals: Examples Sorting real numbers. Three versions: 1. Input: a vector (x1 , . . . , xn ) ∈ Rn . Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Topological Complexity of Problems over the Reals: Examples Sorting real numbers. Three versions: 1. Input: a vector (x1 , . . . , xn ) ∈ Rn . Output: a vector (xπ(1) , . . . , xπ(n) ) ∈ Rn where π is a permutation of {1, . . . , n} such that xπ(1) ≤ . . . ≤ xπ(n) . Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Topological Complexity of Problems over the Reals: Examples Sorting real numbers. Three versions: 1. Input: a vector (x1 , . . . , xn ) ∈ Rn . Output: a vector (xπ(1) , . . . , xπ(n) ) ∈ Rn where π is a permutation of {1, . . . , n} such that xπ(1) ≤ . . . ≤ xπ(n) . Top. Compl.: 0, if arbitrary cont. op.’s are allowed. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Topological Complexity of Problems over the Reals: Examples Sorting real numbers. Three versions: 1. Input: a vector (x1 , . . . , xn ) ∈ Rn . Output: a vector (xπ(1) , . . . , xπ(n) ) ∈ Rn where π is a permutation of {1, . . . , n} such that xπ(1) ≤ . . . ≤ xπ(n) . Top. Compl.: 0, if arbitrary cont. op.’s are allowed. 2. Input: a vector (x1 , . . . , xn ) ∈ Rn . Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Topological Complexity of Problems over the Reals: Examples Sorting real numbers. Three versions: 1. Input: a vector (x1 , . . . , xn ) ∈ Rn . Output: a vector (xπ(1) , . . . , xπ(n) ) ∈ Rn where π is a permutation of {1, . . . , n} such that xπ(1) ≤ . . . ≤ xπ(n) . Top. Compl.: 0, if arbitrary cont. op.’s are allowed. 2. Input: a vector (x1 , . . . , xn ) ∈ Rn . Output: a permutation π of {1, . . . , n} such that xπ(1) ≤ . . . ≤ xπ(n) . Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Topological Complexity of Problems over the Reals: Examples Sorting real numbers. Three versions: 1. Input: a vector (x1 , . . . , xn ) ∈ Rn . Output: a vector (xπ(1) , . . . , xπ(n) ) ∈ Rn where π is a permutation of {1, . . . , n} such that xπ(1) ≤ . . . ≤ xπ(n) . Top. Compl.: 0, if arbitrary cont. op.’s are allowed. 2. Input: a vector (x1 , . . . , xn ) ∈ Rn . Output: a permutation π of {1, . . . , n} such that xπ(1) ≤ . . . ≤ xπ(n) . Top. Compl.: n − 1, even if arbitrary cont. op.’s are allowed. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Topological Complexity of Problems over the Reals: Examples Sorting real numbers. Three versions: 1. Input: a vector (x1 , . . . , xn ) ∈ Rn . Output: a vector (xπ(1) , . . . , xπ(n) ) ∈ Rn where π is a permutation of {1, . . . , n} such that xπ(1) ≤ . . . ≤ xπ(n) . Top. Compl.: 0, if arbitrary cont. op.’s are allowed. 2. Input: a vector (x1 , . . . , xn ) ∈ Rn . Output: a permutation π of {1, . . . , n} such that xπ(1) ≤ . . . ≤ xπ(n) . Top. Compl.: n − 1, even if arbitrary cont. op.’s are allowed. 3. Input: a vector (x1 , . . . , xn ) ∈ Rn with xi = xj for i = j. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Topological Complexity of Problems over the Reals: Examples Sorting real numbers. Three versions: 1. Input: a vector (x1 , . . . , xn ) ∈ Rn . Output: a vector (xπ(1) , . . . , xπ(n) ) ∈ Rn where π is a permutation of {1, . . . , n} such that xπ(1) ≤ . . . ≤ xπ(n) . Top. Compl.: 0, if arbitrary cont. op.’s are allowed. 2. Input: a vector (x1 , . . . , xn ) ∈ Rn . Output: a permutation π of {1, . . . , n} such that xπ(1) ≤ . . . ≤ xπ(n) . Top. Compl.: n − 1, even if arbitrary cont. op.’s are allowed. 3. Input: a vector (x1 , . . . , xn ) ∈ Rn with xi = xj for i = j. Output: a permutation π of {1, . . . , n} such that xπ(1) ≤ . . . ≤ xπ(n) . Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Topological Complexity of Problems over the Reals: Examples Sorting real numbers. Three versions: 1. Input: a vector (x1 , . . . , xn ) ∈ Rn . Output: a vector (xπ(1) , . . . , xπ(n) ) ∈ Rn where π is a permutation of {1, . . . , n} such that xπ(1) ≤ . . . ≤ xπ(n) . Top. Compl.: 0, if arbitrary cont. op.’s are allowed. 2. Input: a vector (x1 , . . . , xn ) ∈ Rn . Output: a permutation π of {1, . . . , n} such that xπ(1) ≤ . . . ≤ xπ(n) . Top. Compl.: n − 1, even if arbitrary cont. op.’s are allowed. 3. Input: a vector (x1 , . . . , xn ) ∈ Rn with xi = xj for i = j. Output: a permutation π of {1, . . . , n} such that xπ(1) ≤ . . . ≤ xπ(n) . Top. Compl.: 0, if arbitrary cont. op.’s are allowed. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Algebraic Topology Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Algebraic Topology Smale (1987) invented the notion topological complexity and asked for the topological complexity of the following problem: Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Algebraic Topology Smale (1987) invented the notion topological complexity and asked for the topological complexity of the following problem: Input: a number δ > 0 and a vector (an−1 , . . . , a0 ) ∈ Cn such that the polynomial p(z) := z n + an−1 · z n−1 + . . . + a1 · z + a0 has n pairwise different complex zeros. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Algebraic Topology Smale (1987) invented the notion topological complexity and asked for the topological complexity of the following problem: Input: a number δ > 0 and a vector (an−1 , . . . , a0 ) ∈ Cn such that the polynomial p(z) := z n + an−1 · z n−1 + . . . + a1 · z + a0 has n pairwise different complex zeros. Output: a vector (ζ1 , . . . , ζn ) ∈ Cn approximating the zeros z1 , . . . , zn of p in the sense |ζi − zi | ≤ δ for all i. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Algebraic Topology Smale (1987) invented the notion topological complexity and asked for the topological complexity of the following problem: Input: a number δ > 0 and a vector (an−1 , . . . , a0 ) ∈ Cn such that the polynomial p(z) := z n + an−1 · z n−1 + . . . + a1 · z + a0 has n pairwise different complex zeros. Output: a vector (ζ1 , . . . , ζn ) ∈ Cn approximating the zeros z1 , . . . , zn of p in the sense |ζi − zi | ≤ δ for all i. Comment: The top. compl. of Smale’s prob- lem for sufﬁciently small δ is equal to the top. compl. of the problem to sort n pairwise different complex numbers. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Algebraic Topology Smale (1987) invented the notion topological complexity and asked for the topological complexity of the following problem: Input: a number δ > 0 and a vector (an−1 , . . . , a0 ) ∈ Cn such that the polynomial p(z) := z n + an−1 · z n−1 + . . . + a1 · z + a0 has n pairwise different complex zeros. Output: a vector (ζ1 , . . . , ζn ) ∈ Cn approximating the zeros z1 , . . . , zn of p in the sense |ζi − zi | ≤ δ for all i. Comment: The top. compl. of Smale’s prob- Cn lem for sufﬁciently small πn d pn δ is equal to the top. d compl. of the problem to © ∼ = d sort n pairwise different Pn ' Cn /Sn ρn complex numbers. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Theorem (Vassiliev 1988) Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Theorem (Vassiliev 1988) Let Dp (n) := the sum of the digits of n, written in base p, for a prime number p, U(n) := n + 1 − min{Dp (n) | primes p}. Then for all sufﬁciently small δ > 0: U(n) − 1 ≤ comptotal op. (Smale’s problem) ≤ n − 1 cont. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Theorem (Vassiliev 1988) Let Dp (n) := the sum of the digits of n, written in base p, for a prime number p, U(n) := n + 1 − min{Dp (n) | primes p}. Then for all sufﬁciently small δ > 0: U(n) − 1 ≤ comptotal op. (Smale’s problem) ≤ n − 1 cont. Remark: If n is a prime power then U(n) = n, hence, the top. compl. of Smale’s problem is n − 1. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Theorem (Vassiliev 1988) Let Dp (n) := the sum of the digits of n, written in base p, for a prime number p, U(n) := n + 1 − min{Dp (n) | primes p}. Then for all sufﬁciently small δ > 0: U(n) − 1 ≤ comptotal op. (Smale’s problem) ≤ n − 1 cont. Remark: If n is a prime power then U(n) = n, hence, the top. compl. of Smale’s problem is n − 1. Question: What is top. complexity of Smale’s problem if n is not a prime power? Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Question: What is the top. complexity of Smale’s problem if n is not a prime power? Is it then n − 1 as well? Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Question: What is the top. complexity of Smale’s problem if n is not a prime power? Is it then n − 1 as well? Theorem (De Concini et al 2003) • For n = 6 it is not 5 but 4, • If n = 3 · 2m , for some positive integer m, then it is also < n − 1. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Another Example from Algebraic Topology Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Another Example from Algebraic Topology S n := {x ∈ Rn+1 | ||x|| = 1}. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Another Example from Algebraic Topology S n := {x ∈ Rn+1 | ||x|| = 1}. Borsuk’s Antipodal Theorem Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Another Example from Algebraic Topology S n := {x ∈ Rn+1 | ||x|| = 1}. Borsuk’s Antipodal Theorem For n ≥ 1, for every continuous function f : S n → Rn there exists at least one point x ∈ S n with f (−x) = f (x). Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Another Example from Algebraic Topology S n := {x ∈ Rn+1 | ||x|| = 1}. Borsuk’s Antipodal Theorem For n ≥ 1, for every continuous function f : S n → Rn there exists at least one point x ∈ S n with f (−x) = f (x). A function f : S n → Rm is called odd if f (−x) = −f (x) for all x ∈ Sn. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Another Example from Algebraic Topology S n := {x ∈ Rn+1 | ||x|| = 1}. Borsuk’s Antipodal Theorem For n ≥ 1, for every continuous function f : S n → Rn there exists at least one point x ∈ S n with f (−x) = f (x). A function f : S n → Rm is called odd if f (−x) = −f (x) for all x ∈ Sn. Easily shown to be Equivalent to Borsuk’s Antipodal Theorem: Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Another Example from Algebraic Topology S n := {x ∈ Rn+1 | ||x|| = 1}. Borsuk’s Antipodal Theorem For n ≥ 1, for every continuous function f : S n → Rn there exists at least one point x ∈ S n with f (−x) = f (x). A function f : S n → Rm is called odd if f (−x) = −f (x) for all x ∈ Sn. Easily shown to be Equivalent to Borsuk’s Antipodal Theorem: For n ≥ 1, min{Lev(f ) | f : S n → {−1, 1} odd} = n + 1. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Another Example: Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Another Example: Problem: compute f := cfRn . + Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Another Example: Problem: compute f := cfRn . + Proposition path comptotal (f ) = compARI (f ) = 1 ARI for {+, −, ∗, /, | · |} ⊆ ARI ⊆ {continuous functions}. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Another Example: Problem: compute f := cfRn . + Proposition path comptotal (f ) = compARI (f ) = 1 ARI for {+, −, ∗, /, | · |} ⊆ ARI ⊆ {continuous functions}. • Every computation tree using arbitrary continuous functions needs at least 1 test. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Another Example: Problem: compute f := cfRn . + Proposition path comptotal (f ) = compARI (f ) = 1 ARI for {+, −, ∗, /, | · |} ⊆ ARI ⊆ {continuous functions}. • Every computation tree using arbitrary continuous functions needs at least 1 test. • There exists a computation tree using only 1 test and the arithmetic operations +, −, ∗, /, | · |: test whether min{x1 , . . . , xn } > 0. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Another Example: Problem: compute f := cfRn . + Proposition path comptotal (f ) = compARI (f ) = 1 ARI for {+, −, ∗, /, | · |} ⊆ ARI ⊆ {continuous functions}. • Every computation tree using arbitrary continuous functions needs at least 1 test. • There exists a computation tree using only 1 test and the arithmetic operations +, −, ∗, /, | · |: test whether min{x1 , . . . , xn } > 0. Now with analytic functions ..... Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Problem: compute f := cfRn . + Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Problem: compute f := cfRn . + Theorem path comptotal (f ) = compARI (f ) = n for ARI ⊆ {analytic functions}. ARI Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Problem: compute f := cfRn . + Theorem path comptotal (f ) = compARI (f ) = n for ARI ⊆ {analytic functions}. ARI • There exists a computation tree using only n tests and the comparisons xi > 0 for i = 1, . . . , n. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Problem: compute f := cfRn . + Theorem path comptotal (f ) = compARI (f ) = n for ARI ⊆ {analytic functions}. ARI • There exists a computation tree using only n tests and the comparisons xi > 0 for i = 1, . . . , n. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Problem: compute f := cfRn . + Theorem path comptotal (f ) = compARI (f ) = n for ARI ⊆ {analytic functions}. ARI • There exists a computation tree using only n tests and the comparisons xi > 0 for i = 1, . . . , n. • Rabin’s Theorem (1972) (proof corrected by Montaña et al(1994)): Every computation tree using only analytic functions as arithmetic operations needs at least n comparisons on the longest path in the tree! Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Problem: compute f := cfRn . + Theorem path comptotal (f ) = compARI (f ) = n for ARI ⊆ {analytic functions}. ARI • There exists a computation tree using only n tests and the comparisons xi > 0 for i = 1, . . . , n. • Rabin’s Theorem (1972) (proof corrected by Montaña et al(1994)): Every computation tree using only analytic functions as arithmetic operations needs at least n comparisons on the longest path in the tree! Note: A short proof for Rabin’s theorem was given by Vassiliev in 1997 using the Newton polyhedron of a power series. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity The Topological Complexity of Zero Finding for Continuous Functions in Various Settings Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity The Topological Complexity of Zero Finding for Continuous Functions in Various Settings F := {f ∈ C[0, 1] | f (0) · f (1) < 0} , Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity The Topological Complexity of Zero Finding for Continuous Functions in Various Settings F := {f ∈ C[0, 1] | f (0) · f (1) < 0} , Fnd := {f ∈ F | f is nondecreasing} , Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity The Topological Complexity of Zero Finding for Continuous Functions in Various Settings F := {f ∈ C[0, 1] | f (0) · f (1) < 0} , Fnd := {f ∈ F | f is nondecreasing} , Finc := {f ∈ F | f is increasing} . Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity The Topological Complexity of Zero Finding for Continuous Functions in Various Settings F := {f ∈ C[0, 1] | f (0) · f (1) < 0} , Fnd := {f ∈ F | f is nondecreasing} , Finc := {f ∈ F | f is increasing} . A real number x ∈ [0, 1] is a zero of a function f : [0, 1] → R if f (x) = 0. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity The Topological Complexity of Zero Finding for Continuous Functions in Various Settings F := {f ∈ C[0, 1] | f (0) · f (1) < 0} , Fnd := {f ∈ F | f is nondecreasing} , Finc := {f ∈ F | f is increasing} . A real number x ∈ [0, 1] is a zero of a function f : [0, 1] → R if f (x) = 0. For ε > 0, an ε–approximation of a number x ∗ is a number x with |x − x ∗ | ≤ ε. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity The Topological Complexity of Zero Finding for Continuous Functions in Various Settings F := {f ∈ C[0, 1] | f (0) · f (1) < 0} , Fnd := {f ∈ F | f is nondecreasing} , Finc := {f ∈ F | f is increasing} . A real number x ∈ [0, 1] is a zero of a function f : [0, 1] → R if f (x) = 0. For ε > 0, an ε–approximation of a number x ∗ is a number x with |x − x ∗ | ≤ ε. Problem Fix some class G ∈ {F , Fnd , Finc } and some ε > 0. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity The Topological Complexity of Zero Finding for Continuous Functions in Various Settings F := {f ∈ C[0, 1] | f (0) · f (1) < 0} , Fnd := {f ∈ F | f is nondecreasing} , Finc := {f ∈ F | f is increasing} . A real number x ∈ [0, 1] is a zero of a function f : [0, 1] → R if f (x) = 0. For ε > 0, an ε–approximation of a number x ∗ is a number x with |x − x ∗ | ≤ ε. Problem Fix some class G ∈ {F , Fnd , Finc } and some ε > 0. Input: A function f ∈ G, given: an oracle for function values. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity The Topological Complexity of Zero Finding for Continuous Functions in Various Settings F := {f ∈ C[0, 1] | f (0) · f (1) < 0} , Fnd := {f ∈ F | f is nondecreasing} , Finc := {f ∈ F | f is increasing} . A real number x ∈ [0, 1] is a zero of a function f : [0, 1] → R if f (x) = 0. For ε > 0, an ε–approximation of a number x ∗ is a number x with |x − x ∗ | ≤ ε. Problem Fix some class G ∈ {F , Fnd , Finc } and some ε > 0. Input: A function f ∈ G, given: an oracle for function values. Output: An ε-approximation of a zero of f . Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity The Topological Complexity of Zero Finding for Continuous Functions in Various Settings Results for the three function classes F , Fnd , and Finc and for different classes ARI of allowed arithmetic operations: • ARI = {+, −, ∗, /, exp, log} and ARI = {all operations satisfying a Hölder condition on each bounded subset of their domain}: z [Novak, Wo´ niakowski 1996]. • {+, −, ∗, /, | · |} ⊆ ARI ⊆ {arbitrary continuous operations}: [H 1996]. • ARI = {+, −, ∗, /}: [H 2002] Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Bisection Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Bisection • Maximum number of tests on a path: (log2 (1/(2ε)) ∼ log2 (1/(2ε)). Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Bisection • Maximum number of tests on a path: (log2 (1/(2ε)) ∼ log2 (1/(2ε)). • Total number of tests: 1/(2ε) − 1 Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Trisection An algorithm for computing an ε-approximation of the zero of f ∈ Finc , using {+, −, ∗, /, | · |} and no tests: Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Trisection An algorithm for computing an ε-approximation of the zero of f ∈ Finc , using {+, −, ∗, /, | · |} and no tests: Start with [a, b] := [0, 1] and repeat the following loop max{0, − log3/2 (2ε) } times. Output: midpoint of the last interval [a, b]. begin {loop} c := (b − a)/3; for j = 0, . . . , 3 do begin xj := a + j · c; zj := f (xj ) end; for j = 1, 2 do rj := max{0, −zj+1 · zj−1 }; x := (x1 r1 + x2 r2 )/(r1 + r2 ); a := x − c; b := x + c end {loop} Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Zero Finding for Increasing Functions Theorem For G = Finc and 0 < ε < 1/2. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Zero Finding for Increasing Functions Theorem For G = Finc and 0 < ε < 1/2. • For {+, −, ∗, /, | · |} ⊆ ARI ⊆ {arbitrary continuous operations} comptotal (Finc , ε) = 0 . ARI Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Zero Finding for Increasing Functions Theorem For G = Finc and 0 < ε < 1/2. • For {+, −, ∗, /, | · |} ⊆ ARI ⊆ {arbitrary continuous operations} comptotal (Finc , ε) = 0 . ARI • [Novak, Wo´ niakowski 1996] For z ARI = {+, −, ∗, /, exp, log} comptotal (Finc , ε) = 0 . ARI Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Zero Finding for Increasing Functions Theorem For G = Finc and 0 < ε < 1/2. • For {+, −, ∗, /, | · |} ⊆ ARI ⊆ {arbitrary continuous operations} comptotal (Finc , ε) = 0 . ARI • [Novak, Wo´ niakowski 1996] For z ARI = {+, −, ∗, /, exp, log} comptotal (Finc , ε) = 0 . ARI • For ARI = {+, −, ∗, /} comptotal (Finc , ε) = 1 ARI Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Results for comptotal (G, ε) ARI Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Results for comptotal (G, ε) ARI {+, −, ∗, /, | · |} ⊆ ARI ⊆ {arb. cont. op.} G = Finc G = Fnd G=F Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Results for comptotal (G, ε) ARI {+, −, ∗, /, | · |} ⊆ ARI ⊆ {arb. cont. op.} G = Finc 0 G = Fnd G=F Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Results for comptotal (G, ε) ARI {+, −, ∗, /, | · |} ⊆ ARI ⊆ {arb. cont. op.} G = Finc 0 G = Fnd log2 (ε−1 + 2) − 2 G=F Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Results for comptotal (G, ε) ARI {+, −, ∗, /, | · |} ⊆ ARI ⊆ {arb. cont. op.} G = Finc 0 G = Fnd log2 (ε−1 + 2) − 2 G=F log2 (ε−1 + 2) − 2 Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Results for comptotal (G, ε) ARI {+, −, ∗, /, | · |} ⊆ ARI ⊆ {arb. cont. op.} ARI = {+, −, ∗, /} G = Finc 0 G = Fnd log2 (ε−1 + 2) − 2 G=F log2 (ε−1 + 2) − 2 Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Results for comptotal (G, ε) ARI {+, −, ∗, /, | · |} ⊆ ARI ⊆ {arb. cont. op.} ARI = {+, −, ∗, /} G = Finc 0 1 G = Fnd log2 (ε−1 + 2) − 2 G=F log2 (ε−1 + 2) − 2 Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Results for comptotal (G, ε) ARI {+, −, ∗, /, | · |} ⊆ ARI ⊆ {arb. cont. op.} ARI = {+, −, ∗, /} G = Finc 0 1 G = Fnd log2 (ε−1 + 2) − 2 ∼ log2 (1/ε) G=F log2 (ε−1 + 2) − 2 Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Results for comptotal (G, ε) ARI {+, −, ∗, /, | · |} ⊆ ARI ⊆ {arb. cont. op.} ARI = {+, −, ∗, /} G = Finc 0 1 G = Fnd log2 (ε−1 + 2) − 2 ∼ log2 (1/ε) G=F log2 (ε−1 + 2) − 2 1/(2ε) − 1 Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Results for comptotal (G, ε) ARI {+, −, ∗, /, | · |} ⊆ ARI ⊆ {arb. cont. op.} ARI = {+, −, ∗, /} G = Finc 0 1 G = Fnd log2 (ε−1 + 2) − 2 ∼ log2 (1/ε) G=F log2 (ε−1 + 2) − 2 1/(2ε) − 1 Results for comppath (G, ε): ARI Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Results for comptotal (G, ε) ARI {+, −, ∗, /, | · |} ⊆ ARI ⊆ {arb. cont. op.} ARI = {+, −, ∗, /} G = Finc 0 1 G = Fnd log2 (ε−1 + 2) − 2 ∼ log2 (1/ε) G=F log2 (ε−1 + 2) − 2 1/(2ε) − 1 Results for comppath (G, ε): ∼ log2 (comptotal (G, ε)). ARI ARI Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Results for comptotal (G, ε) ARI {+, −, ∗, /, | · |} ⊆ ARI ⊆ {arb. cont. op.} ARI = {+, −, ∗, /} G = Finc 0 1 G = Fnd log2 (ε−1 + 2) − 2 ∼ log2 (1/ε) G=F log2 (ε−1 + 2) − 2 1/(2ε) − 1 Results for comppath (G, ε): ∼ log2 (comptotal (G, ε)). ARI ARI Bisection algorithm: Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Results for comptotal (G, ε) ARI {+, −, ∗, /, | · |} ⊆ ARI ⊆ {arb. cont. op.} ARI = {+, −, ∗, /} G = Finc 0 1 G = Fnd log2 (ε−1 + 2) − 2 ∼ log2 (1/ε) G=F log2 (ε−1 + 2) − 2 1/(2ε) − 1 Results for comppath (G, ε): ∼ log2 (comptotal (G, ε)). ARI ARI Bisection algorithm: number of tests: 1/(2ε) − 1 ≈ 1/(2ε). Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Results for comptotal (G, ε) ARI {+, −, ∗, /, | · |} ⊆ ARI ⊆ {arb. cont. op.} ARI = {+, −, ∗, /} G = Finc 0 1 G = Fnd log2 (ε−1 + 2) − 2 ∼ log2 (1/ε) G=F log2 (ε−1 + 2) − 2 1/(2ε) − 1 Results for comppath (G, ε): ∼ log2 (comptotal (G, ε)). ARI ARI Bisection algorithm: number of tests: 1/(2ε) − 1 ≈ 1/(2ε). Surprise: There is an exponentially better algorithm with number of tests only log2 (ε−1 + 2) − 2 ≈ log2 (1/(2ε)). Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Test-optimal algorithm for continuous f : [0, 1] → R with f (0) < 0 < f (1), and {+, −, ∗, /, | · |} ⊆ ARI ⊆ {arbitrary continuous operations}: 1 x 0 if x < 0 sig : R \ {0} → {0, 1}, sig(x) := · (1 + )= 2 |x| 1 if x > 0 Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Test-optimal algorithm for continuous f : [0, 1] → R with f (0) < 0 < f (1), and {+, −, ∗, /, | · |} ⊆ ARI ⊆ {arbitrary continuous operations}: Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Test-optimal algorithm for continuous f : [0, 1] → R with f (0) < 0 < f (1), and {+, −, ∗, /, | · |} ⊆ ARI ⊆ {arbitrary continuous operations}: Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Degrees of Discontinuity Let V , W , X , Y be topological spaces, f :⊆ V → W and g :⊆ X → Y be functions. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Degrees of Discontinuity Let V , W , X , Y be topological spaces, f :⊆ V → W and g :⊆ X → Y be functions. Deﬁnition f ≤0 g : ⇐⇒ (∃ cont. B) (∀x ∈ dom f ) f (x) = gB(x) (Wadge reducibility) Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Degrees of Discontinuity Let V , W , X , Y be topological spaces, f :⊆ V → W and g :⊆ X → Y be functions. Deﬁnition f ≤0 g : ⇐⇒ (∃ cont. B) (∀x ∈ dom f ) f (x) = gB(x) (Wadge reducibility) f ≤1 g : ⇐⇒ (∃ cont. A, B) (∀x ∈ dom f ) f (x) = AgB(x) (Weihrauch 1992) Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Degrees of Discontinuity Let V , W , X , Y be topological spaces, f :⊆ V → W and g :⊆ X → Y be functions. Deﬁnition f ≤0 g : ⇐⇒ (∃ cont. B) (∀x ∈ dom f ) f (x) = gB(x) (Wadge reducibility) f ≤1 g : ⇐⇒ (∃ cont. A, B) (∀x ∈ dom f ) f (x) = AgB(x) (Weihrauch 1992) f ≤2 g : ⇐⇒ (∃ cont. A, B) (∀x ∈ dom f ) f (x) = A(x, gB(x)) (Hirsch 1993, Weihrauch 1992) Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Lemma • The relations ≤i are reﬂexive and transitive. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Lemma • The relations ≤i are reﬂexive and transitive. • f ≤0 g ⇒ f ≤1 g and f ≤1 g ⇒ f ≤2 g. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Lemma • The relations ≤i are reﬂexive and transitive. • f ≤0 g ⇒ f ≤1 g and f ≤1 g ⇒ f ≤2 g. • If f ≤i g then Lev(f ) ≤ Lev (g). Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Continuous Reductions Directly over R Theorem For i = 0, 1 the ≤i -relation is not well-founded on {F : R → {0, 1} | Lev(f ) = 2}. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Continuous Reductions over Σω Theorem (H 1993, Selivanov 2007) • With any function f :⊆ Σω → {0, . . . , k − 1} one can associate a forest (= set of trees) F(f ) describing the discontinuities of f and deﬁne a relation ≤0 on trees and forests so that f ≤0 g ⇐⇒ F(f ) ≤0 G(g) for any f , g :⊆ Σω → {0, . . . , k − 1} of level < ω1 . Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Continuous Reductions over Σω Theorem (H 1993, Selivanov 2007) • With any function f :⊆ Σω → {0, . . . , k − 1} one can associate a forest (= set of trees) F(f ) describing the discontinuities of f and deﬁne a relation ≤0 on trees and forests so that f ≤0 g ⇐⇒ F(f ) ≤0 G(g) for any f , g :⊆ Σω → {0, . . . , k − 1} of level < ω1 . • Similarly for ≤1 and ≤2 for functions of ﬁnite level (works probably also for functions of level < ω1 : work in progress). Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Trees Measuring the Discontinuities of Functions Example For f : {0, 1}ω → {2, 3, 7} deﬁned by 7 if p = 0ω f (p) := 3 if (∃i ∈ N) p = 0i 1ω 2 otherwise. F(f ) = { 2, 3, 7, 3, 7, 7 }. t d t d 2 2 3 2 3 3 2 Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity The ≤0 Relation on Trees and Forests For trees T1 and T2 : T1 ≤0 T2 : ⇐⇒ (∃f : T1 → T2 ) f preserves ancestors and node values. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity The ≤0 Relation on Trees and Forests For trees T1 and T2 : T1 ≤0 T2 : ⇐⇒ (∃f : T1 → T2 ) f preserves ancestors and node values. For forests F1 and F2 : F1 ≤0 F2 : ⇐⇒ (∀T1 ∈ F1 ) (∃T2 ∈ F2 ) T1 ≤0 T2 . Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity The ≤2 Relation on Trees and Forests For trees T1 and T2 : T1 ≤2 T2 : ⇐⇒ (∃f : T1 → T2 ) f preserves ancestors and if two nodes on a path in T1 have different values then there images have different values as well. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity The ≤2 Relation on Trees and Forests For trees T1 and T2 : T1 ≤2 T2 : ⇐⇒ (∃f : T1 → T2 ) f preserves ancestors and if two nodes on a path in T1 have different values then there images have different values as well. For forests F1 and F2 : F1 ≤2 F2 : ⇐⇒ (∀T1 ∈ F1 ) (∃T2 ∈ F2 ) T1 ≤2 T2 . Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Continuous Degrees: Finite Reﬁnement of the Level Corollary For any n ∈ N≥2 and k ∈ N, the number of ≡i -classes of functions f :⊆ Σω → {0, . . . , k − 1} of level ≤ n is ﬁnite. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Continuous Degrees: Finite Reﬁnement of the Level Corollary For any n ∈ N≥2 and k ∈ N, the number of ≡i -classes of functions f :⊆ Σω → {0, . . . , k − 1} of level ≤ n is ﬁnite. But for ≤0 and ≤1 it grows quickly for growing k . Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Continuous Degrees: Finite Reﬁnement of the Level Corollary For any n ∈ N≥2 and k ∈ N, the number of ≡i -classes of functions f :⊆ Σω → {0, . . . , k − 1} of level ≤ n is ﬁnite. But for ≤0 and ≤1 it grows quickly for growing k . Not so for ≤2 once k ≥ n! Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Continuous Degrees: Finite Reﬁnement of the Level Corollary For any n ∈ N≥2 and k ∈ N, the number of ≡i -classes of functions f :⊆ Σω → {0, . . . , k − 1} of level ≤ n is ﬁnite. But for ≤0 and ≤1 it grows quickly for growing k . Not so for ≤2 once k ≥ n! Theorem For any n ∈ N, the number of ≡2 -classes of functions f deﬁned on a subset of Σω and with discrete range of level ≤ n is ﬁnite. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Continuous Degrees: Finite Reﬁnement of the Level Corollary For any n ∈ N≥2 and k ∈ N, the number of ≡i -classes of functions f :⊆ Σω → {0, . . . , k − 1} of level ≤ n is ﬁnite. But for ≤0 and ≤1 it grows quickly for growing k . Not so for ≤2 once k ≥ n! Theorem For any n ∈ N, the number of ≡2 -classes of functions f deﬁned on a subset of Σω and with discrete range of level ≤ n is ﬁnite. Work in progress: also for functions f :⊆ Σω → Σω ? Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Continuous Degrees: Finite Reﬁnement of the Level Theorem With any function f :⊆ Σω → Y , Y an arbitrary discrete space, one can associate a forest (= set of trees) F (f ) describing the discontinuities of f and deﬁne a relation ≤2 on trees and forests so that f ≤2 g ⇐⇒ F (f ) ≤2 G (g) for any f :⊆ Σω → Y , f :⊆ Σω → Z (Y , Z discrete spaces) of level < ω. Work in progress: also for functions f :⊆ Σω → Σω ? Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity The Degrees are invariant under admissible representations Theorem Let δ :⊆ Σω → X be an admissible representation, Y a discrete space, f :⊆ X → Y a function. • F (f ) ≡2 F (f δ). • Let Y be countable, ν :⊆ {0, 1}∗ → Y be a notation of Y . • For every (δ, ν)-realization F of f one has F (f ) ≤2 F (F ). • There is a (δ, ν)-realization F of f with F (f ) ≡2 F (F ). Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity A Stronger Version of Smale’s Problem Smale’s Problem How many tests does an algorithm need which, given a complex polynomial of degree n with pairwise different zeros, computes a vector of zeros of the polynomial? Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity A Stronger Version of Smale’s Problem Smale’s Problem How many tests does an algorithm need which, given a complex polynomial of degree n with pairwise different zeros, computes a vector of zeros of the polynomial? Equivalent to: What is the minimum level of discontinuity of any function f : {z ∈ Cn | (∀i, j)(i = j ⇒ zi = zj } → Sn with (∀z ∈ dom(f )) (∀γ ∈ Sn ) f (γz)γz = f (z)z? Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity A Stronger Version of Smale’s Problem Smale’s Problem How many tests does an algorithm need which, given a complex polynomial of degree n with pairwise different zeros, computes a vector of zeros of the polynomial? Equivalent to: What is the minimum level of discontinuity of any function f : {z ∈ Cn | (∀i, j)(i = j ⇒ zi = zj } → Sn with (∀z ∈ dom(f )) (∀γ ∈ Sn ) f (γz)γz = f (z)z? More difﬁcult problem Determine the possible ≤2 -minimal forests of such functions! Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Summary and open problems Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Summary and open problems • Closely related: • Level of discontinuity • Schwarz genus • number of tests in computation trees Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Summary and open problems • Closely related: • Level of discontinuity • Schwarz genus • number of tests in computation trees • These notions give rise to questions in set theory and algebraic topology, Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Summary and open problems • Closely related: • Level of discontinuity • Schwarz genus • number of tests in computation trees • These notions give rise to questions in set theory and algebraic topology, • Number of tests in computation trees with restricted set of arithmetic operations: algebraic complexity theory. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Summary and open problems • Closely related: • Level of discontinuity • Schwarz genus • number of tests in computation trees • These notions give rise to questions in set theory and algebraic topology, • Number of tests in computation trees with restricted set of arithmetic operations: algebraic complexity theory. • Can also be analyzed for algorithms in numerical mathematics (information-based complexity). Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Summary and open problems • Closely related: • Level of discontinuity • Schwarz genus • number of tests in computation trees • These notions give rise to questions in set theory and algebraic topology, • Number of tests in computation trees with restricted set of arithmetic operations: algebraic complexity theory. • Can also be analyzed for algorithms in numerical mathematics (information-based complexity). • Continuous reducibilities lead to natural reﬁnements of the level. Level of Discontinuity Tests in Computation Trees Degrees of Discontinuity Summary and open problems • Closely related: • Level of discontinuity • Schwarz genus • number of tests in computation trees • These notions give rise to questions in set theory and algebraic topology, • Number of tests in computation trees with restricted set of arithmetic operations: algebraic complexity theory. • Can also be analyzed for algorithms in numerical mathematics (information-based complexity). • Continuous reducibilities lead to natural reﬁnements of the level. • Develop practical theory for handling discontinuities! E.g., in computational geometry.