added bool cw_csp::ac3() to run AC-3 algorithm on the CSP
Details
cw_csp.arc_dependencies modified to map variables to a set of constraints, not a set of variables; this was a mistake from #2 . by pointing to dependent constraints, they can all be looked up in O(1) time and queued when a domain is pruned without iterating through all constraints
Testing
directed AC-3 tests added to cw_csp_test_driver to test validity and proper domain pruning for various crosswords
Overview
bool cw_csp::ac3()
to run AC-3 algorithm on the CSPDetails
cw_csp.arc_dependencies
modified to map variables to a set of constraints, not a set of variables; this was a mistake from #2 . by pointing to dependent constraints, they can all be looked up in O(1) time and queued when a domain is pruned without iterating through all constraintsTesting
cw_csp_test_driver
to test validity and proper domain pruning for various crosswordsNotes
cw_csp