[Programming Contest 5] Tuintopia Vorige deel Overzicht

Pagina: 1 2 3 4 Laatste
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Algoritme een factor ter grootte van het spelveld sneller gemaakt.

Bij 017x013_+020 haal ik nu:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Score:1469
[k003][k003][k007][k003][k028][k015][k008][k026][k008][k026][k008][k003][k028][k015][k021][k020][k019]
[k021][k028][k028][k028][k028][k015][k008][k026][k008][k026][k008][k003][k028][k015][k004][k029][k005]
[k029][k012][k012][k015][k012][k015][k008][k026][k008][k026][k021][k026][k028][k015][k021][k020][k020]
[k028][k023][k023][k027][k004][k015][k008][k026][k008][k015][huis][huis][k012][k015][k002][k005][k005]
[k012][k020][k023][k013][k004][k015][k004][k015][k030][k015][k011][k027][k011][k027][k002][k025][k020]
[k023][k013][k023][k013][k030][k014][k030][k027][k011][k027][k017][k024][k017][k010][k002][k025][k023]
[k006][k013][k006][k014][k006][k014][k006][k016][k017][k024][k017][k024][k012][k016][k002][k020][k019]
[k006][k007][k007][k007][k007][k007][k007][k016][k025][k024][k012][k023][k013][k016][k004][k010][k005]
[k001][k014][k006][k014][k021][k021][k021][k022][k018][k028][k022][k011][k027][k030][k019][k010][k009]
[k030][k030][k007][k007][k029][k029][k029][k005][k025][k018][k024][k017][k024][k017][k019][k010][k009]
[k001][k001][k021][k021][k021][k021][k020][k022][k025][k018][k016][k017][k016][k004][k019][k010][k009]
[k030][k030][k029][k029][k029][k029][k005][k018][k018][k022][k016][k002][k016][k018][k019][k010][k009]
[k019][k001][k001][k021][k021][k020][k022][k016][k025][k018][k016][k002][k025][k018][k025][k010][k002]


En bij 048x039_+040:
code:
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
Score:16239
[k052][k066][k067][k081][k071][k019][k018][k044][k018][k019][k010][k009][k002][k089][k020][k089][k048][k048][k048][k048][k048][k074][k018][k044][k018][k016][k032][k026][k009][k004][k010][k067][k066][k067][k067][k066][k066][k066][k008][k049][k008][k064][k008][k043][k008][k003][k084][k063]
[k089][k089][k071][k081][k067][k035][k078][k035][k078][k035][k010][k002][k002][k032][k020][k005][k037][k039][k037][k039][k005][k061][k061][k035][k078][k081][k050][k076][k076][k067][k049][k066][k086][k042][k086][k042][k022][k009][k026][k026][k075][k026][k075][k026][k021][k029][k021][k063]
[k063][k035][k078][k081][k071][k071][k081][k071][k081][k071][k049][k076][k002][k032][k020][k005][k037][k005][k037][k005][k074][k074][k036][k071][k071][k081][k053][k081][k075][k006][k006][k022][k068][k082][k069][k087][k041][k010][k032][k076][k076][k076][k076][k043][k060][k029][k060][k063]
[k089][k031][k071][k081][k067][k081][k067][k071][k014][k057][k014][k057][k016][k032][k020][k005][k037][k072][k053][k072][k067][k059][k004][k081][k067][k081][k036][k027][k070][k003][k051][k066][k066][k066][k061][k061][k061][k049][k067][k049][k003][k003][k075][k043][k021][k029][k084][k063]
[k005][k074][k004][k081][k042][k027][k009][k071][k014][k071][k001][k030][k015][k032][k020][k005][k020][k005][k011][k015][k075][k043][k053][k045][k075][k059][k004][k039][k017][k044][k044][k022][k022][k009][k036][k036][k036][k065][k008][k075][k070][k048][k021][k048][k021][k029][k023][k080]
[k010][k074][k004][k015][k036][k010][k067][k010][k022][k042][k054][k054][k015][k032][k020][k023][k012][k072][k053][k072][k075][k043][k070][k015][k043][k043][k025][k076][k025][k039][k038][k041][k074][k061][k061][k061][k061][k049][k064][k064][k064][k062][k039][k037][k060][k029][k084][k084]
[k061][k049][k004][k010][k032][k010][k036][k041][k024][k011][k019][k030][k015][k032][k020][k023][k020][k072][k011][k015][k075][k064][k008][k075][k008][k075][k006][k084][k006][k085][k025][k010][k074][k009][k036][k074][k008][k075][k075][k055][k070][k048][k005][k048][k058][k013][k006][k080]
[k006][k085][k006][k049][k035][k076][k035][k076][k035][k078][k054][k078][k015][k032][k020][k023][k020][k005][k032][k010][k009][k009][k046][k026][k006][k049][k006][k051][k006][k085][k004][k010][k005][k010][k004][k039][k064][k064][k059][k064][k060][k013][k058][k013][k058][k013][k033][k022]
[k003][k084][k006][k051][k006][k081][k053][k045][k004][k019][k019][k030][k015][k032][k020][k023][k020][k039][k037][k039][k002][k002][k082][k065][k007][k007][k007][k007][k006][k081][k004][k073][k005][k074][k062][k083][k055][k055][k055][k055][k070][k013][k058][k013][k058][k013][k041][k018]
[k006][k085][k003][k085][k003][k085][k043][k045][k073][k078][k054][k078][k015][k032][k020][k023][k012][k024][k017][k039][k002][k046][k046][k086][k046][k028][k028][k028][k051][k022][k036][k044][k062][k047][k060][k083][k064][k076][k064][k064][k044][k062][k058][k013][k006][k084][k077][k077]
[k003][k028][k069][k028][k069][k086][k070][k036][k070][k044][k019][k019][k015][k032][k012][k023][k085][k080][k017][k016][k002][k002][k082][k050][k050][k050][k050][k050][k050][k038][k038][k073][k062][k021][k062][k074][k009][k075][k074][k004][k073][k073][k058][k013][k006][k051][k085][k066]
[k012][k084][k084][k012][k085][k024][k038][k024][k073][k078][k073][k054][k076][k055][k012][k080][k084][k080][k084][k016][k059][k002][k046][k086][k086][k028][k028][k089][k086][k068][k044][k044][k062][k047][k061][k049][k061][k061][k074][k062][k045][k045][k062][k083][k070][k003][k048][k003]
[k003][k028][k065][k069][k069][k068][k068][k053][k030][k045][k030][k030][k015][k055][k057][k006][k030][k006][k006][k045][k016][k002][k002][k082][k082][k050][k050][k050][k038][k087][k005][k073][k005][k001][k071][k036][k036][k036][k019][k033][k019][k033][k019][k039][k048][k039][k048][k018]
[k012][k079][k090][k090][k079][k065][k038][k003][k019][k019][k027][k019][k027][k017][k051][k003][k051][k003][k051][k003][k059][k002][k059][k002][k046][k046][k089][k089][k060][k035][k078][k053][k045][k067][k061][k061][k061][k061][k010][k041][k025][k041][k025][k041][k025][k039][k025][k052]
[k066][k040][k040][k040][k040][k068][k068][k018][k018][k018][k041][k017][k076][k035][k077][k044][k056][k044][k088][k044][k083][k055][k002][k016][k068][k038][k063][k029][k045][k071][k081][k071][k081][k009][k009][k009][k036][k036][k019][k041][k025][k049][k067][k049][k061][k085][k057][k034]
[k090][k090][k090][k090][k090][k079][k038][k038][k061][k035][k016][k082][k086][k042][k041][k018][k088][k088][k073][k073][k073][k076][k059][k043][k053][k029][k060][k029][k081][k006][k014][k071][k077][k018][k010][k010][k032][k060][k054][k076][k067][k008][k008][k008][k006][k014][k057][k034]
[k016][k040][k040][k040][k040][k040][k068][k068][k036][k036][k086][k082][k046][k082][k077][k035][k035][k044][k044][k045][k045][k045][k075][k043][k021][k029][k021][k029][k051][k071][k022][k042][k077][k018][k044][k005][k079][k011][k015][k075][k043][k064][k026][k003][k051][k007][k057][k034]
[k090][k090][k090][k011][k079][k011][k079][k038][k038][k038][k041][k082][k086][k042][k041][k071][k051][k076][k073][k001][k011][k015][k070][k048][k021][k029][k060][k029][k081][k050][k069][k082][k069][k018][k062][k073][k072][k032][k072][k009][k074][k070][k087][k044][k014][k057][k034][k057]
[k040][k040][k016][k032][k012][k060][k010][k068][k068][k082][k046][k082][k086][k082][k077][k077][k014][k007][k057][k062][k054][k072][k037][k039][k048][k026][k021][k088][k051][k028][k086][k012][k041][k012][k023][k011][k072][k011][k010][k067][k061][k061][k078][k061][k014][k071][k014][k030]
[k026][k090][k016][k002][k031][k067][k074][k067][k066][k066][k068][k082][k041][k082][k041][k042][k051][k057][k051][k034][k001][k075][k037][k005][k037][k010][k087][k087][k087][k087][k079][k012][k023][k012][k023][k020][k072][k037][k010][k074][k009][k071][k014][k071][k014][k071][k019][k009]
[k010][k032][k016][k002][k004][k033][k027][k004][k019][k022][k066][k066][k066][k077][k066][k077][k034][k044][k088][k090][k064][k076][k064][k076][k035][k078][k035][k078][k060][k060][k060][k029][k023][k020][k023][k020][k005][k037][k061][k049][k061][k061][k014][k071][k077][k082][k010][k010]
[k052][k067][k076][k064][k025][k085][k017][k017][k078][k072][k001][k022][k042][k022][k042][k022][k018][k044][k039][k055][k064][k055][k055][k003][k030][k027][k011][k027][k011][k079][k021][k029][k021][k020][k023][k013][k005][k013][k058][k013][k065][k001][k030][k019][k041][k041][k041][k074]
[k030][k031][k075][k043][k070][k039][k024][k004][k011][k072][k042][k069][k066][k069][k066][k077][k061][k049][k076][k055][k064][k064][k059][k003][k028][k024][k017][k024][k012][k072][k060][k029][k060][k029][k023][k013][k058][k013][k058][k013][k057][k001][k054][k054][k054][k087][k010][k010]
[k080][k080][k080][k068][k044][k039][k017][k048][k020][k072][k011][k022][k042][k022][k042][k014][k071][k014][k057][k057][k076][k055][k088][k044][k085][k024][k017][k023][k012][k045][k021][k029][k021][k029][k023][k013][k058][k013][k058][k013][k008][k001][k030][k001][k030][k078][k078][k067]
[k033][k033][k033][k038][k038][k039][k004][k073][huis][huis][k053][k069][k066][k069][k066][k069][k030][k034][k034][k034][k034][k044][k088][k056][k038][k069][k017][k080][k084][k015][k043][k047][k060][k029][k084][k080][k058][k013][k048][k047][k062][k047][k029][k079][k044][k011][k027][k031]
[k052][k080][k025][k048][k010][k074][k004][k015][k075][k043][k070][k022][k042][k022][k065][k031][k055][k057][k057][k057][k062][k056][k088][k044][k039][k025][k084][k080][k070][k065][k046][k008][k006][k006][k033][k080][k070][k062][k056][k056][k056][k021][k060][k040][k040][k012][k076][k055]
[k034][k034][k034][k049][k061][k074][k004][k015][k075][k064][k070][k024][k087][k078][k055][k059][k043][k059][k034][k034][k047][k044][k088][k044][k005][k044][k033][k065][k069][k085][k069][k003][k003][k084][k085][k068][k047][k047][k047][k047][k088][k087][k079][k079][k090][k090][k064][k064]
[k083][k057][k057][k057][k006][k085][k004][k015][k075][k064][k055][k078][k035][k078][k081][k043][k055][k003][k044][k056][k088][k060][k073][k073][k073][k020][k084][k085][k069][k042][k069][k085][k028][k028][k086][k038][k056][k056][k056][k056][k056][k060][k060][k040][k040][k076][k055][k008]
[k034][k034][k034][k034][k051][k081][k004][k015][k075][k064][k070][k031][k031][k042][k065][k043][k070][k088][k088][k088][k047][k006][k045][k045][k062][k023][k023][k065][k069][k042][k069][k065][k082][k050][k050][k050][k063][k063][k047][k088][k087][k087][k079][k090][k057][k057][k031][k031]
[k083][k057][k057][k007][k006][k081][k036][k010][k009][k032][k012][k023][k027][k069][k069][k065][k068][k018][k044][k056][k088][k070][k027][k070][k044][k020][k027][k085][k046][k042][k014][k076][k046][k089][k089][k089][k089][k056][k056][k056][k060][k078][k039][k055][k064][k003][k045][k067]
[k034][k034][k051][k006][k051][k081][k004][k010][k074][k032][k020][k023][k012][k012][k084][k065][k069][k038][k024][k038][k024][k017][k024][k017][k060][k078][k035][k050][k077][k071][k014][k057][k034][k002][k002][k020][k020][k087][k087][k087][k087][k087][k027][k017][k059][k070][k089][k089]
[k006][k007][k007][k003][k045][k015][k032][k036][k010][k004][k073][k023][k020][k023][k069][k065][k069][k085][k069][k017][k024][k017][k024][k017][k087][k071][k081][k071][k014][k071][k022][k057][k090][k016][k032][k032][k035][k078][k061][k078][k060][k078][k039][k017][k024][k025][k063][k063]
[k006][k051][k028][k028][k028][k016][k046][k035][k076][k053][k045][k053][k020][k090][k079][k042][k069][k042][k069][k012][k016][k017][k024][k061][k035][k078][k081][k071][k014][k060][k049][k040][k047][k040][k050][k072][k011][k027][k036][k028][k044][k044][k039][k017][k033][k017][k033][k084]
[k003][k084][k050][k050][k050][k050][k016][k042][k027][k011][k015][k011][k072][k060][k040][k068][k079][k090][k079][k090][k016][k002][k046][k042][k071][k071][k081][k053][k045][k008][k026][k008][k079][k021][k011][k079][k087][k041][k082][k038][k050][k035][k076][k025][k080][k025][k080][k080]
[k028][k028][k028][k028][k028][k028][k027][k017][k084][k012][k072][k053][k072][k011][k079][k047][k040][k040][k040][k040][k090][k090][k046][k082][k077][k067][k081][k011][k015][k008][k049][k040][k047][k060][k029][k060][k060][k041][k068][k086][k068][k086][k036][k033][k033][k033][k033][k033]
[k050][k050][k050][k050][k050][k050][k016][k017][k027][k011][k027][k011][k072][k012][k072][k070][k007][k007][k007][k007][k040][k040][k016][k018][k086][k042][k072][k053][k072][k008][k026][k008][k026][k021][k079][k021][k087][k079][k082][k038][k082][k038][k025][k084][k025][k080][k025][k080]
[k086][k086][k086][k086][k086][k028][k027][k017][k024][k017][k054][k012][k072][k011][k013][k058][k013][k021][k026][k021][k079][k090][k090][k017][k024][k087][k027][k011][k026][k075][k026][k076][k037][k060][k029][k060][k054][k040][k068][k046][k068][k018][k044][k033][k044][k033][k033][k033]
[k018][k082][k082][k082][k082][k017][k024][k017][k024][k017][k027][k011][k013][k058][k013][k058][k013][k076][k054][k054][k054][k040][k076][k035][k078][k035][k078][k054][k054][k076][k055][k076][k055][k001][k030][k001][k030][k011][k079][k009][k002][k059][k035][k078][k035][k080][k025][k080]
[k018][k077][k041][k041][k077][k018][k016][k017][k016][k017][k016][k032][k063][k058][k013][k058][k013][k006][k001][k030][k001][k001][k030][k031][k030][k031][k030][k001][k030][k031][k075][k031][k030][k031][k030][k001][k072][k012][k010][k010][k052][k063][k031][k030][k031][k030][k031][k031]


En bij 061x043_+172:
code:
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
Score:22805
[k105][k105][k114][k081][k025][k103][k044][k103][k044][k103][k048][k034][k089][k089][k016][k108][k016][k091][k094][k091][k006][k049][k091][k018][k018][k041][k010][k010][k105][k105][k067][k105][k012][k084][k080][k084][k105][k081][k004][k081][k105][k080][k023][k012][k027][k108][k016][k108][k016][k108][k019][k027][k017][k031][k075][k064][k104][k072][k104][k067][k105]
[k031][k031][k114][k085][k004][k018][k087][k005][k044][k038][k044][k038][k029][k050][k076][k108][k076][k095][k094][k014][k006][k014][k094][k094][k035][k035][k113][k049][k067][k015][k009][k027][k011][k027][k070][k027][k036][k081][k053][k081][k105][k111][k045][k012][k072][k017][k027][k017][k027][k017][k017][k024][k017][k031][k075][k043][k104][k072][k104][k072][k009]
[k075][k075][k070][k027][k035][k078][k035][k078][k047][k088][k068][k038][k086][k011][k027][k108][k016][k095][k096][k103][k071][k014][k094][k051][k051][k081][k008][k093][k110][k072][k017][k017][k017][k024][k017][k039][k004][k081][k105][k015][k105][k111][k027][k011][k079][k104][k039][k017][k024][k017][k096][k079][k017][k079][k065][k043][k011][k072][k104][k072][k067]
[k015][k064][k092][k085][k004][k081][k111][k056][k056][k056][k056][k082][k068][k012][k078][k113][k076][k068][k096][k022][k044][k103][k044][k088][k044][k088][k047][k026][k011][k079][k046][k024][k035][k039][k037][k039][k037][k015][k105][k015][k075][k067][k072][k012][k072][k037][k039][k037][k005][k035][k061][k049][k040][k100][k068][k068][k104][k072][k104][k093][k009]
[k075][k055][k070][k039][k070][k036][k047][k088][k047][k047][k088][k038][k096][k111][k006][k014][k093][k009][k096][k038][k096][k038][k096][k088][k056][k088][k056][k032][k012][k024][k017][k065][k042][k072][k104][k076][k092][k008][k008][k008][k043][k104][k093][k104][k079][k104][k005][k037][k072][k053][k045][k014][k057][k049][k096][k049][k096][k049][k110][k049][k091]
[k083][k064][k025][k101][k061][k062][k056][k056][k056][k056][k056][k044][k062][k014][k051][k007][k046][k067][k068][k068][k068][k068][k044][k088][k044][k088][k047][k050][k012][k084][k035][k112][k098][k014][k075][k026][k026][k026][k026][k075][k043][k053][k093][k110][k093][k067][k076][k073][k005][k011][k033][k103][k103][k022][k070][k022][k070][k013][k008][k049][k091]
[k083][k046][k042][k109][k111][k036][k020][k087][k087][k087][k038][k087][k103][k044][k088][k007][k099][k016][k086][k038][k086][k038][k056][k088][k056][k088][k056][k086][k028][k027][k042][k027][k042][k015][k076][k092][k099][k099][k099][k099][k011][k027][k111][k036][k019][k051][k007][k057][k054][k101][k101][k101][k101][k080][k096][k013][k096][k013][k058][k013][k006]
[k106][k046][k082][k086][k046][k032][k005][k005][k005][k060][k078][k087][k078][k035][k099][k003][k099][k003][k099][k050][k068][k082][k018][k044][k018][k038][k018][k050][k012][k069][k012][k069][k012][k027][k075][k043][k088][k003][k088][k016][k012][k078][k035][k078][k054][k006][k014][k001][k030][k011][k033][k033][k033][k085][k058][k013][k058][k013][k058][k033][k048]
[k016][k046][k050][k016][k050][k012][k072][k037][k079][k087][k102][k035][k102][k003][k099][k003][k099][k003][k102][k016][k086][k038][k038][k038][k018][k077][k018][k077][k109][k023][k012][k023][k012][k023][k048][k070][k021][k087][k102][k002][k004][k045][k111][k111][k030][k051][k007][k001][k054][k101][k101][k101][k101][k084][k080][k084][k006][k085][k025][k039][k025]
[k108][k046][k053][k081][k053][k011][k079][k104][k060][k060][k099][k003][k102][k003][k099][k003][k099][k003][k099][k050][k068][k082][k068][k025][k018][k077][k041][k108][k018][k108][k020][k023][k012][k023][k039][k037][k078][k035][k102][k016][k059][k063][k053][k078][k035][k014][k057][k001][k030][k019][k028][k111][k109][k085][k114][k085][k114][k081][k035][k085][k025]
[k016][k016][k098][k081][k043][k060][k072][k098][k067][k014][k099][k003][k102][k055][k099][k088][k021][k029][k028][k016][k046][k096][k109][k077][k041][k019][k041][k113][k076][k035][k029][k084][k029][k023][k048][k044][k103][k044][k051][k055][k059][k043][k110][k081][k111][k027][k030][k031][k004][k096][k069][k050][k069][k065][k114][k065][k114][k081][k053][k081][k031]
[k108][k068][k042][k022][k036][k021][k079][k042][k071][k093][k099][k003][k102][k055][k059][k047][k060][k029][k084][k050][k068][k111][k022][k082][k041][k108][k041][k108][k027][k004][k029][k021][k029][k084][k084][k025][k038][k044][k088][k088][k088][k036][k036][k036][k067][k074][k067][k074][k095][k074][k022][k086][k022][k086][k009][k089][k001][k105][k105][k105][k105]
[k016][k046][k098][k040][k037][k010][k079][k077][k077][k077][k006][k003][k102][k055][k088][k036][k021][k011][k109][k109][k109][k096][k109][k096][k076][k113][k076][k113][k095][k095][k029][k021][k029][k028][k085][k080][k061][k049][k092][k039][k056][k056][k038][k110][k110][k093][k110][k096][k061][k096][k050][k096][k082][k010][k002][k032][k020][k089][k015][k009][k001]
[k002][k068][k042][k072][k104][k010][k100][k100][k085][k042][k085][k114][k085][k035][k059][k035][k072][k037][k010][k090][k091][k091][k022][k036][k022][k009][k009][k009][k038][k038][k029][k060][k029][k084][k084][k114][k008][k049][k008][k049][k002][k025][k063][k080][k019][k019][k095][k036][k022][k109][k022][k046][k098][k041][k074][k110][k067][k110][k067][k110][k067]
[k016][k046][k011][k072][k104][k047][k040][k069][k069][k069][k069][k114][k065][k114][k045][k053][k072][k104][k040][k049][k094][k094][k096][k096][k010][k113][k076][k017][k024][k005][k048][k021][k021][k029][k028][k026][k008][k026][k008][k049][k059][k025][k033][k080][k017][k041][k061][k096][k061][k096][k085][k065][k098][k110][k098][k110][k074][k093][k036][k109][k109]
[k009][k032][k036][k072][k104][k047][k090][k090][k100][k100][k042][k022][k021][k026][k015][k011][k072][k104][k007][k014][k091][k047][k062][k013][k049][k049][k043][k053][k035][k059][k037][k039][k002][k092][k058][k013][k058][k013][k058][k013][k059][k025][k084][k080][k084][k080][k098][k085][k114][k114][k084][k046][k114][k065][k114][k110][k093][k110][k110][k084][k091]
[k010][k010][k005][k072][k104][k040][k040][k040][k040][k069][k069][k079][k032][k005][k032][k005][k072][k046][k007][k086][k094][k056][k058][k058][k008][k008][k008][k114][k045][k043][k092][k102][k002][k064][k070][k013][k058][k013][k058][k080][k033][k080][k033][k080][k103][k103][k103][k086][k070][k028][k085][k065][k114][k028][k114][k028][k036][k036][k036][k109][k109]
[k012][k107][k074][k004][k079][k090][k090][k090][k090][k090][k012][k012][k012][k079][k037][k020][k087][k086][k082][k086][k082][k088][k013][k013][k013][k026][k026][k026][k021][k102][k003][k102][k055][k064][k092][k013][k058][k013][k084][k080][k084][k080][k084][k017][k044][k044][k087][k024][k012][k101][k084][k114][k114][k085][k082][k086][k038][k056][k038][k010][k100]
[k023][k027][k095][k004][k076][k040][k040][k040][k040][k040][k069][k023][k023][k024][k005][k005][k060][k041][k082][k038][k068][k096][k058][k058][k058][k076][k076][k025][k073][k107][k092][k102][k055][k059][k006][k006][k084][k080][k080][k006][k084][k006][k085][k080][k035][k073][k073][k084][k046][k114][k028][k086][k028][k086][k082][k041][k017][k024][k087][k010][k100]
[k012][k027][k017][k004][k014][k057][k007][k007][k007][k007][k114][k012][k084][k017][k087][k079][k087][k079][k068][k038][k095][k025][k013][k013][k013][k013][k009][k004][k031][k075][k043][k088][k088][k088][k088][k051][k019][k033][k108][k006][k013][k006][k084][k043][k053][k045][k053][k045][k046][k042][k069][k100][k082][k041][k113][k076][k113][k076][k035][k078][k113]
[k012][k023][k017][k080][k085][k094][k014][k046][k006][k051][k114][k028][k027][k046][k060][k060][k060][k038][k068][k096][k074][k004][k023][k058][k058][k024][k095][k095][k048][k048][k056][k044][k056][k047][k056][k088][k108][k041][k108][k099][k099][k006][k075][k075][k070][k015][k011][k022][k086][k082][k077][k100][k077][k098][k014][k071][k014][k105][k031][k030][k031]
[k114][k084][k084][k084][k085][k069][k065][k042][k114][k081][k114][k012][k050][k053][k029][k020][k029][k020][k039][k095][k095][k037][k020][k013][k088][k077][k038][k038][k038][k062][k073][k088][k060][k047][k040][k047][k040][k016][k108][k016][k003][k003][k015][k064][k037][k010][k010][k100][k041][k082][k041][k100][k095][k071][k103][k071][k081][k105][k015][k004][k019]
[k028][k028][k028][k028][k079][k100][k069][k098][k051][k028][k036][k028][k027][k111][k023][k023][k023][k023][k107][k005][k005][k005][k005][k056][k094][k018][k018][k018][k018][k044][k056][k044][k021][k079][k104][k079][k104][k090][k091][k099][k099][k099][k099][k005][k004][k073][k107][k113][k076][k113][k076][k113][k061][k087][k103][k087][k027][k036][k027][k017][k041]
[k050][k050][k050][k050][k040][k012][k069][k042][k114][k112][k061][k035][k078][k053][k062][k020][k020][k020][k010][k010][k074][k037][k029][k047][k018][k077][k094][k077][k094][k062][k073][k062][k060][k072][k060][k072][k040][k049][k091][k094][k080][k080][k080][k013][k062][k045][k015][k075][k031][k075][k031][k009][k103][k087][k078][k035][k076][k035][k076][k113][k080]
[k057][k057][k057][k057][k057][k090][k079][k042][k019][k065][k042][k051][k081][k111][k023][k073][k107][k113][k107][k113][k107][k110][k110][k081][k094][k077][k071][k085][k094][k047][k044][k044][k011][k087][k011][k079][k011][k090][k091][k094][k103][k033][k058][k058][k058][k023][k031][k075][k064][k055][k059][k087][k005][k087][k030][k015][k075][k026][k075][k043][k031]
[k034][k034][k034][k034][k034][k040][k046][k098][k061][k049][k094][k103][k044][k080][k045][k031][k105][k001][k030][k001][k105][k015][k036][k109][k042][k077][k098][k014][k094][k051][k088][k073][k078][k054][k078][k054][k040][k049][k091][k094][k025][k080][k013][k013][k062][k013][k012][k083][k064][k055][k094][k035][k078][k054][k078][k015][k032][k064][k048][k070][k048]
[k057][k057][k057][k102][k057][k007][k007][k053][k110][k049][k094][k018][k038][k103][k033][k031][k030][k001][k054][k001][k105][k015][k032][k086][k082][k086][k042][k051][k007][k088][k044][k044][k019][k019][k019][k019][k019][k090][k091][k094][k103][k033][k058][k058][k058][k084][k006][k049][k094][k094][k095][k071][k019][k019][k019][k016][k002][k002][k064][k092][k039]
[k034][k034][k034][k034][k114][k051][k093][k093][k093][k049][k091][k025][k101][k101][k101][k080][k030][k001][k030][k015][k004][k015][k012][k079][k082][k086][k082][k077][k094][k040][k073][k078][k073][k041][k025][k041][k010][k107][k091][k074][k025][k101][k012][k013][k048][k019][k019][k022][k091][k082][k077][k098][k078][k076][k108][k102][k032][k032][k048][k048][k048]
[k048][k048][k029][k021][k029][k021][k047][k021][k036][k008][k009][k070][k033][k033][k033][k033][k108][k016][k004][k015][k004][k015][k004][k041][k017][k041][k018][k018][k047][k007][k007][k057][k006][k102][k035][k023][k010][k009][k009][k095][k004][k023][k023][k023][k005][k037][k041][k100][k086][k100][k086][k042][k019][k027][k055][k016][k035][k073][k073][k039][k091]
[k025][k084][k080][k084][k029][k084][k112][k061][k112][k061][k049][k061][k101][k101][k101][k017][k080][k102][k092][k102][k004][k074][k004][k101][k113][k098][k035][k081][k094][k051][k014][k051][k003][k051][k029][k020][k107][k113][k113][k076][k004][k020][k020][k020][k039][k025][k041][k082][k066][k050][k069][k012][k078][k102][k002][k059][k053][k045][k045][k048][k048]
[k006][k085][k006][k084][k006][k085][k065][k042][k065][k042][k065][k008][k008][k030][k080][k084][k080][k043][k092][k015][k004][k095][k070][k019][k030][k071][k051][k085][k057][k007][k057][k099][k006][k102][k035][k110][k014][k093][k071][k081][k053][k073][k107][k053][k107][k025][k041][k077][k109][k022][k086][k111][k011][k102][k002][k059][k004][k111][k023][k039][k038]
[k114][k014][k006][k013][k006][k084][k069][k112][k112][k112][k112][k026][k026][k001][k034][k030][k021][k026][k008][k015][k004][k049][k025][k018][k077][k077][k077][k022][k069][k034][k034][k088][k003][k051][k029][k103][k044][k103][k044][k103][k045][k111][k045][k111][k103][k025][k014][k098][k051][k050][k080][k012][k101][k102][k016][k002][k037][k020][k023][k048][k048]
[k006][k051][k006][k049][k006][k049][k065][k065][k065][k030][k065][k032][k032][k090][k090][k047][k024][k047][k110][k067][k110][k049][k094][k018][k100][k042][k100][k100][k090][k090][k055][k059][k088][k021][k087][k005][k087][k005][k087][k073][k045][k111][k045][k053][k109][k044][k103][k044][k022][k070][k088][k070][k023][k108][k002][k032][k005][huis][huis][k073][k049]
[k094][k022][k090][k075][k008][k075][k114][k114][k112][k098][k112][k050][k073][k073][k040][k046][k046][k046][k093][k014][k071][k014][k094][k077][k077][k077][k069][k040][k040][k076][k055][k092][k055][k060][k062][k078][k054][k078][k054][k110][k045][k053][k081][k111][k081][k096][k073][k101][k049][k092][k039][k092][k020][k102][k016][k012][k073][k067][k105][k105][k105]
[k091][k040][k091][k064][k064][k064][k070][k028][k086][k042][k027][k070][k006][k007][k007][k007][k007][k007][k007][k077][k071][k014][k042][k085][k100][k100][k090][k009][k009][k009][k026][k102][k043][k104][k047][k011][k111][k011][k015][k011][k015][k111][k045][k053][k045][k053][k114][k045][k043][k008][k043][k092][k029][k107][k016][k004][k027][k031][k031][k001][k031]
[k090][k090][k090][k090][k055][k055][k037][k010][k079][k017][k024][k017][k051][k051][k014][k051][k014][k051][k014][k098][k019][k022][k077][k069][k069][k010][k039][k005][k010][k032][k005][k055][k055][k104][k072][k053][k078][k062][k072][k032][k072][k004][k045][k111][k093][k021][k026][k021][k026][k021][k026][k021][k020][k051][k022][k017][k085][k017][k030][k030][k030]
[k040][k040][k040][k064][k064][k076][k104][k060][k113][k061][k113][k061][k112][k098][k114][k007][k007][k071][k022][k071][k041][k041][k100][k100][k100][k037][k005][k037][k010][k087][k020][k102][k043][k104][k043][k070][k015][k011][k079][k104][k074][k004][k020][k103][k048][k048][k037][k048][k039][k092][k029][k060][k029][k050][k038][k096][k069][k024][k112][k112][k112]
[k026][k090][k090][k090][k090][k104][k047][k093][k014][k071][k014][k042][k065][k042][k051][k028][k001][k001][k113][k098][k113][k113][k076][k113][k076][k113][k076][k035][k078][k035][k073][k045][k043][k075][k064][k092][k020][k032][k010][k010][k095][k004][k101][k107][k025][k107][k060][k073][k083][k064][k021][k021][k089][k086][k068][k068][k038][k085][k030][k030][k030]
[k012][k076][k076][k040][k040][k040][k007][k021][k026][k070][k027][k070][k069][k098][k112][k054][k054][k030][k030][k031][k030][k031][k075][k031][k075][k043][k008][k036][k081][k036][k111][k045][k015][k055][k064][k092][k073][k107][k104][k113][k074][k004][k103][k103][k103][k022][k104][k062][k083][k055][k092][k063][k050][k016][k050][k096][k035][k101][k112][k112][k112]
[k108][k108][k108][k057][k007][k104][k079][k037][k024][k017][k024][k017][k024][k042][k051][k030][k001][k001][k055][k031][k055][k031][k075][k064][k008][k043][k092][k047][k056][k093][k110][k045][k059][k055][k059][k070][k020][k072][k093][k072][k009][k095][k087][k087][k087][k079][k104][k047][k083][k064][k059][k043][k053][k081][k053][k081][k114][k051][k081][k042][k065]
[k080][k080][k108][k051][k022][k104][k010][k005][k039][k017][k024][k017][k024][k070][k003][k099][k003][k102][k055][k059][k055][k064][k070][k026][k021][k026][k021][k088][k056][k036][k111][k045][k043][k055][k043][k053][k073][k067][k104][k067][k074][k061][k096][k061][k060][k040][k068][k062][k083][k055][k055][k043][k070][k075][k070][k051][k098][k051][k081][k098][k069]
[k033][k033][k019][k041][k022][k096][k067][k107][k016][k017][k024][k017][k024][k017][k003][k099][k003][k102][k055][k059][k055][k064][k092][k101][k054][k054][k054][k047][k060][k093][k110][k045][k015][k075][k043][k105][k105][k072][k093][k110][k074][k095][k036][k022][k009][k079][k009][k096][k039][k064][k059][k002][k092][k039][k094][k018][k094][k071][k022][k042][k109]
[k025][k025][k025][k041][k077][k066][k001][k105][k031][k017][k024][k017][k084][k017][k080][k099][k003][k102][k002][k064][k055][k064][k070][k031][k030][k001][k001][k001][k008][k026][k001][k089][k031][k075][k031][k031][k001][k001][k009][k067][k074][k061][k096][k010][k100][k002][k068][k025][k083][k002][k002][k002][k012][k039][k094][k018][k077][k018][k077][k100][k077]

Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Anoniem: 303530 schreef op zaterdag 08 juni 2013 @ 15:21:
... de score van 59. Dat is de maximale score die mogelijk is. Of er moet een bug zitten in mijn logica.
Ik kom dus ook (vrij snel) op 59. Waarschijnlijk is die 61 een bug bij Pete.

Acties:
  • 0 Henk 'm!

  • cosmo50
  • Registratie: Mei 2011
  • Laatst online: 02-12-2022
Trouwens, klopt het dat er in de testset (005x004_+029) een fout staat, aangezien het huis daar op (0,1) staat, maar die plek helemaal niet bestaat? In de TS staat namelijk een assenstelsel met als laagst mogelijke coördinaat (1,1).

Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Dat was zo in de oude testset. Je moet die andere hebben: http://www.corniel.nl/dow...iaTestSets.2013-05-02.zip

Acties:
  • 0 Henk 'm!

  • Pete
  • Registratie: November 2005
  • Laatst online: 15-12-2024
Daos schreef op zaterdag 08 juni 2013 @ 18:16:
[...]


Ik kom dus ook (vrij snel) op 59. Waarschijnlijk is die 61 een bug bij Pete.
Confirmed. Mijn validator checkte niet of de aantallen van de kaarten klopte :X En zo te zien gaat er iets fout als er minder kaarten dan opties zijn. Dit moet ik even goed gaan onderzoeken.

petersmit.eu


Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Anoniem: 303530 schreef op woensdag 29 mei 2013 @ 13:40:
Ik haal op alle testsset behalve de 599 en groter dezelfde score als Daos.
Haal jij hoger?

Ik zit nog niet op het maximum. Na 14 uur en 25 minuten haal ik op 010x010_+000:
code:
1
2
3
4
5
6
7
8
9
10
11
Score:609
[k001][k001][k001][k001][k001][k001][k005][k011][k011][k002]
[k006][k006][k014][k006][k014][k006][k011][k011][k011][k011]
[k004][k009][k010][k008][k010][k003][k005][k005][k005][k015]
[k003][k008][k010][k008][k001][k008][k006][k011][k011][k011]
[k004][k009][k014][k006][k004][k004][k003][k005][k005][k015]
[k003][k008][k010][k016][huis][huis][k008][k015][k013][k015]
[k003][k006][k014][k012][k012][k004][k017][k015][k017][k015]
[k004][k009][k010][k016][k018][k004][k018][k015][k013][k015]
[k008][k008][k014][k012][k012][k012][k018][k017][k013][k002]
[k004][k001][k001][k016][k016][k012][k018][k015][k015][k002]


En na 50 minuten bij 017x013_+020;
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Score:1492
[k022][k006][k013][k008][k026][k008][k026][k008][k026][k008][k003][k028][k015][k030][k001][k030][k001]
[k001][k006][k014][k008][k026][k008][k026][k008][k026][k008][k003][k028][k015][k004][k015][k030][k031]
[k003][k007][k007][k008][k013][k008][k026][k021][k026][k021][k003][k028][k015][k004][k015][k030][k001]
[k028][k028][k014][k006][k014][k007][k003][k029][k029][k007][huis][huis][k015][k004][k015][k030][k019]
[k007][k007][k007][k007][k007][k021][k021][k021][k021][k021][k021][k028][k015][k028][k015][k005][k009]
[k001][k014][k006][k014][k006][k013][k029][k029][k029][k029][k029][k029][k020][k020][k020][k022][k010]
[k030][k030][k006][k022][k011][k027][k011][k021][k021][k021][k021][k021][k005][k005][k005][k005][k009]
[k019][k027][k011][k027][k017][k024][k017][k024][k025][k013][k029][k015][k025][k013][k025][k010][k010]
[k018][k018][k017][k024][k017][k024][k017][k027][k011][k027][k028][k015][k004][k015][k004][k019][k009]
[k025][k024][k012][k024][k012][k016][k017][k016][k017][k012][k012][k015][k030][k016][k004][k010][k010]
[k012][k023][k012][k023][k012][k023][k016][k016][k002][k016][k028][k027][k009][k009][k009][k010][k009]
[k020][k023][k020][k023][k020][k028][k022][k002][k002][k018][k018][k022][k002][k005][k010][k002][k018]
[k025][k023][k020][k023][k020][k018][k016][k002][k016][k025][k018][k016][k018][k025][k016][k002][k025]


Misschien moet ik het ook multithreaded maken...

[ Voor 64% gewijzigd door Daos op 11-06-2013 12:27 ]


Acties:
  • 0 Henk 'm!

Anoniem: 303530

Nee, lager. Mijn heuristic schaalt absurd slecht bij dergelijke velden. Ik zal het nog eens proberen, ik heb hier en daar wat optimalisaties gemaakt. Met name optimalisaties die voorkomen dat dergelijke velden veranderen in een branch mispredict feest...

Ik heb meer dan 4GB ram nodig om boven de 586 uit te komen.

[ Voor 22% gewijzigd door Anoniem: 303530 op 10-06-2013 18:20 ]


Acties:
  • 0 Henk 'm!

Anoniem: 510923

Topicstarter
Beste Mensen,

Deze week is de laatste week dat jullie je bestanden kunnen opsturen. Ik ben zeer benieuwd naar de inzendingen!

Om de prijs nog iets malser te maken heb ik er voor gezorgd dat de prijs niet alleen bestaat uit een Raspberry Pi B, maar dat de winnaar er ook de bijbehorende case, geheugenkaart, adapter, kabels, toetsenbord en muis bij krijgt!

De deadline is dus komende zondag 16 juni en toevallig is dan ook het officiële lanceerfeest van Tuintopia in Utrecht (http://www.tuintopia.nl/2013/06/tuintopia-lanceerfeest). We vieren dan dat de voorinschrijving succesvol is verlopen en het spel gedrukt is!

Dus als je zin hebt in een potje Tuintopia, een hapje en een drankje, wees van harte welkom!

[ Voor 6% gewijzigd door Anoniem: 510923 op 11-06-2013 13:13 ]


Acties:
  • 0 Henk 'm!

  • liquid_ice
  • Registratie: Februari 2001
  • Laatst online: 19:05
De definitieve data sets zijn in ontwikkeling, spannend jongens (en dames als ze er tussen zitten ;) )

Dit weekend ga ik ook eindelijk eens beginnen aan de checker, maar moet nog bedenken in welke taal ik deze ga schrijven. iemand een goed idee?

normaal schijf ik C++, maar het leek me wel gemakkelijk om een C# of andere hogere taal / scripttaal in te zetten.

Klus page: http://klusthuis.blogspot.com


Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Ik heb mijn puntenteller (en de oplosser) in C# gemaakt en gebruik een library om ini-files te lezen. Ik had hem al online gezet:
Daos schreef op donderdag 25 april 2013 @ 12:04:
Mijn puntenteller: http://www.schind.nl/Tuintopia%20Puntenteller.zip Laat het weten als er bugs zijn. Dat het geen schoonheidsprijs verdient weet ik. Testcode?? Oei... (is altijd frustrerend; het telprogramma was in een paar uur in elkaar gezet, maar het gaat mij weken kosten om alles netjes te testen)
Ik vind C# veel lekkerder werken dan C++. Je hebt mooie datatypen zoals de SortedList, een foreach-loop, geen destructors (je kan indien nodig een Dispose-methode maken), een garbage-collector, een mooie ide (ik gebruik de gratis Visual C# Express 2010).

Mijn hele oplosser is slechts 760 regels C#. Als ik de puntenteller eruit haal kom ik zelfs op 650 regels.

Acties:
  • 0 Henk 'm!

Anoniem: 303530

Ik heb 4736 regels aan .h en .cpp files 8)7 . En dan reken ik de oude solver niet mee, dat zijn er nog eens 2k.

Enne, een sorted list (lees: priority queue) en foreach loop heb je ook gewoon in C++ (11) hoor. Aangezien mijn code erg memory intensief is vind ik controle over wanneer de destructor wordt aangeroepen ook wel fijn.

[ Voor 11% gewijzigd door Anoniem: 303530 op 11-06-2013 13:50 ]


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 00:29
Oh ja, ik wilde hier ook nog aan meedoen... ik moet alleen nog beginnen. :P Misschien dat ik deze week nog wat in elkaar kan flansen op basis van de ideeën die ik in het vorige topic had, hoewel ik bang ben dat die niet echt goed generaliseren naar grotere borden (maar dat probleem heeft iedereen).

Tijd tot de deadline:

Afbeeldingslocatie: http://cpl27.student.utwente.nl/~maks/deadline.php?L=%5Bd%5D+dagen,+%5Bh%5D+uur,+%5Bm%5D+minuten,+%5Bs%5D+seconden...&W=470&S=25&H=50&T=June+16+23:59:59

Acties:
  • 0 Henk 'm!

  • _js_
  • Registratie: Oktober 2002
  • Laatst online: 08-06 02:21
Soultaker schreef op dinsdag 11 juni 2013 @ 21:19:
Oh ja, ik wilde hier ook nog aan meedoen... ik moet alleen nog beginnen. :P Misschien dat ik deze week nog wat in elkaar kan flansen op basis van de ideeën die ik in het vorige topic had, hoewel ik bang ben dat die niet echt goed generaliseren naar grotere borden (maar dat probleem heeft iedereen).

Tijd tot de deadline:

[afbeelding]
Ik heb al het ini inlezen klaar en in het notitieblok op de telefoon her en der ideeën over hoe ik efficiënt tot een oplossing kan komen, maar verder nog niets geïmplementeerd. Het wordt inderdaad erg krap om dit nog af te maken.

Acties:
  • 0 Henk 'm!

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Voor mij word het denk ik ook krap, kijken of ik het nog haal ;(

Acties:
  • 0 Henk 'm!

Anoniem: 303530

Zijn er al mensen die iets hebben bedacht om de moeilijkheidsgraad van een veld te herkennen?

Neem bijvoorbeeld
005x004_+001 (62)
005x004_+003 (68).
005x004_+029 (93).

Het 2e set duurt 2x zo lang om optimaal te berekenen als de eerste. Terwijl de 3e weer 10x zo snel is.

Maar als ik dan de kaarten bekijk, dan is het mij niet duidelijk hoe het mogelijk is dat '029' makkelijker is dan de andere 2. De kaarten zijn ook exact hetzelfde, alleen de hoeveelheid wijkt wat af. Als ik dat weet kan ik misschien een efficiëntere stop strategie maken.

[ Voor 6% gewijzigd door Anoniem: 303530 op 12-06-2013 19:39 ]


Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Misschien hebben we hetzelfde algoritme :) Ik kom tot dezelfde ranking/volgorde met iets andere factoren: Het 2e set duurt 5x zo lang om optimaal te berekenen als de eerste. Terwijl de 3e weer 3x zo snel is.

Mijn stopcriterium staat los van de werkelijke moeilijkheid van een puzzel en is bij gelijke velden gelijk. Het is een soort algemene balans tussen vrij zeker het optimum halen en toch snel klaar zijn.

Acties:
  • 0 Henk 'm!

Anoniem: 303530

Ik gebruik momenteel een berekening op basis van verschillende heuristics en de momenteel maximaal gevonden score. Maar die levert niet echt het gewenste resultaat op. Wat werkt bij 005x004_+003 levert exact het tegenovergestelde resultaat op bij het set uit de topicstart |:(

Acties:
  • 0 Henk 'm!

  • Malthus
  • Registratie: April 2003
  • Laatst online: 23-04 15:30
Anderhalve maand geleden zag ik dat er weer een programmeer-wedstrijd is. Ik dacht dat ik tijd genoeg zou hebben en ben toch gelijk aan de slag gegaan. Maar nu nadert de deadline en is mijn programma nog steeds niet vooruit te branden...

Ik heb wel iets werkends, maar met speelveld 105x184_+000 ben ik na vijf minuten nog niet eens halverwege met het vullen van het veld (en ik heb een depth-first algoritme, dus ik ben nog maar nauwelijks begonnen met zoeken). Als ik het algoritme langer laat doorlopen, haal ik wel een score van 177228, dus de snelheid (en de aanstormende deadline) is nu het grootste probleem.

Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Gewoon inleveren. Ik krijg ook geen score op 105x184_+000. Het lijkt mij een onrealistisch grote tuin als in de TS over halve en hele tuinen gesproken wordt van resp. 3 x 6 en 5 x 6.

Acties:
  • 0 Henk 'm!

  • liquid_ice
  • Registratie: Februari 2001
  • Laatst online: 19:05
@Malthus: Probeer ervoor te zorgen dat je progsel ook bij grotere velden tenminste een antwoord geeft.

Het zou jammer zijn als je totaal geen antwoord kan geven.

Klus page: http://klusthuis.blogspot.com


Acties:
  • 0 Henk 'm!

  • liquid_ice
  • Registratie: Februari 2001
  • Laatst online: 19:05
Dit weekend is de sluitingsdatum voor de Tuintopia Programming contest.

Daarom geef ik jullie nu al een inkijkje in de afronding van deze wedstrijd.

Na de sluitingsdatum van de wedstrijd worden de volgende stappen ondernomen:
* Arjan en ik leveren de uiteindelijke testset aan aan Creepy.
* Arjan, ik of Creepy zullen hier op het forum posten wie dat er allemaal een inzending heeft opgestuurd.
* Ik zal mijn validator applicatie (waar ik dit weekend aan begin) hier posten ter review, jullie krijgen dan +/-3 weken om mij van review commentaar te voorzien. MAAK HIER GEBRUIK VAN. Deze applicatie wordt hierna als HEILIG en PERFECT beschouwd.
* Creepy zal alle inzendingen testen en de resultaten aanleveren aan Arjan en mij.
* Arjan en ik gebruiken de validator om alle uitvoer bestanden te valideren.
* De (sub)resultaten en testsets worden hier gepost en de winnaar bekent gemaakt.

Zoals jullie begrijpen neemt dit alles de nodige tijd in beslag en tot overmaat van ramp ben ik zelf ook nog eens 3 weken op vakantie.
De uiteindelijke resultaten worden NIET VOOR eind Juli bekent gemaakt.

Klus page: http://klusthuis.blogspot.com


Acties:
  • 0 Henk 'm!

  • joram.agten
  • Registratie: Oktober 2010
  • Laatst online: 15-01 11:07
We hebben bewust een datum gekozen die nog redelijk ver in de toekomst ligt, zodat niemand echt tijdsdruk zal ondervinden en zoveel mogelijk mensen mee kunnen doen, dus ik denk niet dat een strakke deadline een probleem zal zijn.
ajaj, ondertussen is de dealine korter en strakker, hopelijk heb ik nog iets op tijd af.

Acties:
  • 0 Henk 'm!

  • liquid_ice
  • Registratie: Februari 2001
  • Laatst online: 19:05
je hebt nog +/- 56 uur.

dat zijn 7 werkdagen, haha ;)

Onthou ook dat de beste 3 inzendingen een prijs krijgen, dus ook al ga je niet de uber winnaar zijn, er is altijd hoop. En het is natuurlijk gewoon mooi om het voor elkaar te krijgen.

[ Voor 62% gewijzigd door liquid_ice op 14-06-2013 15:29 ]

Klus page: http://klusthuis.blogspot.com


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 23:20

Creepy

Tactical Espionage Splatterer

Gelukkig, ik hoef me niet te haasten :P

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • DaCoTa
  • Registratie: April 2002
  • Laatst online: 08-06 23:11
I love deadlines. I love the whooshing noise they make as they go by.
Ik hoop dat ik ook nog wat in kan leveren, het gaat erg krap worden ben ik bang.

Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Verkeerde topic ... :X

[ Voor 94% gewijzigd door Daos op 14-06-2013 19:58 ]


Acties:
  • 0 Henk 'm!

Anoniem: 303530

Confirmed: er zat nog een bug in mijn logica |:(

Ik heb een bepaalde heuristic welke een lower bound aangeeft welke het veld kan halen. Dan kunnen we alle scores die daaronder vallen weg flikkeren? Dat bleek helaas verkeerd gedacht, al is de reden waarom niet direct obvious.

Morgen nog even 3 kritieke bugs fixen :X en wat kleine punten afhandelen...

[ Voor 12% gewijzigd door Anoniem: 303530 op 16-06-2013 01:39 ]


Acties:
  • 0 Henk 'm!

  • joram.agten
  • Registratie: Oktober 2010
  • Laatst online: 15-01 11:07
damn, ik heb nog een bug, afhakelijk van de volgorde van het platsen van de kaarten kom ik een andere score uit, soms :-(

Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Van bugs heb ik niet per se last, maar ... heeft er nog iemand een boek over algoritmes te leen? :X

@SoulTaker grappig oneindig countdown-plaatje, maar Chrome laat de tab-spinner continu draaien. :P

[ Voor 34% gewijzigd door CodeCaster op 16-06-2013 08:12 ]

https://oneerlijkewoz.nl
Het ergste moet nog komen / Het leven is een straf / Een uitgestrekte kwelling van de wieg tot aan het graf


Acties:
  • 0 Henk 'm!

Anoniem: 303530

CodeCaster schreef op zondag 16 juni 2013 @ 08:09:Van bugs heb ik niet per se last, maar ... heeft er nog iemand een boek over algoritmes te leen? :X
Ik vind https://www.edx.org/cours...tificial-intelligence/579 erg goed. Die komt om de paar maanden langs :)
@SoulTaker grappig oneindig countdown-plaatje, maar Chrome laat de tab-spinner continu draaien. :P
Streaming gif, jeweettoch ;). Het gif bestandsformaat heeft geen voorgedefinieerde grootte, wel een 'dit is de laatste frame' indicatie. Als je die nooit zend blijft de verbinding open, en kan je steeds nieuwe frames pushen.

Edit: zo, alles gefixt. Nu nog even de documentatie corrigeren..

[ Voor 4% gewijzigd door Anoniem: 303530 op 16-06-2013 10:00 ]


Acties:
  • 0 Henk 'm!

Anoniem: 391986

.

[ Voor 99% gewijzigd door Anoniem: 391986 op 16-06-2013 10:14 ]


Acties:
  • 0 Henk 'm!

  • liquid_ice
  • Registratie: Februari 2001
  • Laatst online: 19:05
joram.agten, heb je al een idee in welke hoek van de berekening dat het um zit?
De inputs, outputs, zon, wind of het huis misschien?

De validator begint vormen aan te nemen.
De files worden ingelezen (lekker streng) en het bord wordt gevuld.
Vandaag beginnen aan de punten berekening en verdere verificaties.

[ Voor 40% gewijzigd door liquid_ice op 16-06-2013 10:30 ]

Klus page: http://klusthuis.blogspot.com


Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
CodeCaster schreef op zondag 16 juni 2013 @ 08:09:
heeft er nog iemand een boek over algoritmes te leen? :X
Ik vond How to Solve it: Modern Heuristics wel geinig en makkelijk te lezen. Het bevat ook leuke puzzeltjes tussendoor. Combinatorial Optimization en Introduction to Algorithms heb ik ook thuis, maar daar moet je je echt doorheen ploeteren.

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 23:20

Creepy

Tactical Espionage Splatterer

Kom maar op met die e-mails!

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • Malthus
  • Registratie: April 2003
  • Laatst online: 23-04 15:30
Creepy schreef op zondag 16 juni 2013 @ 15:05:
Kom maar op met die e-mails!
Ik heb vandaag nog een gruwelijke bug uit mijn zoekalgoritme opgelost, en een heleboel commentaar getypt. En ik moet nog een beschrijving maken, dus ik ben bang dat ik alle beschikbare tijd tot aan de deadline nodig heb. :)

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 00:29
Same here; ik was vanmiddag pas begonnen met m'n oplossings-algoritme (wel eerder een checker geschreven, dat scheelt!)

Als ik alle bugs eruit heb ga ik zo een testrun doen terwijl ik avondeten maak, en hopelijk werkt alles dan naar behoren. (Nette code of veel commentaar hoef je van mij in ieder geval niet te verwachten ;))

Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Wel een middelbare-school-mentaliteit om pas op het laatst hard te werken. ;)

Overigens heb ik daar wel een leuke herinnering aan: bij een scheikundeleraar was ook een deadline om middernacht; hij had er een feestje bij hem thuis van gemaakt met bier enzo. Misschien een ideetje voor de volgende keer...

Er was wel vandaag een feestje waar je naar toe kon: het Tuintopia-intro-feest. Iemand daar nog geweest?

Acties:
  • 0 Henk 'm!

Anoniem: 303530

Zo. Die is verstuurd.

Voor de geïnteresseerden:

004x003_+003/   26    47 ms (maar soms ook <16ms, afhankelijk van timer precisie / print zut)
005x003_+002/   71    438 ms
005x004_+001/   62    19873 ms
005x004_+003/   68    32250 ms
005x004_+029/   93    1422 ms
005x004_-001/   59    36160 ms
010x010_+000/   545   94 ms (maximale score in dit topic: 599)
017x013_+020/   1384  297 ms (maximale score in dit topic: 1439)
topicstart/     98    60972 ms


In vergelijking met pete: verlies met ~7x marge op 005x003_+002/, winst op de rest van de velden (met 3-10x marge, behalve de eerste). Als de deadline voorbij is zal ik even de highlights van mijn algoritme benoemen.

CPU = sandy bridge quadcore 2.6 ~ 3.0 Ghz, max geheugengebruik ~600MB. Als ik hem langer door laat rekenen begint bij enorm te slurpen en raakt zelfs mijn gloednieuwe 16GB vol binnen de tijd :P

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 23:20

Creepy

Tactical Espionage Splatterer

Daos schreef op zondag 16 juni 2013 @ 20:48:
Wel een middelbare-school-mentaliteit om pas op het laatst hard te werken. ;)

Overigens heb ik daar wel een leuke herinnering aan: bij een scheikundeleraar was ook een deadline om middernacht; hij had er een feestje bij hem thuis van gemaakt met bier enzo. Misschien een ideetje voor de volgende keer...

Er was wel vandaag een feestje waar je naar toe kon: het Tuintopia-intro-feest. Iemand daar nog geweest?
Dan leggen we deadline de volgende keer op zaterdag 23:59. Kijk ik of we een feestje kunnen regelen :P . Ik had even langs willen gaan bij het tuin topia feestje maar gezien vaderdag kon ik dat niet naken ;)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 00:29
Daos schreef op zondag 16 juni 2013 @ 20:48:
Wel een middelbare-school-mentaliteit om pas op het laatst hard te werken. ;)
Niet als je niet op de middelbare school zit en juist belangrijkere dingen te doen hebt dan huiswerk maken. ;)

Sowieso is 't ook voor de uiteindelijke winnaar wel leuk als er een redelijk aantal tegenstanders zijn (ook al zijn hun programma's last-minute in elkaar gehackt).

edit:
Zo, alle bugs zijn gefixt. Ik zal m'n programma eens op die testdata van Corniel runnen terwijl ik eten maak, dan kan ik zo ook nog posten om mensen te vermaken die hun code al ingestuurd hebben.

[ Voor 18% gewijzigd door Soultaker op 16-06-2013 21:21 ]


Acties:
  • 0 Henk 'm!

  • DaCoTa
  • Registratie: April 2002
  • Laatst online: 08-06 23:11
Ik heb zojuist pas mijn eerste score... Wellicht wat laat, maar heeft iemand misschien een validator die mijn score kan doorrekenent? Het gaat om de standaardset.
code:
1
2
3
4
Score:87
[terras][dierenstal][huis][huis][rijbessen][terras]
[notenboom][vijver][notenboom][insectenhotel][vijver][insectenhotel]
[rijbessen][mesthoop][kas][mesthoop][groentetuin][groentetuin]

Acties:
  • 0 Henk 'm!

  • Malthus
  • Registratie: April 2003
  • Laatst online: 23-04 15:30
DaCoTa schreef op zondag 16 juni 2013 @ 21:59:
Ik heb zojuist pas mijn eerste score... Wellicht wat laat, maar heeft iemand misschien een validator die mijn score kan doorrekenent? Het gaat om de standaardset.
code:
1
2
3
4
Score:87
[terras][dierenstal][huis][huis][rijbessen][terras]
[notenboom][vijver][notenboom][insectenhotel][vijver][insectenhotel]
[rijbessen][mesthoop][kas][mesthoop][groentetuin][groentetuin]
Volgens de puntenteller van Daos klopt jouw score.

[ Voor 6% gewijzigd door Malthus op 16-06-2013 22:04 . Reden: Linkje naar Puntenteller-bericht van Daos toegevoegd ]


Acties:
  • 0 Henk 'm!

  • DaCoTa
  • Registratie: April 2002
  • Laatst online: 08-06 23:11
Dankdank! Er was toch een puntenteller. Ik dacht al zoiets maar kon hem in de stress niet meer vinden. Stress is funest voor google-fu.

Acties:
  • 0 Henk 'm!

  • Malthus
  • Registratie: April 2003
  • Laatst online: 23-04 15:30
@DaCoTa: ik heb jouw output ook nog even door mijn eigen puntenteller gehaald en die komt (gelukkig) ook op dezelfde score uit.

En ik heb zojuist mijn programma ingestuurd *O*.

Door tijdgebrek wel heel veel dingen niet geprogrammeerd (en veel te weinig unit-tests gemaakt). Ik gebruik een genetisch algoritme, dus het is lastig om scores te vergelijken (want deze zijn ieder keer anders), maar ik kom redelijk in de buurt van de scores die tot nu toe genoemd zijn. Ook met de test-set 105x184_+000 kom ik nog tot een antwoord. Maar als het om de tijd gaat, dan verlies ik flink, want ik pak altijd de volledige vijf minuten. :)

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 00:29
Mijn resultaten:
0000 Score:98
004x003_+003 Score:26
005x003_+002 Score:71
005x004_-001 Score:59
005x004_+001 Score:61
005x004_+003 Score:68
005x004_+029 Score:93
010x010_+000 Score:560
017x013_+020 Score:1424
048x039_+040 Score:15201
061x043_+172 Score:22128
(En de laatste kom ik niet uit.)

edit:
Hm, multithreading levert nogal weinig op. Jammer, maar ik heb geen tijd meer om 't te verbeteren of eruit te slopen.

[ Voor 17% gewijzigd door Soultaker op 16-06-2013 23:31 ]


Acties:
  • 0 Henk 'm!

Anoniem: 391986

Heel mooi dat er een paar last minute acties bij zijn gekomen. Die last minute mentaliteit is mij ook niet vreemd. Anders had ik de validator al gehad, haha.

Nog een avondje de punten telling erin hangen en dan een avond testen met Arjan.

Ik denk dat de Validator komend weekend online komt ter review aan U allen.
(Mocht iemand dan nog C# gerelateerd commentaar hebben ben ik er ook geïnteresseerd in)

Dan zal ook de definitieve testsets aan Creepy zijn aangeleverd.

[ Voor 7% gewijzigd door Anoniem: 391986 op 16-06-2013 22:48 ]


Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
somename == liquid_ice ??

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 23:20

Creepy

Tactical Espionage Splatterer

somename == liquid_ice ja. En aangezien cloontjes niet zijn toegestaan.. oh well ;)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • Pete
  • Registratie: November 2005
  • Laatst online: 15-12-2024
En verstuurd.

Helaas te weinig tijd gehad deze week om het goed af te maken. Ik hoop maar dat alles nu werkt...

petersmit.eu


Acties:
  • 0 Henk 'm!

  • joram.agten
  • Registratie: Oktober 2010
  • Laatst online: 15-01 11:07
@liquid_ice ik vermoed iets met het huis en de zon/schaduw, ofwel huis met wind/windbeschutting
Ik heb net mijn commentaar in de code getyped; en toch nog wat gerefactored en precies nog een typo of 2 opgelost in de score berekening (of nieuwe fouten bijgemaakt). Maar er is niet echt tijd meer om veel na te kijken, en unit tests schrijven en dingen met de hand berekenen...
Dat had ik beter vorige week gedaan precies.

Acties:
  • 0 Henk 'm!

  • joram.agten
  • Registratie: Oktober 2010
  • Laatst online: 15-01 11:07
en mijn inzending is ook verstuurd (om 11u56), tot nu toe kom ik altijd tot een oplossing voor eender welk speelveld van de TestSets.
Ik reken wel altijd 5 minuten met veel Threads. De gevonden eindscore is nogal random de hoogste ;-)

Ik heb net nog 3 uurtjes commentaar in mijn code getyped, maakt het geheel toch iets leesbaarder.
Maar mijn echte "slimme" ideeen voor algoritmes heb ik helaas niet kunnen implementeren.

Ik had al lang een initiele versie in python, maar de Global Interpreter Lock speelde me parten voor de performance. Gisterenavond dan "even" alles herschreven in Java en een nachtje doorgedaan.

Vandaag had ik andere verplichtingen, enkel nu nog een beetje tijd gevonden om het geheel wat op te schonen
met commentaar.

Ik ben benieuwd...

Acties:
  • 0 Henk 'm!

  • DaCoTa
  • Registratie: April 2002
  • Laatst online: 08-06 23:11
