Oracles and Advice as Measurements

Size: px
Start display at page:

Download "Oracles and Advice as Measurements"

Transcription

1 Oracles and Advice as Measurements Edwin Beggs 1, José Félix Costa 2,3, Bruno Loff 2,3, and John V Tucker 1 1 School of Physical Sciences Swansea University, Singleton Park, Swansea, SA2 8PP Wales, United Kingdom E.J.Beggs@Swansea.ac.uk, J.V.Tucker@swansea.ac.uk 2 Department of Mathematics, Instituto Superior Técnico Universidade Técnica de Lisboa, Lisboa, Portugal fgc@math.ist.utl.pt, bruno.loff@gmail.com 3 Centro de Matemática e Aplicações Fundamentais do Complexo Interdisciplinar Universidade de Lisboa Lisboa, Portugal Abstract. In this paper we will try to understand how oracles and advice functions, which are mathematical abstractions in the theory of computability and complexity, can be seen as physical measurements in Classical Physics. First, we consider how physical measurements are a natural external source of information to an algorithmic computation. We argue that oracles and advice functions can help us to understand how the structure of space and time has information content that can be processed by Turing machines (after Cooper and Odifreddi [10] and Copeland and Proudfoot [11, 12]). We show that non-uniform complexity is an adequate framework for classifying feasible computations by Turing machines interacting with an oracle in Nature. By classifying the information content of such an oracle using Kolmogorov complexity, we obtain a hierarchical structure for advice classes. 1 Introduction In computability theory, the basic operations of algorithmic models, such as register machines, may be extended with sets, or (partial) functions, called oracles. For example, in Turing s original conception, any set S can be used as an oracle in an algorithm as follows: from time to time in the course of a computation, an algorithm produces a datum x and asks is x S? The basic properties of universality, undecidability, etc., can be proved for these S-computable functions. Technically, there is nothing special about the operations chosen as basic in an algorithmic model a fact characteristic of computability theories over abstract algebras ([22]). Oracles are seen as abstract theoretical entities, technical devices whose use is to compare and classify sets by means of degree theories and hierarchies: see [23]. Corresponding author.

