-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Understanding the "Propagation" step #1
Comments
Hi @solub
For the popped cell, I check for its remaining possible pattern by looking to its neighbours. It's not updating its neighbours, but only the current cell.
Yes you are right, I think it's a mistake, need to put a check to improve speed.
I do not check for 0 pattern in |
Thank you so much for the swift reply @Coac May I suggest a couple of minor improvements regarding that For example, your stack (
Mine goes like this:
|
Thanks you @solub for your insights. I will check it when I have freetime. |
Dear @Coac ,
Thank you for this clear, pythonic and efficient port of the original C# script. I learned a lot from reading it.
A point is still obscure to me, during propagation:
Why are you starting to iterate over the neighbors of the neighbors of the collapsed cell ?
(Every other implementation start by iterating over the 4 direct nighbors of the collapsed cell, not the neighbors of its neighbors)
Are you iterating over neighbors that have been collapsed as well ? (updating collapsed cell ?)
What happens when you remove the last available pattern of a cell (line
62
of propagator.py) ? (How do you handle cells with 0 patterns left ? Normally, this should throw an error)In other words:
The text was updated successfully, but these errors were encountered: