Hoo boy, so turns out I made some more Snake mistakes.
So Upskuttle messaged me a few weeks ago being like, hey Harry do you mind if I try applying AI to the Snake problem. And I was like, sure! And, it found some interesting things.
Like, first off, it managed to write a solver that actually runs pretty quickly, unlike my attempt! I haven't checked all the code but I'm assuming it works. With that in hand, you can find a lot! (I assume for many vertices it must eventually be slow -- Graafsma et al proved the problem is NP-complete, after all, and from what I can tell about how the solver works, I think it's exponential time. Just, like, my attempt at a solver crapped out at, like, 6 vertices. This can handle 10 no problem; I haven't tried it on higher.)
In terms of what this solver actually found -- I said I'd classified all winnable graphs up to 7 vertices, but, uh, turns out I messed up 7 -- I'd been saying that &;Theta2,2,1 is winnable, but it's not. The PROMYS students didn't catch this! They caught that Θ2,2,3 is unwinnable even though I said it was winnable, but not that I was also wrong about Θ2,2,1. The funny thing is, Θ2,2,2 *is* winnable, I was right about that. So this finally gives an example of an unwinnable graph whose subdivision is winnable -- it was under our noses the whole time! I just messed things up.
(This also means I've messed up how to minimize the Psi graphs...? Ugh, I don't want to be thinking right now about how to fix this. Also, my classification was only correct up to 6 vertices, not 7.)
It also found plenty of other winnable graphs I didn't know about. Including, on 10 vertices... graphs that are weakly but not strongly winnable! I have looked at some of these examples, but do not claim to have any understanding of them.
It also claims to have proved a new criterion a graph needs to satisfy to be winnable? It wrote down a proof sketch, I haven't examined it yet. I don't really want to be focusing too hard on Snake right now. :P
So yeah I made some real Snake mistakes. I've updated the page. Guess I better send out some corrections...
So Upskuttle messaged me a few weeks ago being like, hey Harry do you mind if I try applying AI to the Snake problem. And I was like, sure! And, it found some interesting things.
Like, first off, it managed to write a solver that actually runs pretty quickly, unlike my attempt! I haven't checked all the code but I'm assuming it works. With that in hand, you can find a lot! (I assume for many vertices it must eventually be slow -- Graafsma et al proved the problem is NP-complete, after all, and from what I can tell about how the solver works, I think it's exponential time. Just, like, my attempt at a solver crapped out at, like, 6 vertices. This can handle 10 no problem; I haven't tried it on higher.)
In terms of what this solver actually found -- I said I'd classified all winnable graphs up to 7 vertices, but, uh, turns out I messed up 7 -- I'd been saying that &;Theta2,2,1 is winnable, but it's not. The PROMYS students didn't catch this! They caught that Θ2,2,3 is unwinnable even though I said it was winnable, but not that I was also wrong about Θ2,2,1. The funny thing is, Θ2,2,2 *is* winnable, I was right about that. So this finally gives an example of an unwinnable graph whose subdivision is winnable -- it was under our noses the whole time! I just messed things up.
(This also means I've messed up how to minimize the Psi graphs...? Ugh, I don't want to be thinking right now about how to fix this. Also, my classification was only correct up to 6 vertices, not 7.)
It also found plenty of other winnable graphs I didn't know about. Including, on 10 vertices... graphs that are weakly but not strongly winnable! I have looked at some of these examples, but do not claim to have any understanding of them.
It also claims to have proved a new criterion a graph needs to satisfy to be winnable? It wrote down a proof sketch, I haven't examined it yet. I don't really want to be focusing too hard on Snake right now. :P
So yeah I made some real Snake mistakes. I've updated the page. Guess I better send out some corrections...