2 However, here we will argue that it is a useful, interesting, even beautiful, endeavour to develop a computability theory wherein oracles are natural phenomena, and to study the oracles that arise in Nature. More specifically, we will consider how physical measurements can be a natural external source of information for an algorithm, especially automata and Turing machines. First, in Section 2, we reflect on an example of an algorithm that has need of a physical oracle. Hoyle s algorithm calculates eclipses using the ancient monument Stonehenge. Abstractly, it has the structure of an automaton with an oracle accessed by experimental observation. The discussion focusses on calculating solar eclipses and how the oracle is needed to make corrections. In examining Hoyle s algorithm, our aim is to explore some of the essential features of digital computations dependent on analogue oracles in Nature, and to set the scene for the theory that follows. To study this conceptually complex type of computation properly, we choose a physical experiment that we have studied in some detail from the computational point of view. The Scatter Machine Experiment (SME) is an experimental procedure that measures the position of a vertex of a wedge to arbitrary accuracy [8]. Since the position may itself be arbitrary, it is possible to analyse the ways in which a simple experiment in Newtonian kinematics can measure or compute an arbitrary real in the interval [0, 1]. In [7], we examined three ways in which the SME can be used as an oracle for Turing machines and established the complexity classes of sets they defined. With this technical knowledge, we can go on to consider how physical measurements are a natural external source of information to an algorithmic computation. In Section 3, we summarise what we need about oracles and advice functions in order to understand how the structure of space and time may have information content that can be processed by Turing machines (after Cooper and Odifreddi ([10]) and Copeland and Proudfoot ([11, 12]). In Section 4, we introduce reductions between advice functions and, in Section 5, concepts based on the Kolmogorov complexity measure are used to express the information content that can be processed by Turing machines. In Section 7, we apply these notions to the SME and through the interactions between oracle SME in Nature and the Turing machines, develop an inner structure of the advice class P/poly, similar to the one found in [3, 21]. 2 Stonehenge and calculating with an oracle 2.1 Hoyle s algorithm Stonehenge is an arrangement of massive stones in Wiltshire. Its earliest form dates from 3100 BC and is called Stonehenge I. The Astronomer Sir Fred Hoyle showed in [15] that Stonehenge can be used to predict the solar and the lunar eclipse cycles. Specifically, he gave a method, which we may call Hoyle s algorithm, to make such calculations. For our purposes it doesn t really matter whether the Celts used Stonehenge I to predict the eclipse cycles, but it matters

3 that, in our times, we can use Stonehenge I to make good predictions of celestial events, such as the azimuth of the rising Sun and of the rising Moon, or that we can use this Astronomical Observatory as a predictor of eclipses (see [18] for a short introduction). Consider the prediction of eclipses, especially the solar eclipse. This is done by a process of counting time but also requires celestial checks and making corrections. The counting of days is a purely algorithmic process. The celestial correction is an experimental process, an observation, which we interpret as consulting a physical oracle. The important structure is the circle of Aubrey holes, made of 56 stones, buried until the XVII century, and discovered by John Aubrey (see Fig. 1). Fig. 1. A schematic drawing of Stonehenge I. Three stones are used as counters that will be moved around the circle of Aubrey holes. The first counter counts the days of the year along the Aubrey holes; the second counter counts the days of the lunar month; finally, the third counter takes care of the Metonic cycle, in which the same phases of the moon are repeated on the same date of the year to within an hour or so, after a period of nineteen years (discovered by Meton around 430 B.C., but believed to have been known earlier); in other words, the third stone counts along the cycle of the lunar node, one of the intersection points of the ecliptic with the Moon s orbit.

4 The example of Stonehenge illustrates what is meant by an oracle that arises in Nature. From the point of view of the Earth both the Moon and the Sun follow approximately circular orbits, as shown in Fig. 2, which cross at the nodes N and N. Suppose the moon is passing through N. Then a solar eclipse will occur if the sun is no further than 15 of N, and a lunar eclipse happens if the sun is within 10 of N. If the moon is passing through N the situation is reversed. One can then wait for a solar eclipse, set the three tokens in the appropriate Aubrey hole, and use the following: Fig. 2. The approximate orbits of the Moon and the Sun around the Earth. Simplified Hoyle s algorithm 1. The first token, a little stone for instance, is moved along the Aubrey holes to keep track of the 28 day lunar cycle. We move the first token two places every day, since 56/2 = The second token counts the days of the year. Since 56 13/2 = 364, we move the second token two places every thirteen days. 3. The third token will represent one of the nodes, say N. N and N themselves rotate around the Earth, describing a full cycle (the Metonic cycle) every years. So we will move the third token three times every year, because 56/3 = Eclipses occur when the three tokens become aligned with each other up to one Aubrey hole to the right or to the left. Ignoring the error for now, we conclude that simple modulo 56 arithmetic is enough to predict every eclipse with one single necessary input, namely: the day of a solar eclipse when one sets the tokens in the first Aubrey hole. Now we introduce celestial corrections that constitute the call to an oracle. To the Northeast of Stonehenge I there is a 5 meter tall stone, called the Heelstone. In the morning of the Summer solstice the sun (our oracle) raises slightly to the

5 north of the Heelstone. To know the exact day of the Summer solstice we wait for the day when the sun rises behind the Heelstone. The sunrise should then proceed north for a few days, and then back south. We count the number of days between the first sunrise behind the Heelstone and the second sunrise. The day of the summer solstice happened in the middle of these two events. With this information we can calibrate the second token to enough precision every year, so that Stonehenge I can predict eclipses indefinitely Physical oracles We have described an unusual form of computation, aided by an unusual oracle. Is the measurement or observation of the summer solstice in Hoyle s algorithm call to an oracle? In our discussion we could have replaced the structure Stonehenge I with a modern computer and corrections could be made via a link with a satellite telescope, for example. While it seems natural to consider the Sun as an oracle in the Stonehenge I algorithm described above, calling this satellite link an oracle may feel awkward could one call it input? However, let us point these two sources of information have the same nature. It is customary to consider input to be finitely bounded information that is given prior to the start of the computation, but the corrections are updates that over time give in principle an unbounded amount of data. Without such oracles both Stonehenge I and our modern computer would eventually be incapable of predicting eclipses, although the modern computer could keep providing accurate predictions for hundreds of years. In both cases, the observations of the sun act exactly as an oracle. Hoyle s algorithm is an example of an algorithm with a physical oracle. Said differently, the oracle notion extended to include a physical process is just what we need to best express Hoyle s algortihm. Hoyle s algorithm is also a description of a physical process. The components of Stonehenge I referring to celestial objects make a simple model of solar system dynamics: in reality we have the sky and the big circle of Aubrey holes. The algorithm is embodied by the real world. Cooper and Odifreddi, in [10], comment on this type of phenomenon: the Turing model supports (in-)computability in Nature in the sense that the Turing model is embedded in Nature in one way or another. For these authors, incomputability sounds more like an intrinsic limitation of our knowledge about the Universe rather than a manifesto for hypercomputation. Do these incomputabilities come out of (i) unpredictable behaviour of the model (e.g., an uncertainty based upon mathematical limitations), or (ii) a real and essential incomputability in Nature (e.g., the hypercomputational character of some physical phenomenon). Indeed, the following conjecture is extremely debatable. 4 The calibration procedure explained in [15] is slightly more complicated and detailed: we only illustrate it here. The remaining tokens can also be calibrated using other oracles: the phases of the moon give the adjustment of the first token and the precise day in which a solar eclipse occurs allows for calibration of the third token.

6 Conjecture O (for oracle ). The Universe has non-computable information which may be used as an oracle to build a hypercomputer. The conjecture was popularised by Penrose s search for (ii) in [19, 20] and much can be written about it. Cooper and Odifreddi [10] have suggested similarities between the structure of the Universe and the structure of the Turing universe. Calude [9] investigates to what extent quantum randomness can be considered algorithmically random. The search for a physical oracle was proposed by Copeland and Proudfoot [12]. Their article and subsequent work have been severely criticised [13, 14] for historical and technical errors. There is, however, an appealing aesthetical side to what Copeland and Proudfoot proposed. Consider a variation of the Church Turing thesis: the physical world is simulable. This thesis leads us to conclude that one could, in principle, construct a Turing machine that could successfully predict eclipses forever, without the use of any oracle. 5 Being able to predict eclipses indefinitely, however, would not imply that the physical world is simulable, unless the prediction of planet alignments is, in some sense, complete for the simulation problem. Measuring the rise of the sun to the side of the Heelstone is a human activity very close to the abstract machine we are going to describe in the following sections: The Stonehenge apparatus measures a point in space and time whereas the device we are describing next measures a point in space. Both are real numbers in classical physics. 3 Some classical results on non uniform complexity In this paper Σ denotes an alphabet, and Σ denotes the set of words over Σ (where λ stands for the empty word). A language (or just a set) is a subset of Σ. The census function of a set A is the function that, for each n N, gives the number of words in A of size less or equal to n. Almost always we will adopt the binary alphabet {0, 1}. Definition 3.1. Let the set of finite sequences over the alphabet Σ be ordered alphanumerically (i.e. first by size, then alphabeticaly). The characteristic function of a language A Σ is the unique infinite sequence χ A : N {0, 1} such that, for all n, χ A (n) is 1 if and only if the n-th word in that order is in A. The pairing function is the well known homomorphism. : Σ Σ Σ, computable in linear time, that allows to encode two words in a single word over the same alphabet by duplicating bits and inserting a separation symbol 01. By an advice we mean any map (total function) f : N Σ. We recall the definition of non uniform complexity class. Definition 3.2. If F is a class of advices and A is a class of sets, then we define the new class A/F as the class of sets B such that there exists a set 5 In this discussion, we abstract from the cosmological knowledge that eclipses will not happen forever.

7 A A and an advice f F such that, for every word x Σ, x B if and only if x, f( x ) A. If we fix the class P of sets decidable by Turing machines in polynomial time, we still have one degree of freedom which is the class of advices F that makes P/F. We will work in this paper with subpolynomial advices such that F is a class of functions with sizes bounded by polynomials and computable in polynomial time. Note that the advices are not, in general, computable; but the corresponding class of bounds is computable. E.g., if the class is poly, then it means that any advice f : N Σ, even being non computable, is bounded by a computable polynomial p such that, for all n N, f(n) p(n). Although the class F of functions is arbitrary it is useless to use functions with growing rate greater than exponential. Let exp be the set of advice functions bounded in size by functions in the class O(2 O(n) ). Then P/exp contains all sets. Given this fact, we wonder if either P/poly or P/log (subclasses of P/exp) exhibit some interesting internal structure. Three main results should be recalled from [1] (Chapter 5): Proposition 3.1. There exist sets in EXPSPACE not in P/poly. [Here EX- PSPACE utilises a Turing machine whose working tape, rather than being infinite, has length bounded by an exponential on the size of the input. There is no bound on time.] This proposition above is proved by a non trivial diagonalization of P/poly. It is an important result, since it tell us that although exp suffices as a class of advices to decide all sets in polynomial time, there exist sets that are indeed outside of P/poly. Proposition 3.2. The characteristic of the Sparse Halting Set is in P/poly. This result is fundamental in what it says that there are non decidable sets in P/poly. One such set is K = {0 n : the Turing machine coded by n halts on input 0}. Proposition 3.3. If SAT P/log, then P = NP. In the last proposition SAT stands for the set of binary encodings of satisfiable Boolean formulæ. This result is also considered relevant, since it shows the importance of the advice class log. A set is said to be sparse if its census is bounded by a polynomial. We also need to recall the concept of tally set: a set is said to be tally if it is a language over an alphabet of a single letter (we take this alphabet to be {0}). Tally sets are sparse (but not vice versa). For each tally set T, χ T is defined relative to a single letter alphabet, e.g., Σ = {0}. The halting set K above is tally. The most common characterization of P/poly is given by the following statement, where by P (S) we denote the class of sets decidable by deterministic Turing machines having access to the oracle set (or language) S:

8 Proposition 3.4. P/poly = S sparse P (S) = S tally P (S) Although in [4] the following statement (needed to prove Proposition 4.1) is offered as exercice to the reader (Chapter 5, Exercise 9), we present a simple proof of it to make sure that it holds. The reader is reminded that a query to the oracle is written on a special query tape, and that the oracle answers YES or NO in one time step. Further, we note that adding extra tapes to a Turing machine will not affect our results. This is because a Turing machine with 1 working tape and 1 input tape can simulate a Turing machine with k working tapes and 1 input tape in time O(t log(t)), where t is the time taken by the multi tape machine. Proposition 3.5. Tally oracle Turing machines and advice Turing machines are polynomial time equivalent. Proof. Consider an oracle Turing machine M with input x of size n consulting the tally oracle T and let χ T n be the sequence of the first n bits of the infinite sequence χ T. In polynomial time p, the oracle Turing machine M can only write a number p(n) of 0s in the query tape. We substitute the query tape by an arbitrary working tape and define an advice Turing machine M that performs the same task in polynomial time too. Let x, χ T p( x ) be the modified input x paired with the advice f( x ) = χ T p( x ). The Turing machine M mimicks the non oracle steps of M. Whenever the oracle Turing machine M enters in the query state, the advice Turing machine M counts a number m p(n) of 0s in the former query tape and at the same time swipe the input tape until the position m of the advice χ T p( x ). If the corresponding bit is 1, then the advice machine enter in state YES else it enters in the state NO, both states now considered regular states of the new machine. The simulation is achieved in polynomial time. Conversely, let M be an advice Turing machine with advice function χ T and consider the tally oracle T = {0 n : χ T (n) = 1}. We define an oracle Turing machine M that decides the same set as M and is polynomial time equivalent to M. The input x of size n is given to the new machine M. Whenever the machine M consults the i-th bit of χ T, the new machine M writes a number i of 0s on the query tape and consults the tally oracle. The result is the same and the two machines are polynomial time equivalent. We will also need to treat prefix non-uniform complexity classes. For these classes we may only use prefix functions, i.e., functions f such that f(n) is always a prefix of f(n + 1). The idea behind prefix non-uniform complexity classes is that the advice given for inputs of size n may also be used to decide smaller inputs. Definition 3.3. Let B be a class of sets and F a class of functions. The prefix advice class B/F is the class of sets A for which some B B and some prefix function f F are such that, for every length n and input w, with w n, w A if and only if w, f(n) B.

9 4 Structure within advice classes If f : N Σ is an advice function, then by f we denote its size, i.e., the function f : N N such that, for every n N, f (n) = f(n). Let F = { f : f F}. We already have seen that log, poly are classes of advices. Now consider the concept of reasonable advice class that we adapt from [21] to our purpose. 6 Definition 4.1. A class of reasonable advices is a class of advice functions F such that (a) for every f F, f is computable in polynomial time, (b) for every f F, f is bounded by a polynomial, (c) F is closed under addition and multiplication by positive integers, (d) for every polynomial p of positive integer coefficients and every f F, there exists g F such that f p g. Other definitions could have been used. (According to this definition, polynomially long advices constitute themselves a class of reasonable advices.) Herein, we preferred to use the same concept already used in [3, 21], for the purpose of classifying real numbers in different Kolmogorov complexity classes. Definition 4.2. There is a relation between two total functions, s and r, by saying that s r if s o(r). This relation can be generalised to two classes of advices, F and G, by saying that F G if there exists a function g G, such that for all functions f F, f g. 7 Since ordered reasonable advice functions in the context of P/poly are classes of sublinear functions, the most natural chain of advice function sizes is a descendent chain of iterated logarithmic functions: Define log (0) (n) = n and log (k+1) (n) = log(log (k) (n)). Note that log (k+1) log (k), for all k 0. Now we take the reasonable class of advices log (k) given by closure of each bound under addition and multiplication by positive integers and under composition with polynomials (to the right). 8 The class of advices poly is reasonable if we restrict it to functions of computable size: poly is closed under addition and multiplication by positive integers and under polynomial composition (to the right). The class of advices log is also reasonable if we restrict it to functions of computable size: log is closed under addition and multiplication by positive integers and under composition with polinomials (to the right, log (λn. n k ) = λn. k log n). The same applies to the sublogarithmic advices, but not to the quasipolynomial advices: the class of advices induced by functions of sizes λn. 2 log(n)k, for all k > 1, although compose with polynomials (to the right), is not reasonable. 9 Note that the class 6 The concept so-called reasonable advice bounds does not coincide with ours and is not coherently applied throughout the cited book. The main reason is that functions computable in polynomial time can grow faster than polynomials. 7 Note that a quite different definition could be thought: F G if for every function f F, there exists a function g G, such that f g. 8 In this case, the composition with polynomials do not add any further functions. 9 They are computable in polynomial time, but do not satisfy the condition (b) in the definition.

10 of exponential advices is not reasonable since their sizes are not closed under composition with polynomials (to the right). Proposition 4.1. If F and G are two classes of reasonable sublinear advice classes such that F G, then P/F P/G (strict inclusion). Proof. Let linear be the set of advice functions of size linear in the size of the input and η. linear be the class of advice functions of size η times the size of the input, where η is a number such that 0 < η < 1. There is a tally set A whose characteristic function, χ A, is in P/linear but not in P/η.linear for some η sufficiently small. 10 We prove that there is a g G (with g strictly sublinear) so that for all f F with f o( g ), there is a set in P/g that does not belong to P/f. A new tally set T is defined in the following way: for each length n, if g (n) n, then the word β n = χ A g (n) 0 n g (n) is the unique word of size n in T, else 0 n is the unique word of size n in T. 11 This tally set 12 belongs trivially to the class of P/g choosing as advice the function γ(n) = χ A g (n). We prove that the same set does not belong to P/f. Suppose that some Turing machine with advice f, running in polynomial time, decides T. Since f o( g ), then for all but finitely many n, f (n) < η g (n), for arbitrarily small η, meaning that we can compute, for all but finitely many n, g (n) bits of χ A using an advice of length η. g (n), contradicting the fact that χ A is not in P/η.linear. The reconstruction of the binary sequence χ A g (n) is provided by the following procedure: M procedure: begin input n; x := λ; compute g (n); for i := 1 to g (n) do query 0 i to T using advice f(i); if YES, then x := x1, else x := x0 end for; output x end. The function g itself should have a computable size g, due to the restriction of G being a class of reasonable advice functions. The computation of g (n) takes 10 We can take for A the set of prefixes of Ω. 11 This situation can only happen for a finite number of values of n. 12 The set T can be seen as tally by performing the corresponding subtitution of each word by the required words from 0.

11 a polynomial number of steps on n. So does each query and the loop (herein, we are using the Proposition 3.5). We end up with a polynomial number of steps on the size of the input. The class P/poly restricted to the advice functions of polynomial size constitute itself a reasonable advice class and can not reveal any internal structure. If we consider the full class P/poly with advice functions with size less or equal to polynomial the same proof allows us to conclude that (since λn. n is in poly) P/poly is the supremum of all classes of sets induced by the relation between reasonable advice classes so far considered. To our previously defined advice classes log (k) we add the limit advice class log (ω) = k 1 log (k). Then proposition 4.1 allows us to take the infinite descending chain of advice function sizes log (ω)... log (3) log (2) log poly and turn it into a strictly descending chain of sets P/log (ω)... P/log (3) P/log (2) P/log P/poly To show that log (ω) is not trivial, we note that the function log, defined by log (n) = min{k : log (k) (n) 1}, 13 is in log (ω). Identifying this function allows us to continue the descending chain by defining log (ω+k), for k 1, to be the class generated by log (k) log. Again we take the limit log (2ω) = k 1 log (ω+k), giving the descending chain log (2ω)... log (ω+2) log (ω+1) log (ω)... log (3) log (2) log poly Now the function log (2) = log log is in log (2ω), so the class log (2) is not trivial. We can continue descending by setting log (2ω+k) for k 1 to be the class generated by log (k) log (2). Of course this continues till we reach log (ω2) = k 1 log (kω). To get beyond this would require finding log 2 log (k) for all k, and this continuation is left to the reader! 5 Kolmogorov complexity From this section on, by P we denote the set of polynomials P = {λn. n k : k N}. We will work with one of the definitions of Kolmogorov Complexity discussed by Balcázar, Gavaldà, and Hermo in [2]: Definition 5.1. Let U be a universal Turing machine, let f : N N be a total function and g : N N be a time constructible function, 14 and let α {0, 1} ω. We say that α has Kolmogorov complexity K[f, g] if there exists β {0, 1} ω such that, for all n, the universal machine U outputs α n in time g(n), when given n and β f(n) as inputs. 13 log (0) = 0 by convention. 14 A function f : N N is said to be time constructible if there is a Turing machine M such that for all n N and all inputs of size n, M halts in exactly f(n) steps.

12 This definition can be restated as follows: the dyadic rational α n of size n is generated by a universal Turing machine given the dyadic rational β f(n) as input. The reader should look to the input β f(n) as a binary sequence (dyadic rational without the left leading zero) made of a prefix, which is the required program to the universal Turing machine, paired with the actual input. K[f, g] can also be seen as the set of all infinite binary sequences with Kolmogorov complexity K[f, g]. Definition 5.2. K[f] is the set of all infinite binary sequences with Kolmogorov complexity K[f, g], where g is an arbitrary time constructible function. Definition 5.3. If G is a set of time constructible bounds, then K[F, G] is the set of all infinite binary sequences taken from K[f, g], where f F and g G, i.e., K[F, G] = f F, g G K[f, g]. Definition 5.4. K[F] is the set of all infinite binary sequences taken from K[f], where f F. Definition 5.5. A sequence is called Kolmogorov random sequence if it belongs to K[(λn. n) O(1)] and does not belong to any smaller class K[f]. Every sequence belongs to K[(λn. n) + O(1), P], since every sequence can be reproduced from itself in polynomial time plus the constant amount of input which contains the program necessary to the universal Turing machine to make the copy. The class K[O(1)] contains all computable real numbers, in the sense of Turing (i.e. all the binary digits are computable). All the characteristic functions of recursively enumerable sets are in K[log]. This proof was done by Kobayashi in 1981 [16] and by Loveland in 1969 [17] for a variant of the definition of Kolmogorov complexity. The Kolmogorov complexity of a real is provided by the following definition. Definition 5.6. A real is in a given Kolmogorov complexity class if the task of finding the first n binary digits of the real is in that class. 6 The analog digital scatter machine as oracle or advice Experiments with scatter machines are conducted exactly as described in [8], but, for convenience and to use them as oracles, we need to review and clarify some points. The scatter machine experiment (SME) is defined within Newtonian mechanics, comprising of the following laws and assumptions: (a) point particles obey Newton s laws of motion in the two dimensional plane, (b) straight line barriers have perfectly elastic reflection of particles, i.e., kinetic energy is conserved exactly in collisions, (c) barriers are completely rigid and do not deform on impact, (d) cannons, which can be moved in position, can project a particle with a given velocity in a given direction, (e) particle detectors are capable of telling if a particle has crossed a given region of the plane, and (f) a clock measures time.

13 right collecting box sample trajectory 5 m 1 0 x limit of traverse of point of wedge 10 m/s 1 cannon z 0 limit of traverse of cannon left collecting box 5 m Fig. 3. A schematic drawing of the scatter machine The machine consists of a cannon for projecting a point particle, a reflecting barrier in the shape of a wedge and two collecting boxes, as in Figure 3. The wedge can be at any position, but we will assume it is fixed for the duration of all the experimental work. Under the control of a Turing machine, the cannon will be moved and fired repeatedly to find information about the position of the wedge. Specifically, the way the SME is used as an oracle in Turing machine computations, is this: a Turing machine will set a position for the canon as a query and will receive an observation about the result of firing the cannon as a response. For each input to the Turing machine, there will be finitely many runs of the experiment. In Figure 3 the parts of the machine are shown in bold lines, with description and comments in narrow lines. The double headed arrows give dimensions in meters, and the single headed arrows show a sample trajectory of the particle after being fired by the cannon. The sides of the wedge are at 45 to the line of the cannon, and we take the collision to be perfectly elastic, so the particle is deflected at 90 to the line of the cannon, and hits either the left or right collecting box, depending on whether the cannon is to the left or right of the point of the wedge. Since the initial velocity is 10 m/s, the particle will enter one of the two boxes within 1 second of being fired. Any initial velocity v > 0 will work with a corresponding waiting time. The wedge is sufficiently wide so that the particle can only hit the 45 sloping sides, given the limit of traverse of the cannon. The wedge is sufficiently rigid so that the particle cannot move

14 the wedge from its position. We make the further assumption, without loss of generality (see [5]) that the vertex of the wedge is not a dyadic rational. Suppose that x is the arbitrarily chosen, but non dyadic and fixed, position of the point of the wedge. For a given dyadic rational cannon position z, there are two outcomes of an experiment: (a) one second after firing, the particle is in the right box conclusion: z > x, or (b) one second after firing, the particle is in the left box conclusion: z < x. The SME was designed to find x to arbitrary accuracy by altering z, so in our machine 0 x 1 will be fixed, and we will perform observations at different values of 0 z 1. Consider the precision of the experiment. When measuring the output state the situation is simple: either the ball is in one collecting box or in the other box. Errors in observation do not arise. There are different postulates for the precision of the cannon, and we list some in order of decreasing strength: Definition 6.1. The SME is error free if the cannon can be set exactly to any given dyadic rational number. The SME is error prone with arbitrary precision if the cannon can be set only to within a non-zero, but arbitrarily small, dyadic precision. The SME is error-prone with fixed precision if there is a value ε > 0 such that the cannon can be set only to within a given precision ε. The Turing machine is connected to the SME in the same way as it would be connected to an oracle: we replace the query state with a shooting state (q s ), the yes state with a left state (q l ), and the no state with a right state (q r ). The resulting computational device is called the analog digital scatter machine, and we refer to the vertex position of an analog digital scatter machine when mean to discuss the vertex position of the corresponding SME. In order to carry out a scatter machine experiment, the analog digital scatter machine will write a word z in the query tape and enter the shooting state. This word will either be 1, or a binary word beginning with 0. We will use z indifferently to denote both a word z 1... z n {1} {0s : s {0, 1} } and the corresponding dyadic rational n i=1 2 i+1 z i [0, 1]. In this case, we write z to denote n, i.e., the size of z 1... z n, and say that the analog digital scatter machine is aiming at z. The Turing machine computation will then be interrupted, and the SME will attempt to set the cannon at the position defined by the sequence of bits: z z 1 z 2 z n. with precision ε = 2 n+1. After setting the cannon, the SME will fire a projectile particle, wait one second and then check if the particle is in either box. If the particle is in the right collecting box, then the Turing machine computation will be resumed in the state q r. If the particle is in left box, then the Turing machine computation will be resumed in the state q l. Definition 6.2. An error free analog digital scatter machine is a Turing machine connected to an error free SME. In a similar way, we define an error- -prone analog digital scatter machine with arbitrary precision, and an error- -prone analog digital scatter machine with fixed precision.

15 If an error free analog digital scatter machine, with vertex position x [0, 1], aims at a dyadic rational z [0, 1], we are certain that the computation will be resumed in the state q l if z < x, and that it will be resumed in the state q r when z > x. We define the following decision criterion. Definition 6.3. Let A Σ be a set of words over Σ. We say that an error- -free analog digital scatter machine M decides A if, for every input w Σ, w is accepted if w A and rejected when w / A. We say that M decides A in polynomial time, if M decides A, and there is a polynomial p such that, for every w Σ, the number of steps of the computation is bounded by p( w ). gedankenexperiment: The position for firing the cannon is written as a dyadic rational on the query tape, and since it takes unit time to write a symbol on the tape, there is a limit to the accuracy of determining the wedge position that we can obtain within a given time. Conversely, using bisection, we can determine the wedge position to within a given accuracy, and if the wedge position is a good encoding, we can find the original sequence to any given length (see [6, 5]). Theorem 6.1. An error free analog digital scatter machine can determine the first n binary places of the wedge position x in polynomial time in n. Theorem 6.2. The class of sets decided by error free analog digital scatter machines in polynomial time is exactly P/poly. We then conclude that measuring the position of a motionless point particle in Classical Physics, using a infinite precision cannon, 15 in polynomial time, we are deciding a set in P/poly. Note that, the class P/poly includes the Sparse Halting Set. In this paper we shall only consider error free analog digital scatter machines. The error prone analog-digital scatter machines do not behave in a deterministic way, and in this paper we are not concerned with probabilistic classes. However, lest the reader were to think that the computational power of the analog digital scatter machine was dependent on some unphysical assumption of zero error, in [6, 7] it is shown that the arbitrary precision machine can still compute P/poly (with suitable account of time taken to set up each experiment), and that the fixed precision machines can compute BP P//log. It seems that measurement in more reasonable conditions do not affect the computational power of a motionless point particle position taken as oracle. I.e., making measurements in Classical Physics with incremental precision, may decide languages above the Turing limit, namely the Sparse Halting Set. Since the vertex of the wedge of the analog digital scatter machine is placed at a position x [0, 1], a real number, we have to explain how a real number can be considered a tally oracle. A real number can be seen either as an infinite binary sequence, either as the tally set containing exactly the words 0 n such that 15 Remember that by infinite precision we mean the cannon can be set at a dyadic rational point with infinite precision.

16 the n-th bit in the sequence is 1. The following procedure M reads from a such tally set T the sequence of bits of a real number up to the m bit in linear time: M procedure: begin input m; x := λ; for i := 1 to m do query 0 i to T ; if YES, then x := x1, else x := x0 end for end. 7 The complexity of the vertex position In this section, we will apply the same methods developed in [4, 3, 21] in the study of neural networks with real weights to the analog digital scatter machine. We shall apply a good coding of sequences of 0s and 1s into the binary digits of a real number that will allow a measurement of a given accuracy to determine the first n 0s and 1s (and that in addition will never produce a dyadic rational). For example, we can replace every 0 in the original sequence with 001 and every 1 with 100. Then the sequence becomes the number The set of good encodings will typically be some form of Cantor set in [0, 1]. See [6] for more details. Proposition 7.1. Let S be a set of infinite binary good encodings and let T be the family of tally sets T = {T : χ T S}. The computation times of the analog digital scatter machines with vertex in S are polynomially related to the computation times of oracle Turing machines that consult oracles in T. Proof. We first prove that an analog digital scatter machine M with vertex at x S, can be simulated by an oracle Turing machine M that consults a tally oracle T T. Let the characteristic of T be (χ T =) x. Let t be the running time of M (possibly a non constructible time bound). 16 According to the Theorem 6.1, p(t) bits of x are enough to get the desired result in time t. The oracle Turing machine M computes as follows: M procedure: begin input w; n := w ; s := 1; loop for i = 1 to p(s) query 0 i to T 16 Note that M halts only after t(n) steps on input x of size n, if t(n) is defined; otherwise, M does not halt.

17 end. to construct the sequence ξ := x s ; simulate M with vertex at ξ, step by step until time s; if M halts, then output the result; s := s + 1 end loop To see that the output is correct, note that after the for step, M has the value of x with enough precision to correctly simulate t(n) steps of the computation. The simulation is polynomial on the time t(n). 17 Conversely, we prove that an oracle Turing machine M that consults the oracle T T can be simulated by an analog digital scatter machine with vertex exactly at χ T. The query tape is substituted by a working tape and a new query tape is added to aim the cannon. The machine M reads one by one the number i of 0s written in the former query tape and calls the scatter machine procedure to find i bits of the vertex position using the new query tape. Each call can be executed in a time polynomial in i ([5, 7]). The overall time of the computation is polynomially related with the running time of the digital analog scatter machine. The following theorem is the analogue to the corresponding theorem of neural networks with real weights, due to Balcázar, Gavaldà, and Siegelmann in [3, 21]. Proposition 7.2. If F is a class of reasonable sublinear advices, 18 then the class P/F is exactly the class of languages accepted by polynomial time analog digital scatter machines with vertex in the subset of good encodings of K[ F, P]. Proof. By Proposition 7.1, we only have to prove that P/F coincides with the class of languages decidable by Turing machines in polynomial time consulting tally oracles T with characteristic χ T K[ F, P]. Assume that A P (T ) and consider an infinite sequence β such that the first n bits of χ T can be recovered from the first f (n) bits of β in polynomial time in n, with f F. Let p be the polynomial associated with an oracle Turing machine M that witnesses A P (T ). The longest word queried to the tally oracle T along the computation of M has size not exceeding p(n). Let g F be a bound on f p. 19 Then A is in P/F by choosing as advice for length n the first g (n) bits of β, from which up to p(n) bits of χ T can be written in a tape in polynomial time and then used to decide all words in A of size less or equal to n If the time of M is constructible, than a single loop suffices to get the amount of bits of x needed to conclude the simulation. However, in general, t is not constructible or, even worse, t may be undefined for a given input. 18 I.e., a class of reasonable advices of sublinear sizes. 19 Such a function g exists since F is a class of reasonable advice functions. 20 Note that, although A has potentially an exponential number of words of size less or equal to n, the number of words in T of size less or equal to n is quadratic in n since T is a tally set.

18 Conversely, 21 let A P/F be witnessed by the Turing machine M running in polynomial time with advice f F with size bounded by a strictly increasing polynomial p. Let q(n) = (n + 1)p(n), so that for all but finitely many values of n, p(n + 1) < q(n + 1) q(n): it follows that f (n + 1) f (n) < f (n + 1) p(n+1) < q(n+1) q(n). Let the characteristic χ T of the tally oracle T be defined as follows: the bits from 1 to f (1) of χ T are f(1); the ( f (1)+1) th bit of χ T is 1, and the bits f (1)+2 to q(1) of χ T are 0; when 1 l f (n+1) f (n), the bit q(n)+l of χ T is bit f (n)+l of f(n+1); bit number q(n)+ f (n+1) f (n)+1 of χ T is 1, and when f (n + 1) f (n) + 1 < l q(n + 1) q(n), bit q(n) + l of χ T is 0. As an infinite binary string, χ T looks like this: χ T = f(1) } 10 {{... 0 } f(2) } 10 {{... 0 } f(3) } 10 {{... 0 }... padding padding padding Given n and q(n) n bits of χ T, we can print out f(n) in polynomial time, by removing the extra bits with which we have padded f in χ T. Therefore, in polynomial time, a Turing machine with oracle T can simulate M and decide A. Since with f (n) bits of f we can print q(n) n bits of χ T, we also conclude that χ T K[ F, P]. The class of languages accepted by the analog digital scatter machine with vertex in K[ poly, P] is P/poly = P/poly. The class of languages accepted by the analog digital scatter machine with vertex in K[ log, P] is P/log. Thus we can restate one of the main results of the Gedankenexperiment of Section 4 with the analog digital scatter machine while measuring a distance from the origin as oracle. The result is the same for neural nets with real weights computing in polynomial time (see [21]). Proposition 7.3. The analog digital scatter machines decide in polynomial time exactly the class P/poly. Proof. From Proposition 7.2, we know that the analog digital scatter machines decide in polynomial time exactly the class P/poly = P/poly. Take for F the class poly, restricted to advices of computable size. If an advice has non- -computable size, but it is bounded in size by a polynomial p, then we can pad the advice of size m, for the input x of size n, with the word 10 p(n) m 1. Thus, for every advice in poly, there is always an advice of computable size equivalent to the previous one that do not alter the complexity of the problem. We can then prove a hierarchy theorem. The statement can be found in [3, 21], but here the proof relies on the structure of advice classes. Proposition 7.4. If F and G are two classes of reasonable advice functions such that F G, then K[ F, P] K[ G, P] (strict inclusion). 21 Herein, we adapt the proof in [21].

19 Proof. If F G, then, by Proposition 4.1, P/F P/G, from where it follows that P/F P/G 22 and, consequently, by Proposition 7.2, that K[ F, P] K[ G, P] (all strict inclusions). Proposition 7.5. If F and G are two classes of reasonable advice functions such that F G, then the class of languages decidable by digital analog scatter machines with vertex in K[ F, P] is strictly included in the class of languages decidable by digital analog scatter machines with vertex in K[ G, P]. In the limit of a descendent chain of sizes of classes of reasonable advice functions we have O(1). The class K[O(1), P] is, as we know, the class of Turing computable numbers in polynomial time. 8 Conclusion We have reflected upon the way physical experiments, measuring some quantities, can arise in computation and be viewed as special kinds of oracles Hoyle s algorithm is an intriguing, yet simple, case study for this purpose. Next, we have analysed in some detail a case study based upon the scatter machine experiment SM E, a computational Gedankenexperiment we have analised earlier ([6, 7]). Using the SME, we have shown that non-uniform complexity is an adequate framework for classifying feasible computations by Turing machines interacting with an oracle in Nature. In particular, by classifying the information content of such an oracle using Kolmogorov complexity, we have obtained a hierarchical structure for advice classes. In order to use the scatter machine experiment as an oracle, we need to assume that the wedge is sharp to the point and that the vertex is placed on a precise value x. Without these assumptions, the scatter machine becomes useless, since its computational properties arise exclusively from the value of x. The existence of an arbitrarily sharp wedge seems to contradict atomic theory, and for this reason the scatter machine is not a valid counterexample to the physical Church Turing thesis. If this is the case, then what is the relevance of the analog digital scatter machine as a model of computation? The scatter machine is relevant when it is seen as a Gedankenexperiment. In our discussion, we could have replaced the barriers, particles, cannons and particle detectors with any other physical system with this behaviour. So the scatter machine becomes a tool to answer the more general question: if we have a physical system to measure an answer to the predicate y x, to what extent can we use this system in feasible computations? If we accept that measuring a physical quantity is, in essence, answering whether y x, then the scatter machine is just a metaphor for a measuring device. Thus, our work studies the fundamental limitations of computation depending on the measurement of some physical constant. As current research, besides a few other aspects of the measurement apparatus that we didn t cover in this paper, we are studying a point mass in motion, 22 The proof of Proposition 4.1 is also a proof that P/F P/G. Since P/F P/F, the statement follows.

20 according to some physical law, such as Newtonian gravitation, and we will apply instrumentation to measure the position and velocity of such a point mass. References 1. José Luis Balcázar, Josep Días, and Joaquim Gabarró. Structural Complexity I. Springer-Verlag, 2nd edition, José Luis Balcázar, Ricard Gavaldà, and Montserrat Hermo. Compressibility of infinite binary sequences. In Andrea Sorbi, editor, Complexity, logic, and recursion theory, volume 187 of Lecture notes in pure and applied mathematics, pages Marcel Dekker, Inc., José Luis Balcázar, Ricard Gavaldà, and Hava Siegelmann. Computational power of neural networks: a characterization in terms of Kolmogorov complexity. IEEE Transactions on Information Theory, 43(4): , José Luis Balcázar, Ricard Gavaldà, Hava Siegelmann, and Eduardo D. Sontag. Some structural complexity aspects of neural computation. In Proceedings of the Eighth IEEE Structure in Complexity Theory Conference, pages IEEE Computer Society, Edwin Beggs, José Félix Costa, Bruno Loff, and John Tucker. The computational complexity of the analog-digital scatter machine, Technical Report, University of Wales Swansea. 6. Edwin Beggs, José Félix Costa, Bruno Loff, and John Tucker. Computational complexity with experiments as oracles. Proceedings of the Royal Society, Edwin Beggs, José Félix Costa, Bruno Loff, and John Tucker. On the complexity of measurement in classical physics. In Manindra Agrawal, Dingzhu, Du Zhenhua Duan, and Angsheng Li, editors, Theory and Applications of Models of Computation (TAMC 2008), volume 4978 of Lecture Notes in Computer Science, pages Springer Verlag, Edwin Beggs and John Tucker. Experimental computation of real numbers by Newtonian machines. Proceedings of the Royal Society, 463(2082): , Cristian Calude. Algorithmic randomness, quantum physics, and incompleteness. In Maurice Margenstern, editor, Machines, Computations and Universality (MCU 2004), volume 3354 of Lecture Notes in Computer Science, pages Springer Verlag, Barry Cooper and Piergiorgio Odifreddi. Incomputability in nature. In Barry Cooper and Sergei Goncharov, editors, Computability and Models, Perspectives East and West, University series in mathematics, pages Springer, Jack Copeland. The Church Turing thesis. In Edward Zalta, editor, The Stanford Enciclopedia of Phylosophy. Published online at http: // plato.stanford.edu/ archives/ fall2002/ entries/ church-turing/, Jack Copeland and Diane Proudfoot. Alan Turing s forgotten ideas in computer science. Scientific American, 280:99 103, Martin Davis. The myth of hypercomputation. In Christof Teuscher, editor, Alan Turing: the life and legacy of a great thinker, pages Springer, Andrew Hodges. The professors and the brainstorms. Published online at /philosophy /sciam.html, Fred Hoyle. From Stonehenge to Modern Cosmology. W. H. Freeman, K. Kobayashi. On compressibility of infinite sequences. Technical Report C 34, Research Reports on Information Sciences, 1981.

Theory of Two-sided Experiments A new insight on measurable numbers (Extended Abstract)

Theory of Two-sided Experiments A new insight on measurable numbers (Extended Abstract) Theory of Two-sided Experiments A new insight on measurable numbers (Exted Abstract) Tânia Filipa Nascimento Ambaram Instituto Superior Técnico - Universidde de Lisboa July, 2014 Abstract In this work

More information

The Power of Analogue-digital Machines

The Power of Analogue-digital Machines The Power of Analogue-digital Machines (Extended abstract) José Félix Costa 1 Department of Mathematics, Instituto Superior Técnico, Universidade de Lisboa, Lisboa, Portugal fgc@math.tecnico.ulisboa.pt

More information

Five views of hypercomputation

Five views of hypercomputation Five views of hypercomputation BRUNO LOFF 1,2, JOSÉ FÉLIX COSTA 1,2 1 Instituto Superior Técnico, Dept. of Mathematics, Technical University of Lisbon 2 CMAF, Complexo Interdisciplinar, Universidade de

More information

An Analogue-digital Model of Computation: Turing Machines with Physical Oracles

An Analogue-digital Model of Computation: Turing Machines with Physical Oracles An Analogue-digital Model of Computation: Turing Machines with Physical Oracles Tânia Ambaram 1, Edwin Beggs 2, José Félix Costa 1, Diogo Poças 3, and John V Tucker 2 1 Department of Mathematics, Instituto

More information

Complexity with costing and stochastic oracles Extended abstract

Complexity with costing and stochastic oracles Extended abstract Complexity with costing and stochastic oracles Extended abstract Diogo Miguel Ferreira Poças Instituto Superior Técnico - Universidade de Lisboa July 13, 2013 Abstract The purpose of this dissertation

More information

6.841/18.405J: Advanced Complexity Wednesday, February 12, Lecture Lecture 3

6.841/18.405J: Advanced Complexity Wednesday, February 12, Lecture Lecture 3 6.841/18.405J: Advanced Complexity Wednesday, February 12, 2003 Lecture Lecture 3 Instructor: Madhu Sudan Scribe: Bobby Kleinberg 1 The language MinDNF At the end of the last lecture, we introduced the

More information

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler Complexity Theory Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien 15 May, 2018 Reinhard

More information

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181. Complexity Theory Complexity Theory Outline Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität

More information

Finish K-Complexity, Start Time Complexity

Finish K-Complexity, Start Time Complexity 6.045 Finish K-Complexity, Start Time Complexity 1 Kolmogorov Complexity Definition: The shortest description of x, denoted as d(x), is the lexicographically shortest string such that M(w) halts

More information

Notes for Lecture Notes 2

Notes for Lecture Notes 2 Stanford University CS254: Computational Complexity Notes 2 Luca Trevisan January 11, 2012 Notes for Lecture Notes 2 In this lecture we define NP, we state the P versus NP problem, we prove that its formulation

More information

1 Computational Problems

1 Computational Problems Stanford University CS254: Computational Complexity Handout 2 Luca Trevisan March 31, 2010 Last revised 4/29/2010 In this lecture we define NP, we state the P versus NP problem, we prove that its formulation

More information

Computability Theory

Computability Theory Computability Theory Cristian S. Calude May 2012 Computability Theory 1 / 1 Bibliography M. Sipser. Introduction to the Theory of Computation, PWS 1997. (textbook) Computability Theory 2 / 1 Supplementary

More information

Chapter 4 An Analogue-Digital Model of Computation: Turing Machines with Physical Oracles

Chapter 4 An Analogue-Digital Model of Computation: Turing Machines with Physical Oracles Chapter 4 An Analogue-Digital Model of Computation: Turing Machines with Physical Oracles Tânia Ambaram, Edwin Beggs, José Félix Costa, Diogo Poças and John V. Tucker Abstract We introduce an abstract

More information

MTAT Complexity Theory October 13th-14th, Lecture 6

MTAT Complexity Theory October 13th-14th, Lecture 6 MTAT.07.004 Complexity Theory October 13th-14th, 2011 Lecturer: Peeter Laud Lecture 6 Scribe(s): Riivo Talviste 1 Logarithmic memory Turing machines working in logarithmic space become interesting when

More information

CHAPTER 5. Interactive Turing Machines

CHAPTER 5. Interactive Turing Machines CHAPTER 5 Interactive Turing Machines The interactive Turing machine, which was introduced by Van Leeuwen and Wiedermann[28, 30], is an extension of the classical Turing machine model. It attempts to model

More information

(a) Definition of TMs. First Problem of URMs

(a) Definition of TMs. First Problem of URMs Sec. 4: Turing Machines First Problem of URMs (a) Definition of the Turing Machine. (b) URM computable functions are Turing computable. (c) Undecidability of the Turing Halting Problem That incrementing

More information

ITCS:CCT09 : Computational Complexity Theory Apr 8, Lecture 7

ITCS:CCT09 : Computational Complexity Theory Apr 8, Lecture 7 ITCS:CCT09 : Computational Complexity Theory Apr 8, 2009 Lecturer: Jayalal Sarma M.N. Lecture 7 Scribe: Shiteng Chen In this lecture, we will discuss one of the basic concepts in complexity theory; namely

More information

Advanced topic: Space complexity

Advanced topic: Space complexity Advanced topic: Space complexity CSCI 3130 Formal Languages and Automata Theory Siu On CHAN Chinese University of Hong Kong Fall 2016 1/28 Review: time complexity We have looked at how long it takes to

More information

Introduction to Turing Machines. Reading: Chapters 8 & 9

Introduction to Turing Machines. Reading: Chapters 8 & 9 Introduction to Turing Machines Reading: Chapters 8 & 9 1 Turing Machines (TM) Generalize the class of CFLs: Recursively Enumerable Languages Recursive Languages Context-Free Languages Regular Languages

More information

Physical Oracles: The Turing Machine and the Wheatstone Bridge

Physical Oracles: The Turing Machine and the Wheatstone Bridge Edwin J Beggs José Félix Costa John V Tucker Physical Oracles: The Turing Machine and the Wheatstone Bridge Abstract. Earlier, we have studied computations possible by physical systems and by algorithms

More information

CS151 Complexity Theory. Lecture 1 April 3, 2017

CS151 Complexity Theory. Lecture 1 April 3, 2017 CS151 Complexity Theory Lecture 1 April 3, 2017 Complexity Theory Classify problems according to the computational resources required running time storage space parallelism randomness rounds of interaction,

More information

WE FOCUS on the classical analog recurrent neural

WE FOCUS on the classical analog recurrent neural IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 43, NO. 4, JULY 1997 1175 Computational Power of Neural Networks: A Characterization in Terms of Kolmogorov Complexity José L. Balcázar, Ricard Gavaldà, and

More information

Notes for Lecture 3... x 4

Notes for Lecture 3... x 4 Stanford University CS254: Computational Complexity Notes 3 Luca Trevisan January 18, 2012 Notes for Lecture 3 In this lecture we introduce the computational model of boolean circuits and prove that polynomial

More information

Undecidability. Andreas Klappenecker. [based on slides by Prof. Welch]

Undecidability. Andreas Klappenecker. [based on slides by Prof. Welch] Undecidability Andreas Klappenecker [based on slides by Prof. Welch] 1 Sources Theory of Computing, A Gentle Introduction, by E. Kinber and C. Smith, Prentice-Hall, 2001 Automata Theory, Languages and

More information

DRAFT. Diagonalization. Chapter 4

DRAFT. Diagonalization. Chapter 4 Chapter 4 Diagonalization..the relativized P =?NP question has a positive answer for some oracles and a negative answer for other oracles. We feel that this is further evidence of the difficulty of the

More information

Lecture 6: Oracle TMs, Diagonalization Limits, Space Complexity

Lecture 6: Oracle TMs, Diagonalization Limits, Space Complexity CSE 531: Computational Complexity I Winter 2016 Lecture 6: Oracle TMs, Diagonalization Limits, Space Complexity January 22, 2016 Lecturer: Paul Beame Scribe: Paul Beame Diagonalization enabled us to separate

More information

Time-bounded computations

Time-bounded computations Lecture 18 Time-bounded computations We now begin the final part of the course, which is on complexity theory. We ll have time to only scratch the surface complexity theory is a rich subject, and many

More information

Ma/CS 117c Handout # 5 P vs. NP

Ma/CS 117c Handout # 5 P vs. NP Ma/CS 117c Handout # 5 P vs. NP We consider the possible relationships among the classes P, NP, and co-np. First we consider properties of the class of NP-complete problems, as opposed to those which are

More information

CSCI3390-Lecture 6: An Undecidable Problem

CSCI3390-Lecture 6: An Undecidable Problem CSCI3390-Lecture 6: An Undecidable Problem September 21, 2018 1 Summary The language L T M recognized by the universal Turing machine is not decidable. Thus there is no algorithm that determines, yes or

More information

Turing Machines, diagonalization, the halting problem, reducibility

Turing Machines, diagonalization, the halting problem, reducibility Notes on Computer Theory Last updated: September, 015 Turing Machines, diagonalization, the halting problem, reducibility 1 Turing Machines A Turing machine is a state machine, similar to the ones we have

More information

Opleiding Informatica

Opleiding Informatica Opleiding Informatica Tape-quantifying Turing machines in the arithmetical hierarchy Simon Heijungs Supervisors: H.J. Hoogeboom & R. van Vliet BACHELOR THESIS Leiden Institute of Advanced Computer Science

More information

1 From previous lectures

1 From previous lectures CS 810: Introduction to Complexity Theory 9/18/2003 Lecture 11: P/poly, Sparse Sets, and Mahaney s Theorem Instructor: Jin-Yi Cai Scribe: Aparna Das, Scott Diehl, Giordano Fusco 1 From previous lectures

More information

Limitations of Efficient Reducibility to the Kolmogorov Random Strings

Limitations of Efficient Reducibility to the Kolmogorov Random Strings Limitations of Efficient Reducibility to the Kolmogorov Random Strings John M. HITCHCOCK 1 Department of Computer Science, University of Wyoming Abstract. We show the following results for polynomial-time

More information

Lecture 4. 1 Circuit Complexity. Notes on Complexity Theory: Fall 2005 Last updated: September, Jonathan Katz

Lecture 4. 1 Circuit Complexity. Notes on Complexity Theory: Fall 2005 Last updated: September, Jonathan Katz Notes on Complexity Theory: Fall 2005 Last updated: September, 2005 Jonathan Katz Lecture 4 1 Circuit Complexity Circuits are directed, acyclic graphs where nodes are called gates and edges are called

More information

Lecture 22: Quantum computational complexity

Lecture 22: Quantum computational complexity CPSC 519/619: Quantum Computation John Watrous, University of Calgary Lecture 22: Quantum computational complexity April 11, 2006 This will be the last lecture of the course I hope you have enjoyed the

More information

Lecture notes on Turing machines

Lecture notes on Turing machines Lecture notes on Turing machines Ivano Ciardelli 1 Introduction Turing machines, introduced by Alan Turing in 1936, are one of the earliest and perhaps the best known model of computation. The importance

More information

Discrete Mathematics and Probability Theory Spring 2014 Anant Sahai Note 20. To Infinity And Beyond: Countability and Computability

Discrete Mathematics and Probability Theory Spring 2014 Anant Sahai Note 20. To Infinity And Beyond: Countability and Computability EECS 70 Discrete Mathematics and Probability Theory Spring 014 Anant Sahai Note 0 To Infinity And Beyond: Countability and Computability This note ties together two topics that might seem like they have

More information

Computational Tasks and Models

Computational Tasks and Models 1 Computational Tasks and Models Overview: We assume that the reader is familiar with computing devices but may associate the notion of computation with specific incarnations of it. Our first goal is to

More information

Computational Models Lecture 8 1

Computational Models Lecture 8 1 Computational Models Lecture 8 1 Handout Mode Ronitt Rubinfeld and Iftach Haitner. Tel Aviv University. May 11/13, 2015 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames by Maurice

More information

CMPT 710/407 - Complexity Theory Lecture 4: Complexity Classes, Completeness, Linear Speedup, and Hierarchy Theorems

CMPT 710/407 - Complexity Theory Lecture 4: Complexity Classes, Completeness, Linear Speedup, and Hierarchy Theorems CMPT 710/407 - Complexity Theory Lecture 4: Complexity Classes, Completeness, Linear Speedup, and Hierarchy Theorems Valentine Kabanets September 13, 2007 1 Complexity Classes Unless explicitly stated,

More information

Computational Models Lecture 8 1

Computational Models Lecture 8 1 Computational Models Lecture 8 1 Handout Mode Ronitt Rubinfeld and Iftach Haitner. Tel Aviv University. April 18/ May 2, 2016 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames by Maurice

More information

Turing s thesis: (1930) Any computation carried out by mechanical means can be performed by a Turing Machine

Turing s thesis: (1930) Any computation carried out by mechanical means can be performed by a Turing Machine Turing s thesis: (1930) Any computation carried out by mechanical means can be performed by a Turing Machine There is no known model of computation more powerful than Turing Machines Definition of Algorithm:

More information

Theory of Computing Tamás Herendi

Theory of Computing Tamás Herendi Theory of Computing Tamás Herendi Theory of Computing Tamás Herendi Publication date 2014 Table of Contents 1 Preface 1 2 Formal languages 2 3 Order of growth rate 9 4 Turing machines 16 1 The definition

More information

Lecture 3: Reductions and Completeness

Lecture 3: Reductions and Completeness CS 710: Complexity Theory 9/13/2011 Lecture 3: Reductions and Completeness Instructor: Dieter van Melkebeek Scribe: Brian Nixon Last lecture we introduced the notion of a universal Turing machine for deterministic

More information

UNIT-VIII COMPUTABILITY THEORY

UNIT-VIII COMPUTABILITY THEORY CONTEXT SENSITIVE LANGUAGE UNIT-VIII COMPUTABILITY THEORY A Context Sensitive Grammar is a 4-tuple, G = (N, Σ P, S) where: N Set of non terminal symbols Σ Set of terminal symbols S Start symbol of the

More information

CS6901: review of Theory of Computation and Algorithms

CS6901: review of Theory of Computation and Algorithms CS6901: review of Theory of Computation and Algorithms Any mechanically (automatically) discretely computation of problem solving contains at least three components: - problem description - computational

More information

The purpose here is to classify computational problems according to their complexity. For that purpose we need first to agree on a computational

The purpose here is to classify computational problems according to their complexity. For that purpose we need first to agree on a computational 1 The purpose here is to classify computational problems according to their complexity. For that purpose we need first to agree on a computational model. We'll remind you what a Turing machine is --- you

More information

Quantum Computing Lecture 8. Quantum Automata and Complexity

Quantum Computing Lecture 8. Quantum Automata and Complexity Quantum Computing Lecture 8 Quantum Automata and Complexity Maris Ozols Computational models and complexity Shor s algorithm solves, in polynomial time, a problem for which no classical polynomial time

More information

Notes for Lecture 3... x 4

Notes for Lecture 3... x 4 Stanford University CS254: Computational Complexity Notes 3 Luca Trevisan January 14, 2014 Notes for Lecture 3 In this lecture we introduce the computational model of boolean circuits and prove that polynomial

More information

CSC 5170: Theory of Computational Complexity Lecture 9 The Chinese University of Hong Kong 15 March 2010

CSC 5170: Theory of Computational Complexity Lecture 9 The Chinese University of Hong Kong 15 March 2010 CSC 5170: Theory of Computational Complexity Lecture 9 The Chinese University of Hong Kong 15 March 2010 We now embark on a study of computational classes that are more general than NP. As these classes

More information

Q = Set of states, IE661: Scheduling Theory (Fall 2003) Primer to Complexity Theory Satyaki Ghosh Dastidar

Q = Set of states, IE661: Scheduling Theory (Fall 2003) Primer to Complexity Theory Satyaki Ghosh Dastidar IE661: Scheduling Theory (Fall 2003) Primer to Complexity Theory Satyaki Ghosh Dastidar Turing Machine A Turing machine is an abstract representation of a computing device. It consists of a read/write

More information

1 Circuit Complexity. CS 6743 Lecture 15 1 Fall Definitions

1 Circuit Complexity. CS 6743 Lecture 15 1 Fall Definitions CS 6743 Lecture 15 1 Fall 2007 1 Circuit Complexity 1.1 Definitions A Boolean circuit C on n inputs x 1,..., x n is a directed acyclic graph (DAG) with n nodes of in-degree 0 (the inputs x 1,..., x n ),

More information

CS 361 Meeting 26 11/10/17

CS 361 Meeting 26 11/10/17 CS 361 Meeting 26 11/10/17 1. Homework 8 due Announcements A Recognizable, but Undecidable Language 1. Last class, I presented a brief, somewhat inscrutable proof that the language A BT M = { M w M is

More information

What are the recursion theoretic properties of a set of axioms? Understanding a paper by William Craig Armando B. Matos

What are the recursion theoretic properties of a set of axioms? Understanding a paper by William Craig Armando B. Matos What are the recursion theoretic properties of a set of axioms? Understanding a paper by William Craig Armando B. Matos armandobcm@yahoo.com February 5, 2014 Abstract This note is for personal use. It

More information

Computational Models Lecture 8 1

Computational Models Lecture 8 1 Computational Models Lecture 8 1 Handout Mode Nachum Dershowitz & Yishay Mansour. Tel Aviv University. May 17 22, 2017 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames by Maurice

More information

COMPUTATIONAL COMPLEXITY

COMPUTATIONAL COMPLEXITY ATHEATICS: CONCEPTS, AND FOUNDATIONS Vol. III - Computational Complexity - Osamu Watanabe COPUTATIONAL COPLEXITY Osamu Watanabe Tokyo Institute of Technology, Tokyo, Japan Keywords: {deterministic, randomized,

More information

FORMAL LANGUAGES, AUTOMATA AND COMPUTATION

FORMAL LANGUAGES, AUTOMATA AND COMPUTATION FORMAL LANGUAGES, AUTOMATA AND COMPUTATION DECIDABILITY ( LECTURE 15) SLIDES FOR 15-453 SPRING 2011 1 / 34 TURING MACHINES-SYNOPSIS The most general model of computation Computations of a TM are described

More information

1 Showing Recognizability

1 Showing Recognizability CSCC63 Worksheet Recognizability and Decidability 1 1 Showing Recognizability 1.1 An Example - take 1 Let Σ be an alphabet. L = { M M is a T M and L(M) }, i.e., that M accepts some string from Σ. Prove

More information

M. Smith. 6 September 2016 / GSAC

M. Smith. 6 September 2016 / GSAC , Complexity, and Department of Mathematics University of Utah 6 September 2016 / GSAC Outline 1 2 3 4 Outline 1 2 3 4 Motivation The clock puzzle is an infamous part of the video game XIII-2 (2011). Most

More information

CS3719 Theory of Computation and Algorithms

CS3719 Theory of Computation and Algorithms CS3719 Theory of Computation and Algorithms Any mechanically (automatically) discretely computation of problem solving contains at least three components: - problem description - computational tool - analysis

More information

Reductions in Computability Theory

Reductions in Computability Theory Reductions in Computability Theory Prakash Panangaden 9 th November 2015 The concept of reduction is central to computability and complexity theory. The phrase P reduces to Q is often used in a confusing

More information

Halting and Equivalence of Program Schemes in Models of Arbitrary Theories

Halting and Equivalence of Program Schemes in Models of Arbitrary Theories Halting and Equivalence of Program Schemes in Models of Arbitrary Theories Dexter Kozen Cornell University, Ithaca, New York 14853-7501, USA, kozen@cs.cornell.edu, http://www.cs.cornell.edu/~kozen In Honor

More information

1 Reals are Uncountable

1 Reals are Uncountable CS 30: Discrete Math in CS (Winter 2019): Lecture 6 Date: 11th January, 2019 (Friday) Topic: Uncountability and Undecidability Disclaimer: These notes have not gone through scrutiny and in all probability

More information

U.C. Berkeley CS278: Computational Complexity Professor Luca Trevisan August 30, Notes for Lecture 1

U.C. Berkeley CS278: Computational Complexity Professor Luca Trevisan August 30, Notes for Lecture 1 U.C. Berkeley CS278: Computational Complexity Handout N1 Professor Luca Trevisan August 30, 2004 Notes for Lecture 1 This course assumes CS170, or equivalent, as a prerequisite. We will assume that the

More information

Complexity and NP-completeness

Complexity and NP-completeness Lecture 17 Complexity and NP-completeness Supplemental reading in CLRS: Chapter 34 As an engineer or computer scientist, it is important not only to be able to solve problems, but also to know which problems

More information

Further discussion of Turing machines

Further discussion of Turing machines Further discussion of Turing machines In this lecture we will discuss various aspects of decidable and Turing-recognizable languages that were not mentioned in previous lectures. In particular, we will

More information

Turing Machines as Clocks, Rulers and Randomizers

Turing Machines as Clocks, Rulers and Randomizers Turing Machines as Clocks, Rulers and Randomizers José Félix Costa Department of Mathematics Instituto Superior Técnico Technical University of Lisbon, Portugal e-mail: fgc@math.ist.utl.pt Centro de Matemática

More information

Lecture 2 (Notes) 1. The book Computational Complexity: A Modern Approach by Sanjeev Arora and Boaz Barak;

Lecture 2 (Notes) 1. The book Computational Complexity: A Modern Approach by Sanjeev Arora and Boaz Barak; Topics in Theoretical Computer Science February 29, 2016 Lecturer: Ola Svensson Lecture 2 (Notes) Scribes: Ola Svensson Disclaimer: These notes were written for the lecturer only and may contain inconsistent

More information

Turing Machines Part III

Turing Machines Part III Turing Machines Part III Announcements Problem Set 6 due now. Problem Set 7 out, due Monday, March 4. Play around with Turing machines, their powers, and their limits. Some problems require Wednesday's

More information

Undecidability COMS Ashley Montanaro 4 April Department of Computer Science, University of Bristol Bristol, UK

Undecidability COMS Ashley Montanaro 4 April Department of Computer Science, University of Bristol Bristol, UK COMS11700 Undecidability Department of Computer Science, University of Bristol Bristol, UK 4 April 2014 COMS11700: Undecidability Slide 1/29 Decidability We are particularly interested in Turing machines

More information

CSE 4111/5111/6111 Computability Jeff Edmonds Assignment 3: Diagonalization & Halting Problem Due: One week after shown in slides

CSE 4111/5111/6111 Computability Jeff Edmonds Assignment 3: Diagonalization & Halting Problem Due: One week after shown in slides CSE 4111/5111/6111 Computability Jeff Edmonds Assignment 3: Diagonalization & Halting Problem Due: One week after shown in slides First Person: Second Person: Family Name: Family Name: Given Name: Given

More information

Undecidable Problems. Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, / 65

Undecidable Problems. Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, / 65 Undecidable Problems Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, 2018 1/ 65 Algorithmically Solvable Problems Let us assume we have a problem P. If there is an algorithm solving

More information

Decision Problems with TM s. Lecture 31: Halting Problem. Universe of discourse. Semi-decidable. Look at following sets: CSCI 81 Spring, 2012

Decision Problems with TM s. Lecture 31: Halting Problem. Universe of discourse. Semi-decidable. Look at following sets: CSCI 81 Spring, 2012 Decision Problems with TM s Look at following sets: Lecture 31: Halting Problem CSCI 81 Spring, 2012 Kim Bruce A TM = { M,w M is a TM and w L(M)} H TM = { M,w M is a TM which halts on input w} TOTAL TM

More information

The Turing machine model of computation

The Turing machine model of computation The Turing machine model of computation For most of the remainder of the course we will study the Turing machine model of computation, named after Alan Turing (1912 1954) who proposed the model in 1936.

More information

1 Definition of a Turing machine

1 Definition of a Turing machine Introduction to Algorithms Notes on Turing Machines CS 4820, Spring 2017 April 10 24, 2017 1 Definition of a Turing machine Turing machines are an abstract model of computation. They provide a precise,

More information

Theory of Computation

Theory of Computation Theory of Computation Unit 4-6: Turing Machines and Computability Decidability and Encoding Turing Machines Complexity and NP Completeness Syedur Rahman syedurrahman@gmail.com Turing Machines Q The set

More information

König s Lemma and Kleene Tree

König s Lemma and Kleene Tree König s Lemma and Kleene Tree Andrej Bauer May 3, 2006 Abstract I present a basic result about Cantor space in the context of computability theory: the computable Cantor space is computably non-compact.

More information

Curriculum Vitae. Bruno Loff. Born on December the 2nd, 1984, in Lisbon, Portugal. Rua Vitorino Nemésio, n o 8, 4 o Esq , Lisboa, Portugal

Curriculum Vitae. Bruno Loff. Born on December the 2nd, 1984, in Lisbon, Portugal. Rua Vitorino Nemésio, n o 8, 4 o Esq , Lisboa, Portugal Curriculum Vitae Bruno Loff Born on December the 2nd, 1984, in Lisbon, Portugal Rua Vitorino Nemésio, n o 8, 4 o Esq. 1750-307, Lisboa, Portugal (+351) 217 904 913 bruno.loff@gmail.com July 3, 2007 1 Summary

More information

Turing Machines. Lecture 8

Turing Machines. Lecture 8 Turing Machines Lecture 8 1 Course Trajectory We will see algorithms, what can be done. But what cannot be done? 2 Computation Problem: To compute a function F that maps each input (a string) to an output

More information

Computational Complexity

Computational Complexity p. 1/24 Computational Complexity The most sharp distinction in the theory of computation is between computable and noncomputable functions; that is, between possible and impossible. From the example of

More information

Essential facts about NP-completeness:

Essential facts about NP-completeness: CMPSCI611: NP Completeness Lecture 17 Essential facts about NP-completeness: Any NP-complete problem can be solved by a simple, but exponentially slow algorithm. We don t have polynomial-time solutions

More information

On Straight Forward Approaches to P vs NP

On Straight Forward Approaches to P vs NP On Straight Forward Approaches to P vs NP or: Why complexity theorists aren t as dumb as they look! by Kevin Matulef May 12, 2001 Introduction The infamously unresolved P vs NP question exemplifies the

More information

Turing Machines and Time Complexity

Turing Machines and Time Complexity Turing Machines and Time Complexity Turing Machines Turing Machines (Infinitely long) Tape of 1 s and 0 s Turing Machines (Infinitely long) Tape of 1 s and 0 s Able to read and write the tape, and move

More information

Lecture 12: Randomness Continued

Lecture 12: Randomness Continued CS 710: Complexity Theory 2/25/2010 Lecture 12: Randomness Continued Instructor: Dieter van Melkebeek Scribe: Beth Skubak & Nathan Collins In the last lecture we introduced randomized computation in terms

More information

6-1 Computational Complexity

6-1 Computational Complexity 6-1 Computational Complexity 6. Computational Complexity Computational models Turing Machines Time complexity Non-determinism, witnesses, and short proofs. Complexity classes: P, NP, conp Polynomial-time

More information

Lecture 7: More Arithmetic and Fun With Primes

Lecture 7: More Arithmetic and Fun With Primes IAS/PCMI Summer Session 2000 Clay Mathematics Undergraduate Program Advanced Course on Computational Complexity Lecture 7: More Arithmetic and Fun With Primes David Mix Barrington and Alexis Maciel July

More information

Lecture 4 : Quest for Structure in Counting Problems

Lecture 4 : Quest for Structure in Counting Problems CS6840: Advanced Complexity Theory Jan 10, 2012 Lecture 4 : Quest for Structure in Counting Problems Lecturer: Jayalal Sarma M.N. Scribe: Dinesh K. Theme: Between P and PSPACE. Lecture Plan:Counting problems

More information

Lecture 16: Time Complexity and P vs NP

Lecture 16: Time Complexity and P vs NP 6.045 Lecture 16: Time Complexity and P vs NP 1 Time-Bounded Complexity Classes Definition: TIME(t(n)) = { L there is a Turing machine M with time complexity O(t(n)) so that L = L(M) } = { L L is a language

More information

an efficient procedure for the decision problem. We illustrate this phenomenon for the Satisfiability problem.

an efficient procedure for the decision problem. We illustrate this phenomenon for the Satisfiability problem. 1 More on NP In this set of lecture notes, we examine the class NP in more detail. We give a characterization of NP which justifies the guess and verify paradigm, and study the complexity of solving search

More information

Turing Machine Recap

Turing Machine Recap Turing Machine Recap DFA with (infinite) tape. One move: read, write, move, change state. High-level Points Church-Turing thesis: TMs are the most general computing devices. So far no counter example Every

More information

Theory of Computation

Theory of Computation Theory of Computation Dr. Sarmad Abbasi Dr. Sarmad Abbasi () Theory of Computation 1 / 38 Lecture 21: Overview Big-Oh notation. Little-o notation. Time Complexity Classes Non-deterministic TMs The Class

More information

CSC 5170: Theory of Computational Complexity Lecture 4 The Chinese University of Hong Kong 1 February 2010

CSC 5170: Theory of Computational Complexity Lecture 4 The Chinese University of Hong Kong 1 February 2010 CSC 5170: Theory of Computational Complexity Lecture 4 The Chinese University of Hong Kong 1 February 2010 Computational complexity studies the amount of resources necessary to perform given computations.

More information

Computability Crib Sheet

Computability Crib Sheet Computer Science and Engineering, UCSD Winter 10 CSE 200: Computability and Complexity Instructor: Mihir Bellare Computability Crib Sheet January 3, 2010 Computability Crib Sheet This is a quick reference

More information

U.C. Berkeley CS278: Computational Complexity Professor Luca Trevisan 9/6/2004. Notes for Lecture 3

U.C. Berkeley CS278: Computational Complexity Professor Luca Trevisan 9/6/2004. Notes for Lecture 3 U.C. Berkeley CS278: Computational Complexity Handout N3 Professor Luca Trevisan 9/6/2004 Notes for Lecture 3 Revised 10/6/04 1 Space-Bounded Complexity Classes A machine solves a problem using space s(

More information

Complexity Theory Part I

Complexity Theory Part I Complexity Theory Part I Problem Problem Set Set 77 due due right right now now using using a late late period period The Limits of Computability EQ TM EQ TM co-re R RE L D ADD L D HALT A TM HALT A TM

More information

4.2 The Halting Problem

4.2 The Halting Problem 172 4.2 The Halting Problem The technique of diagonalization was discovered in 1873 by Georg Cantor who was concerned with the problem of measuring the sizes of infinite sets For finite sets we can simply

More information

ENEE 459E/CMSC 498R In-class exercise February 10, 2015

ENEE 459E/CMSC 498R In-class exercise February 10, 2015 ENEE 459E/CMSC 498R In-class exercise February 10, 2015 In this in-class exercise, we will explore what it means for a problem to be intractable (i.e. it cannot be solved by an efficient algorithm). There

More information

Great Theoretical Ideas in Computer Science. Lecture 7: Introduction to Computational Complexity

Great Theoretical Ideas in Computer Science. Lecture 7: Introduction to Computational Complexity 15-251 Great Theoretical Ideas in Computer Science Lecture 7: Introduction to Computational Complexity September 20th, 2016 What have we done so far? What will we do next? What have we done so far? > Introduction

More information

Theory of computation: initial remarks (Chapter 11)

Theory of computation: initial remarks (Chapter 11) Theory of computation: initial remarks (Chapter 11) For many purposes, computation is elegantly modeled with simple mathematical objects: Turing machines, finite automata, pushdown automata, and such.

More information

198:538 Complexity of Computation Lecture 16 Rutgers University, Spring March 2007

198:538 Complexity of Computation Lecture 16 Rutgers University, Spring March 2007 198:538 Complexity of Computation Lecture 16 Rutgers University, Spring 2007 8 March 2007 In this lecture we discuss Shamir s theorem that PSPACE is the set of languages that have interactive proofs with

More information