Afbeeldingslocatie: http://yourcoachingbrain.files.wordpress.com/2012/05/whoosh.jpg

Ook ingeleverd. En nog een keer... Ik ben het niet meer gewend om java van de commandline te starten dus daar ging nogal wat mis. Erg frustrerend om het laatste kwartier uit te zoeken hoe dat ook alweer zat met classpaths terwijl er ook nog een bug in de tree pruning zit. Ben bang dat het allemaal niet ok is.

[ Voor 65% gewijzigd door DaCoTa op 17-06-2013 00:29 ]


Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online

Acties:
  • 0 Henk 'm!

  • DaCoTa
  • Registratie: April 2002
  • Laatst online: 08-06 23:11
Ach, wat is nou een kwartier op een mensenleven ;-)

Acties:
  • 0 Henk 'm!

  • F.West98
  • Registratie: Juni 2009
  • Laatst online: 01-06 03:30

F.West98

Alweer 16 jaar hier

DaCoTa schreef op maandag 17 juni 2013 @ 00:46:
[...]

Ach, wat is nou een kwartier op een mensenleven ;-)
Het verschil tussen leven en dood? :+

2x Dell UP2716D | R9 7950X | 128GB RAM | 980 Pro 2TB x2 | RTX2070 Super
.oisyn: Windows is net zo slecht in commandline als Linux in GUI


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Ik geef het op, ik heb door een verkeerde insteek code geschreven waar ik absoluut niet trots op ben en die ook nog eens de helft van de hier genoemde scores haalt. Weer wat geleerd, en ik zal eens een boek of twee kopen. Bedankt voor de suggesties. ;)

[ Voor 12% gewijzigd door CodeCaster op 17-06-2013 00:51 ]

https://oneerlijkewoz.nl
Het ergste moet nog komen / Het leven is een straf / Een uitgestrekte kwelling van de wieg tot aan het graf


Acties:
  • 0 Henk 'm!

Anoniem: 303530

Mijn algoritme, is gebaseerd op een vrij recht-aan A* implementatie.

Je hebt een State (repressentatie van een stap in het probleem) bestaande uit een map (1D, alles is 1-dimensionaal), een score, een heuristic, en een array met hoeveel kaarten er nog aanwezig zijn in het deck. Meer hierover later.

Verder heb je een Node, dat is een soort van abstracte representatie van het probleem. Ik denk dat ik hier de meeste winst heb gepakt ten opzichte van de moordende concurrentie :+ . Het 'probleem' bestaat uit een linked list van Node, elke node bevat een positie, maximaal 4 buren (als in, een integere positie) en een interne score lookup array. Hiermee kan snel de score bij een bepaalde kaartzet worden berekend. Elke node bevat zijn eigen score lookup array. Wat schiet je daarmee op? Het berekenen van de score van een veld is zo simpel als:
C++:
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
int Node::whatIf(const CardID *map, const CardID &c) const
{
    scoreType score = 0;
    scoreArrEntry* cacheLine = &scoreArr[ amountOfCards * c ];

    switch ( amountOfNeigbours )
    {
        case 4:
            score += cacheLine[ map[ cardPositions[ 3 ] ] ][ 3 ];
        case 3:
            score += cacheLine[ map[ cardPositions[ 2 ] ] ][ 2 ];
        case 2:
            score += cacheLine[ map[ cardPositions[ 1 ] ] ][ 1 ];
        case 1:
            score += cacheLine[ map[ cardPositions[ 0 ] ] ][ 0 ];
//        case 0:
            return score;
        default:
#if defined(_MSC_VER)
            __assume( 0 );
#else
            __builtin_unreachable();
#endif
    }
}

Het ziet er ingewikkelder uit dan het is. Ik had ook een branchless versie gemaakt met wat template & virtual methods, maar die bleek ~10% trager.

En je zegt dat een Node maximaal 4 buren heeft, het zijn er toch 8? Ja en nee, ik had gemerkt dat de volgorde waarin je het probleem oplost erg belangrijk is voor runtime. Daarom wordt er bij het opbouwen van de probleem representatie een BFS gedraaid om de optimale volgorde te berekenen. Hoe vroeger in het spel de connecties worden gemaakt, hoe sneller het algoritme draait. Resulterend in maximaal 4 connecties. Een connectie wordt pas gemaakt wanneer een kaart naast een andere kaart komt te liggen.

Ten slotte bestaat er een max-heap implementatie. De naam max-heap is misleidend, intern is het een soort van hash table die dynamisch resized (vector van vectors). Nieuwe States kunnen dan altijd in O(1) worden geplaatst of opgehaald totdat de gebruikte vector reallocate waardoor de concurrency drastisch afneemt.... Wie regelmatig in de devschuur komt had opgemerkt dat ik dat op probeerde te lossen door een linked list van vectors te gebruiken zodat het resizen vermeden wordt. Maar dat vertraagde de boel nogal, met name omdat het destructen op de een of andere manier gruwelijk traag is. Om het reallocaten zo efficiënt mogelijk te maken bestaat een State gewoon uit een pointer naar een stukje memory (8 bytes per stuk @ x64)

De concurrecy was een groot probleem. Daar ga ik mettertijd nog eens een topic over openen. 8 threads op een 'lastig' probleem, oke, maar als het aantal threads verder toeneemt of het probleem simpeler wordt, brengen de threads de meeste tijd door met het knokken om mutexen. Als je algoritme met 8 threads half zo snel is als met 3 threads, dan ben je niet happy.. Bij de meeste problemen schaalt het vrij aardig en wordt iets van ~4x speedup behaald over 4 cores (met elk 2 threads).

Wat betreft de heuristics, ik heb er 2: een welke altijd een lagere of gelijke score teruggeeft, en een welke altijd een hogere of gelijke score teruggeeft. Respectievelijk werken deze door middel van een DFS (gewoon het complete probleem afhandelen op basis van best-first), en door van elk leeg veld de maximale score te bruteforcen. Waarbij de bovengenoemde score lookup array uitstekend van pas komt ;) . Deze 2 functies nemen respectievelijk 10% en 85% van de runtime in beslag. Ik denk dat er veel winst zit in het verbeteren van de heuristics, maar dat is mij niet gelukt. Bovendien heeft heuristic1 een groot probleem: hij is namelijk erg onstabiel. Bij een bepaalde testcase kon hij een score teruggeven tussen de 28 en 42 op exact dezelfde map als ik de kaarten in een andere (uniform random) volgorde doorgaf.

Om een zeker maximum te vinden wordt het algoritme meerdere keren uitgevoerd: de eerste keer is de invloed van heuristic1 100% en de invloed van heuristic2 0%. Daarna neemt de invloed van heuristic1 elke keer af met 20% en de invloed van heuristic2 evenzoveel toe. Naarmate de invloed van heursitc2 toeneemt duurt het steeds langer om tot een oplossing te komen. Aangezien heuristic2 admissable is weten we zeker dat de gevonden score optimaal is bij heuristic2 = 100%. Overigens geraak je bij de meeste problemen uit mem als je dat probeert.

Ja maar hoe beslis je dan wanneer je stopt? Simpel maar effectief: de tijd die nodig was om het algoritme 'de vorige keer' te draaien wordt vermenigvuldigd met 10. Is dat lager dan de tijd die we nog over hebben? Dan gaan we het proberen. Ik heb veel tijd besteed aan het verzinnen van een relatie tussen het veld en de 'moeilijkheid' van het oplossen, maar dat is op niets uitgelopen, vermoedelijk omdat het berekenen van de complexiteit het zo 'lastig' (als in tijdscomplexiteit) is als het oplossen van het probleem zelf. Bovenstaande uitzonderlijk triviale oplossing stopt in geen enkel veld wat ik kon genereren te vroeg, maar toch wordt er nooit veel te lang doorgegaan met rekenen.

Dat waren de highlights uit mijn bijna 5k regels code. Wat voor truuks hebben jullie toegepast?

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 00:29
Eigenlijk verschilt mijn aanpak niet eens zoveel, hoewel ik niet echt aan optimaliseren toegekomen ben. In het bijzonder precompute ik ook met een BFS de volgorde waarin kaarten worden neergelegd (en de richtingen waarbij dan naar buurkaarten gekeken moet worden) en heb ik mijn queue geïmplementeerd met een vector van vectors (eigenlijk deques, maar dat hadden achteraf gezien best vectors kunnen zijn). Ook precompute ik natuurlijk hoeveel punten iedere combinatie van kaarten oplevert.

De kern van m'n algoritme bestaat uit een soort van breadth-first search over de probleemruimte, waarbij ik om tijd/ruimte te besparen bij elke iteratie in plaats van de volledige breedte van de zoekboom een maximaal aantal states bijhoudt (en wel de meest waardevolle states die ik gevonden heb).

Omdat ik ook niet weet hoeveel states ik per iteratie kan queuen binnen de tijdlimiet, begin ik gewoon met een lage limiet en verdubbel ik die steeds. Dat is verre van optimaal, maar het is een relatief simpele manier om de hoeveelheid werk die je doet een beetje aan te passen aan de tijd die je beschikbaar hebt.

Ik had graag nog iets willen doen met:
• A*-stijl heuristics,
• elimineren van equivalente states.
Eigenlijk de dingen die ik in het vorige topic juist wél had geïmplementeerd. :+ Geen idee of dat erg veel opgeleverd had — als ik het zo zie komen mijn scores al redelijk in de buurt van de meer verfijnde implementaties (hoewel die kleine verschilen natuurlijk net wel bepalend kunnen zijn voor de uitslag van de contest).

Ik denk dat het gebrek aan heuristic mijn algoritme parten gaat spelen, maar uit uit eigenbelang hou ik m'n mond even over de details tot de jurering achter de rug is.

Re: thread support: zelf heb ik die op het laatste moment uit m'n programma gesloopt omdat 'ie niet perfect werkte en ik geen zin had om multithreading bugs te fixen een half uur voor de deadline. Ik zou denken dat zo'n algoritme redelijk goed te paralleliseren zou moeten zijn (er is nauwelijks data contention) maar in de praktijk leek het tegen te vallen — waarom weet ik nog niet precies.

Mijn code beslaat zo'n 700 regels, waarvan ~300 voor de solver, ~200 voor de checker, en de rest voor IO. Ik denk dat deze twee het interessantst zijn:
Configuration.h, beschrijft de datastructuur die de invoer representeert.
solver.cpp, de daadwerkelijke solver.

Acties:
  • 0 Henk 'm!

  • DaCoTa
  • Registratie: April 2002
  • Laatst online: 08-06 23:11
Mijn aanpak verschilt wel, voornamelijk omdat ik geen aanpak had. Ik ben eigenlijk pas op de laatste dag aan de solver begonnen, ik heb daarvoor in de tijd die ik had enorme omzwermingen gehad in datamodel en opslag, maar het meeste daarvan weer overboord gegooid. Wat ik overhield was een precalculated score voor alle kaarten in alle richtingen, zodat dat deel in ieder geval snel zou zijn.

Mijn aanpak is simpel: een brute-force BFS, sorteer alle mogelijkheden op gemiddeld aantal punten per buurman (dus bij een nieuwe kaart is 3 punten over 1 connectie beter dan 2 punten over 2 connecties). Gooi deze velden weer terug in een gesorteerde set. Ga zo door tot je een oplossing heb en gooi dan alle velden weg die nooit meer boven deze score uit kunnen komen. Rinse and repeat tot de tijd op is. Dit in 3 uurtjes geschreven.

Verdere opmerkingen: ik heb alleen getest met de standaard set. Wat er met grotere velden gebeurd, geen idee, waarschijnlijk out of memory. Minder kaarten dan velden geeft waarschijnlijk een NPE of een ArrayIndex ofzo. De output gaat naar console, ipv output.ini (strafpunten!) en ben de source en documentatie vergeten.

Ik merk wel dat ik erg stroef ben in algoritmiek, voornamelijk omdat ik het in mijn werk vrijwel nooit nodig heb. Maar als afgestudeerd A.I.-er zou ik toch beter moeten weten. Ik ga weer even de literatuur aanhalen :)

Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Beschrijving van mijn algoritme:
Het is een 'local search' die afwisselend twee dingen doet:
- kaart op het speelveld vervangen door kaart in de hand als dat hogere punten oplevert.
- twee kaarten op het speelveld verwisselen met elkaar als dat hogere punten oplevert.

Omdat een local search kan blijven hangen in een lokaal optimum wordt er met meerdere random beginvelden gestart. In 5 minuten zijn er op mijn pc 40000 iteraties mogelijk. Een handje vol iteraties lijkt al voldoende. Om te zorgen dat het programma snel stopt is dit begrensd tot 100.

Acties:
  • 0 Henk 'm!

Anoniem: 303530

Ik had wat spectaculairders verwacht dan 'doe wat randoms, stop na X pogingen' :P

Acties:
  • 0 Henk 'm!

  • DaCoTa
  • Registratie: April 2002
  • Laatst online: 08-06 23:11
