-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES.txt
229 lines (144 loc) · 7.35 KB
/
CHANGES.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
ColorFill CHANGES
1.3.3 (2023-08-25)
- updated FlatLaf - Flat Look and Feel to current version 3.2
* https://github.com/JFormDesigner/FlatLaf/releases
- improved AStarPuchertStrategy - runs even faster
- added 99problems, another set of test cases
* https://github.com/manteuffel723/flood-it-boards
* all specified optimal solutions in the files are confirmed by ColorFill
- performed another complete benchmark run of codegolf26232
* latest run took 54 minutes 16 seconds
(21 minutes faster than previous version 1.3.2)
1.3.2 (2022-02-22)
- updated FlatLaf - Flat Look and Feel to version 2.0.1
* https://github.com/JFormDesigner/FlatLaf/releases
- improved AStarPuchertStrategy and AStarFlolleStrategy
* they use less memory and run slightly faster
- performed another complete benchmark run of codegolf26232
* same optimal result of 1,985,078 steps
* first run in early 2018 (using version 1.1.1) took about 120 hours
* latest run took 75 minutes - this huge speedup was made possible by:
* the numerous code optimizations (about 5 times as fast as version 1.1.1)
* and the much more powerful computer (8-cores CPU with 64 GB of RAM)
1.3.1 (2020-12-19)
- added GUI Look&Feel configuration to settings dialog
- added FlatLaf - Flat Look and Feel (with 2 light and 2 dark themes)
* https://www.formdev.com/flatlaf
* https://github.com/JFormDesigner/FlatLaf
* Copyright 2019 FormDev Software GmbH
* FlatLaf is open source licensed under the Apache License 2.0
- added color scheme: Grayscale
- added highlight color: Blue
- small speedup of AStarPuchertStrategy and AStarFlolleStrategy
1.3.0 (2020-08-29)
- Java 8 or higher is required
- added checkboxes to switch on/off each solver strategy (persistent setting)
* DfsExhaustiveStrategy is disabled by default (it's so slow)
- optimized AStarPuchertStrategy (about twice as fast as version 1.2.2)
* optimal solutions are found in less time and using less memory
- added AStarFlolleStrategy
* idea is taken from the program "terminal-flood" by Flolle (Florian Fischer)
* https://github.com/Flolle/terminal-flood
* based on terminal-flood InadmissibleSlowStrategy, with minor modifications
* doesn't always find optimal solutions, but usually finds very good solutions
* runs faster and uses less memory than AStarPuchertStrategy
- added "-benchmark" feature
* command line parameters: -benchmark <input file> [solver strategy]
* in folder "benchmark" there are a shell script, some test data and results
* several of the test datasets have been copied from Flolle's terminal-flood
- improved import/export of Board data from/to text data
* supports arbitrary characters for colors (not limited to numbers anymore)
* maximum number of distinct characters (colors) per board is 16
1.2.2 (2020-01-27)
- optimized AStarPuchertStrategy (more than twice as fast as version 1.1.1)
1.2.1 (2019-02-17)
- game board retains its aspect ratio when the window is resized
1.2 (2019-01-30)
- added GUI checkbox and persistent prefs for computed solutions
- game board remains a square when the window is resized
- optimized AStarPuchertStrategy (faster and uses less memory)
1.1.2 (2018-10-02)
- added special highlighting of cells if this color will be completed in one move
- improved graphics performance by using antialiasing for the circles only
1.1.1 (2018-04-15)
- small speedup of AStarPuchertStrategy
- program has solved the challenge: Code Golf: Create a Flood Paint AI
* https://codegolf.stackexchange.com/questions/26232/create-a-flood-paint-ai
* using AStarPuchertStrategy to find optimal solutions
* result is 1,985,078 steps
- fixed initialization of graphical user interface, now compatible with Java 10
1.1 (2018-02-02)
- optimized DfsExhaustiveStrategy
* much faster then before
* solves Programming Challenge 19 in about 1/3 of the previous time (now 47 minutes)
- added AStarPuchertStrategy
* better heuristic for AStar (A*) solver
* idea taken from the program "floodit" by Aaron and Simon Puchert https://github.com/aaronpuchert/floodit
* finds optimal solutions (shortest possible)
* much faster than DfsExhaustiveStrategy
* solves Programming Challenge 19 in less than 2 (!) minutes
1.0 (2017-02-05)
- program solves the challenge: Code Golf: Create a Flood Paint AI
* https://codegolf.stackexchange.com/questions/26232/create-a-flood-paint-ai
* input data and solver results in directory 'codegolf26232'
* output of this program, ColorFill: 2,095,015 steps (would have been 1st place!)
- added AStar (A*) solver
* heuristic taken from the Programming Challenge 19 program by tigrou
- speed up the solver algorithms, especially DfsExhaustiveStrategy
- added DfsExhaustiveStrategy to interactive GUI solvers
* used for boards up to 15 x 15
* very slow but it's solutions are always optimal (shortest possible)
- added 'Game ID' feature to GUI
* copy a game as text to system clipboard to save it
* paste a game as text from system clipboard to restore it
* can import GameID from Simon Tatham's "Flood"
0.1.12 (2015-08-09)
- added "Hint" button
- added "Highlights white/black" option
0.1.11 (2015-06-23)
- added "Color Numbers visible" option
- solver algorithm speedup (ExhaustiveDfsStrategy for PC19 mode)
0.1.10 (2015-04-26)
- added shortcut key Alt-N to button New
- solver algorithm speedup
0.1.9 (2015-04-04)
- added ExhaustiveDfsStrategy
* performs an exhaustive search and finds the optimal solutions
* not enabled in GUI mode, because it needs too much time and memory
* achieves a score of 20086 in Programming Challenge 19
http://cplus.about.com/od/programmingchallenges/a/challenge19.htm
* available in PC19 mode, which is activated when you specify the input
file name as command line parameter, like this:
java -Xmx8G -jar colorfill.jar pc19/tiles.txt
- improved settings dialog: color scheme is now selected using a dropdown list
0.1.8 (2015-03-15)
- added application icon
- some performance tweaks (slightly smaller and faster program)
0.1.7 (2015-02-22)
- added option Cell Size (Pixels)
- added Restore Defaults to settings dialog
- improved dynamic layout of ControlPanel
0.1.6 (2015-02-16)
- added grid lines option "colors"
- persistent game state: current board and (partial) solution are
saved when program is closed and restored when program is started
0.1.5 (2015-02-04)
- added more color schemes
- added "number of colors" option, values 2...6 are available
- persistent settings, using the standard Java Preferences API
0.1.4 (2015-01-05)
- added optional grid lines
- added starting position marker (little white square) and selection
in settings dialog (corner top/bottom left/right or central)
0.1.3 (2014-11-28)
- small GUI improvements
- faster solver algorithm
- program solves the Programming Challenge 19
if the input file name (like "tiles.txt") is given as command line argument.
result: Total Moves = 20708; runs less than 2 minutes.
http://cplus.about.com/od/programmingchallenges/a/challenge19.htm
0.1.2 (2014-11-17)
- fixed a small bug in settings dialog
- compatible with Java 6 or higher
0.1.1 (2014-11-16)
- initial release, with solver algorithm working and integrated into GUI