Show HN: Recursively apply patterns for pathfinding
25 points by seveibar 2 days ago | 5 comments
I've been begrudgingly working on autorouters for 2 years, looking for new techniques or modern methods that might allow AI to create circuit boards.
One of the biggest problems in my view for training an AI to do autorouting is the traditional grid-based representation of autorouting problems which challenges spatial understanding. But we know that vision models are very good at classifying, so I wondered if we could train a model to output a path as a classification. But then how do you represent the path? This lead me down the track of trying to build an autorouter that represented paths as a bunch of patterns.
More details: https://blog.autorouting.com/p/the-recursive-pattern-pathfin...
sublinear 2 days ago
https://blog.autorouting.com/p/13-things-i-would-have-told-m...
replyI found this blog post helps understand the what and why for the demo.
Either way, pretty sweet application of AI.
[1] https://imgur.com/a/pxc0zJ4
[2] https://imgur.com/a/GrxzAw3
The tension in autorouting IMO is people generally want something ideal that passes all design rule checks. My thinking (and IMO the more modern way of thinking) is that fast algorithms, fast feedback loops and AI participation are more important.
There are also a lot of relevant algorithms in VLSI/chip design, the folks at OpenROAD seem to have good stuff although I'm not intimately familiar.
The example in the article doesn't quite apply, as baking pathfinding given a mesh (like baking lighting) isn't really the same thing as what A* pathfinding is (just how it's not the same thing as, e.g., raytracing). So I'm not sure if I fully agree with the logical inference there. In my defense, I know nothing about etching PCBs, so I'm likely missing something.
I also have on my desk "Algorithms for VLSI Physical Design Automation Third Edition" which I really like, but it's ~20 years old and has a lot of nomenclature that can be helpful, but I'm not a big believer in how the problems are broken down, which is IMO more oriented towards "designs with repeated patterns" rather than PCBs that don't usually repeat patterns (unless you're doing an LED matrix)