Introduction To Circuit Complexity
Audience: graduate
Tags: computer-sciencecomplexity-theorycircuit-complexitycomputational-complexity
A look at the importance of circuit complexity, main results, and how it shapes cryptography, complexity theory, and our grasp of the true limits of computation.
Analytics
Comments
A small suggestion on UI: in the widget for the 16 gates with 2 inputs, the buttons underneath all have “unselected” states (e.g. the first button can be x1-dependent / x1-independent / either). The buttons being in these states are not very clearly shown, so at first sight it may be confusing. Otherwise, great format for presentation!
The interactive truth tables were a great touch.
Hooked me in right from the start! Had never seen all the 16 boolean operations laid out so clearly before, it’s nice to know their names. I also really liked the interactives, spent a while playing with the graphs to understand what’s going on.
I really like it. Selection of the topic, how it is written, the style, animation and etc. Thanks a lot for the great work!
This was quite interesting. I learned about a way of thinking about logic circuits an computational complexity that I had not seen before. The one suggestion I would have is that a little more motivation of basic complexity theory and computation terms might noticeably broaden the audience. For example, I am in a different technical field at the post-grad level, and found I could follow most but not quite all the ideas here.
It’s a good thing you labeled it exclusively as graduate-targeted, otherwise I would have needed to complain about how you introduced terms like “language” out of the blue ;p
All in all, this is a well-written post. It gives a broad overview of the topic and how it connects to other fields, and I think in that sense you achieved your goal.
However, it felt to me like the core idea was weakly represented. You spend a lot of time introducing boolean circuits (until “connections to complexity theory”), whereafter you jump right into applications, followed by relatively little on the actual complexity. There’s “Measuring Circuit Complexity” somewhere in the middle, but that mostly raises questions that aren’t answered later on. In that sense, I find that the questions raised here and at the start don’t necessarily lead somewhere.
Further, I found that the exposition stays very close to a textbook format. While I appreciated the interactive graphs, I feel most of them don’t have much of an edge compared to static images. While the sections form a logical order, I don’t think they tell a story, lead to a conclusion. This is reinforced by targeting a graduate level: The ideas presented here don’t need to be viewed through a rigorous lense. Even just breaking it down to a more digestible perspective would have made it feel fresher, and probably also made it more useful for your audience: If someone struggles reading existing material, this entry does not necessarily provide another perspective.
In this sense, I believe that the blog post fulfills your goal, but I’m not sure it adds much novelty to the math exposition ecosystem.