Commit Graph

22 Commits

Author SHA1 Message Date
Camden Dixie O'Brien
dd3cabf11b Use queue for tiles to probe
This allows updating and searching until no more inferences can be
made, resulting in a ~5% improvement (also better performance).
2025-03-22 13:30:25 +00:00
Camden Dixie O'Brien
78779c74de Make macro for looping through adjacent tiles 2025-03-22 13:30:25 +00:00
Camden Dixie O'Brien
168cdd8e8e Add simple contradiction-driven search mechanism
Gets an about 6% improvement
2025-03-22 13:30:25 +00:00
Camden Dixie O'Brien
6e9a6810b3 Detect contradictions in update() 2025-03-22 13:30:25 +00:00
Camden Dixie O'Brien
0a99509524 Add SAFE state to indicate un-probed safe tile 2025-03-22 13:30:25 +00:00
Camden Dixie O'Brien
040148f782 Add error checking and better reporting 2025-03-22 13:30:24 +00:00
Camden Dixie O'Brien
02a0dd9763 Refactor to extract update() function 2025-03-22 13:30:08 +00:00
Camden Dixie O'Brien
001b52d714 Set to standard 'beginner' configuration 2025-03-22 13:30:08 +00:00
Camden Dixie O'Brien
7f2a9b79ae Run 1000 times and measure success rate 2025-03-22 13:30:08 +00:00
Camden Dixie O'Brien
027fea745d Keep track of total mines and total unknowns 2025-03-22 13:30:08 +00:00
Camden Dixie O'Brien
b9fda50c95 Never probe known mines 2025-03-22 13:30:08 +00:00
Camden Dixie O'Brien
e33c64e5ae Restart update after identifying mine 2025-03-22 13:30:08 +00:00
Camden Dixie O'Brien
6394dcb819 Probe known-safe tiles 2025-03-22 13:30:08 +00:00
Camden Dixie O'Brien
e36c1c6502 Guess and update in a loop 2025-03-22 13:30:08 +00:00
Camden Dixie O'Brien
eeea09eaa2 Identify mines on edges 2025-03-22 13:30:08 +00:00
Camden Dixie O'Brien
cdf4ccc1a9 Create countadj helper function 2025-03-22 13:30:08 +00:00
Camden Dixie O'Brien
01d5376f31 Pick an initial point at random 2025-03-22 13:30:08 +00:00
Camden Dixie O'Brien
78c0ad81e2 Implement probes 2025-03-22 13:30:07 +00:00
Camden Dixie O'Brien
cf84ae2017 Set up solve state 2025-03-22 13:29:53 +00:00
Camden Dixie O'Brien
302314ee79 Write Makefile 2025-03-22 13:29:53 +00:00
Camden Dixie O'Brien
0561639aa6 Implement puzzle generation 2025-03-22 13:29:51 +00:00
Camden Dixie O'Brien
540a47c37b Add license, .gitignore and .clang-format 2025-03-06 20:33:31 +00:00