You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
RIght now, when we build moves in GetMoves, we try each more and calculate AttackableBoard for each move. This is really slow (O(n^4) wrt. number of squares of board)
If we do #22, this may be much better. Alternatively maybe we can get the AttackableBoard without recalculating, just by somehow applying the attackable positions of a new move and then undoing after trying the move but idk if this is possible
The text was updated successfully, but these errors were encountered:
I can pick up this issue. We can actually completely get rid of the cache in this way. Simply save the previous board, apply the change and keep going from there. We will need to have 4 bits per location so an extra 4*64 = 256 -> 32 bytes for the board. Might be a tricky refactor but definitely doable. Thoughts?
Might be related to #22
RIght now, when we build moves in GetMoves, we try each more and calculate AttackableBoard for each move. This is really slow (O(n^4) wrt. number of squares of board)
If we do #22, this may be much better. Alternatively maybe we can get the AttackableBoard without recalculating, just by somehow applying the attackable positions of a new move and then undoing after trying the move but idk if this is possible
The text was updated successfully, but these errors were encountered: