Thursday, June 20, 2024

Luca Trevisan (1971-2024)

Complexity theorist Luca Trevisan lost his battle to cancer yesterday in Milan at the age of 52. A terrible loss for our community and our hearts go out to his family.  

The community will honor Trevisan's life and legacy 12:30 PM Pacific Time Monday at the TCS4All talk that he was scheduled to give at the STOC conference in Vancouver. Register to watch the talk online.

Luca was one of the great minds of our field, an expert on randomness and pseudorandomness. He's the first computer science member of Italy's National Academy of Science. He has taught at Columbia, Berkeley and Stanford until 2019 when he moved back to his home country to join Bocconi University in Milan. 

My favorite result from Trevisan is his connections between extractors and pseudorandom generators, especially as the first works on arbitrary distributions and the latter fools computationally randomized algorithms. This paper laid the framework for better bounds for both extractors and generators. I had one paper with Trevisan, where, with Rahul Santhanam, we show time hierarchies for almost all natural semantic classes with a small amount of advice.

Trevisan had his own blog In Theory full of technical course notes and wonderful stories. Bill has two guest posts on the polynomial van der Waerden theorem in Luca's blog following up on Luca's posts on Szemeredi’s theorem

A few years ago Trevisan started the BEATCS theory blogs column to highlight theory blogs and bloggers. Bill and I were both highlighted in this column. 

Trevisan is one of the first theoretical computer scientists to come out as openly gay and many followed. We've come a long way from Turing.

More remembrances from Boaz and Scott.

In 2014 Luca Trevisan returned to Berkeley and joined the Simons Institute as its first permanent senior scientist. Christos Papadimitriou interviewed Luca for the occasion. 

Wednesday, June 19, 2024

Rethinking Heuristica

I've argued that more and more we seem to live in an Optiland, a computational utopia where through recent developments in optimization and learning we can solve the NP-problems that come up in practice and yet cryptography remains unscathed. We seem to simultaneously live in Heuristica ( and Cryptomania of Russell Impagliazzo's Five Worlds.

But we don't. Impagliazzo defined Heuristica as the world where P \(\ne\) NP but we can solve NP-complete problems easily on average. Since cryptography requires problems that are hard on average, if we are in Cryptomania we can't be in Heuristica. 

That definition made sense in 1995 but it didn't envision a world where we can solve many NP-problems in practice but not easily on average. Despite its name, Heuristica as defined does not capture solving real-world problems. To be fair, Impagliazzo entitled his paper "A Personal View of Average-Case Complexity," not "A Treatise on Solving Real World Problems". 

So we need to rethink Heuristica or create a new world (Practica?) that better captures real-world problems. How would we do so? 

When I talked with the SAT Solving researchers at Simons last spring, they had suggested that problems designed to be hard are the ones that are hard. But how can we mathematically capture that? Maybe it's connected to learning theory and TC0 (low depth circuits with threshold gates). Maybe it's connected to constraint-satisfaction problems. Maybe it's connected to time-bounded Kolmogorov complexity. 

As complexity theorists this is something we should think about. As we study the mathematics of efficient computation, we should develop and continue to revise models that attempt to capture what kinds of problems we can solve in practice.

But for now I don't have the answers, I don't even know the right questions.

Sunday, June 16, 2024

Should Prover and Verifier have been Pat and Vanna?

LANCE: I had my first Quanta Article published! I explore computation, complexity, randomness and learning and feeling the machine.

BILL: Feels to me like a mashup of old blog posts. Changing topics, I told Darling that you used Pat for Prover and Vanna for Verifier in a 1987 conference talk but those terms did not catch on. She was shocked!

LANCE: I'm shocked you two are married 32 years.

BILL: We hope to get to 64. However, she thought those were really good names for the concept (she has a masters degree in Computer Science so she knows stuff) and wondered why wouldn't those have caught on.

LANCE: I think that its frowned upon to use a cultural icon to tied to one country. There are Europeans who have no idea who Pat and Vanna are. For that matter, there are some Americans, particularly academics, who have no idea who Pat and Vanna are. And who would remember either of them once they stopped hosting the show? And who thought that would be 2024?

BILL: Who do papers on Interactive Proof Systems use?  Of course Author-Merlin games. Is the legend of King Author so well known (or at least it's well know that there IS a legend) that its okay to use those names? I think yes. 

LANCE: Did you really think his name is Author? I command thee to see Excalibur and learn the legend for yourself. Excalibur also being the name of a Computer Othello program I wrote in the 80's.

BILL: All right, Arthur. For one thing, we, or at least everyone but me, still knows who they are many years later, whereas Pat and Vanna will be lost to history. Hey Arthur and Merlin even got a science cartoon for their role in interactive proofs.

LANCE: Did Arthur and Merlin ever host a game show? I used Victor and Pulu in my thesis. I've also written papers where we use Prover and Verifier.

BILL: Pulu? Anyway, Prover and Verifier are boring!

LANCE: Sometimes boring works. We need to only use cultural icons that spans many cultures and won't be forgotten in 200 years. Just to be on the safe side, use cultural icons that are over 200 years old. 

BILL: Can you think of any cultural icon that has been used in Math or Computer Science and the name did catch on?

LANCE: The Monty Hall Problem.

BILL: I suspect there are many people who know who Monty Hall is only because of the paradox. And that is a paradox. Here is a name that didn't catch on: Sheldon's Conjecture was named after Sheldon Cooper from The Big Bang Theory. However, since it was solved, the name won't catch on, which is probably just as well. 

LANCE: How does the Chicken McNugget Theorem fit into this?

BILL: I don't know but it's making me hungry. Let's eat!

Thursday, June 13, 2024

Favorite Theorems: Algebraic Circuits

Most of my favorite theorems tell us something new about the world of complexity. But let's not forget the greatest technical challenges in our area: proving separations that are "obviously" true. Here's the most exciting such result from the past decade.  

Superpolynomial Lower Bounds Against Low-Depth Algebraic Circuits
Nutan Limaye, Srikanth Srinivasan and Sébastien Tavenas

In this model, the inputs are variables and constants, and the goal is to create a specific formal polynomial using the gate operations of plus and times. Limaye, Srinivasan and Tavenas find an explicit polynomial such that any polynomial-size constant-depth algebraic circuit will compute it. 

How explicit? Here it is: Take d nxn matrices, multiply them together and output the top left element of the product. The \(N=dn^2\) variables are the entries of the matrices. The top left element is a polynomial of the inputs that can be computed by a simple polynomial-size circuit that just computes the iterated multiplication, just not in constant depth. The paper shows that for an unbounded d that is \(o(\log n)\), there is no constant-depth polynomial-size algebraic circuit.

The authors first prove a lower bound for set multilinear circuits and then extend to more general algebraic circuits.

Sunday, June 09, 2024

CFG-Kolm-complexity is singleton sets with Lance and Bill

For this post all Context Free Grammars (henceforth CFGs) are assumed to be in Chomsky Normal Form. The size of a CFG \(G\)  is the number of rules. We denote this by \(|G|\).

BILL: In my automata theory class I want to do some lower bounds on the size of CFGs. It is easy to show that if   \(w=0^n\) then there is a CFG G such that \(L(G)=\{w\}\) and \(|G|=O(\log n)\). I showed that if \(w\) is a Kolmogorov random string of length \(n\), and G is a CFG such that \(L(G)=\{w\}\), then \( |G|=\Omega(n/\log n\)), though this is surely known. So here is my question: Is there a natural such \(w\)? I will blog about that and make an open problems column out of it.

LANCE: Kolmogorov strings are natural!

BILL: Oh yeah. If that was true then spell check would not flag Kolmogorov as being misspelled.  So there!

LANCE: Can you ask a more rigorous question?

BILL: Okay. We can view the Kolm-result as saying that there is a function \(f\) from \(1^*\) to \(\{0,1\}^*\) such that  \(f(1^n)\) is a string of length \(n\) such that any CFG for \( \{w\}\) is large. But the function f is not computable!

LANCE: That shouldn't bother you. You wrote an entire book about how many queries to HALT and other incomputable sets are needed to solve certain problems (see here).  Also now that you know you there are such strings, you can simply search for a w and test all small CFGs. So Computable!

BILL: Still not natural. And what is the complexity? Exponential? Poly?


1) For every \(w \in \{0,1\}^n\) there is a CFG G with \(L(G)=\{w\}\) and \( |G|=O(n/\log n)\)

2) If  \(w\) is a de Bruijn sequence of length \(n\) and order \(k=\log n\) (we assume n is a power of 2). Then every CFG G with \(L(G)=\{w\}\) has \( |G|=\Omega(n/\log n)\).  There is a known algorithm that will, given \(1^n\), produce a de Bruijn sequence or length n and order \(k=\log n\), in time quasilinear in \(n\). 

BILL: That bums me out for two contradictory reasons

a) The problem is NOT solved since de Bruijn is flagged by spellcheck, so the sequences are not natural.

b) The problems IS solved, so I can't use it for an open problems column. 

LANCE: Do not despair!

a) De Bruijn sequences have a Wikipedia page and therefore are natural. 

b) We can post on ArXiv. 

WE DID and a day later Markus Lohrey emailed us that, aside from the De Bruijn result, the results are already known using a different terminology, word chains.  See his survey here. Then the next day, Giovanni Pighizzini emails us that he had previously published lower bounds for De Bruijn sequences. We have since withdrawn the paper. We revised it by putting in references and history but will not put it on arxiv. The revised paper is here.

LANCE: Bill, are you bummed out? Why did we even write the paper anyway?

BILL: Not at all!  My original goal was pedagogical, and the paper we have can still be taught in automata theory next spring. PLUS, we got invited to submit to Advanced in AI and ML with a 10% discount on publication fees (see here.) Since we are used to getting 100% discount on publication fees we won't be submitting, but it was nice to be asked. 

