Algebraic Computation Models. Algebraic Computation Models



Similar documents
Computational Complexity: A Modern Approach. Draft of a book: Dated January 2007 Comments welcome!

2.1 Complexity Classes

Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs

Notes 11: List Decoding Folded Reed-Solomon Codes

Notes on Complexity Theory Last updated: August, Lecture 1

3515ICT Theory of Computation Turing Machines

Diagonalization. Ahto Buldas. Lecture 3 of Complexity Theory October 8, Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach.

Why? A central concept in Computer Science. Algorithms are ubiquitous.

Lecture 2: Universality

Lecture 7: NP-Complete Problems

24 Uses of Turing Machines

OHJ-2306 Introduction to Theoretical Computer Science, Fall

NP-Completeness I. Lecture Overview Introduction: Reduction and Expressiveness

Quantum Computing Lecture 7. Quantum Factoring. Anuj Dawar

Arithmetic Coding: Introduction

Factoring & Primality

Theoretical Computer Science (Bridging Course) Complexity

Quantum and Non-deterministic computers facing NP-completeness

Introduction to computer science

CPSC 211 Data Structures & Implementations (c) Texas A&M University [ 313]

Cost Model: Work, Span and Parallelism. 1 The RAM model for sequential computation:

Computational Models Lecture 8, Spring 2009

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

6.080 / Great Ideas in Theoretical Computer Science Spring 2008

Notes on Complexity Theory Last updated: August, Lecture 1

Turing Machines: An Introduction

NP-complete? NP-hard? Some Foundations of Complexity. Prof. Sven Hartmann Clausthal University of Technology Department of Informatics

Universality in the theory of algorithms and computer science

CS 3719 (Theory of Computation and Algorithms) Lecture 4

C H A P T E R. Logic Circuits

1 Formulating The Low Degree Testing Problem

Mathematics 31 Pre-calculus and Limits

Outline Introduction Circuits PRGs Uniform Derandomization Refs. Derandomization. A Basic Introduction. Antonis Antonopoulos.

Chapter. NP-Completeness. Contents

Page 1. CSCE 310J Data Structures & Algorithms. CSCE 310J Data Structures & Algorithms. P, NP, and NP-Complete. Polynomial-Time Algorithms

Integer factorization is in P

Chapter 1. Computation theory

Complexity Classes P and NP

CMPSCI611: Approximating MAX-CUT Lecture 20

Lecture 1: Course overview, circuits, and formulas

Load Balancing. Load Balancing 1 / 24

Simulation-Based Security with Inexhaustible Interactive Turing Machines

MATHEMATICS: CONCEPTS, AND FOUNDATIONS Vol. III - Logic and Computer Science - Phokion G. Kolaitis

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

Chapter Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

Theory of Computation Chapter 2: Turing Machines

The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge,

Continued Fractions and the Euclidean Algorithm

Chapter 7 Uncomputability

1 Definition of a Turing machine

How To Compare A Markov Algorithm To A Turing Machine

A simple and fast algorithm for computing exponentials of power series

Cryptography and Network Security Department of Computer Science and Engineering Indian Institute of Technology Kharagpur

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

Hilberts Entscheidungsproblem, the 10th Problem and Turing Machines

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

OSTROWSKI FOR NUMBER FIELDS

A Working Knowledge of Computational Complexity for an Optimizer

Discrete Mathematics: Homework 7 solution. Due:

Computability Theory

11 Multivariate Polynomials

U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, Notes on Algebra

CS154. Turing Machines. Turing Machine. Turing Machines versus DFAs FINITE STATE CONTROL AI N P U T INFINITE TAPE. read write move.

1. Nondeterministically guess a solution (called a certificate) 2. Check whether the solution solves the problem (called verification)

CSE 135: Introduction to Theory of Computation Decidability and Recognizability

Lecture 4: AC 0 lower bounds and pseudorandomness

Measuring the Performance of an Agent

The P versus NP Solution

3 Monomial orders and the division algorithm

Prime Numbers and Irreducible Polynomials

Boulder Dash is NP hard

One last point: we started off this book by introducing another famously hard search problem:

Faster polynomial multiplication via multipoint Kronecker substitution

CAs and Turing Machines. The Basis for Universal Computation

Honors Class (Foundations of) Informatics. Tom Verhoeff. Department of Mathematics & Computer Science Software Engineering & Technology

a 11 x 1 + a 12 x a 1n x n = b 1 a 21 x 1 + a 22 x a 2n x n = b 2.

IE 680 Special Topics in Production Systems: Networks, Routing and Logistics*

Lecture 13: Factoring Integers

ON THE COMPLEXITY OF THE GAME OF SET.

o-minimality and Uniformity in n 1 Graphs

Welcome to... Problem Analysis and Complexity Theory , 3 VU

6.852: Distributed Algorithms Fall, Class 2

The van Hoeij Algorithm for Factoring Polynomials

Automata and Computability. Solutions to Exercises

6.080/6.089 GITCS Feb 12, Lecture 3

How To Solve A Minimum Set Covering Problem (Mcp)

