fiveham / Sudoku_Solver

Solve sudoku puzzles by representing the puzzle as a bipartite graph of truth-claims about cells' values and rule-statements that have exactly one true neighbor and removing edges as information is added
MIT License
0 stars 0 forks source link

Formalize the need for FalsifiedTime args in retrofitted Collection methods in NodeSet #1

Closed fiveham closed 8 years ago

fiveham commented 8 years ago

Currently, there are duplicate methods in NodeSet, such as clear() and clear(FalsifiedTime), where one method fulfills a requirement of the Set or Collection interface and the other fulfills the practical necessity of providing graph-modifying methods access to their appropriate modification-point on the growing time-tree of solution events.

Using Collection's methods in principle while never using Collection's methods themselves clashes with the concept of Collection as an API. NodeSet should be reconceived such that

fiveham commented 8 years ago

FalsifiedTime-arg methods have been removed. They were needed only to properly attribute causation of cascading solution events. Cascading solution events have been removed because they violate separation of concerns by tying the solution process intimately into the model of the state of the puzzle.