Picks

youtube · talk · 2026-10-29 · Ryan O'Donnell

Is the Exponential Time Hypothesis false? A lecture on an unfinished claim

The source's own title: ETH False

Ryan O'Donnell walks through a claimed subexponential algorithm for exact #3-SAT, and says himself that the key construction is not finished.

Video

How its claims stand
  • Said here alone: 33

What it says

  1. The claimed result is a subexponential algorithm for exact #3-SAT, stronger than a subexponential decision algorithm and therefore a claimed failure of ETH. Sparsification and a size-preserving reduction shift the task to permanents of bounded-degree sparse matrices, improving on the standard essentially 2^n algorithm. The proposed approach constructs a low-degree matrix polynomial A(t) whose value at zero is the input and whose selected evaluations have tractable permanents. Hermite interpolation recovers the original permanent from values and derivatives, with derivatives computed through submatrix permanents. The desired evaluations combine small block-diagonal pieces with low-rank errors. Their construction relies on a low-degree polynomial agreeing exactly with parity on almost all Boolean inputs: symmetry and concentration allow interpolation only on central Hamming-weight layers. Sparse disagreement then supplies low rank, and Hadamard transforms are proposed to connect this approximation to matrix replacements. The resulting running-time exponent is claimed to be roughly n/√log n with log-log factors, but the matrix construction remains unfinished and O'Donnell acknowledges gaps in his understanding.
  2. O'Donnell says that a classical reduction from sparse #3-SAT to permanent preserves the answer up to a known factor and preserves size, making sparse permanent computation sufficient for his goal. u13–15 · O'Donnell attributes the classical reduction to Valiant and later simplifications.
  3. For a zero-one matrix, the permanent counts perfect matchings in the bipartite graph represented by the matrix. For weighted entries, each matching contributes the product of its edge weights. u16–18 ·
  4. The permanent of an n×n matrix A is Σσ ∏ᵢ Aᵢ,σ(i), where σ ranges over permutations of the n indices. Unlike the determinant formula, this sum has no permutation-sign factor. u20–21 ·
  5. Bernardo clarifies that sparsification converts one dense 3-SAT instance into a subexponential number of sparse instances, rather than a single sparse instance. u40–41 · O'Donnell says the sparse result already suffices to break ETH, although standard sparsification can worsen the quantitative saving.
  6. Permanent can be computed in essentially 2^n time even for nonsparse n×n matrices. O'Donnell sketches dynamic programming that stores one subproblem for each subset of columns, rather than enumerating n! permutations. u50–58 · Polynomial factors are suppressed in the stated running time.
  7. O'Donnell says the reduction can ensure O(1) nonzero entries in every row and column of the permanent instance, corresponding to a bounded-degree bipartite graph. u60–63 · This strengthens the earlier assumption of O(n) total nonzeros.
  8. O'Donnell sets the matrix-polynomial degree D at roughly √log n, suppressing log-log factors, and takes L roughly log n/log log n. Consequently, P(t) = perm(A(t)) has degree at most nD. u75–87 · O'Donnell deliberately omits some log-log factors in this presentation.
  9. O'Donnell estimates the dominant derivative-computation cost as 2^(n/polylog n) times (n/n̂)^O(n̂). With n̂ roughly n/√log n, the resulting exponent is roughly n/√log n times log-log factors. u149–152 · The count of derivative evaluations contributes only a negligible polynomial factor in this accounting.
  10. The permanent of a block-diagonal matrix is the product of the permanents of its diagonal blocks. Blocks of dimension at most n/polylog n therefore permit computation in essentially 2^(n/polylog n) time using the baseline permanent algorithm. u183–189 · The block structure may become visible only after permuting rows and columns.
  11. O'Donnell states that the permanent of an n×n rank-r matrix can be computed in n^O(r) time, using a dynamic program based on a decomposition into r rank-one matrices. u192–199 · The dynamic program is suggested rather than worked out.
  12. For ±1-valued inputs over the reals, parity on L bits is x₁⋯xL and requires multilinear degree L. O'Donnell contrasts this with zero-one inputs over the field modulo two, where parity is a degree-one sum. u228–234 ·
  13. The proposed approximation G satisfies Pr[G(X) ≠ parityL(X)] ≤ ε, with ε taken as 1/L^100. Thus the truth table of G − parityL has at most ε2^L nonzero entries. u242–247 · Agreement is exact on the good inputs; on exceptional inputs G may take arbitrarily large values rather than remain close numerically.
  14. The middle Hamming-weight layer of the L-dimensional Boolean cube contains binomial(L, L/2) strings, which O'Donnell describes as approximately 2^L/√L, or a 1/√L fraction of the cube. u272 · The count concerns the middle layer when L/2 is an integer; the stated approximation suppresses constant factors.
  15. O'Donnell proposes forming H diag(G) H, with G's real-valued truth table on the diagonal and H a Hadamard matrix, as a surrogate for the corresponding matrix built from parity. u294–298 ·
  16. O'Donnell sketches factoring A so that an anti-diagonal matrix appears, then replacing that factor with approximations derived from G to obtain more structured matrices. u300–302 · The construction is presented only as an unfinished sketch.
  17. The permanent's degree-n polynomial form is what makes interpolation between different matrices available as a central proof technique. u29–30 · The algebraic representation enables recovery of a hard permanent from related evaluations.
  18. Hermite interpolation supplies the missing information when there are too few easy evaluation points: derivative values give additional linear constraints on the coefficients of P(t) = perm(A(t)). u113–117 · Only about logarithmically many evaluation points are available, far fewer than the degree of P.
  19. The running-time saving comes from D being substantially smaller than L: interpolation needs roughly nD/L derivative orders per point, or about n/√log n after suppressing log-log factors. u118–125 · The argument requires enough value-and-derivative constraints to exceed the degree nD.
  20. Fast submatrix-permanent computation is included in the plan because derivatives of perm(A(t)) at the structured points can be computed using collections of submatrix permanents. u171–175 · O'Donnell leaves the algebra as an exercise and is tentative about the exact submatrices involved.
  21. The block-diagonal-plus-low-rank structure also supports the required submatrix computations because taking submatrices preserves block structure and cannot increase the error's rank. u211–212 · This supplies the structural closure needed for the derivative part of the interpolation plan.
  22. O'Donnell identifies the inverse-power disagreement fraction in L as the source of an inverse-power-of-log-N fractional rank, because L is roughly log N. u250–254 · The lecture identifies the source of the logarithmic factor without completing the conversion from approximation error to rank.
  23. Symmetry reduces polynomial representation on the Boolean cube to a univariate problem: a symmetric function can be expressed as a polynomial in x₁ + ⋯ + xL, with degree matching the function's multivariate degree. u260–266 · The reduction lets the parity approximation be constructed through univariate interpolation.
  24. Concentration of Boolean inputs near Hamming weight L/2 makes it sufficient to match parity on a band whose width scales like √L√log L. O'Donnell invokes a Chernoff bound to give an outside fraction of L^-100. u273–275 · The band-width discussion is informal about constants, and later spoken degree expressions are inconsistent.
  25. O'Donnell presents the claimed failure of ETH as a stronger counting result: exact #3-SAT, not merely the decision version of 3-SAT, can be solved in subexponential time. u1–8 ·
    Classroom blackboard for Lecture 18: ETH False
  26. The proof plan is to construct a low-degree matrix polynomial A(t) with A(0) equal to the input, while A(1), …, A(L) have efficiently computable permanents and submatrix permanents. Values and derivatives at these structured matrices will recover the original permanent. u69–99 ·
  27. The useful structured matrices are sums B + E, where B is block diagonal with small blocks and E has low rank. O'Donnell gives a permanent-computation bound of 2^O(s)n^O(r) for block size s and error rank r. u204–210 ·
  28. O'Donnell identifies low-degree agreement with parity as the key remaining ingredient: a polynomial of degree roughly √L times logarithmic factors can equal parity on almost all Boolean inputs. The degree saving will feed into interpolation, while the exceptional inputs will account for the low-rank error. u238–247 ·
  29. A low-degree polynomial can agree exactly with parity on almost all Boolean inputs by matching parity on the middle Hamming-weight layers and allowing arbitrary values elsewhere. u285–288 ·
  30. Univariate interpolation supplies the low-degree parity approximation: prescribing values at D + 1 points requires degree at most D, so only the selected central layers need to be interpolated. u285–287 ·
  31. O'Donnell explicitly warns that the lecture is an unrehearsed attempt to explain a proof whose parts he does not all understand. u2–3 · The lecture's announced result should be distinguished from a fully worked-out proof in this excerpt.
  32. O'Donnell says the proposed construction cannot provide more than about log n structured evaluation points. A single very easy point would require essentially all derivative orders and would yield no speedup. u155–162 · The plan trades extremely cheap evaluation at one point for moderately cheap evaluation at several points.
  33. Exact #3-SAT is claimed to admit a subexponential algorithm through permanent interpolation at block-diagonal-plus-low-rank matrices built using low-degree agreement with parity, although the full construction is not completed. How can low-degree agreement with parity and Hermite interpolation be used to compute exact #3-SAT counts in subexponential time?