SYSM 6304: Risk and Decision Analysis Lecture 5: Methods of Risk Analysis

Lecture 5 - CPA security, Pseudorandom functions

(67902) Topics in Theory and Complexity Nov 2, Lecture 7

Complexity Theory. Jörg Kreiker. Summer term Chair for Theoretical Computer Science Prof. Esparza TU München

Transcription:

Algebraic Computation Models Ζυγομήτρος Ευάγγελος ΜΠΛΑ 201118 Φεβρουάριος, 2013

Reasons for using algebraic models of computation The Turing machine model captures computations on bits. Many algorithms are most naturally described as operating on uncountable sets, like R or C (e.g. Newton s method for finding roots of a given real-valued function f). A wide variety of such algorithms occurs in numerical analysis, computer algebra, computational geometry and robotics, typically assuming that a basic computational step involves an operation (+,, /) in some arbitrary field F. Allowing arbitrary field operations in an algorithm may not be directly implentable (since computers do arithmetic using finite precision) but it provides a useful approximation to the asymptotic behavior of the algorithm, as computers are allowed to use more and more precision in their computations.

Pitfalls Allowing (arbitrary precision) arithmetic on real numbers as a basic step can quickly lead to unrealistically strong models. Example Shamir has shown how to factor any integer N in poly(logn) time on any model that allows arithmetic (including the mod operation) with arbitrary precision (whereas factoring is a notoriously hard problem for classical TMs). Example A real number can encode infinite amount of information, e.g. a single real number is enough to encode the answer to every instance of SAT. Thus, we have to be careful in defining a model that allows even a single hardwired real number in its programs. The usual way to avoid such pitfalls is to restrict the algorithm s ability to access individual bits.

Models Algebraic Straight-Line Programs Algebraic Circuits Algebraic Turing Machines We will consider algorithms that get as input a tuple of numbers over a field or a ring F (typically R or C). The input (x 1, x 2,..., x n ) F n is said to have size n. A language over a field/ring F is a subset of n 1 F n.

Algebraic Straight-Line Programs Definition (Algebraic straight-line program over F) An algebraic straight-line program of length T with input variables x 1, x 2,..., x n F and built-in constants c 1, c 2,..., c n F is a sequence of T statements of the form y i = z i1 z i2, i = 1, 2,..., T where is one of the field operations + or and each of z i1, z i2 is either an input variable, or a built-in constant, or y j for j < i. The straight-line computation consists of executing these simple statements in order, finding values for y 1, y 2,..., y T. The output of the computation is the value of y T. straight-line: no conditionals or loops

Algebraic Straight-Line Programs (cnt d) Example (Computation of e (x 1 + e) + π x 2 in R) Input: x 1, x 2 Output: y 4 Built-in constants: π, e y 1 = x 1 + e y 2 = e y 1 y 3 = π x 2 y 4 = y 2 + y 3 Reminder: The degree of a multivariate polynomial p(x 1, x 2,..., x n ) is defined to be the maximum degree among all its monomials. The degree of the monomial c i x d i i is i d i. Lemma The output of a staight-line program of length T with variables x 1, x 2,..., x n is a polynomial p(x 1, x 2,..., x n ) of degree at most 2 T.