LANCE: Yeah, nice to be asked to be parted from my money. At least I learned about word chains.

Thursday, June 06, 2024

The Godzilla Moment

On the plane earlier this week I got around to watching the Academy Award winning movie Godzilla Minus One, one of the best monster movies I've seen set in Japan during the aftermath of World War II, with a pretty emotional substory about a man dealing with his demons from the war. I had to hide my tears from the nearby passengers.

It wasn't the story that earned the movie an Oscar. Godzilla Minus One won the awards for Best Visual Effects. I found nothing wrong with the effects, but they didn't excel beyond what you see in any typical movie of the genre.

In 2008, I lamented that special effects in movies had improved so much that we had lost the amazement we felt in the 70s. Perhaps I spoke too soon, as James Cameron's Avatar came out the following year and did amaze. However, special effects have since become a commodity, something filmmakers must include because audiences expect it but rarely do you go to a movie for the effects. In the not-too-distant future, special effects will be automated with AI, becoming just another plugin for Final Cut Pro. 

It's time to retire the visual effects award, especially with new awards coming to the Oscars.

I wrote that 2008 column to mirror the lack of enthusiasm about computing at the time which also felt like a commodity. Now we're at an exciting time in computing particularly with the advances in artificial intelligence. But we should be wary, once (if?) AI gets consistently good it may feel like a commodity again and once again we become victims of our own success. 

Monday, June 03, 2024

FOCS 2024 Test of Time Award. Call for nominations and my opinion

 The call for nominations for the Test of Time Award at FOCS 2024 has been posted here.

Eligibility and past winners are here.


1) It is good to have an award that waits until the dust settles and we can see what was really important.

2) The winners are all excellent papers that really have passed the test of time. 

3) And of course it is really important that they appeared in FOCS. NO IT ISN"T! See next point

4) I would prefer a test-of-time award that is independent of WHERE the paper first appeared. Tying it to FOCS or STOCS or FOCS-or-STOC seems bad. I would opt for appearing in ANY journal or conference. Appearing in a journal of low quality is not a problem since this award should be  for papers that are judged on their merit and influence, and not on their pedigree.

5) My proposal to allow any journal or conference may be impractical because some organization has to give it out, and if that organization is IEEE or ACM they will restrict to their own publications. 

6) STOC also has a test of time award, see here 76) I tried to find out of the SODA conference has a test of time award but mostly got hits about the Baking Soda Test for determining if a pregnant women is going to have a boy or  girl. It actually worlds 50% of the time! See here

7) I was not able to find any other test-of-time award for Comp Sci THEORY. 

8) I DID find test of time awards for

SIGCSE- Comp Sci Education, here. Must be for a paper published in a conference co-sponsored by SIGCSE or in an ACM journal.  So an excellent paper published elsewhere wouldn't count. 

SC2- High Performanc Computing, see here. Paper must have been published in the SC conference. 

ACM CCS - Security, Audit(?) and Control, see here I think these must appear in the CCS conference. 

Wednesday, May 29, 2024

Double Digit Delights

It started with a post from Fermat's Library.

My immediate reaction was why not list them all? Giving the smallest such number suggests there are an infinite number of them. But the value of a d-digit number grows exponentially in d, while the 2-digit sum grows quadratically so there must only be a finite number. 

Let's be a little more formal. Let's restrict ourselves to positive integers with no leading zeros. The 2-digit sum of x is the sum of all 2-digit numbers formed by concatenating the ith digit of x and the jth digit of x for all i,j with i\(\neq\)j. The 2-digit sum of 132 is 13+12+31+32+21+23 = 132. The 2-digit sum of 121 is 12+11+21+21+11+12 = 88. A number x if 2-idempotent if the 2-digit sum of x is x.

Let's look at the possible lengths of 2-idempotent numbers.

For 1-digit numbers the 2-digit sum is zero.

For 2-digit numbers the 2-digit sum is that number plus another positive number so never equal.

For 5-digit numbers, the 2-digit sum is bounded by 20*99 = 1980 < 10000. So there are no 2-idempotent numbers with 5-digits. More than 5 digits can be discarded similarly. 

For 4-digit numbers, the two digit sum is at most 12*99 = 1188. So a 2-idempotent number must begin with a one. Which now bounds it by 19*3+91*3+99*6=924. So there are no 2-idempotent numbers of 4 digits.

So every 2-idempotent must have 3 digits. I wrote up a quick Python program and the only three 2-idempotents are 132, 264 and 396. Note that 264 is 2*132 and 396 is 3*132. That makes sense, if you double every digit and don't generate carries, every two-digit part of the sum also doubles.

Biscuit asks if there is some mathematical argument that avoids a computer or manual search. You can cut down the search space. Every length 3 2-idempotent is bounded by 6*99=594 and must be even since every digit appears in the one's position twice. But I don't know how to avoid the search completely.

Two more Python searches: 35964 is the only 3-idempotent number. If you allow leading zeros then 0594 is 2-idempotent. There may (or may not) be infinitely many such numbers.