But the right really really really really just pretty. I mean. What are they really right. You are right. And we're supposed to. Yeah but the one. You hear is all of us. If you think a lot of people program which is really something you're just not going to say much about this particular talk but I know you've used your. Other problem before right. Talk about these recent workplace you know sort of the best paper right. Thanks. Thanks for the introduction and the so that part of this talk is meant to suggest a kind of duality. So we're going to talk about two problems. That are both basic in the computer science. One is to try to design algorithms that efficiently analyze circuits in some way. And the other is the problem of trying to design efficient circuits for any official algorithms or prove that there aren't efficient circuits for inefficient algorithms. So it's really a kind of duality jested between algorithms so proving upper bounds for algorithms and proving lower bounds. So limitations on our and well the nice things that come out of this work is that. In many cases. This is sufficient to actually find an efficient algorithm in order to get a lower bound which runs counter to all of our intuitions that we publish lots of papers on algorithms. Every year but you don't see too many lower bound papers but in fact rhythms in certain situations can imply a lower bounds and sometimes our things actually exist. So you get the lower bounds. So yeah yeah. So efficient algorithm and certain settings for analyzing circuits imply limitations against circuits and things. Everything will be made clear and talk. It sounds. Mystical but it will be made clear. So the first thing I'm going to do is introduce you to these problems. So what is this problem circuits for algorithms what is ours for circuits. And so that will take some time and then we'll look at finding faster. Our thumbs and how they imply a lower bound so it's a new direction in which just finding slightly faster islands for certain problems improving on exhaustive search will get you surprising the strong lower bounds. And then we'll see a particular example of that I won't go into too much detail but. We'll see this highlights of the proof that not interested exponential time doesn't have E.C.C. circuits whatever that means it will be defined later. And then we'll talk about where we can go from here. OK So what do I mean by circuits versus algorithms. So with algorithms we did because the Imagine having a single algorithm it gets inputs of arbitrary length and it produces some answer. With circuits were allowed much more so this is so called non-uniform computation we get. Distinct program a Suburban that we can run on inputs of Linked In. And the point is that. We have a separate program for each input link in this. So the program link the entire program link the union of all the circuits could be infinite in itself infinite in description. So we run a substantial. Inputs of link then and so on and the size of these programs can grow. So one particular class of study a lot is piece last poly which is the class of problems solved with one of these infinite families of programs where the program size is a fixed ball Gnomeo and in the running time of that program on inputs of Linked In is a fixed polynomial on what does this have to do with circuits. Well there's an equivalent form you ation of this where we allow a different logical circuit a suburban and we run all inputs of Linked In So we have a small circuit for inputs of length one and it gets bigger and bigger as inputs get bigger and bigger. But it doesn't grow more than polynomially So probably is a in this framework. The problem solver with the circuit family a sub and with a number of gates they sit in a movable Gates going here in a logical circuit is in moves to fix polynomial and it. OK. So a huge open problem in complexity theory is to show that in P. problems like satisfiability are even in peace last poly This is a harder question in Peter's in piece if you go to work on this question. Good luck. But what's interesting about proving something like this is that. Because we are allowing a separate logical circuit on inputs of links in a proof this kind of thing would presumably entailed. Coming up with a relationship between how the size of a program must grow as the inputs grow so. So we would hope from the. Moving stuff like an N.P.C. poly We got some sort of almost every type lower bound we could show something like every logical circuit sewing all sentences is on ten of the eight clauses requires at least say to sixty eight. OK So this these numbers are totally made up you know this is something that would be extracted from such a proof. If we could prove it. So what's the basic problem of algorithms for circuits. Well we take some generic computational problem where circuits or inputs. So we're given a small circuit see if we wanted term and whether See satisfy some property. Or can the property be could be many different things. One famous property is circuit set is there an imput that makes a circuit print one or not. Another problem is counting circuit set. So is a number of inputs make the circuit print one at least half all inputs greater than half of all inputs. Then there are some trivial problems like zero said if I give this thing all zeroes does it print one. OK so the the properties can be trivial. They can be Sharpy complete it could be N.P. complete. So such problems are almost always hard to solve rhythmically. And these problems of this kind can typically be solved in two to in times time exhaustive search time where N. is the number of inputs to the circuit and S. is the size of the circuit so just evaluation all possible inputs. And the question is can we do better than this trivial exhaustive search are there faster algorithms for circuit analysis problems. That's the algorithms for circuits question in general. So the kind of circuit analysis problem will look at is the set problem. So it's in a sense very simple because for any. Particular class of boolean circuit you might have you can define some C. Set problem for that class of circuit C.. And it's just I give you a circuit case from that class is their assignment and makes the circuit print one is the circuit trivial is that a trivial function is that all zeroes. You know equivalently. But negating things is that all ones. So do you just checking on whether or not it's a trivial circuit. And as I mentioned earlier this. Problem is N.P. complete for essentially all interesting class A C. and of course we can solve it in exhaustive search time. So what has been studied about this problem. Well for simple enough circuits if we make the circuits really restricted we know a faster so the three set problem can be seen as very very restrictive circuits where we have and or as of three variables which are either positive or negated right. And in that case we have all rhythms the form to the in minus and over C. times K. were C. is some fixed constant and for K. set in general this vein in here will grow like a and OK but is K. grows our improvement over to the in gets weaker and weaker. So we get some kind of improvement but it's still an exponential time proven in still some experimental time. Right. And there's been a long line of work in the most recent one is that I have to moan her plea in Fox a couple weeks ago we show that three set can be solved in one point three zero eight to the end. So this steady progress. On these kinds of things. Now also for counting the number in satisfying assignments to a case you know formula. You also have faster our thumbs. Now we can generalize things a bit and say OK. What if instead of just debt through circuits we look at constant debt servants say ANS of or that ends with knots at the bottom. And this is a c's erode set. Now it's known even there you get some kind of improvements but the improvements get worse as the depth increases and as a size increases so this is some recent work of impious of Matthews and material that will appear and so to use the phrase easier said we can get slightly better are things. And for this class A C. C. which I'll just describe very briefly here and go into more detail later. It's a constant that with and Gates or gates not in some funny model in gate which is basically computing divisibility by some integer him. And there we can also get some small improvement over to the end. We can also count the number of satisfy assignments and he see in this time. And so moving up to stronger things. What about generic formulas over AND OR and NOT. So their roles on thought him as a result where he shows that that formula set you can count the number of science science. Again and slightly faster than two in time but this only works for formulas of size seat times and so it only works for sufficiently small science formulas. OK Now what about circuit set. We have just generic circuits over and or not. Let's say their particular size and the number of inputs. Where we know they're nothing as far as I know so we we don't know of any improvement over just an exhaustive search trying all possibilities. Not even an asymptotic improvement and will see that this question. So it seems like a very simple just improve slightly exhaustive search that actually deeply related to the problem of proving. Limitations on generic circuits over and we're not. So just advertise where this work comes from the topic of algorithms or circuits at concerts a very small part of this area of exact algorithms for N.P.R. problems where you want to solve the problem you don't believe be equals N.P. but you want the fastest hour of them anyway so what's a fast car and you can get sometimes you can get to the Square event. Better than through the end. Sometimes you can only get one point ninety and sometimes you don't know anything so understanding. What we can do is the main goal of this area. OK so that's circuits. Now what about circuits for Allison's though again recall that piece poly is a set of problems solvable with one of the circuit families. Where the number of gates is polynomial in the input size. So most boolean functions require huge circuits and so most functions that you would come across. If you were to pick random functions. They need enormous circuit so most functions are not going to most languages just take random language is not going to fall in peace. But we'd like to know specific language is so we'd like to know what can be done in piece. So what sorts of our thumbs can be simulated with small size circuits when I give you the ability to have a separate program for each input length. So so what sorts of traditional uniform ours can be similarly in this way that's the circuits for our sins problem. The problem is that not uniformly can be very very powerful we can have extremely simple circuit families that compute undecidable languages so trying to understand what can be simulated in pieces. Paul and what cannot is quite difficult. So for example one big open question is whether or not a term a sick. Excellent. Time is in peace poly. So just in English can all problems that have exponentially long solutions. So in N.P. you get Palami along solutions you can verify here you have exponential long solutions you verify. Can these problems be solved with polynomial size circuit families seems kind of ridiculous it would mean that in a sense every. Exponential long solution can be compressed down to a poly or size circuit and we know that exponentials are much bigger than Paul mules. So this should work. Another way of saying is give an infinite pre-processing time to set up a different program for each input length. Can we then solve in X. problems with some very small programs. I mean seems strange with this kind of thing is open. We really don't have good ways of attacking it. Well maybe we do it depends on whether or not you believe the rest of my talk. So one think that's really nice about the circuits for algorithms question is that they have interesting consequences regardless of how they get result if if exponential time has pong your size circuits that's that imply something interesting. We know that. Thanks Michel. Time doesn't have power and size or has that implies another interesting thing. So a result that. Back to the famous paper of corp and Lipton so that if exponential time is everything computed an exponential time actually had Pono side circuits we would have a proof that. And slight strengthening of this do the I think it's usually pretty common. It's a knock off is that if every problem solver want to do the in time has circuit smaller than say one point nine nine to the in. Friendly many input links you can still prove that P. is different from and B. So just getting some so if not you know for many if having a different circuit for each input link helps even. Point zero zero one in the exponent. We can still separate people on the other hand it's known that if exponential time is not in pieces poly. This implies forms of pseudo random generators. So this means that. For randomized algorithms we can come up with a terminus equivalence. They don't run too much and they don't have to do exhaustive search over all random sees some significant speed up over exhaustive search in the simulation of the randomized. So famous theory of impious when bigger sun is that is some problem and say to the nth time the circuits larger than one point nine nine to the end for almost all input links in peak was B.P. So randomization for Paul the meal time is just the same as a term instict long time. So either way understanding. This question. We know that it gives really interesting consequences. When it was OK and even if we show that in X. weren't in pieces Poly that would give us some non-trivial the randomization of Merlin Arthur games basically the probably stick version of M.P. inside of the terminal stick version of N.P. in P.. You mean as far as circuits go. We don't really know anything better than say take the best our grip and you know and rewrite it as a circuit with say logarithmic overhead. In whatever the running time was logarithmic overhead. Yeah yeah I mean for B.P. of course we know it has no necessity but like you know for things like factory. So this evidence or circuits in the phrase is trying to design a faster circuit analysis aren't so given a service input analyze it more efficiently the circuits for algorithms problem is the problem of trying to design small circuits to simulate complicated ones running and not in terms of exponential time or exponential time. So we'll mostly study the negation of this. We don't believe the circuits are there. We don't believe that say exponential time things can be simulated by palm sized objects. Even if I give you a different one for each input link so mostly study this and the big question is can we use one of these kinds of tests to inform the other can it be that interesting circuit analysis our thumbs. Tell us something about the limitations of circuit so if I can analyze a circuit faster than exhaustive search. What does this say about the limits of that circuit say something about the inability of that circuit to do something. OK so this question has quite a history and. You have some of the highlights that history here. So if you take the contrapositive of what I said a few slides back. If P. equals N.P. If we have perfect circuit analysis for circuits at Parliament time errands to get set then we have that special time of course exponential size circuits. OK So in that case perfect perfect circuit analysis gives us a circuit lower bound. But there are other things like the natural proofs barrier for us were often routes can be seen in this way. So informally what they say show is that if your circuit lower bound proof constructs upon a time hour with them they can distinguish part of functions with respect to your circuit class from easy functions respect that sort of class then in fact this is too much and so your circuits are actually too weak to even support strong suit of random functions and because we believe that pseudo random functions exist. We don't believe. That such proofs will be able to give us the like separations of P. from and B.. So again this is a kind of circuit and Alice's out of them showing weakness circuit. Then there's another. Hearing from the ninety's called the satisfied really coating them but to repeal like insane where they show a particular image says basically casing their formulas with few satisfying assignments actually have a very compressible satisfying assignment. So like by setting just a few variables you can recover the rest of the Simon and. This little structural limit was very interesting in that they gave a faster arm for case at using a lemma and they also proved circuit sizes were bounds using the same limit in a different way. So having some nice structural lemma got algorithms and they got lower bounds as well. So another example is from so yes so they showed that. So they show that the PIRA the function they should really tight circular bounds of the period function and they nailed it down to even the leading polynomial. So we know that from its results that parity isn't in a C.Z. or with to the square root of it. The nail down up to the polynomial in the in the front of that. So another example is from cabinets and also they show that some expansion time mountains were part of your identity testing also give us circuit size lower bounds in a certain sense but here the SO expense of time has to be of the form to the end of epsilon So it has to be really good circuit analysis. And finally example is this minimum size problem. Where you're given it to the end bit truth table of a boolean function and you give an integer K.. In just one though. Does this function have a circuit of size in most cases. So this is in fact a problem and in M.P. because the input is of linked to the N. so guessing the circuit for it won't take more than order to the in bits and then verify all possible inputs it takes and we're more than Paul Gnomeo into the end it was actually N.P. problem and they show that if this problem. Turn out to be implemented time then in fact you could get new maximum circuit complexity lower bounds but also you would get that there are no strong suit of M. generator so so maybe this thing doesn't hold depends on your beliefs about a sort of Ram Singh. OK So that's just an overview of circuits for algorithms and I don't see circuits now talk about a new way in which our thems can imply lower bounds. So suppose we have an hour of them for the circuit set problem where the circuit has into the K. gates for a fixed constant and inputs. Suppose for all constants K. we can get out when that runs not into the IN TIMES into the K. but something like To the end over end of the ten K. here ten is just some small constant maybe make it four or five. So this is like a very small improvement over exam so it's not like one point nine to the In my case at our thumbs. So in fact this kind of circuit analysis has already imply that in X.'s and pieces falling. So even getting a tiny improvement over exhaustive search and since of like it's come to nominator would already imply. That X. can have places. So in fact this thing can be generalized to different circuit classes. So I suppose you could solve formulas set in such a fashion into the end time then that would entail that in X. isn't in non uniform in C. one basically says an extra. And have palm oil science formulas even one uniformly. And A C C set. Not if it's in less than through the in time we also get a lower bound for A C C. And moreover it doesn't have to be an impi complete problem that we solve in order to get these lower bounds. So suppose I give you a circuit C. It's either unset or has at least half its assignment satisfying and you just want to turn which is the case and I want to do it not using randomness. So the user end of this problem is trivial to distinguish yet so I want you to do it. Through the end over in the tenth time deterministically if you can do this in turn a sickly In fact you still get extras and pieces probably so in fact very very weak. DRAM as Asians. Already get circuit lower bound. So out of the insights into the analyzing circuits translate directly into limitations and circuits. So why my something like this be true. I'm saying that you get an algorithm in actually implies a lower bound. So why is something like this hold. Well OK. Suppose you can inspect the circuit. And determine whether or not it prints a bit and do it in less than two in time then for that same class of circuits we get the circuit lower bound now. So we're turning positives. Into negatives. OK So what is this thing saying saying well a faster. C. set out with them is uncovering a weakness in representing computations with these C. circuits the C. circuit cannot hide input from me and makes it plain. When it's not like a black box if it were a black box it would take to in right. So I can beat the black box by looking inspecting the circuit. And so. So somehow I'm showing that C. set that C. circuits are weak by solving C. set faster into the N.. So I'm showing that Caesar gets a week. And another way of looking at is that a faster C. said our of them is uncovering a strength in our rooms at which one in Lesson two that in and telling you something that can be done and listen to the end you didn't think could be done. Namely finding input which makes the circuit print one. So just very very informally showing that the circuits are weak and that lets an exponential time a strong. So how I'm going to separate the two and show you that there is a problem and next doesn't have C. circuits following size is that again this is like you know some really massive handwaving. But that's something to which an as to why this thing. Might work and why it might be true. So let's look at the sort of vaguely go over how the argument works. So assume that in X. has polar Sysiphus from a class Q. and this Q. set problem for this class. Q Can we saw them listen to the N. who want to take these two assumptions and derive a contradiction. So that if we actually get the Q. set out with him in X. can't have coincide seconds. That's the basic idea. And. In fact you can take the argument of corp Lipton and Meyer from nine hundred eighty and put it in this kind of framework as well so assume that people's M.P. an exponential time as part of the size circuits you want to derive a contradiction from this. So the first observation is that the expansion of time isn't peace lost Polly. Then. For every exponential time machine. So it runs in say to the nth time there's a small circuit see if it goes a computation history of this thing is so enclosed like a whole computation Tablo of that machine running. So more formally for every string X.. If I go. The circuit. X. and I and J. will print the content and say the Jets sell the Jets register of that machine at the ITE step. And it's appalling the size of the so this is not too hard to show. Now the behavior of this machine. Given this. This circuit exists and can be simulated in Sigma two P.. Namely by just guessing the circuit that's in coding this computation history and then trying all possible steps in all possible cells J. we can check the circuit is making consistent claims about the cells around J In the steps around this is just the usual So many proofs of the eleven theorem work like this you may have seen. So here we're just say guessing a circuit that encoding is Tablo then checking all these claims. Now the point is that this inner part is a koan P. predicate. So this is some universal guessing and this is a problem real time check because C. is just a bonus. I circuit. So just checking that the thing is consistent with the transition table of the machine is something that's easy to check. So the point is that because the peak was empty because we're assuming people's M.P. we can replace this inner part with a poly all time compute will predicate. OK. And now this is an empty predicate. So we can replace this whole thing with something in polymer time. So we take an exponential time machine and simulate Impala real time that contradicts the time so it can't be both people's M.P. and X. is in peace and. So that's how that argument works. So we use this assumption to get small objects and coding large computations. And then use this to simulate. The large computation faster than it should be. So the basic principle is used in our proof. So we have to start from a different. Kind of connection by impossible comments and vigorously from a one. So they show that if not in terms of exponential time as Palmer size Q. circuits. Then in fact their Q. circuits see again in coding tell blows and this means that for every non-deterministic to the end time machine and every string this circuit C. is going to print the G eight zero at the step for some accepting path of the computation. Now that this is actually a very non-trivial theorem getting a circuit that actually encode something for a single accepting computation path is not easy to do in fact the proof goes through results and the randomization. So. So it's very nice result. Now the behavior of this machine can then again be simulated in Segment two Pete. Now just guessing the circuits in going the Tablo and just doing as we did before. Now the question we have now is we'd like to use our Q. set our of them instead of the Palm real time hour and for set. So we need to somehow express this thing efficiently as a queue set instance somehow. And provided we can do that then we could replace this thing with say a to the end over in the ten time predicate so this an inner part and then we'd have this machine which ran into the in time can now be implemented to run into the end over end of the tenth time and that will contradict the non-terminal stick. That's that's the idea at a high level. Now the. The big catch is expressing this thing efficiently as a queue set and that's that takes several steps. So how much time. OK. Right. So I'll just briefly go over what you need to do here. There are basically two problems with the. There are basically two problems one is that. The number of bits being fed to the circuit set in stone so you can think of this is a circuit set and since the number of bits being fed to this thing is like two in not in so the number of inputs is too large to go from so here you get like forty in here if you grant through the rest of first problem. The second problem is that OK this is a Q. circuit C. is a Q. circuit but to check that C. is making consistent claims about everything that may not be describable as a circuit from this class. Q So there are two things to worry about. So just very briefly talk about them. There's another way to encode efficient computation so or efficiently encode. Exponential time computations where instead of having a huge table. You just on the step print order in bits of Compu of content representing that thing in step by and this thing lets us reduce the number of inputs the circuit set instance down to something like him. Plus five log. So we get the number of employees down and then the second step is that we need to use the assumption that an excess power Messias or get some class Q. so we're assuming that Hugh circuits can do tons of things exponential time things. So what we can do is we can get help or circuits from this class Q. they're going to help us check different parts the computation and the check those different parts are correct. We used a cue set our rhythm to check to say this part is equivalent to that part and by checking whether or not. This you know say the two circuits with an equal gate above it is in a knot is unset say. So we use the cue set to check that our guesses are going to work out. Anyway that's just very very high level idea of how the thing goes. Yes So. So there are there are certain. Operators that need to be satisfied. You know in order for the the proof to work out. Yes So depending on how so they're different versions of the proof. So one. So one version of proof means that say the class is close in a composition circuits. So like if I take one circuit family and there is circuit family and I think their composition. Let's say then this is also in the surrogate family. But they may not be true for circuits that they have a special output gate at the top so. So there are certain properties that have to be satisfied in order to. It doesn't go through for every class Q. but but most classes. Yeah yeah it could be that like if they you insist on having certain get to the bottom with like bounded Fane in there and it's only like that. Three. But then you compose of that six as another thing. So that's just a very broad overview of that now I'm going to show you how we actually get a lower bound from this connection. So how can we prove that an X. is not in this class a C.C.. So this was the connection that we showed and in fact we're going to give explicitly a faster satisfy Billy hour than for these eighty circuits. So now it's time to define what is a C C Before you go any further. So he circuit family has the following property so as we saw earlier the circuit takes in bits of input and outputs a bit the gates of this circuit can be and or not and Madea and they have valid fan for each gate and the modern gate. So given the X. one two X. T. is input it prints want if and only if the sum of the bits is divisible by M.. So for. Arp. Services equal six was already like wide open territory. So thank him equal six it was six and more with the circuit has constant depth in the pin of in so you can take the constant to be equal to three. So I think that the group of three equals a six. Understanding this classes was over. So here's just an example circuit so and is eleven the size the number of gates this five and the depth is three. So just some remarks the default size of the circuit. When I forget to tell you. Maybe is pong only one in OK and more this is again a non uniform model of computation so you can in fact compute some undecidable languages. Even in this class but at the same time we don't think eighty circuits are very strong so they can be efficiently simulated by constant that threshold circuits constantly are neural networks. So we don't think they can do very much. Even though we get to design a separate circuit future. So where does AC come from. Yeah. Yes this slide will answer your question. So yes well you can if you didn't raise your hand and was like OK thanks. So so where does a C. come from. It looks like some weird. And so Terry thing like what is mob stuff about so well it started from people trying to prove and that doesn't have all of the science circuits. And so they started with constant depth and I try first. Sex and sips are showed in the early eighty's and the parity of in bits is not in a C.Z. row. And this is size as you see but without the mod him. So and or is in knots constant up. Was both and Smolinski extended this to show. Suppose you want to compute three function. OK so they show you can't do that and easier if you have two gates. So if I give you the parity function for free as a primitive then what can you do. Well you can't do much three. And if I give you month three. You can't do much to. And in general if being Q. distinct primes then you can't do P. Even if I give you my Q. and or not constant. K. so. So the next question is OK what if I give you three and mod two for free. Six. It's equivalent to months six so Berrington suggested this A.C.C. is the next step and he conjectured that the majority function and bits are just computing the most popular bit is not in A.C.C. and we believe this is true but some time went by and we couldn't show it. So in the early ninety's people said OK find a function in M.P.. That is not in A.C.C. so prove the clique function does not have depth three. So it gets a modest six. Some time passed and not much happened. And so in the late ninety's it was conjectured in X. is not in A.C.C. so if I find like something with experts here long solutions that can be done with that three months six. Yes laugh. Laughter is the appropriate response to this really I mean it's like over time this thing ballooned into the most embarrassing conjecture and complexity theory which. You know stories also where is all that I mean yes so we can prove it and it goes through this satisfiability our rooms imply a lower bounce connection. OK so how does this new algorithm work. Well uses some fairly old ingredients. So one is a known representation of A C C. So a representation due to being on Tyree is that every A.C.C. function can be efficiently put in the following form so it can be to the compose into a G. of h's. Where H is some sparse multilinear palm. So it doesn't have any squares in it and as I evaluated over all this possible Cyrus It takes a value between zero and K. where K. is not too large. So it's quasi polynomial in whatever the A.C.C. circuit sizes underlying and by sparse here. I mean it hasn't most K.. On Wheels and it. OK. That's age and what is G is just some arbitrary look up table. So it takes something from zero to K. in Princes single bit. OK now because this is quasi polynomial we could just write the thing down. We could just represent it with quasi polymer you size. This is a zero one table. So we have this known representation of A.C.C. and it was derived as far as I know for the purpose of trying to prove lower bounds. Now the second ingredient we use is a fast for a transform for multivariate multilinear polynomials. Which lets us quickly evaluate such an age when all that's possible. Simon's. Now idea is we're going to combine these two ingredients together. To get our faster set of. So the fast Free Transform thing is just conversion from the coefficient representation to the point representation say in the bullion hypercube so that doesn't depend on the sparsity of the sparsity is necessary for getting a set algorithm anyway. For reasons that we'll see. So there's some there's some other tricks being used in the set written which would get us there so just to show you how simple this thing is so that there is given a multilayer Paul Gnomeo and Co version representation. We can get the point representations on the bullying hypercube so we can compute evaluate effects on all these points in Paul Gnomeo M. or ties time per point. OK So the idea is very simple we can just write a multilinear polynomial in this kind of form where these are all the one on wheels at the pin on X. one and these are those that don't and we want to the table that contains a value of age and altered in points. So algorithm is extremely simple. So if the number of inputs is one we just return zero and one. OK. Otherwise we are cursedly compute the table. T. one for each one in the table T two for H. two OK. We get back the wanted to do and then we can catch the table. T. to with the point why some of the wanted to do. That's it. So we're using the fact that these are polynomials we're working with that we can pull out variables and things are community. OK so those running time as this recurrence. We call this thing twice on to the minus one. And that things also true in terms of poly and so it's really that simple. Now. How does a city set of them go. So we can. So just precisely for all that there's an epsilon So the A.C.C. set with the inputs into the epsilon science can be solved. And to the end minus about in the epsilon time. So recall that we just needed to end over end of the ten. So here are getting a nominee or two to the salon so that's good. So the proof is by picture we start with some some exponential size circuit see A.T.C. It has in input. OK so we're going to do the following input size trade off. We're going to do a partial brute force search for satisfy really we take the first in the epsilon inputs and we try all possible assignments for them that induces some copy of a circuit and we take there or. So so we get a circuit which is a bit larger. But it has fewer inputs because we're essentially forcing sat on into the salon input. So this has two properties. The simple reduction one. If this thing is a C C C had that these say this thing is that the post. One is still a C C or is contained in the operations you can use and. The second observation is that this is satisfiable if and only if this is satisfiable. If there is some way to set this thing to make the rest print one so that in the epsilon then there is some copy here which will print one when I give it. OK. It was very simple trick. But now because this thing is as you see it has fewer him puts we can apply this transformation I told you about earlier we take this thing in represented as a G. of his Ok now that blows things up by a quasi polynomial but a quasi polynomial of this means we incur a constant factor. You know and. So we get some look up table gee of this size and we get Paul Gnomeo with this many one only else and it's only over in minus in an absolute input variables. Yeah yeah yeah I forgot to mention Yeah so it weren't quasi punctual time. So the transformation was incredibly. You know. OK So then the final step is just use this fast evaluation argument from the previous slide. We just evaluate this in all this possible Simon some polymer ties time and we just look each of them up see if any of them print one and even print one we report satisfied. Otherwise. And so I said OK. And so it's really exploring this connection that was known for a long time between A C C in polynomials. The problem was that there was this composition going on of the poem it was something else and that's what the Serafin was getting around. OK so I want to clue with some thoughts about future work. There's a lot of directions for future work. The main two directions order a place in next with simpler complexity classes. OK so can replace an exponential time. B.P. space. Maybe M.P. now the natural idea is that OK to do that we may have to improve on exhaustive search for more complicated circuit analysis problems means that we did the thing is a hard problem but when you look at it in the circuit analysis perspective you're just checking whether it's all zeroes or not but you could do other things you count the number of satisfy assignments. You could you know solve some Q.B. F. where the circuit is a predicate some point five billion for me with the support of it and you could do other kinds of things. So for example one can show that if you can count the number of satisfying assignments to a three C. in a formula and substantial time then you would have that extra. Not in pieces by and we don't know whether or not such a thing is true if you remove the counting part. So this goes through a connection between the circuit lower bounds and the randomization. So another direction is to find stronger circuits which you can prove in X. isn't in that circuit class. So try to get faster sat rhythms for formulas or for Threshold circuits. Or maybe just arbitrary Paul middle sized circuits and using the P.C.P. theorem. We know that we can weaken the hypothesis so the very strength and version of it is used to show that this promised problem of distinguishing between unset circuits and at least half. Satisfying circuits is still enough to get lower bounds. So we know that. In fact if I give you a formula and I say this formula unset or half as assignment satisfy determine which is the case and lesson to the end. Solving that would give us an exposition in C. one should be a big advance. So one thing we can show along these lines is something about the Quantified boolean formula problem. So we saw earlier that case set can be solved in about say one point nine of the in for sufficiently small K. so for the second we saw one point three zero eight and suppose we could extend that to not satisfy Billy but for quantified things where instead of having existential quantifier as in all of variables. We get to put universal quantifiers here and there in the variables. If we could do that. In the not one point nine of them to the N. minus into the Point One time is much much weaker. Then we could actually get the separation of an X. from N.C. one. So there's something about quantified putting quantifiers on formulas that make some seeming. Much much harder to solve or maybe this hypothesis is true. And finally just in general I think there are lots of other connections between finding better our things improving lower bounds that are out there trying to analyze our thumbs and turning into lower bounds taking lower bounds and using them to guaranteed another hour in works. So just the idea of discovering further connections is something I think it's worth exploring. Thank you. Thank you. Yeah yeah yeah. This is yes. So this definitely would imply that stuff is false. Like this is much stronger than that. Yeah so. So this is I don't know how believable this is this is quite believable. Yes I should say that carefully this. I'm not sure. Like maybe you could design such accounting set algorithm assuming already the exponential time has Panos I circuits. That's allowed if you want to prove that expense of time is in peace. I'd probably. In fact you can go pretty far trying to design our than to assume you have the circuits already. But I don't know how to get a contradiction to what you know that would be the idea behind using that result. If you need games as false as that imply circular bounce or circuit anything could be. I don't know I don't know of any connections. There's an algorithm I don't know what it gives us. I don't know it's a good question. I don't think.