Algebraic Straight-Line Programs (cnt d) We are interested in asymptotic complexity i.e. the length (as a function of n) of such a program that computes a function f n of n variables. Here are some examples of interesting functions that are computable by polynomial length algebraic straight-line programs: Polynomial Multiplication: O ( n 2) using a naive algorithm O ( n log n ) using the fast Fourier transform for fields that have a primitive mth root of unity, where m is the smallest power of 2 greater than 2n O ( n log n log log n ) for all fields Fast Fourier Transform: O ( n log n ) [Cooley and Turkey] Matrix Multiplication: O ( n 3) (naive algorithm). Improvements using techniques like Strassen s (O ( n 2.807) (1969)) with complexity O ( n ω) for ω < 3 (current record: ω 2.3727 [Vassilevska Williams] (2011), previous record: ω 2.3736 [Andrew Stothers] (2010) (broke the famous bound, ω 2.376 [Coppersmith and Winograd] (1989))

Algebraic Circuits Definition An algebraic circuit consists of an acyclic graph. The leaves are called input nodes, are labeled x 1, x 2... x n and take values in a field F. We also allow special input nodes labeled with arbitrary constants c 1, c 2,... c k F. Each internal node, called a gate, is labeled with one of the operations +,. We consider only circuits with a single output node and with the in-degree of each gate being 2. An algebraic formula is a circuit where each gate has out-degree equal to 1. The size of a circuit is the number of gates in it. The depth of the circuit is the length of the longest path from input to output in it. Lemma Let f : F n F be some function. If f has an algebraic straight-line program of size S, then it has an algebraic circuit of size 3S. If f is computable by an algebraic circuit of size S then it is computable by an algebraic straight line program of length S.

Algebraic Circuits (cnt d) Example (Computation of e (x 1 + e) + π x 2 in R) Input: x 1, x 2 Constants: π, e

Algebraic Circuits (cnt d) Definition (Analogs of P and NP for algebraic circuits) Let F be a field. We say that a family of polynomials {p n } n N, where p n takes n variables over F, has polynomially-bounded degree if there is a constant c s.t. for every n the degree of p n is at most cn c. The class AlgP /poly contains all polynomially bounded degree families of polynomials that are computable by algebraic circuits of polynomial size and polynomial degree. The class AlgNP /poly is the class of polynomially bounded degree families {p n } that are definable as p n (x 1, x 2,..., x n ) = g m (x 1, x 2,..., x n, e n+1,..., e m ) e {0,1} m n where g m AlgP /poly and m is polynomial in n.

Algebraic Circuits (cnt d) Definition A function f (x 1, x 2,..., x n ) is a projection of a function g(y 1, y 2,..., y n ) if there is a mapping σ from {y 1, y 2,..., y m } to {0, 1, x 1, x 2,..., x n } s.t. f (x 1, x 2,..., x n ) = g(σ(y 1 ), σ(y 2 ),... σ(y m )). We say that f is projection-reducible to g if f is a projection of g. Example The function f (x 1, x 2 ) = x 1 + x 2 is projection reducible to g(y 1, y 2, y 3 ) = y 2 1 y 3 + y 2 since f (x 1, x 2 ) = g(1, x 1, x 2 ).

Algebraic Circuits (cnt d) Theorem (Completeness of determinant and permanent) For every field F and every polynomial family on n variables that is computable by an algebraic formula of size u is projection reducible to the determinant function (over the same field) on u + 2 variables. For every field except those that have characteristic 2, every polynomial family in AlgNP /poly is projection reducible to the permanent function (over the same field) with polynomially more variables. determinant is AlgP /poly -complete permanent is AlgNP /poly -complete It is necessary to show AlgP /poly AlgNP /poly before one can show P NP.

The Blum-Shub-Smale Model The first uniform model we encounter A generalization of Turing Machines input: a string in F n output: accept or reject each cell can hold an element of F The machine has a finite set of internal states. Three categories of states: shift state: move the head to the left or to the right of the current position branch state: if the content of the current cell is a, then goto state q 1 else goto state q 2 computation state: replace the content a of the current cell with f (a), where f is a hard-wired function (polynomial or rational depending on whether F is a ring or a field)

The Blum-Shub-Smale Model (cnt d) In the standard model of the TM, the computation and branch operations can be executed in the same step, whereas here they have to be performed seperately. In order to branch, the machine has to be able to remember the value it just read one step ago. For this reason the machine has a single register onto which it can copy the contents of the cell currently under the head, and whose value can be used in the next step. Very powerful model (e.g. can compute x 2n in n steps (by repeating the operation x x 2 ) The machine can only branch using tests like Is the content of this cell equal to a? If we allow tests like Is the content of this cell greater than a? it would give the machine much more power, including the ability to decide every language in P /poly in polynomial time (even if the language is undecidable) If we allow rounding as a basic operation then it is possible to factor integers in polynomial time

The Blum-Shub-Smale Model (cnt d) Since the BSS model is more powerful than the ordinary Turing Machine, it makes sense to also revisit decidability questions. Definition (Mandelbrot set decision problem) For complex c, z, let p c(z) = z 2 + c. Then the Mandelbrot set is defined as M ={c C the sequence p c(0), p c(p c(0)), p c(p c(p c(0)))... is bounded} For example, letting c = 1 gives the sequence 0, 1, 2, 5, 26..., which tends to infinity. As this sequence is unbounded, 1 is not an element of the Mandelbrot set. On the other hand, c = i gives the sequence 0, i, ( 1 + i), i, ( 1 + i), i,..., which is bounded, and so i belongs to the Mandelbrot set. Theorem M is undecidable by a machine over C.

Roger Penrose s criticism of artificial intelligence Penrose uses a variant of Turing s halting problem to demonstrate that a system can be deterministic without being algorithmic: imagine a system with only 2 states, ON and OFF. If the system s state is ON if a given Turing machine halts, and OFF if the Turing machine does not halt, then the system s state is completely determined by the Turing machine, however there is no algorithmic way to determine whether the Turing machine stops. He argues that humans have an intuitive grasp of many things that seem beyond the capacities of the Turing machine model: the present computer is unable to have intelligence because it is an algorithmically deterministic system. the rational processes of the mind are not completely algorithmic and thus cannot be duplicated by a sufficiently complex computer. This contrasts with supporters of strong artificial intelligence, who contend that thought can be simulated algorithmically. He mentioned the Mandelbrot set as an example. He suggested that such mathematical objects are beyond the purview of computer science, one cannot talk about the decidability of such sets.

Bibliography S. Arora and B. Barak, Computational complexity: a modern approach, Cambridge University Press, 2009. Salil Vadhan, CS 221: Computational Complexity (Harvard), Lecture Notes (spring 2010). R. Penrose, The Emperor s New Mind, Oxford University Press, 1989.