Commit graph

140 commits

Author SHA1 Message Date
892c5ff7be
fix printing of model of sat 2023-05-10 17:44:16 +02:00
5598887c64
model clue starved in hanabi instances/games 2023-05-10 17:30:57 +02:00
9886e68084
correct return value in case of infeasible instance 2023-05-09 17:44:37 +02:00
edcdaa8fd2
download: fix parsing of var id, better error handling 2023-05-08 23:27:47 +02:00
c47ca7ccc5
sat.py: correctly export model after game ended 2023-05-08 23:25:09 +02:00
d91dec3c81
add method to check replay for last feasible state (binary search) 2023-05-06 23:59:03 +02:00
ab82ec00ed
insert into seeds db before into games 2023-05-06 23:51:26 +02:00
87524addd6
hanabi.py: support adding arbitrary clues for nicer replays 2023-05-06 22:03:23 +02:00
9fe456f0f9
hanabi.py add attribute to retrieve max score of instance 2023-05-06 20:13:36 +02:00
303158bc25
sat: annotate function return type. use deep copy for returning solution to avoid modifying passed game state 2023-05-06 19:41:50 +02:00
bdefe7aa34
hanabi.py: do not set values when reading discard or play actions from json. add equality operator to Action type 2023-05-06 19:02:38 +02:00
71951ac929
adjust download method also for games whose seed is unknown before 2023-05-06 17:42:27 +02:00
3a00879e03
hanabi.py: implement taking arbitrary actions, support striking out 2023-05-06 17:41:33 +02:00
9cd87445f2
fix missing self. in hanabi.py 2023-05-06 12:29:52 +02:00
0e6067ffe3
add try/except block around subprocess 2023-05-06 09:06:01 +02:00
1172405994
add requirements.txt dependency file 2023-05-06 08:50:00 +02:00
ce3d38537f
add pretty print method for decks 2023-03-18 15:18:04 +01:00
63146046e0
add methods to analyze individual suits and what cards to pick 2023-03-18 15:17:47 +01:00
dee13938cf
adjust deck analyzer to use hanabi instances 2023-03-18 14:08:27 +01:00
ddeb19265d
adjust sat solver to new files 2023-03-18 13:18:16 +01:00
8730551055
refactor greedy solver for new hanabi classes 2023-03-18 10:17:24 +01:00
a056c83869
fix a few missing self attributes 2023-03-18 10:17:09 +01:00
a90423e5c4
fix a few typos yielding errors 2023-03-18 01:27:32 +01:00
7aa8a78a9d
rewrite compress methods for new GameState object, proper error handling 2023-03-18 01:19:04 +01:00
b0d0aaae1b
refactor: proper classes for hanabi instances and games 2023-03-18 01:17:32 +01:00
c43b0fc475
deck_analyzer: also find seeds where handsize is too small to store all
valuables
2023-03-17 11:58:04 +01:00
93eca1f0b1
greedy_solver: remove global variables. allow exporting games with no actions 2023-03-17 11:55:46 +01:00
0851f83e12
compress.py: add method for colored output 2023-03-17 11:55:07 +01:00
c381a4c129
compress.py: make executable and decompress argument from command line 2023-03-17 11:54:55 +01:00
0756bba205
better testing for greedy solver. implement better handling of copies of cards 2023-03-16 14:07:42 +01:00
27055fd07f
deck_analyzer: check for out of hand size (mostly 2p games) 2023-03-16 09:34:03 +01:00
b819886ec5
add detection methods for seeds running out of pace 2023-03-15 16:41:22 +01:00
054112e272
add better method for instance solving: try greedy solver first 2023-03-15 15:45:22 +01:00
07d95e99f5
do not execute stuff when importing 2023-03-15 15:44:50 +01:00
b2ab5be3d9
rename solve -> solve_sat, change output type to be an actual game 2023-03-15 15:44:33 +01:00
1a43648ac7
greedy solver: do not crash when crit is lost, just mark this 2023-03-15 15:44:03 +01:00
2807d2672a
ignore some output files 2023-03-15 15:43:14 +01:00
b6b62e376f
add logger setup 2023-03-15 15:42:22 +01:00
f9abc8b2f5
assertions in GameState class 2023-03-15 11:16:45 +01:00
f0c1f112a0
adjust sat solver to handle mid-game states 2023-03-15 11:14:56 +01:00
d71dba523c
add deck index to be stored with card, add hash method 2023-03-14 21:15:20 +01:00
9704411001
fix bug in replay creation: equal cards with different deck idx: replace correct one 2023-03-14 18:47:07 +01:00
4c98c4f645
compute winning percentage at end 2023-03-14 18:27:29 +01:00
97d2bf379d
implement handling of dupes in same players hands 2023-03-14 18:15:15 +01:00
0687e176d5
first version of greedy solver: winrate roughly 80% 2023-03-14 15:20:18 +01:00
8991d30826
GameState: fix clued value, add to_json method 2023-03-14 09:14:40 +01:00
bdbcc28edd
sat solving database: add timer, skip 2-player seeds (too costly atm) 2023-03-14 09:14:14 +01:00
abdbc02c6b
adjust downloading of actions: log if VoteTerminate action is found 2023-03-14 09:13:10 +01:00
e04d3a9025
fix compression: value of voteTerminate now set to 0 to prevent index overflow 2023-03-14 09:12:46 +01:00
0e7deaf0dd
clean up sat.py file: json exporting now easier 2023-03-14 09:12:21 +01:00