Ben toch nog even doorgegaan. Mijn ingeleverde code werkt niet met de andere testsets (hij accepteerd geen cijfers in kaartnamen). Daarnaast doet hij veel te veel. Mijn originele code haalt 88 op de testset. Als ik nog een paar kleine wijzigingen doorvoer kom ik op de volgende scores:

Met wat kleine aanpassingen kom ik op:
testset: 97
004x003_+003: 23
005x003_+002: 66
005x004_-001: 44
005x004_+001: 45
005x004_+029: 85
010x010_+000: 462
017x013_+020: 1246
048x039_+040: 13037
061x043_+172: 18312
105x184_+000: no score (teveel kaarten, gebruik byte als kaartindex)

Alle scores die er zijn worden binnen een paar seconden gehaald. Ik heb ze niet allemaal laten doorlopen maar ik denk dat er bij de grotere geen hogere scores gehaald worden.

Maargoed, dit is dus niet de code die ik ingeleverd heb :) Ik denk dat ik nog een dag nodig had om het wat robuuster te maken. Les geleerd.

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 23:20

Creepy

Tactical Espionage Splatterer

Om even het totaal beeld te geven: In totaal zijn er 9 inzendingen die meedoen voor de prijzen.
Op willekeurige volgorde:
  • Corniel
  • Eskimootje
  • Darkstone
  • BNieuwehuizen
  • Malthus
  • joram.agten
  • <nickname>^WSoultaker
  • Daos
  • Pete
Dan hebben we nog twee inzendingen die we voor de eer mee laten doen maar geen kans maken op de prijzen:
  • Daos (een verbeterde versie van de eerst ingezonden entry)
  • Dacota (ingestuurd na de deadline)
Mocht je toch iets ingeleverd hebben maar je nick staat niet in de lijst, laat het dan even weten, dan spit ik mijn e-mails nog een keertje door ;)

De test set wordt nog aan gesleuteld, evenals de code voor de validator. Zodra die definitief zijn zal ik de entries gaan runnen. Het systeem waar de entries op gerunt gaan worden:
  • OS: Windows 7 64 bits of Linux mint 14 64 bits.
  • Processor: Intel(R) Core(TM) i7-3610QM CPU @ 2.30GHz
  • Geheugen: 16GB
  • Mocht er een entry tussen zitten die daadwerkelijk de GPU gaat gebruiken: Radeon HD 7970M

[ Voor 7% gewijzigd door Creepy op 17-06-2013 22:18 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Helaas geen tijd meer om het af te maken, er zat een fout in mijn berekening en kwam er maar slecht achter waar het aan lag, ook al omdat ik erg druk had op me werk waqt minder gemotiveerd, ik vond het in ieder geval een leuke opdracht, waar ik toch het nodige plezier aan heb gehad (en natuurlijk weer dingen geleerd :) ).

Acties:
  • 0 Henk 'm!

  • Malthus
  • Registratie: April 2003
  • Laatst online: 23-04 15:30
Hoewel ik anderhalve maand geleden al zag dat er weer een programmeerwedstrijd was, had ik aan het einde toch wel een beetje last van tijdgebrek. Ik heb veel tijd gebruikt om verschillende dingen uit te proberen, en daar heeft mijn code toch wel veel last van. Ik ben bang dat in sommige classes bijna de helft van de methodes niet meer gebruikt wordt.

Ik heb een Java-programma gemaakt dat willekeurig kaarten neer legt, een genetisch algoritme, een 'netwerk'-programma dat op niets is uitgelopen, en uiteindeijk nog een depth-first zoekprogramma. Dit zoekprogramma heeft echter het meeste last gehad van tijdgebrek, op de laatste dag heb ik er nog een gruwelijke bug uitgehaald, en misschien was het niet de laatste.

Ook het optimaliseren is niet helemaal gelukt, want dat is eigenlijk een beetje meegegroeid. Zo heb ik een cache voor de scores die bepaalde kaarten opleveren. Deze cache bestaat uit een hashmap en wordt tijdens het evalueren van de oplossingen opgebouwd. Ik had echter veel beter van te voren een array met alle mogelijke combinaties kunnen uitrekenen, dan was de toegangstijd veel beter.

Uiteindelijk heb ik een aantal ideeën samengevoegd. Deze worden op verschillende threads uitgevoerd en zo nu en dan wisselen ze de beste resultaten uit. Hierdoor voedt het zoek-algoritme een redelijk goede oplossing aan mijn genetisch algoritme, en die kan proberen om er nog iets moois van te maken. Soms gaat dat best goed en kom ik in de buurt van de scores die in dit topic zijn gepost, en soms lijkt het helemaal nergens op.

Conclusie, ik heb weer veel te veel tijd aan de verkeerde zaken besteed...

Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Ik had veel mazzel. Mijn eerste poging was een depth-first search die niet veel opleverde:
Daos schreef op donderdag 25 april 2013 @ 20:53:
Na 10 minuten brute-force/depth-first search zit ik pas op:
code:
1
2
3
4
Score:61
[graanveld][vijver][huis][huis][notenboom][insectenhotel]
[dierenweide][graanveld][groentetuin][insectenhotel][notenboom][groentetuin]
[bijenkorf][bijenkorf][bloemenveld][boomgaard][compostvat][dierenstal]


Volgens mijn schatting kan het nog een paar dagen duren. Dit gaat hem dus niet worden...
De volgende dag als tweede poging een 'local search' gemaakt waarmee ik zo snel op het optimum zat dat ik hem maar meteen had ingeleverd (helaas met bugje en het kon nooog sneller).

Acties:
  • 0 Henk 'm!

  • liquid_ice
  • Registratie: Februari 2001
  • Laatst online: 19:05
Gave nabespreking zo, ik moet de posts van Darkstone nog eens goed in me laten inwerken, want ik begrijp het nog niet helemaal.

De eerste avond dat ik zelf een eerste poging deed om dit probleem brute force op te lossen had ik de complete punten berekening en het brute force progje er omheen in 1 avondje erin zitten.
Nu ik het opnieuw in C# probeer heb ik nog alleem maar de basis IO punten in 1 avond erin zitten.

Andere avond dan maar verder met de Wind en de Zon.

Klus page: http://klusthuis.blogspot.com


Acties:
  • 0 Henk 'm!

  • liquid_ice
  • Registratie: Februari 2001
  • Laatst online: 19:05
Zo, de validator 0.2 is af.

Ik heb geen unittesten, maar wel integratie testen (heb de door jullie geposte oplossingen gebruikt)

er zitten nog wel een paar fouten in die ik moet uitzoeken, maar dat komt een andere avond.

Klus page: http://klusthuis.blogspot.com


Acties:
  • 0 Henk 'm!

  • liquid_ice
  • Registratie: Februari 2001
  • Laatst online: 19:05
Zijn er nog wensen mbt de output van de validator?

Klus page: http://klusthuis.blogspot.com


Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
liquid_ice schreef op vrijdag 21 juni 2013 @ 17:48:
Zijn er nog wensen mbt de output van de validator?
- Punten per kaart
- Score/Totaal aantal punten (= helft van som alle punten per kaart)
- Of de score in output.ini correct is

Acties:
  • 0 Henk 'm!

  • liquid_ice
  • Registratie: Februari 2001
  • Laatst online: 19:05
Ik bereken niet alle punten dubbel, maar heb gekozen om maar gewoon de helft van de punten te berekenen.

Door die keuze vallen sommige punten juist op de ene, of de andere kaart.
Dat maakt het lastig om mijn "punten per kaart" te vergelijken met de "punten per kaart" van anderen.

Klus page: http://klusthuis.blogspot.com


Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
10. Het geven van foute uitvoer betekent niet meteen dat je "af" bent, maar elke foute kaart wordt als lege kaartlocatie beschouwd. Grote fouten kunnen zelfs leiden tot diskwalificatie en foltering.
Verder ivm de foltering:
- Of het veld de juiste grootte heeft,
- Of het huis op de juiste plek staat.
- Of er niet teveel kaarten van een soort zijn neergelegd.

Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Of er minstens één kaart aan het huis aansluit en er geen kaarten los liggen? :)
quote: OP
Elke beurt leg je een kaart aansluitend aan de al bestaande kaarten aan.

[ Voor 63% gewijzigd door CodeCaster op 21-06-2013 19:17 ]

https://oneerlijkewoz.nl
Het ergste moet nog komen / Het leven is een straf / Een uitgestrekte kwelling van de wieg tot aan het graf


Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
CodeCaster schreef op vrijdag 21 juni 2013 @ 19:15:
Of er minstens één kaart aan het huis aansluit en er geen kaarten los liggen? :)
Kaarten mogen toch los liggen?

Je hoeft dacht ik niet alles te vullen:
Mocht je een leeg veld innemen in je uitkomst, dan gebruik je de blokhaken zonder tekst erin, dus zo: "[]"
.

[ Voor 20% gewijzigd door Daos op 21-06-2013 19:30 ]


Acties:
  • 0 Henk 'm!

  • liquid_ice
  • Registratie: Februari 2001
  • Laatst online: 19:05
CodeCaster schreef op vrijdag 21 juni 2013 @ 19:15:
Of er minstens één kaart aan het huis aansluit en er geen kaarten los liggen? :)


[...]
Er mogen geen 'eilandjes' van kaarten zijn.
Elke kaart moet op een of andere manier aansluiten aan de anderen en zo een verbinding met het huis hebben.

Klus page: http://klusthuis.blogspot.com


Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
liquid_ice schreef op vrijdag 21 juni 2013 @ 19:34:
[...]


Er mogen geen 'eilandjes' van kaarten zijn.
Elke kaart moet op een of andere manier aansluiten aan de anderen en zo een verbinding met het huis hebben.
Is er iemand geweest die daar rekening mee houdt?

Acties:
  • 0 Henk 'm!

  • liquid_ice
  • Registratie: Februari 2001
  • Laatst online: 19:05
Ik vermoed dat eilandjes slecht zijn voor je punten ;)

Klus page: http://klusthuis.blogspot.com


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Daos schreef op vrijdag 21 juni 2013 @ 19:38:
[...]


Is er iemand geweest die daar rekening mee houdt?
Klinkt als een leuke testset: een groot bord met het huis niet op een voorspelbare positie en naast het huis slechts één kaart in de kaarten.ini. :P

https://oneerlijkewoz.nl
Het ergste moet nog komen / Het leven is een straf / Een uitgestrekte kwelling van de wieg tot aan het graf


Acties:
  • 0 Henk 'm!

Anoniem: 303530

Mijn algoritme gaat dan in elk geval fout.. Ik had over het hoofd gezien dat een kaart niet los mocht liggen.

Er zitten sowieso nog wel meer 'suffe kaartenset' corner cases in.

Acties:
  • 0 Henk 'm!

  • liquid_ice
  • Registratie: Februari 2001
  • Laatst online: 19:05
Poeh, ik ben achter de 'laatste' bug gekomen.

Dit is een mooie, daarom wil ik um ook gewoon even delen.
Mijn validator heeft een testset van 26 speelvelden (uit dit topic) en berekent ze goed.
(ook een compliment aan jullie dat jullie het ook goed hebben).

Maar nu ik op het eind de "punten per kaart" op verzoek erin wilde maken ben ik tegen een probleem aangelopen. Namelijk, mijn punten per kaart zijn hoger dan de totale punten...
(wie voelt um al aankomen?)

In de kaarten.ini staan kaarttype defenities. Om dit te emuleren heb ik 3 classes gemaakt.
1 - Kaart type
2 - Kaarten deck
3 - CardCounter

In het Deck zit voor elk type een carc counter die bij houdt hoeveel kaarten er nog zijn en als je een kaart opvraagt geeft deze een pointer naar zijn kaart uit.

Wat er dus op neerkomt dat als kaart [2,3] en kaart [4,5] dezelfde kaarttype zijn dat ze ook het zelfde object in zijn en de punten van [2,3] bij de punten van [4,5] wordt getelt en omgekeerd.

pff, even denken hoe ik dit in C# ga oplossen.
Ik denk dat ik de CardCounter nieuwe kaart objecten moet laten maken oid.

Klus page: http://klusthuis.blogspot.com


Acties:
  • 0 Henk 'm!

  • liquid_ice
  • Registratie: Februari 2001
  • Laatst online: 19:05
bug gefixed.

Ik moet wachten op Arjan om de validator daar online te zetten.

Klus page: http://klusthuis.blogspot.com


Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Mijn output.ini eindigt met een lege regel. Bij anderen is dit misschien zonder. Hou je hier ook rekening mee?

Stukje code:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
private static void WriteOutput(PlayCard[,] play_field)
{
    using (StreamWriter file = new StreamWriter("output.ini"))
    {
        int score = CalcScore(play_field);
        file.WriteLine("Score:{0}", score);

        for (int i = y_count; i >= 1; i--)
        {
            for (int j = 1; j <= x_count; j++)
            {
                file.Write("[{0}]", play_field[i, j] == null ? "" : play_field[i, j].name);
            }
            file.WriteLine(); // hier had dan een if(i > 1) omheen gemoeten
        }
    }
}

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 00:29
Daos schreef op vrijdag 21 juni 2013 @ 19:38:
Is er iemand geweest die daar rekening mee houdt?
Ik was me in ieder geval van de restrictie bewust, hoewel ik er in m'n solver ook geen rekening mee gehouden heb. In m'n checker wel, en volgens mij checkt die ook al die andere dingen (huis op de goede plaats, alleen beschikbare kaarten gebruikt, enzovoorts).

