3,178 karma · joined July 15, 2014
Interested in programming languages and machine learning.
https://twitter.com/breandan
https://github.com/breandan
https://breandan.net/
From a circuit complexity standpoint, you could evaluate a wide but shallow circuit to evaluate the function in a nanosecond, or a deep but narrow circuit that takes eons. Whether parts of that circuit are evaluated synchronously or asynchronously is immaterial, although synchronous computation does seem easier to reason about and the UX is more user-friendly from a programmability standpoint.
I agree with you the fundamental limitation is the speed of light if you are width-bounded (i.e., if physical space is the dominating constraint).
[1]: https://en.wikipedia.org/wiki/Elliptic_curve#Elliptic_curves...
[2]: https://en.wikipedia.org/wiki/Space-filling_curve
[3]: https://www.maths.dur.ac.uk/users/norbert.peyerimhoff/peyeri...
edit: They describe this more carefully in the paper.
In the same way that psychology can be harmful to the pursuit of truth, there is an evil or deformity in what pure mathematics represents (or became), as Cantor and Gödel both discovered trying to eliminate its paradoxes. Mathematics as practiced by, e.g., Leibniz and Euler, was much more interested in calculation, i.e., mechanization. It is this form of "mathematics", as the thing has come to be called, that should have been developed, instead of trying to axiomatize infinite sets, explain the continuum, or fix impredicativity.
But despite the many paradoxes of mathematics (e.g., AoC, LEM) and machines (i.e., bugs), computer science has happily chugged along and made many practical contributions which explain the universe and shed light into people's minds, fulfilling the role that pure mathematics once served. Today, we are very close to mechanizing both minds and mathematics, and can replicate many aspects of reality (i.e., mathematical or otherwise) inside computers. It is not unimaginable that one day, computer science as it is practiced today will be seen as a kind of telescope for revealing the nature of mathematics and/or reality, which the mind alone cannot fathom.
The proper way to evaluate systematic reasoning is by training on a curriculum of problems of increasing average-case complexity. Think random k-SAT in the critical region, bisimulation games, or interpolation in certain logical theories. Although there is a growing evidence that Transformers and GNNs have foundational limits to expressivity [3, 4, 5], if the scaling crowd could show strong generalization results on these sorts of problems they would have the last laugh...
[1]: https://arxiv.org/pdf/2210.10749.pdf
[2]: https://arxiv.org/pdf/2305.18654.pdf
[3]: https://arxiv.org/pdf/2106.16213.pdf
[1]: https://en.wikipedia.org/wiki/List_of_extreme_points_of_Cana...
[2]: https://en.wikipedia.org/wiki/List_of_extreme_points_of_U.S....
[1]: https://en.wikipedia.org/wiki/Sorting_network#Optimal_sortin...
Massalin (1987) [2] calls the first phase "probabilistic execution" and claims that nearly all of the functions which pass the PE test also pass the more rigorous Boolean verification test. Can you give any insight into the benefits of TT over more "automated" optimizations? I am curious if MLTT/HoTT is more suitable for certain compiler optimizations or offers additional expressive power for proving equivalence, or is the benefit mostly ergonomics?
I guess if I were to summarize your argument, (current) solvers do not use GPUs because there are not many algorithms that can leverage the additional compute (and maybe there is some theoretical barrier?). On the other hand, the continuous optimization folks had neural networks for more than half a century before they figured out how to make them run fast, and were also ridiculed for pursing what was widely believed to be a dead-end. So I would be careful about falling for the "smart people tried really hard for a while" argument.