How it argues
  1. thesis Claimed subexponential exact counting hinges on unfinished permanent construction How can low-degree agreement with parity and Hermite interpolation be used to compute exact #3-SAT counts in subexponential time?
    1. theme Reduce exact counting to sparse permanent A size-preserving reduction makes sparse permanent computation sufficient for the claimed counting result, subject to sparsification and the lecture's explicit caveats.
      1. idea Claimed speedup computes exact counts, not just satisfiability
        1. tension Lecturer warns his understanding of the proof is incomplete
        2. mechanism Size-preserving reduction transfers counting to sparse permanent
          1. mechanism Reduction ensures bounded row and column degrees
        3. mechanism Sparsification produces subexponentially many sparse instances
    2. theme Recover the answer through derivatives Hermite interpolation promises a subexponential algorithm when the matrix-polynomial degree is much smaller than the number of structured evaluation points.
      1. idea Interpolate from structured matrices to the input permanent
        1. argument Permanent's polynomial form enables matrix interpolation
          1. mechanism Permanent sums degree-n products without permutation signs
        2. mechanism Matrix degree D bounds permanent degree by nD
        3. mechanism Hermite derivatives compensate for too few evaluation points
          1. mechanism D smaller than L reduces required derivative orders
            1. evidence Derivative cost estimate yields a sublinear exponent
            2. tension Available points are limited; one gives no speedup
          2. mechanism Submatrix permanents supply the required derivatives
    3. theme Make structured permanents efficiently computable Small diagonal blocks plus a low-rank error permit fast permanent and submatrix-permanent computation.
      1. idea Small blocks plus low rank enable fast permanents
        1. mechanism Block-diagonal permanents factor into small-block permanents
          1. mechanism Subset dynamic programming computes permanents in exponential time
        2. mechanism Rank-r permanents admit n^O(r) computation
        3. implication Submatrices retain block structure and bounded error rank
    4. theme Trade exact parity for near-total agreement Interpolating parity on central Hamming-weight layers gives a low-degree polynomial that agrees exactly on almost all Boolean inputs.
      1. idea Low-degree parity agreement supplies degree and rank savings
        1. idea Exact real parity requires full multilinear degree
        2. mechanism Match central layers and allow errors elsewhere
          1. mechanism Symmetry reduces Boolean representation to one variable
          2. argument Concentration places almost all inputs in central layers
          3. mechanism Interpolating selected layers keeps polynomial degree low
        3. implication Disagreement bound makes the truth-table error sparse
    5. theme Turn parity agreement into matrix structure The unfinished construction proposes Hadamard-transformed parity approximations to produce structured matrices with low-rank errors.
      1. idea Replace an anti-diagonal factor with parity-based approximations
        1. mechanism Hadamard transforms turn G's truth table into matrices
          1. mechanism Rare disagreements yield inverse-polylogarithmic fractional error rank

The source, passage by passage