edit:
Mijn checker is hier online te gebruiken.

[ Voor 12% gewijzigd door Soultaker op 23-06-2013 22:43 ]


Acties:
  • 0 Henk 'm!

  • liquid_ice
  • Registratie: Februari 2001
  • Laatst online: 19:05
Daos, die lege regel is een goede.

Ik heb um in mijn testset opgenomen en het veranderd de results niet.

Klus page: http://klusthuis.blogspot.com


Acties:
  • 0 Henk 'm!

  • joram.agten
  • Registratie: Oktober 2010
  • Laatst online: 15-01 11:07
lap, nog minpunten voor mijn oplossing: die laatste newline in de output.

Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Hij doet het bij mij niet. Als ik op check klik, krijg ik een leeg scherm.
joram.agten schreef op maandag 24 juni 2013 @ 10:57:
lap, nog minpunten voor mijn oplossing: die laatste newline in de output.
Ik had het al gemeld en het lijkt geen probleem te zijn.

Lap moest ik even opzoeken. Heb je vroeger veel Samson gekeken?
lap (interjectie)
Uitroep van ontsteltenis, teleurstelling, pech. Vergelijkbaar met “verdorie”.

Dit woord werd populair door de kinderserie Samson, waar het veelvuldig werd gebruikt om grove woorden met dezelfde lading te voorkomen

Acties:
  • 0 Henk 'm!

  • joram.agten
  • Registratie: Oktober 2010
  • Laatst online: 15-01 11:07
CodeCaster schreef op zaterdag 22 juni 2013 @ 00:49:
[...]
Klinkt als een leuke testset: een groot bord met het huis niet op een voorspelbare positie en naast het huis slechts één kaart in de kaarten.ini. :P
En waarbij die ene kaart dan minpunten geeft bij elke positie rond het huis via de wind/windbeschutting.

INI: speelveld.ini
1
2
3
4
[speelveld]
aantalveldenxas=6
aantalveldenyas=5
eerstehuisdeel=3,3


INI: kaarten.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[huis]
aantal=1
input=
output=
zon=
schaduw=
wind=levert
windbeschutting=nodig

[k001]
aantal=1
input=
output=
zon=
schaduw=
wind=levert
windbeschutting=nodig


En ja hoor, mijn oplossing gaat ook de mist in :-( Ik lever mooi een output.ini met score:0
Erger nog, ik merk nu pas op dat ik [null] schrijf in output.ini voor een leeg veld. In mijn python prototype was dat wel in orde 8)7

Nog iets om mogelijks strafpunten voor te tellen: in output.ini staat er tussen Score:<< de door jou berekende score >> geen spatie.
Dat doe ik ook niet goed. En in mijn python prototype was dat ook in orde. 8)7
Grr, dat nachtje programmeren heeft al heel wat extra bugs opgeleverd.


offtopic:
Daos schreef op maandag 24 juni 2013 @ 12:37:
[...]
Lap moest ik even opzoeken. Heb je vroeger veel Samson gekeken?
[...]

Ik ben Vlaming, en hier wordt dat wel meer gebruikt. Maar om nou met Samson geassocieerd te worden is weer minder leuk.

Acties:
  • 0 Henk 'm!

  • joram.agten
  • Registratie: Oktober 2010
  • Laatst online: 15-01 11:07
Daos schreef op maandag 24 juni 2013 @ 12:37:

liquid_ice: Daos, die lege regel is een goede.
[...]
joram.agten: lap, nog minpunten voor mijn oplossing: die laatste newline in de output.
[...]
Daos: Ik had het al gemeld en het lijkt geen probleem te zijn.
[...]
Ik begreep: die lege regel is een goed check om strafpunten te tellen.
Maar naar ik nu begrijp wordt er bedoeld: Een output.ini met een lege regel op het einde is ook een goede output.ini.

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 00:29
Daos schreef op maandag 24 juni 2013 @ 12:37:
Hij doet het bij mij niet. Als ik op check klik, krijg ik een leeg scherm.
Fixed. Nooit code wijzigen zonder daarna te testen. 8)7

Ik ben het er trouwens mee oneens dat die newline op het eind fout is. Een tekstbestand bestaat uit regels die eindigen met newline characters. Een tekstbestand dat niet eindigt op een newline character is dus vroegtijdig afgekapt (tenzij het leeg is, dan bevat het 0 regels). De newline character weglaten is juist fout.

Ik weet dat Microsoft Kladblok er anders over denkt, maar dat is een belachelijke standaard. Alle traditionale tools die met tekstbestanden werken (awk, sort, sed, et cetera) printen een newline character achter elke regel (dus ook de laatste) ongeacht of die nu in de invoer stond of niet.

[ Voor 58% gewijzigd door Soultaker op 24-06-2013 22:25 ]


Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Soultaker schreef op maandag 24 juni 2013 @ 22:15:
[...]

Fixed. Nooit code wijzigen zonder daarna te testen. 8)7
Of betekende dat lege scherm soms dat er geen fouten gevonden waren? Hij laat nu output.ini zien en geeft een warning als bv de score niet goed is.
Ik ben het er trouwens mee oneens dat die newline op het eind fout is.
Wel of geen newline wordt beiden goedgerekend als ik het goed begrijp.

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 00:29
Daos schreef op maandag 24 juni 2013 @ 23:05:
Of betekende dat lege scherm soms dat er geen fouten gevonden waren?
Het betekende dat het Perl script dat de checker callt een parse error gaf. :P
Hij laat nu output.ini zien en geeft een warning als bv de score niet goed is.
Het idee is dat 'ie een gesanitizede output.ini print, waar ongeldige kaarten uit verwijderd zijn enzo (en inderdaad warnings voor dingen die niet kloppen op stderr, al verdwijnt dat onderscheid via de webinterface).

Als je uitvoer geldig is, dan krijg je geen warnings en inderdaad precies dezelfde uitvoer als je erin gestopt hebt. (Ik ben waarschijnlijk minder streng qua parsen dan de jury, maar ik ben wél strict als het gaat over gebruikte kaarten, verbonden met het huis, en dergelijke. Overigens denk ik niet dat veel mensen syntactisch foute uitvoer gegeven; het formaat is simpel en meer karakters toevoegen dan nodig lijkt me zinloos.)
Wel of geen newline wordt beiden goedgerekend als ik het goed begrijp.
Da's mooi. :) Ik blijf er bij dat wél een newline de standaard is, en géén newline afwijkend.

Acties:
  • 0 Henk 'm!

  • joram.agten
  • Registratie: Oktober 2010
  • Laatst online: 15-01 11:07
oei, nog een bug gevonden: bij het plaatsen van het huis doe ik
Java:
1
2
3
        // place the house on the board
        board.board[board.houseLeftPart[0]][board.houseLeftPart[1]] = "huis";
        board.board[board.houseLeftPart[0]][board.houseLeftPart[1] + 1] = "huis";


en 2 regels hoger zet ik in commentaar:
Java:
1
        // create a 2 dimensional array for the board, indexed [y][x]


dat moet dus worden
Java:
1
2
3
        // place the house on the board
        board.board[board.houseLeftPart[1]][board.houseLeftPart[0]] = "huis";
        board.board[board.houseLeftPart[1]][board.houseLeftPart[0] + 1] = "huis";


waardoor ik mijn huis op de verkeerde plaats zet :-( x en y omgedraaid. Dat zal ook nog wel eens een leuke indexOutOfBoundsException kunnen geven.

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 00:29
Gaat dat niet al direct op de sample data fout? Immers bestaat (3,4) niet en (4,3) wel.

Acties:
  • 0 Henk 'm!

  • liquid_ice
  • Registratie: Februari 2001
  • Laatst online: 19:05
Om alvast een voorbeeld van de validator output te geven:

code:
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
Score from file is: 26
12 points for the IOs (exl. house)
13 points for the IOs (incl. house)
3 points for the Wind/Cover (exl. house)
3 points for the Wind/Cover (incl. house)
10 points for the Sun/Shade (exl. house)
10 points for the Sun/Shade (incl. house)
TOTAL SCORE: 26
Score properly calculated


Underneath, the score for each card is printed split up for IO points, Sun/Shade & Wind/Cover
[X01:Y01]; IO score:00; Sun/Shade score:00; Wind/Cover score:00; Name:k003
[X02:Y01]; IO score:01; Sun/Shade score:00; Wind/Cover score:00; Name:k005
[X03:Y01]; IO score:00; Sun/Shade score:00; Wind/Cover score:00; Name:k002
[X04:Y01]; IO score:03; Sun/Shade score:00; Wind/Cover score:02; Name:k006
[X01:Y02]; IO score:02; Sun/Shade score:00; Wind/Cover score:00; Name:k005
[X02:Y02]; IO score:04; Sun/Shade score:02; Wind/Cover score:00; Name:k001
[X03:Y02]; IO score:00; Sun/Shade score:02; Wind/Cover score:00; Name:k002
[X04:Y02]; IO score:00; Sun/Shade score:02; Wind/Cover score:00; Name:k002
[X01:Y03]; IO score:00; Sun/Shade score:00; Wind/Cover score:00; Name:huis
[X02:Y03]; IO score:00; Sun/Shade score:00; Wind/Cover score:00; Name:huis
[X03:Y03]
[X04:Y03]


Underneath, the entire score bord is printed to show how it is filled
[H][H][ ][ ]
[X][X][X][X]
[X][X][X][X]

( Ik heb er met de hand in geedit, dus de scores kloppen niet meer ;) )

Klus page: http://klusthuis.blogspot.com


Acties:
  • 0 Henk 'm!

  • joram.agten
  • Registratie: Oktober 2010
  • Laatst online: 15-01 11:07
Soultaker schreef op dinsdag 25 juni 2013 @ 16:15:
Gaat dat niet al direct op de sample data fout? Immers bestaat (3,4) niet en (4,3) wel.
Het is iets subtieler: eerstehuisdeel=3,3 gaat nog wel, want ik tel wel bij de x 1 erbij.
maar eerstehuisdeel=4,3 geeft direct Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3

Acties:
  • 0 Henk 'm!

  • liquid_ice
  • Registratie: Februari 2001
  • Laatst online: 19:05
De validator staat online en is te vinden op:

http://www.tuintopia.nl/wedstrijd.rar

Deze en komende week zal ik nog proberen feedback te verwerken, maar daarna ben ik dus voor 3 weken op vakantie. Het kan dus zijn dat je waardevolle feedback even op de plank blijft liggen, maar het wordt niet ZOMAAR genegeerd.

Vanaf nu tot en met 17-Juli om 23:59:59 mogen comments en feedback op de validator worden benoemd hier in het topic, hierna wordt de validator als heilig beschouwd en zijn z'n uitkomsten onbetwistbaar.
Maak gebruik van deze kans.
Mocht je mooie corner cases bedenken ben ik er altijd geïnteresseerd in om die over te nemen.


have fun

PS : niet ruziën he ;)

[ Voor 34% gewijzigd door liquid_ice op 26-06-2013 14:46 ]

Klus page: http://klusthuis.blogspot.com


Acties:
  • 0 Henk 'm!

  • joram.agten
  • Registratie: Oktober 2010
  • Laatst online: 15-01 11:07
het is hier weer stil, iedereen aan het wachten tot net voor de deadline?

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 00:29
Waarom niet? ;) Als 'ie wilde dat we eerder reageren had 'ie de deadline eerder moeten zetten.

(Eigenlijk heb ik even kort naar de validator gekeken maar ik zag niet zo 1-2-3 bugs, dus vind ik het wel OK.)

Acties:
  • 0 Henk 'm!

  • liquid_ice
  • Registratie: Februari 2001
  • Laatst online: 19:05
Ik heb geen stress, ik ben zo op vakantie ;)

Maar naast bugs zijn C# dingen ook altijd welkom, waarschijnlijk is aan de code wel af te zien dat ik geen native C# spreker ben.

[ Voor 60% gewijzigd door liquid_ice op 01-07-2013 17:52 ]

Klus page: http://klusthuis.blogspot.com


Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Kickje. De deadline voor aanmerkingen op de validator is verleden tijd.

edit:
In oktober is er een borrel en een aansluitend (luxe) etentje voor de hele Devschuur® (naast mensen uit dit forum Programming ook zij die websites bouwen en zij die tekenen). Zie: Devschuur meeting W

Misschien is het een idee om de prijsuitreiking tijdens dat evenement te doen. Dat scheelt weer een postzegel :) (drinken/eten moet wel zelf betaald worden)

[ Voor 78% gewijzigd door Daos op 22-07-2013 16:58 ]

Pagina: 1 2 3 4 Laatste