ETH False
  1. u1 Well, let's try it. Uh Okay, so we interrupt our regularly scheduled complexity class to try to prove that ETH is false and that uh SAT can be solved in sub-exponential time. Uh this came out a couple days ago.
    Classroom blackboard for Lecture 18: ETH False
    0:01 · Classroom blackboard for Lecture 18: ETH False · A wide view of a dark wall-length blackboard in an otherwise empty room, with a small amount of chalk writing on the left. The writing gives a URL to a CMU "some ETH false exposition" PDF and the heading "Lecture 18: ETH False" with a claim about SAT's running time. Two grey tables in the foreground hold a blue jacket, a water bottle and a few small items.
  2. u2 So, this lecture will not be very well prepared. Like normally I love to like perfectly rehearse and have my perfect notes set out and I know like all the details. I'm all suave up here, I hope, but it's going to be just the opposite today. Didn't get a lot of sleep. I don't really know how this is going to go.
  3. u3 I don't understand all the parts of the proof. But I had a good idea, which is like this is my current like, you know, AI version of the written version of the proof. So, please everybody get your laptop. Like just bring this up, give it to your agent, and then like if I get stuck, just like be like the professor is stuck trying to prove this part and help me out, okay?
  4. u4 Okay, let's try to do it.
  5. u5 >> [laughter]
  6. u6 >> Uh we'll we'll see how far we get or what happens. I have no plan. Uh okay, so we're going to try to prove that SAT is in sub-exponential time, which is pretty awesome. Uh this is this is much better. I mean, this is smaller than 1.000.01 for any number of zeros.
  7. u7 So, it's really sub-exponential. Uh what else do I want to say? Oh, in fact, it's much better than this. So, um sorry, this should say 3-SAT. Uh it's much better than this. It's going to be not just uh you know, I give you a 3-SAT 3-CNF formula, you tell me if it has a satisfying assignment or not.
  8. u8 We're going to exactly count the number of satisfying assignments. So, we're going to solve the much stronger result of showing that uh number of 3-SAT sharp 3-SAT can be solved in this ex- sub-exponential amount of time as well. Okay, so it's great that we had that lecture on counting uh complexity last lecture. Um Okay.
  9. u9 Uh So, this is the this is the result. Um Oh, as Bernardo is here also pointed out, uh if you're smart and you do something more sophisticated than the usual Cook-Levin, this also implies that uh anything solvable in non-deterministic time n can be solved in in this amount of time as well.
  10. u10 So, that's really great. Uh Okay, so I'm going to prove it to you under what's sort of a mild assumption. I'm going to prove it to you assuming that the three-SAT formula you're given has order n clauses.
  11. u11 Okay, so it has n variables and it could have up to I guess n cubed clauses, but we're going to assume it's sparse, has order n clauses. And I want to tell you this is not like a big deal to assume this. Um Previous work in like fine-grained complexity would show that if you could prove this under the order n clauses assumption, then you could also prove it in generality, but maybe you would lose this square root and it would become log n to the power of like 1 over 30 or something, which would still be super great.
  12. u12 Um In fact, uh you know, the OpenAI proof uh has some extra tricks beyond the sparsification that show exactly this result with the square root n here by doing something smarter. I didn't study that part, so I don't know how it goes, but it's only like three or four pages.
  13. u13 Anyway, I'm going to prove this version to you and we'll be satisfied. Um Yeah, also if I make any mistakes, just uh tell me if you know. Uh Okay, so if we were having our normal lecture 18, it would have been about uh sharp P and the permanent and uh permanent being sharp P complete, and we would have seen that three-classical, but uh this problem, sharp three-SAT, or kind of any like counting problem for like, you know, a CSP um reduces to permanent which I'll remind you about, computing permanent.
  14. u14 And the reduction is like, uh, you know, preserves the number of satisfying assignments or answer up to a fixed known factor and it it preserves the size and stuff. Um so it suffices to show that, um, permanent for sparse n by n matrices order n non-zeros is also in this same amount of time.
  15. u15 Okay, so this is basically a classical reduction due to Valiant and made simpler by others. Um Let me remind you a little bit about what is permanent. Permanent is also, okay, okay, permanent, if you have a matrix A is seen it before, uh, several times in this class, actually, but it's like some formula that's similar to determinant.
  16. u16 And if the matrix A has only zeros and ones in it, then it has a very natural counting interpretation. Uh, if it has only zeros and ones in it, you can think of it as sort of the biadjacency matrix of a bipartite graph with n vertices on the left and right and some edges according to where the zeros and ones are here.
  17. u17 And, uh, the permanent of the matrix counts the number of perfect matchings in this graph. Okay, so it also has a flavor of like, uh, you know, counting uh, a number of objects which there are a priori exponentially many. And you know, actually if the the matrix A has, uh, other entries in it like a three or like a for example, um, you can think of this like a the adjacency matrix of an edge weighted graph where some edges have weight, um, three or maybe two.
  18. u18 And then the the weight of a perfect matching is the product of the the weights on the edges. And if they're positive integers, you can actually also just think of this as like three parallel edges and so forth. Um it's also fine if they're like negative entries. Uh you know, you can have negative weights on your edges.
  19. u19 And in fact, uh like the slick version of this reduction maybe makes uh a matrix whose entries are like I don't know, minus one, zero, one, and maybe two and three or something. So, very small integer entries. Um Okay.
  20. u20 The uh the formula for permanent is um this. Sum and you can maybe see like why it's counting perfect matchings in general. Sum over all like permutations sigma mapping N to N. Uh this is also kind of like a generalized diagonal in the in the matrix.
  21. u21 Product I equals 1 to N A I sigma I. Okay, you see it's just like the determinant except uh there's no like stupid negative one sign of the permutation in here.
  22. u22 >> [snorts]
  23. u23 >> Um Okay. So, for the main goal, we're going to show this result that if you're computing the permanent of N by N matrices which are sparse, you can do it in slightly sub exponential time. Um I'll make a few more comments about it in uh a second, but it just occurred to me that I should also say I don't know.
  24. u24 As I'm doing this like lecture, you might find like it a little bit weird like we went into outer space. Like, you know, I started by telling you, "Oh, I'm going to show you how to solve three SAT like slightly more efficiently." And you'll be like, "Yeah, there's going to be clauses, there's going to be a satisfying assignments, there's going to be like truth and false and and so forth." And like pretty soon it's going to be like we got matrices, we got permanents, we got you know, ranks of matrices.
  25. u25 Uh we got polynomial interpolation, we got like some Fourier analysis or tensor notation. And you're going to be like, "What is going on? Like, I thought we were talking about SAT here. Um but actually I think it's kind of nice because if you go through the proof, I think like every ingredient in it is quite familiar to complexity theorists.
  26. u26 Like if you've had half a course in uh graduate complexity as you have, or even a full course in graduate complexity as you will have had soon, I really think like every piece will be like, oh yeah, this is like kind of standard stuff of the stuff sort they teach you in grad complexity. And it's nice that the whole result is just formed by, you know, putting these ideas together in a slightly clever way.
  27. u27 Anyway, this is just the like, you know, like 57 minutes in when we're trying to like understand some weird block diagonal matrix polynomial interpolation. I don't know. I will have warned you in advance that we would get there and we wouldn't like really feel like we're talking about SAT. Uh yeah.
  28. u28 >> So I guess the permanent is has this like self like random self-reducibility property. Is that like at all useful from a 3-SAT to a permanent
  29. u29 >> Uh yeah, so we're going to heavily use that the permanent is given I mean that self-reducibility property or um ability to like compute a permanent of one matrix by interpolation of permanents of other matrices is going to be super essential in the proof.
  30. u30 And this all stems from the fact that this formula shows that the permanent is a degree n polynomial in the entries of the matrix. So we're going to use polynomials a decent amount.
  31. u31 >> I don't Uh yeah, so the point you were making I guess I'm I'm curious if you have a feeling of whether there's something about like the SAT CNF representation for example that's like less amenable to a proof, meaning like like to to stay in that like kind of original space.
  32. u32 >> Yeah, I don't know. I mean like a real algebraic complexity theorist would tell you just like, oh, polynomials are so great, algebra is so great, like everything is like so much nicer when you're like,
  33. u33 >> [clears throat]
  34. u34 >> I don't know, studying the complexity of computing like a polynomial rather than computing some funny combinatorial function. Um Yeah, I don't know. Uh so somehow like when uh I was trying to understand this proof, you know, once I got, you know, GPT to start, I mean, I kind of told it let's try to look at it from the permanent viewpoint.
  35. u35 Like it seemed to like be much nicer to me. Um I think the entropic proof like really tries to stay in the combinatorics world and uh I didn't make as much project progress with it. Um okay. Yep.
  36. u36 >> Wait, so is this 3-SAT with order n clauses like the same difficulty as 3-SAT?
  37. u37 >> Um not quite, but it's known how to like reduce by like classical sparsification techniques it's known I hope I get this right how to reduce, maybe Bernardo knows, like quite efficiently from general 3-SAT to 3-SAT with order n clauses.
  38. u38 So efficiently enough that like if you take a little bit of care, knowing this result for order n clauses would let you prove the same result with like a worse power on log n here. Um and in the OpenAI proof, it does some bespoke extra work, I guess using how the proof actually goes to not even lose in that exponent.
  39. u39 Um but for example, like we knew for sure like every expert knew that and it's like just known in the literature that if you'd proven this, it would break ETH.
  40. u40 >> Maybe maybe it's worth saying that the comparison is not between like one instance with like n clauses and one like dense instance, but rather that um you you can take one dense instance and convert it into a sub-exponential number of sparse instances.
  41. u41 >> Yeah, that's a great point. For and that's of course also important in your observation here about n n time that um yeah, you use like a stronger form of reduction. We were talking about the differences of reduction types last time. A stronger form of reduction where you use the fact that you're not just going to convert to I'm just repeating Bernardo.
  42. u42 >> [laughter]
  43. u43 >> Like one uh instance of sparse the three side but like um sub x you can afford to do sub exponentially many. It's a little bit hard to like get used to like having so much time in your hands. Like we're going to do this thing where we're like well we'll do this step. It's going to blow up the running time by a factor of two to the n over poly log n but then we're going to like oh that's fine.
  44. u44 Like blowing up the running time by two to the n over log to 10th n is like negligible. This is a weird mindset to have but we got to get into that mindset. um I should also point out that uh feeling thought much about computing permanent um You might think that this is like even more impressive that you can get it in like two to the little of n time for permanent because if you just look at this formula the naive algorithm for computing the permanent seems to take n factorial time which is much bigger than two to the n.
  45. u45 It's like n to the n. So one thing that we should definitely have in our pockets is like a well-known fact from the 60s that in the normal ordering of this course we would get to in I don't know not too many lectures uh which is that permanent even without the sparsity thing permanent is computable in um basically two to THE N TIME.
  46. u46 >> [applause]
  47. u47 >> IF YOU'RE SMART ABOUT IT YOU CAN PUT LIKE N TO THE ONE HERE. Uh this is usually CALLED RYSER'S FORMULA.
  48. u48 >> [applause]
  49. u49 >> IT'S THE GUY FROM THE 60S. I think he proved it in 1967. um However, you can also do it just by like dynamic programming which I'll try to sketch for you. um Ryser's formula is like some slick way to see it but you can also do it in a slightly less slick way.
  50. u50 um Okay, so like you should think of it in your mind as a baseline think that like okay permanent you can do it in two to the end time. And uh so we're trying to like get it a little bit better than that. And this doesn't need sparsity or anything. Um let me just illustrate to you uh briefly why it's true.
  51. u51 Uh hopefully I can do this on the spot. Okay, how would you compute the permanent by hand? Well, how do you compute the determinant by It's like the same as determinant but like easier. How do you compute the determinant by hand? You know they teach you this this version where you like oh you okay you take this entry and then you like recursively compute the determinant of this and multiply by this and then like you do negative like this entry times the determinant when you cross out this and like plus minus and you cross out the determinant and so forth.
  52. u52 Cofactor expansion. Okay, permanent's exactly the same but you don't put in the like stupid minus signs. And then it's kind of all I mean if you think about it for like 1 minute it's kind of obvious why this works. I mean you're kind of just saying like oh I'm going to consider all permutations where the first element maps to one and then recursively compute and then where the first element maps to two and where it maps to three and and so forth.
  53. u53 Okay, so you have to do that and it again seems like it's going to take n factorial time. Um but uh what you're going to try to do is the following. Maybe you're going to keep a big like you're going to do memoization basically.
  54. u54 So first you're going to compute like all the one by one permanents in the last row. And then you're going to compute all the two by two permanents in the last two rows and not necessarily contiguous. So you'll compute like I don't know the permanent of these two, this two by two matrix.
  55. u55 And then you'll do like all the three by three uh ones in the the last three rows and so forth. Um I guess until you're like almost done. You have like all the n minus one by n minus one in the last n minus one rows.
  56. u56 Uh but here like you've only collected up like two to the I mean, we'll see in a second. Okay. So, uh how do you do the next step or the final step? Well, you need to do this thing times the permanent of this, which you've already kind of memorized, and then plus this thing times the permanent of this, which you've already memorized, and so forth.
  57. u57 And how much stuff are you like memorizing? Well, you know, I mean, for any set S, you're computing like the permanent of like the uh last S columns and S rows and S columns kind of inductively.
  58. u58 So, there's only like two to the S thing two to the n things you're memorizing here, one for each S. Okay, and this is why you can do it in basically two to the n time. Okay. So, we'll need that, and we're also going to need and maybe I'll say this a bit more later, and I'll probably skip it later, but we're also going to need that uh if you have like a sufficiently nice or structured matrix, I'll say what that means in a second, you can also compute the permanent kind of fast.
  59. u59 Maybe it's only hard to compute the permanent if like the entries have some, you know, arbitrary structure in them. Uh Okay, so let me now tell you the overall plan. Well, I have to make one more small change to the plan.
  60. u60 I said here we're going to compute the permanent on sparse matrices in this amount of time. Sparse meaning order n non-zeros. Uh let me just make this sparsity a little bit more structured, where we have order one non-zeros in each row column.
  61. u61 Okay, or in this picture, like if you just consider uh
  62. u62 >> [snorts]
  63. u63 >> where you have support, where you have like edges non-zeros, it means like it's a bounded degree graph on both sides. Okay, you might think like oh, it's another further restriction, but uh I assure you like you can sneak it into this reduction very easily as well. So, um it's sufficient to be able to do this.
  64. u64 Okay, and in some sense, uh I I so I'll try to write now what the plan The whole plan is to like take your input matrix, let's say A, which has almost no structure, and make some more structured versions of it such that um computing permanent on the more structured versions can be done efficiently, meaning like, you know, better than 2 to the n time, and computing permanent on these more structured versions helps you compute permanent on the original matrix A.
  65. u65 Uh and so already this is like a little bit in this spirit where we're like, well, by some pre-trickery before we even got into the problem, we made a little bit more structured so it doesn't just have like order n non-zeros, but we have order one non-zeros in each row and column. Yep.
  66. u66 >> Can they think of the entries being all zero one or it does matter substantially if they could be negative?
  67. u67 >> Good question. For everything I'm about to do, it's fine if you just prefer pretend the entries are zero and one. Um they won't be uh maybe they'll be like you can arrange for them to be minus one, zero, and one, but I don't think you can arrange for them to be zero and one without making this uh reduction not efficient anymore.
  68. u68 But, psychologically, for everything we're going to do, it's fine to pretend they're just zero and one. Uh okay. So, here is the plan for the whole proof. And it kind of also has this flavor I said before.
  69. u69 So, there's uh matrix polynomial
  70. u70 >> [applause]
  71. u71 >> or polynomial matrix. I don't know what to call this. Uh A of T. So, I'll just try to say in words what it is. I guess one way to think of it is like you can think of this as um just an n by n matrix, but where the entries are univariate polynomials in T.
  72. u72 That's one way to think of it. You know, it's got like 1 + T and T - T squared whatever here. Or another way to think of it is it's like a matrix A0 + T * a matrix A1 + T squared * a matrix A2 and so forth. Maybe this way is a bit better to think about it.
  73. u73 That's not how you spell polynomial. Uh AT with the following properties. So, um First of all, Okay, such that um
  74. u74 >> [snorts]
  75. u75 >> the degree of AT
  76. u76 >> [applause]
  77. u77 >> is basically at most uh root log n. Okay, I mean if you must know, there's like a log log in here. And a big O, but whatever. Um Oh, I should have said another thing.
  78. u78 The proof I show will get like two log logs here, whereas apparently OpenAI's proof, if you work hard, can get one log log here. I'm definitely not going to care. Um okay. So, the degree is like very low, root log n. Um In particular, though, this implies that like we're also going to be studying the permanent of AT.
  79. u79 And this has degree at most n times root log n. Okay, let me not write the log log factors. Okay, because permanent, as we mentioned before, has degree n. Now, if all the entries have degree up to root log n, the whole thing is this degree.
  80. u80 >> [snorts]
  81. u81 >> Um A0 is A. The the matrix that you're trying to compute the permanent of. Um And that's maybe hard to compute, but um permanent of other AIs will be easier to compute.
  82. u82 Um so, this is going to be computable in um two to the n over polylog n time. And this is for uh I going from one up to a parameter L.
  83. u83 Say more about that in just a second. Um but as I said before, like you should think of this is like super fast. Like that's that's like negligibly fast compared to this cuz I don't know, this polylog will be like log n to the 10 or you can make it any large power of log. Yeah?
  84. u84 >> And you say AI, there is that I plugged in for T or I plugged
  85. u85 >> Yeah. I plugged in for T. We're literally going to be I mean it Yeah, it's maybe slightly surprising, but we're literally going to be imagining plugging the integer 0 1 2 3 {dot} {dot} {dot} L in for T. Uh okay. And L is going to be basically log n.
  86. u86 Uh I guess it's going to actually be divided by log log n. This one's a bit important, divided by log log n. Basically log n. And you you cannot see this yet, uh but let me call this D.
  87. u87 Uh the degree. The whole savings here, square root log n, is going to come from the fact that uh this degree D is smaller than L by a factor of root log n. You cannot see this yet, although you'll somewhat see it soon.
  88. u88 But I haven't even finished writing the plan, but in the plan uh maybe what we're going to achieve here would be easy if you could allow D to be L, but the smartness of the whole plan is going to be able to achieve it with D root log n smaller than L. Um Okay.
  89. u89 Uh As a very minor point let me also just Oh, I'm running out of space here. Well, uh say this is technical, so don't worry about too much, but the permanent is computable in uh this short amount of time.
  90. u90 ALSO FOR ANY SUBMATRIX OF A SUB I. MHM. Don't worry about that too much, but point is like AI is going to have a very nice structure. It's going to be quite structured that makes it easier to compute its permanent.
  91. u91 And like this nice structure will also be possessed by all its submatrices, so they will also be easy to have their permanent computed. And now the final bit is um Okay. Permanent of A of T is a polynomial in T.
  92. u92 And we're going to be interested in its derivatives with respect to T. It's just a univariate polynomial. We're going to be, you know, it maps T to a number. We're going to be interested in its derivatives. And we're going to be evaluating those derivatives at a Well, at I equals 1 through L.
  93. u93 Um and these are also going to be efficiently computable. So, the Kth derivative of this perm A T at any like T equals I Well, any T and L I guess.
  94. u94 Is computable in
  95. u95 >> [clears throat]
  96. u96 >> Um It's going to be computable in Something a bit worse than this time. So uh This time this is terrible Board management but like this time times uh some factor that gets worse as K grows.
  97. u97 And this factor that gets worse as K grows is like N over K to the K. It's something like N choose K.
  98. u98 >> [sighs]
  99. u99 >> Um okay and I don't know if you plug in K to be you know one or zero. I mean You know this is sort of stronger than this but like all these derivatives they get sort of harder and harder to compute. Um But the point is like even this number is like a little bit away from The full two to the N as long as K is like a little bit away from N.
  100. u100 And I will show you soon why Once we have this plan we're done. Um any questions about the plan statement so far?
  101. u101 >> what's the time at the last part?
  102. u102 >> Yeah, so the Kth derivative is computable in time Two times two to the N over poly log N. And this is like I don't know log N to the 10 or you can make it a big poly log N. So the same amount of time it takes you to compute like the base permanent times a factor that grows with the K where you're trying to compute the Kth derivative and it grows pretty fast but like not Horribly fast.
  103. u103 Yeah.
  104. u104 >> So now we're doing interpolation.
  105. u105 >> Yeah, yeah that's the next step.
  106. u106 >> It's kind of a clever way to write like
  107. u107 >> Yeah.
  108. u108 >> The number of places we're evaluating is much smaller than the factor of
  109. u109 >> Yeah. That's exactly what I'm going to say now. So uh okay you might be like I don't know where he's going with this but or you might see that we're almost done uh using interpolation. Um Okay, so uh Yeah, we're going to now use interpolation.
  110. u110 Um Okay, so let's let's maybe write for brevity like P of T Hermitian of A of T.
  111. u111 >> [applause]
  112. u112 >> And this is like a good old univariate polynomial such as you study in middle school. Um P of T. And uh we're dying to know this value. Value at zero and there's like one, two.
  113. u113 This is up to L. And uh the degree of this thing they said like ignoring small factors is around N root log N. Okay. So normally for all the interpolation stuff we've been doing earlier in the class, we'd be like, "Oh, like if your polynomial is degree D or like N log root log N, you know, if you can compute it on like this many plus one different locations, then you can you know, it's sufficient to determine the polynomial.
  114. u114 You determine the polynomial and you can compute it at any other location like zero." And it seems like we're not in such great uh state if you just read uh this part because the number of places where we can compute it efficiently is only L, which is like log N. Um so yeah, we can compute all these values, but that's way smaller than the determinant or the degree.
  115. u115 But the thing is we can also compute derivatives. So for example, we also know like the slope here, the slope here, the slope here, all these like slopes. And we also know the second derivatives and third derivatives and so forth and so on. And you know, every derivative gives us like one sort of data point about the the polynomial.
  116. u116 And this is like um a constraint on how the polynomial can be. And you just need that um there are like strictly more constraints than unknowns in order to determine the polynomial. If you think about for a moment, like everything is actually like a linear system. Like the sense in which P is unknown, it just has like unknown coefficients.
  117. u117 And to say that its values at certain points are certain values is like a linear constraint on them. To say the derivatives are certain values is like another linear constraint. So, we just need, you know, by linear algebra, like more constraints than unknowns and we'll, uh, kind of know P. Uh, so this is like a slightly fancier, uh, form of interpolation, which GPT is has this called Hermite interpolation, but anyway, like I think it's like a well-known it's a well-known concept in in in TCS that you can, uh, interpolate also using derivatives.
  118. u118 So, in order to succeed, right, what do we need? We need the amount of data we have to be bigger than the number of, uh, unknowns. So, let's say we use say we go for um, n hat many derivatives.
  119. u119 Okay, so K, the derivative indicator here, going up to n hat. I call n hat cuz it's going to be a little bit less than n hat n. Okay, so, um, the total number of constraints we have, uh, will be n hat times L.
  120. u120 For each of these L points, we know n hat derivatives or, I don't know, n minus n hat minus one, whatever. And we need this to be bigger than the degree, uh, which is n times d, d being this, uh, root log n thing.
  121. u121 Yeah. Okay, so I guess what that means we need that like, uh, n hat over n should be at least d over L. So, n hat has to be a pretty decently large fraction of n
  122. u122 >> [clears throat]
  123. u123 >> in order for this to work. Um, you see, this is where I said it's like important that d is like much smaller than L. Like somehow this is where the savings is coming from. And in our setup this D is noticeably less than L. So this ratio is ignoring log logs like around one over root log N.
  124. u124 Which means that we need N hat to be bigger than N over root log N. In some sense like we only need this. So like it's okay if N hat is I don't know up to log logs merely N over root log N.
  125. u125 Okay, we only need to collect this many derivatives. Yep.
  126. u126 >> Sorry, why why is it N times these specifically here?
  127. u127 >> Oh, uh just like D is the degree of this matrix polynomial. So the permanent of it is like N times D. Uh cuz permanent has degree N. So when you plug a degree T polynomial to Yep.
  128. u128 >> So is this just like a fact I guess that you you can if you have this many derivatives you can like set up this system of equations to then get the actual equation of the function back.
  129. u129 >> [clears throat]
  130. u130 >> Yep. Uh if you just treat the coefficients of this unknown polynomial as unknowns then all these derivative facts are equations about these coefficients. So once you have like enough equations you can like solve for the unknowns.
  131. u131 Then you like just simply know the polynomial P. Which in particular means you can plug zero into it and get the answer. Yep.
  132. u132 >> So the N and L is critically using the fact [clears throat] that sub [snorts] derivatives property, right? Like the fact that we can multiply as opposed to just get plus L.
  133. u133 >> Sorry, I didn't understand what?
  134. u134 >> For every derivative we want to be able to compute we want to get like L more constraints, right?
  135. u135 >> Okay, yeah.
  136. u136 >> That that should be using the fact that we can compute L permanents with like the
  137. u137 >> Yeah, yeah. I'll talk about this the right time just now.
  138. u138 >> Uh
  139. u139 >> Well, let me talk about
  140. u140 >> I mean like the number of constraints you're taking out.
  141. u141 >> Yeah.
  142. u142 >> So, naively like every derivative is you have n hat and then you have like L evaluations.
  143. u143 >> Yeah, I'm getting n hat derivatives here, n hat here, n hat here. That's n hat times L all together.
  144. u144 >> Yeah. Okay, another [snorts]
  145. u145 >> Yeah.
  146. u146 >> Um
  147. u147 >> I'm going to talk about the time in just 1 second. Maybe it's clear, but go ahead.
  148. u148 >> Uh Check. Does this answer your question?
  149. u149 >> Okay, well, think about it. I'll finish the time. Yeah. Uh Okay, so we can solve everything if we can compute n hat many derivatives for each uh of L points. Now, first of all, there's I mean, there's not that many. N hat times L is like around n. So, it's like adding a factor n to our running time.
  150. u150 That's super negligible. Um so, the main difficulty is computing any one of these derivatives. And, you know, they get more and more expensive the bigger K is here, but we can just plug K equals n hat in here to get like the main uh running time. So, I'm almost done here.
  151. u151 Uh The running time is dominated by when K is n hat, so it's it's 2 to the n over poly log n. That's negligible. Uh times this like n over n hat to the power of order n hat.
  152. u152 And, now we're in great shape. N over n hat is like logarithmic. So, like when you move to the exponent, it's like doubly logarithmic. So, this is basically 2 to the order n hat times some log log factors. Okay, and n hat is the n over root log n.
  153. u153 Yeah.
  154. u154 >> Uh is it correct to think that like computing all these derivatives is somehow easier than making the L larger, and if so, why?
  155. u155 >> Great. Yeah. Um you might say like, "Why did we set it up like this? Like perhaps we could have gotten much bigger L and then we have to compute fewer derivatives. That would be uh good.
  156. u156 Great question. I guess the point is as we'll hopefully see or get into seeing um it's sort of already hard to do this. Like maybe the hardest thing is to get L large at all. And in the way we're going to do it you'll never be able to get L bigger than log n.
  157. u157 So this is a maybe we'll see the motivation of it uh uh soon. So this whole play you're never going to be able to get L bigger than like log n. So you have to like just suffer that and so then you're like well my degree is so large and I can only get like L um log n.
  158. u158 That's where at first you're like well maybe I can get the derivatives so that I'll have like enough data uh and that works out and then hopefully the derivatives are not too hard to compute and that also just barely works out. In fact we're going to like maybe try to motivate this by like uh considering a situation where L is literally one.
  159. u159 So we'll just have A0 which is the hard thing we're going to try to compute and we'll make up an A1 which is like very easy to compute. It's com- computable in time like two to the root n which is much better. And I guess in some sense we'll be able to interpolate between them but then L equals one is like so low that you'll need basically all the derivatives and then like you won't get any speed up at all.
  160. u160 So maybe the beauty is that we'll be able to make L a little bit large so that the number of derivatives can be like a little bit less than n. And [snorts] I guess like another thing that will come up is like when I maybe I talk about the L equals one case.
  161. u161 As I said we could we'll be able to compute these permanents in time like two to the root n and that's like almost like two good. It's like you you know you're not on the right track because like two to the root n is like too fast. Like we're going to like use the fact that like we We mind if we could merely compute the permanent of the AIs in time like two to the N over poly log N.
  162. u162 That would be perfectly fine. So, by allowing ourselves this like weakness, we'll be able to like get more structured AIs that we can use for our interpolation plan. Okay. Any questions? Okay.
  163. u163 Uh okay, this is a good this is like a good pausing point. So, let me try to figure out what to say next. Yeah.
  164. u164 >> I I want to make a question very similar to this like so you said that this like so-called permission relation was was like already known in TCS.
  165. u165 >> Yeah.
  166. u166 >> Uh I'm curious I guess more generally of why is it getting data points out of the derivatives can be is any easier than getting it out of other points of like the zero order
  167. u167 >> Uh getting it other than like at like different locations?
  168. u168 >> Yes.
  169. u169 >> Um Yeah, that's a good question. Like somehow what's going to happen is we're going to build these matrices AI that are somehow like similar to A but have like a lot of good structure and we're somehow only going to be able to manage to like make logarithmically many of them. So, we want to like just like squeeze as much juice out of these uh great structured AIs as we can.
  170. u170 And I guess that's here the motivation why we're like, well, I need more of them. So, besides computing the permanence, I'll try to compute these derivatives. Um Uh maybe I'll mention now because um we're not going to get into details. Uh I'll mention the following.
  171. u171 Um AI uh is going to be very structured as we'll see in a second, which is why it's able to compute the permanence uh efficiently. Um How do you compute the derivatives of the permanent at these various lo- structured locations AIs?
  172. u172 Um Okay, this is like kind of homework for a person who's like good at algebraic complexity or algebra permanence or knows things like who could write down like the formula for the permanent of the sum of two matrices.
  173. u173 Um you kind of see that like to compute like the Kth derivative um of the permanent at AI, you kind of need to it suffices for you to be able to compute the permanence of a bunch of submatrices of AI.
  174. u174 Um and that's just like some sort of simple property of permanent. That's why I threw this in. So like I I sort of wanted to recall that like not only is AI like structured enough that you compute its permanent fast, you can also compute all any submatrix's permanent fast. So to compute the derivative like the Kth derivative, you have to compute uh you look into it and you have to compute like sort of all the K by K uh or something like all the K by K submatrix uh um maybe the principal ones uh permanence of this AI.
  175. u175 And that's where this comes in. So like basically and these are all computable fast because of this. And then like how many K by K submatrices are there of principal ones is like N choose K, which is why this N choose K is here. So uh this is all I will say about this derivative computation stuff uh for the rest of this.
  176. u176 Yeah.
  177. u177 >> So if you're able to get the L points, why does it mean K can get zero though?
  178. u178 >> Uh it's because in this the setup like as we'll see A1 through AL have some like very enjoyable structure. I'll say it in a second. They're like kind of block diagonal almost and it makes them really easy to compute their permanence. But A0 is just like the original horrible horrible unstructured matrix.
  179. u179 So you don't know how to compute it efficiently at all. Um yeah. So this is like a whole game like make A1 through AL they're like structured enough that you can compute them efficiently like subexponential time and moreover in such a way that like by interpolating through them you can get the permanent of A0, which is this like very unstructured matrix.
  180. u180 Okay, so let's talk about the kind of structure that AIs are going to have that will make it easy to compute them. Okay, so why will the AIs be a little bit easy?
  181. u181 >> [applause]
  182. u182 >> This is of course I greater than zero. Well, I and L. Okay. At a high level, it's almost because they're going to look like this. They're going to be block diagonal. Um Okay, they're going to be block diagonal like this.
  183. u183 Okay, I'm lying a little bit. I'll explain the line in a second. Um let me call this this matrix B. AI is not going to quite look like this B, but let me say this. Um and moreover, uh all of these dimensions will be like n over You can put any poly log here.
  184. u184 So maybe n over log 10 of n. Okay, so uh oh, I should say they will have this poly this block diagonal structure once you appropriately rearrange the rows and columns. So actually, maybe I can ask you.
  185. u185 I mean, uh why are you very happy about computing the permanent of these matrices? Matrices that look like this?
  186. u186 >> Because the computer like permanent goes at n over poly log, which is two to the n over poly log.
  187. u187 >> Yeah, so the permanent of like a block diagonal matrix that looks like this um it's just like determinant or you can remember from how permanent works. The permanent of this whole thing is just like the permanent of this block times the permanent of this block times the permanent of this block times the permanent of this block and so forth. And how long does it take to compute the permanent of this block?
  188. u188 Well, we just use this. So, it's uh it's two to the dimension, which is like whatever, n over poly log n. Okay, so we can compute all of these in this like very {quote} fast time.
  189. u189 Uh and then I don't know there's less than it. I guess there's logarithmically poly logarithmically many of them. We just multiply the results. So, if AI was like so glorious as to be structured in this block structured way, uh we would definitely have this. Uh it's not going to be quite like that, but it's going to be close.
  190. u190 AI is going to be of the form like block like this plus an error matrix. Like this, and this error matrix is going to have rank at most n over some big poly log n.
  191. u191 Um So, I'll ask you like, "Okay, now imagine that like the block diagonal part wasn't here, and you just had that AI was this low rank matrix. Why would you be happy about computing its permanent?" Okay, good.
  192. u192 I also didn't know, but everybody who knows anything about algebraic complexity or this kind of stuff would know that it's like an ancient and like not very hard fact. Maybe it was first proved by Barvinok, but I guess it's not very hard, that you can also compute the permanent of low rank matrices efficiently.
  193. u193 Uh so, maybe in addition to this this fact, you can also do rank R in time N to the order R. Actually, in particular if like you're a little bit careful, you can do it in time N uh plus R choose R.
  194. u194 And it's In that way, like this kind of subsumes this because the worst the rank could be is N and then you'll get like 2N choose N, which is around 4 to the N. So, actually it's worse. It's This is like 2 to the N, this is 4 to the N. But, actually in this this uh this algorithm, whenever we're doing like exponential, like we don't mind constant factor up here.
  195. u195 So, this is also fine. Yeah, that was like a like a side point. Never mind. Um So, you might say, "Okay, how do you How do you do this?" And I don't want to tell you about it because I'm like, "Oh, this is like an ancient and well-known fact." But, I will say like, "Okay, you can also do it with dynamic programming." Um and I'll even say like a tiny Let me just set it up for you as a little exercise.
  196. u196 Um What does it mean for A to have you know, rank A equals R? Uh it just means that A can be written as like uh the sum of well, R rank one matrices, which are like outer products.
  197. u197 If you remember your linear algebra, it looks like this. Or if everything is like combinatorial and zeros and ones and bipartite matchings, Okay, and then never mind about that. Um But, okay.
  198. u198 If you have like rank one matrix, uh just means that like the IJ entry is like UI times VJ. And this is a truly easy exercise. I assure you like a matrix that looks like this, you know, if you know the U and V, you can compute its permanent extremely trivially.
  199. u199 And then, okay, if it in general looks like plus UI prime VI prime, that's like the rank two case. Okay, now you have to start thinking a little bit and using your dynamic programming skills, but you could do it. Okay, so we're also going to like save up this fact.
  200. u200 Yep.
  201. u201 >> Do we need like the poly log to be greater than one, like the exponent? Or otherwise
  202. u202 >> Oh, yeah, yeah, yeah. Whenever I'm writing uh here in this this lecture poly log, I mean like log onto a big number, which you yourself can control. So, if it's not like not a high enough power of log for you, you can adjust the con- constants elsewhere to make it as big as you want.
  203. u203 So, maybe we can make this In fact, okay, like this one I will even say you arrange for it to be like log to the 100 n. This is the one of the poly log that you want the biggest. Uh okay.
  204. u204 So, actually I said that like if AI was so nice as to look like this block matrix thing, you could compute its permanent very efficiently. If on the other hand AI was so nice as to look as like this error like low rank matrix, you could compute it efficiently because Okay, I didn't say it, but you would do it in time n to the power of order n over log 100 to the n.
  205. u205 So, that's two to the order n over log to the 99 n, but that's still great. Uh but actually it's going to be of this form, B plus E.
  206. u206 >> [clears throat]
  207. u207 >> So, now you're like, oh, well, can we put this together? Like if I have a matrix that's block diagonal with like, you know, slightly small blocks plus a low rank matrix. Can I also compute it in time like two to the end over polylog? Yes.
  208. u208 It's like one more exercise. Like, okay, everything you did here was like by dynamic programming and so if you like put it all together, you know, you can compute like if this block size is S and this rank is R uh by gluing these ideas together, you can compute the permanent of B plus E in time it's like two to the order S times N to the order R.
  209. u209 Okay? So, like this will be our like final notion of like nicely structured. It's like uh block diagonal with not too big blocks plus low rank error. And these things are just structured enough that you can compute their permanents real fast.
  210. u210 Real fast being two to the end over a big polylog. Um Okay. As a minor note, and I cannot remember if this is important or not, but it is true.
  211. u211 So, uh what's really going on here? Okay, let me erase this. Oh. Okay. To discharge all the obligations, we're also supposed to be able to do this for any submatrix of AI. But, that's actually quite fine because if you're block diagonal plus low rank, these are like closed under like submatrices.
  212. u212 If you take submatrices, it's still like block structured and it's can only decrease the rank. So, that's why this submatrices thing is also true. Okay. So, in fact, let me just say this.
  213. u213 Uh which I guess is just that like four I is like not zero. AI is like structured nicely as um well, of this like form BI plus E.
  214. u214 Okay, where you know, rank of E is at most N over poly log and like block size of B is also at most N over poly log. And this minor thing, which I forget if it's important or not, is that actually it's the same E for every I.
  215. u215 I I don't think it matters. Okay, so in some sense like this is the new plan. Okay, any questions at this point? Okay.
  216. u216 This is where I like love to pause and just stop it because I'm like, "Okay, this is a cool plan." And now the next part is like, "Okay, we got to like figure out how to make like a polynomial family of matrices that like matches the unstructured A at zero, but has this like nice nice structure on uh, the remaining ones." And on one hand, this is where like the cool idea, if there's any cool idea, like comes in.
  217. u217 On the other hand, setting up is like kind of finicky and it's like the point that I have like mostly in my head, but I like I fear I'm going to like get stuck in mess it up, but um, that's what we're going to do.
  218. u218 >> [snorts]
  219. u219 >> Uh, Okay. Any questions? Okay, actually, because I have this like fear of, you know, messing it up and getting into a morass where I get confused, let me somewhat unmotivatedly state uh, another well, maybe like the key essential ingredient that helps us do this.
  220. u220 And then at least you'll see this like nice statement, which I can understand. And then we'll see if we can talk about putting them together. Um
  221. u221 >> [snorts]
  222. u222 >> Yeah. Okay. So, what is this other nice statement? Uh I'm just trying to sketch in my mind like a way to try to say this.
  223. u223 Um Okay. The key central central ingredient for proving this is what would be like a folklore fact in analysis of Boolean functions or complexity theory.
  224. u224 In fact, we've seen basically this exact fact before. I didn't explicitly state it in this way, but it was exactly the key underlying fact that we used in the Razborov-Smolensky proof that AC's that uh well, for us that majority requires exponential size constant depth circuits.
  225. u225 Um when we were showing that majority cannot be uh Okay, let me skip what we're saying, but like it was the key um it was a key ingredient in that bit. And it's about computing uh PARITY FUNCTION ON UH L bits with a low DEGREE POLYNOMIAL.
  226. u226 OKAY? IT'S STRESSING ME OUT A LOT TO not say that it's parity on like N bits. Uh cuz like when you're doing I don't know, analysis of Boolean functions, the number of bits should be N, but it's too late. N is this n, so we have to like it's this l. Um Okay.
  227. u227 And hopefully as I'm doing this you'll start to see some kind of like pattern matching a little bit between this and this. Which then we have to fill in that pattern matching. Uh okay, so let me say a little bit more what I mean by this. Um So actually we've talked about Okay, never mind.
  228. u228 So um for this stuff we're going to represent bits by plus or minus one instead of zero one. OKAY, THAT'S FINE. IT'S JUST A CONVENTION. AND LIKE THESE ARE THOUGHT OF AS like real numbers or rational numbers.
  229. u229 Okay, and then we have the parity function on n bits, l bits. See, I'm already messing it up. Uh x one through x l. And this can be expressed as a very simple real multivariate polynomial in x one through x n when we use the notation that plus or minus one is true and false.
  230. u230 Uh does somebody want to tell it to me? Yeah, it's just the product of them.
  231. u231 >> [applause]
  232. u232 >> So it just goes to show it makes a lot of difference like what um field you're working with. For example, if you're representing your bits as zero and one and you're working with a field mod two, then parity has a degree one polynomial. You just sum the bits mod two. But in this world where you're using plus or minus one as real numbers, trying to compute parity, uh parity on l bits has like a maximal degree polynomial x one product of x one through x l.
  233. u233 Um actually every I mean this is a simple fact. I I think we talked about it before, but like every function mapping n bits into real numbers uh has a polynomial representation of degree at most L.
  234. u234 In fact, because you can interpolate it by some polynomial, and you never need to use xi squared or xi cubed or xi to the fourth because if you only care about inputs which are plus or minus one, then like xi squared is just one. So, it only needs to be a multilinear polynomial, so it'll never have degree more than L. Parity, though, needs maximal degree L.
  235. u235 It's like the It's like kind of like the most complicated function from the terms of degree. But, uh this key idea we want to use is saying that oh, somehow we can compute it um with a much lower degree polynomial.
  236. u236 Well, we're going to approximately compute it. Um okay. And uh
  237. u237 >> [snorts]
  238. u238 >> Another question is like, what is the sense in which we're going to approximately compute it? Because there's different notions of you know, one polynomial approximately computing another one. Um so, we are going to seek let's say a polynomial, um n-variate polynomial, L-variate, let's say G of X1 through XL of low degree D, and that D is going to be this D.
  239. u239 Um I forget what's going on here, actually. Maybe it's like this. Um so, uh the point is that remember L, okay, it's not written here, but L, if you recall, was like something like log n. So, this is like D is like something like square root L.
  240. u240 And this is like the source of our savings, the fact that like or I should say the source of our savings is that this D manages to be like noticeably less than L. And somehow like it would be trivial if this D could be L, but we need it to be smaller than L, and the fact that we get it smaller by a factor of root log n is like where the whole savings comes from.
  241. u241 That's going on here. So, this D will be, you know, 100 root L log L that is um let's say epsilon close to parity.
  242. u242 Um and I'll say what [snorts] I mean by this. So, first of all, epsilon is going to be 1 over L to the 100. So, very small, like 1 over Okay, I don't know if these 100s are the same, but never mind. Uh they're close.
  243. u243 Very small, like 1 over inverse polynomial. And what this means is uh the probability over random X that G of X differs from parity L of X is at most epsilon.
  244. u244 So, it's kind of like a L0 or like Hamming distance notion of uh closeness. So, this G is going to be like exactly right on most input strings. 1 minus epsilon fraction.
  245. u245 >> [snorts]
  246. u246 >> And then on the remaining epsilon fraction, it can be like totally off. It can be like a crazy number, a giant number. It might not be plus or minus one. It'll be some weirdo rational number. Um but that's fine. Uh And this [snorts] is going to be the source This error is going to be the source of this rank business.
  247. u247 Um [snorts] I can't It's hard for me to get into it. I only have so much time, but at a high level, uh, if you look at the truth table of G minus parity L, uh, it only has epsilon times two to the L non-zeros.
  248. u248 Okay, I say truth table, it's like actually I'm subtracting a plus or minus one valued function from like an arbitrary valued function, but just in the table of values, um, this is exactly saying that like it's mostly zeros except for epsilon times two to the L spots. Or like a this fraction of spots.
  249. u249 And hopefully this has like a little the flavor of, um, rank for you. Uh, sort of we're using the fact that if you have like a di- this is not going to make sense, but I'm trying to give you the flavor. Like if you have like a diagonal matrix where like you have like mostly zeros, but uh, a few stars, then the rank of this matrix is like the number of stars.
  250. u250 And like stars are going to correspond to like these places where the truth table differ. This is just like some flavor. It cannot really make sense to you yet. Um, okay. And the point of this is that, uh, sort of the fractional wrongness or the fractional rank is like one over L to the like a big number 100.
  251. u251 And remember L is sort of like log N.
  252. u252 >> [snorts]
  253. u253 >> So this is exactly the source of the log N right here. Like this is even like N log to the 100 N basically. Okay, it's [snorts] like the fact that this fractional rank is like one over log to 100 N is going to be be exactly because this like fractional wrongness was like one over L to 100.
  254. u254 But you cannot see that yet cuz we're also not going to have time to really explain how this ingredient is going to map into this ingredient, but uh Oh, you can read more about it or I don't know if I'll like make some side video where I finish the sketch or what, but Okay, so let's go back to this basic I don't know analysis of Boolean functions problem.
  255. u255 And uh You know, if you're a real TCS enthusiast, like maybe you already exactly know how to solve this, but I'll I'll show you. Um Okay, so uh Yeah, if you are all these polynomials that we care about kind of degree up to L.
  256. u256 Parity has degree exactly L, but we're trying to like match its values with a much lower degree polynomial. Um so, what's the idea? Uh one aspect that's going to be important is that um parity is a symmetric function. Uh its value only depends on the Hamming weight of the input.
  257. u257 Another way to say that is this is going to come up. Uh parity L X one through XL only depends on X one plus dot dot dot plus XL.
  258. u258 This is not exactly the Hamming weight because we're using plus or minus one notation. If we're using zero one notation, this would be the Hamming weight. But okay, it's it's the same as the Hamming weight up to some linear shift. Like if you add up uh plus or minus ones, like this tells you the Hamming weight.
  259. u259 >> [snorts]
  260. u260 >> Um And in general if you're interested in symmetric functions on This should have been L. Uh plus or minus one to the L.
  261. u261 >> [snorts]
  262. u262 >> Um they can be expressed as This is also very simple. Uh they can be expressed as
  263. u263 >> [applause]
  264. u264 >> a univariate polynomial P in X one plus dot dot dot plus XL. Um Of course, any function from L-bit strings to R which you can express as a univariate polynomial applied to the sum of X1 through XL will be symmetric because if you permute the XIs, it doesn't change their sum.
  265. u265 Uh Takes a little bit of work to see the converse that conversely every symmetric Boolean function like this can be expressed as univariate applied to the sum, but it's not hard. Um it's also related to uh Trevor's video where he was talking about symmetric functions.
  266. u266 Uh but a bit easier in this case. And uh also like the degree of this polynomial P will be the same as the multivariate degree of your symmetric function. Because here you're like taking a degree one thing and plugging it into like a polynomial P of some degree D, you'll get a like a degree D multivariate polynomial.
  267. u267 So in particular says that like parity can be expressed like this for some funny degree L polynomial P. And it's sort of a a funny polynomial. So it looks much nicer when you write it like this, but it is possible. So let's try to draw a picture.
  268. u268 Um This is how some people like to draw the Boolean cube, the hypercube. This is a picture of 01 to the L or plus or minus one to the L with like Hamming weight going up.
  269. u269 So this is like Hamming weight I'll explain this picture in a second if you haven't seen it. Hamming weight L or equivalently sum of XI equals plus L. Maybe I'm whatever I'm not ignoring whether zero stands for plus and one stands for minus or vice versa.
  270. u270 Uh this is like Hamming weight zero, which is equivalent to sum of xi equals negative L. This is like Hamming weight L over two, which is equivalent to sum of xi equals zero, and so forth.
  271. u271 Okay, it's drawn in this like funny fashion to like remind you that like among all the two to the L strings here, there's like one here and like one here. And there's like very few at the next level Hamming weight L minus one. In fact, there's L. And there's very few here also at There's like maybe L choose two here at Hamming weight L minus two.
  272. u272 But like all the action is like happening here when you're like around the middle Hamming weight. Right here, there's exactly L choose L over two, which is very close to two to the L divided by root L. And all the levels, so this fraction right in the middle or this level right in the middle contains a one over root L fraction of all strings.
  273. u273 And the next one at Hamming weight L over two plus one also, if you do a little calculation, contains basically a one over root L fraction of all strings. And like so do all the ones like really near the middle layers. And uh in particular, you can get like almost all the Boolean strings just by going out to Hamming weight L over two like plus or minus root L.
  274. u274 Well, if you go like L over two plus or minus like 50 root L, you'll get like 99.999999 of percent of all the strings. And if you go out to L over two plus this amount, like L over two plus or minus D, where D is root L times root log L, then it's like a simple calculation using I don't know, Chernoff bound or whatever, well known fact that uh these levels give you like a 1 minus 1 over L to the 100 fraction OF ALL STRINGS.
  275. u275 OKAY, SO LIKE ALMOST ALL THE ACTION IN THE BOOLEAN CUBE is happening inside this level. And Okay, what's going on with parity? Remember parity is like a symmetric function. Uh so the value of parity on any Hamming weight or it only depends on the Hamming weight.
  276. u276 So parity has this feature that like it's plus one Okay, it has some value plus one or minus one on the middle layer depending on the parity of L over 2. And then it's like minus one on the next layer and then it's like plus one on the next layer, minus one, minus one. So it like alternates the whole stripes from the bottom to the top.
  277. u277 And that's parity. Um And so this is our goal to get this function G or F, G uh I don't know why I wrote it. Yeah, G that mostly gets parity right.
  278. u278 And uh G is supposed to have like low degree. Uh we're going to take G itself to be symmetric. Okay, so we're going to want G to be That's a shame. Uh we're going to take G to be of the form uh
  279. u279 >> [applause]
  280. u280 >> like some univariate polynomial Q applied to X1 plus dot dot dot plus XL. And our plan will just be to Okay, so now this univariate polynomial Q um It's going to look like this.
  281. u281 We want it to look like this. So here's L. This is a picture of a univariate polynomial L minus 1, L over 2, 0. Oh, okay. Never mind. Actually going to be plus L, minus L, 0, 1, or maybe 2, minus 2, something like this.
  282. u282 Um parity Okay, this funny parity P that works for parity, it's exactly a polynomial that's like maybe plus 1 at 0, and then minus 1 at 2, and then plus 1, and minus 1, plus 1, minus 1.
  283. u283 It looks like this. Like this is the the P for parity, and it's like a kind of crazy function. Like Okay, this is the P for parity. It's some univariate polynomial of degree L that exactly goes through like plus 1, then minus 1, then plus 1, then minus 1, then plus 1, then minus 1.
  284. u284 And you see that like when you plug in some of the X I's into P, uh you get a multivariate polynomial that exactly is, you know, plus 1, minus 1, plus 1, minus 1, plus 1, minus 1. And it's perfect everywhere. Well, it is parity everywhere. Um Okay, and so we're going to try to do something similar, except we're going to use this uh We're going to use a Q um that has to have much less degree, but I hope the plan is obvious.
  285. u285 We're just going to get like these plus or minus 1's, right, on like this box here of width, you know, D equals root L log L. Okay, so we want a polynomial Q, a univariate polynomial that like matches this like plus 1, minus 1, plus 1, minus 1, plus 1, minus 1 just on this box of width D.
  286. u286 And again, you know, for any set of D or D plus 1 or D minus 1 many points you want, you can interpolate it exactly with a univariate polynomial of degree D. And so it'll, you know, the one for Q will uh exactly hit all these points.
  287. u287 It'll go off in like maybe in a different direction from the P for parity once you're outside this box, but we don't care. The point is that Q will indeed have degree only root log L. And it'll match parity on all these like middle layers. Okay, then it might have like completely arbitrary values like outside here.
  288. u288 Uh but we don't care about them cuz they're only like one over poly L fraction of the cube. So, great time to sum up. Uh So, we didn't see how to do it.
  289. u289 I mean, this is still the plan. And this plan is going to be achieved by using this key folklore fact. Um [snorts] is there anything I can say about it in like 1 minute? Uh Maybe I will not really try to say anything about it in 1 minute.
  290. u290 Well, okay, I'll say one tiny thing. Just say one tiny thing about uh what do these AIs look like?
  291. u291 >> [snorts]
  292. u292 >> Uh it's hard to even say, but like the very next thing we would do if I had more time is
  293. u293 >> [snorts]
  294. u294 >> I would make some very nice matrices out of this G. In particular, like one nice matrix [snorts] I would make is a Hadamard matrix.
  295. u295 Uh like indexed by 0 1 to the L or 2 to the L times the diagonal matrix with G times the Hadamard matrix. And this just means that like I put the truth table of G which again is like arbitrary real values um along the diagonal.
  296. u296 And uh
  297. u297 >> [snorts]
  298. u298 >> this matrix is going to be a very good surrogate for the matrix you would get if you put parities plus or minus entries down this diagonal. Somehow it's much lower degree.
  299. u299 >> [snorts]
  300. u300 >> And if you put parities plus or minus one entries down this diagonal and multiply by this Hadamard Fourier transform matrix on both sides uh you get like the anti-diagonal matrix. Um which is important.
  301. u301 Uh Quantum enthusiasts will like recognize this as like H Z H equals X in some tensor form. And anyway, like you sort of take your A factor it in such a way that this anti-diagonal matrix shows up.
  302. u302 But then replace this anti-diagonal matrix by some approximations that look like this which causes you to get some more structured matrices. I'm out of time. I can't explain it very well. [laughter] Uh that's some of the ingredients. Okay.
  303. u303 [snorts] That's ending on a confusing note, but uh any questions about the proof or the results or anything? Yeah.
  304. u304 >> Uh will you finish the proof next class?
  305. u305 >> Will I finish the proof next class? That's a wonderful question. I don't know. Actually, next class is off, right? It's democracy. No, yeah, democracy day. We're going to vote. So, maybe that increases the chances because I'll have a week. I don't know.
  306. u306 >> [laughter]
  307. u307 >> I DON'T KNOW. IT'S UP to you. Would you like me to finish the proof next class or go back to Okay, I'm getting a lot of nods. Okay, I'll finish proof next class. Sounds good.

The original

Around it

Parity functionLow-rank matrixHermite interpolationExponential Time HypothesisBlock-diagonal-plus-low-rank matrixPolynomial approximation of Boolean functionsPermanent#3-SATETH FalseIs the Exponential Time Hypothesis…#3-SATPermanentPolynomial approximation of…Block-diagonal-plus-low-rank…Exponential Time HypothesisHermite interpolationLow-rank matrixParity function

topic

#3-SAT

The problem of counting the satisfying assignments of a Boolean formula in conjunctive normal form with at most three literals per clause.

Topic1 sourceSingle source

topic

Permanent

The matrix function obtained by summing products of entries selected by permutations, without the permutation signs used in the determinant.

Topic1 sourceSingle source

topic

Exponential Time Hypothesis

The hypothesis that 3-SAT cannot be solved in subexponential time in the number of variables.

Topic1 sourceSingle source

topic

Hermite interpolation

Polynomial interpolation that prescribes both function values and derivative values at selected points.

Topic1 sourceSingle source

topic

Low-rank matrix

A matrix whose rank is small relative to its dimensions.

Topic1 sourceSingle source

topic

Parity function

The Boolean function that records whether the number of set input bits is even or odd.

Topic1 sourceSingle source

This text is written with AI.

Placed in: Now