“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”
Dat zag ik, ik reageer in zijn algemeenheid.oisyn schreef op maandag 10 november 2008 @ 12:34:
Als je de rest van mijn post ook had gelezen dan had je gezien dat ik dat met een single array ook niet deed
Wat heb je nou precies getest? Heb je sourcecode?
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
| Stopwatch stopwatch = new Stopwatch(); int hoogte = 50; int breedte = 50; int testcount = 5000000; byte[] single = new byte[hoogte * breedte]; GC.Collect(); stopwatch.Start(); for (int i = 0; i < testcount; i++) { byte[] copy = (byte[]) single.Clone(); } stopwatch.Stop(); Console.WriteLine("Elapsed for single = {0}", stopwatch.Elapsed); byte[][] jagged= new byte[hoogte][]; for(int i = 0; i < jagged.Length; i++) { jagged[i]=new byte[breedte]; } stopwatch.Reset(); GC.Collect(); stopwatch.Start(); for (int i = 0; i < testcount; i++) { byte[][] copy = (byte[][]) jagged.Clone(); for (int j = 0; j < 3; j++) { copy[j] = (byte[]) jagged[j].Clone(); } } stopwatch.Stop(); Console.WriteLine("Elapsed for jagged = {0}", stopwatch.Elapsed); |
Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten
Bij mij (core 2 quad @ 3GHz, 4GB mem, Win XP x64):
Elapsed for single = 00:00:02.8948754 Elapsed for jagged = 00:00:03.1900932
.edit: bliep, dat over partial even verwijderd. Dat gaat in dit geval natuurlijk niet op, omdat de rest van je contents dan niet in de array staan. Wat wel zo is is dat een dergelijke methode wat onhandig is om te gebruiken. Je huidige usecase zal nooit voorkomen - je wilt namelijk eerst veranderingen maken voor je de kopie maakt. Maar als je veranderingen wilt maken, kun je niet gaan werken in een array die geshared wordt, dus moet je bij gaan houden welke kolommen geisoleerd zijn.
[ Voor 95% gewijzigd door .oisyn op 10-11-2008 13:39 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Om hier even op terug te komen, het ziet er zeer gunstig uit. Die functie is 2.5x tot 3x sneller (gemeten met m'n best-move AI op de standaard testset die in totaal net iets minder dan 1 miljoen alternatieve moves per seconde door kan rekenen), en dat is tov m'n zwaar uitgeoptimaliseerde (iteratieve) floodfill. Helaas zitten er nog wat corner-cases in, ik ben gisteravond nog bezig geweest om die er uit te krijgen maar inmiddels is m'n code zo harig geworden dat ik het waarschijnlijk ga herschrijven nu ik precies weet waar ik allemaal rekening mee moet houden. Het detecteren van alle te verwijderen blokjes loopt overigens prima, het is de scoreberekening die soms de mist in gaat. Maar het is wel duidelijk dat dit de weg is die ik moet bewandelenwritser schreef op zondag 09 november 2008 @ 23:21:
[.oisyn over plane-sweep algo]
Leuk, ik ben erg benieuwd naar de performance.
[ Voor 3% gewijzigd door .oisyn op 10-11-2008 14:22 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Ben hier bezig met software voor een multi-touch tabletop, ik denk dat ik daar eens een Bejeweled interface voor in elkaar ga hakken.
[ Voor 23% gewijzigd door writser op 10-11-2008 14:34 ]
Onvoorstelbaar!
[ Voor 24% gewijzigd door .oisyn op 10-11-2008 14:36 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Verwijderd
Bij het speelveld dat standaard meegegeven is van 24*13. kom ik bij het volgende
Ik heb mijn "AI" op heel simpel .. pak elk veld is er een mogelijkheid . doe die dan (Ja weet moet dat zeker nog uitbereiden.) maar is het prille begin zegmaar. Nu kom ik bij mij op een gegeven moment op dit uit :
(Deel van het veld waar het om gaat)
66653 25666 X6614
Bij mij haalt hij dit weg
---53 25-66 X6-14
De validator die er is.. doet het volgende
---53 25--- X6614
Mijn vraag is dus . Welke is goed .. (zal die andere validator wel zijn) Maar zou dan niet weten .. waarom die goed is.
De X is trouwens een muur
@Hierboven: Ik zou eigenlijk dit verwachten:
1
2
3
| 66653 25666 6614 |
1
2
3
| ---53 25--- 6-14 |
[ Voor 22% gewijzigd door Gerco op 10-11-2008 15:24 ]
- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!
RobIII in "Programming Contest Nieuwe Stijl: Contest 4"Verwijderd schreef op maandag 10 november 2008 @ 15:15:
Mijn vraag is dus . Welke is goed .. (zal die andere validator wel zijn) Maar zou dan niet weten .. waarom die goed is.
RobIII in "Programming Contest Nieuwe Stijl: Contest 4"
Overigens is die discussie al ettelijke keren gevoerd; gewoon even dit topic doorbladeren.
[ Voor 19% gewijzigd door RobIII op 10-11-2008 15:17 ]
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.
Je eigen tweaker.me redirect
Over mij
Wat is daar vreemd aan? Als je het goed aanpakt is een floodfill helemaal slecht algoritme. Zeker niet in deze context waar je over het algemeen weinig overlap hebt.Janoz schreef op maandag 10 november 2008 @ 14:50:
Combinaties vinden met floodfill achtige oplossingen?
Mijn algo heeft geen extra stappen nodig. Hij loopt 1x over de relevante posities heen en daarna heeft ie alle benodigde informatie. Ik hoef geen figuurtjes meer te combineren oid.Ik heb voor mijn spek en bonen (want <- rood devschuur kleurtje) gewoon een O(N) algo om de combinaties boven water te krijgen gevolgd door een op Tarjan Union Find geïnspireerde combineer stap. Hij kan nog wel sneller door wat meer native set algoritmiek toe te passen ipv java's Collection framework.
.edit:
Dan hebben we denk ik een vergelijkbaar algo. Mijn constante is niet groot. Strooi je veel met objecten?Gerco schreef op maandag 10 november 2008 @ 15:15:
Ik zoek ook alle combinaties in 1 sweep van het veld, combineren is daarna niet meer nodig. Dat maakt dit algoritme wel O(N), maar de constante vind ik nogal groot. Nog eens kijken hoe ik die naar beneden kan krijgen...
[ Voor 21% gewijzigd door .oisyn op 10-11-2008 15:23 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Welke validator? Eigenlijk zou dit het resultaat moeten zijn:Verwijderd schreef op maandag 10 november 2008 @ 15:15:
Klein vraagje omdat ik het wel zeker wil wetenkan nooit kwaad
Bij het speelveld dat standaard meegegeven is van 24*13. kom ik bij het volgende
Ik heb mijn "AI" op heel simpel .. pak elk veld is er een mogelijkheid . doe die dan (Ja weet moet dat zeker nog uitbereiden.) maar is het prille begin zegmaar. Nu kom ik bij mij op een gegeven moment op dit uit :
(Deel van het veld waar het om gaat)
66653 25666 X6614
Bij mij haalt hij dit weg
---53 25-66 X6-14
De validator die er is.. doet het volgende
---53 25--- X6614
Mijn vraag is dus . Welke is goed .. (zal die andere validator wel zijn) Maar zou dan niet weten .. waarom die goed is.
De X is trouwens een muur
---53 25--- X6-14
Verwijderd
Mmm dat is een resultaat wat ik niet verwacht had .. Trouwens is die validator die gemaakt is om te testen of die van jou goed is ..BalusC schreef op maandag 10 november 2008 @ 15:18:
Welke validator? Eigenlijk zou dit het resultaat moeten zijn:
De rij moet minimaal 3 lang zijn om als match te tellen. Wanneer de rijen elkaar kruisen, gelden ze als 1 match.---53 25--- X6-14
Maar had blijkbaar fout gedacht in hoe die validator het dan gedaan had ..
Maar nu zie ik wat er fout is .
[ Voor 10% gewijzigd door Verwijderd op 10-11-2008 15:29 ]
Wat is veel? Elke GemGroup is een object met daarin Point objecten die naar de verschillende posities wijzen, die Points worden echter pas aangemaakt als ze ook echt in een groep gaan dus het zijn er hooguit enkele tientallen per iteratie van het veld..oisyn schreef op maandag 10 november 2008 @ 15:17:
Dan hebben we denk ik een vergelijkbaar algo. Mijn constante is niet groot. Strooi je veel met objecten?
De meeste tijd gaat nog zitten in het kijken wat er op een bepaalde positie in het veld staat, ik wil die method eigenlijk inlinen (scheelt miljoenen calls en de bijhorende overhead), maar de Java compiler wil niet niet meewerken.
- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!
Verwijderd
Gerco schreef op maandag 10 november 2008 @ 15:28:
[...]
Wat is veel? Elke GemGroup is een object met daarin Point objecten die naar de verschillende posities wijzen, die Points worden echter pas aangemaakt als ze ook echt in een groep gaan dus het zijn er hooguit enkele tientallen per iteratie van het veld.

Mijn lijst figuren is in werkelijkheid een array van ints, waarbij elke int enkel aangeeft hoeveel blokjes in die figuur staan (voor de uiteindelijke puntentelling). Verder heb ik natuurlijk een lijstje van actieve figuren die ontstaan, aangepast worden en afgesloten worden terwijl ik door het veld wandel, wat ook niet meer is dan een array van structures van constante grootte.
Blokjes markeren voor verwijderen doe ik met de welbekende dirty bit.
Kun je niet gewoon de field array de methode binnen halen?De meeste tijd gaat nog zitten in het kijken wat er op een bepaalde positie in het veld staat, ik wil die method eigenlijk inlinen (scheelt miljoenen calls en de bijhorende overhead), maar de Java compiler wil niet niet meewerken.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
1
2
3
| int a = 2, b = 3; a^=b^(b^=a^b); System.out.println("a = " + a + ", b = " + b); // print "a = 3, b = 2" |
Maar voor waarden uit een 2D array lijkt me dit niet echt zinvol:
1
| field[x1][y1]^=field[x2][y2]^(field[x2][y2]^=field[x1][y1]^field[x2][y2]); |
Joey: Nice try. See the Netherlands is this make believe place where Peter Pan and Tinkerbell come from.
https://kattenoppasleiderdorp.nl
PV: 3080Wp ZO + 3465Wp NW = 6545Wp totaal 13°tilt
Ik zo sowieso niet te vroeg juichenPinobigbird schreef op maandag 10 november 2008 @ 16:01:
Wel grappig om te zien hoe iedereen probeert zijn code te optimaliseren. Zelf ook nog even het XOR-swap-algoritme opgezocht.
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.
Je eigen tweaker.me redirect
Over mij
Volgens mij is het opzoeken van de juiste positie in een twee-dimensionale array hier de vertraging. Die ene extra 'temp' variabele zal hier niet veel aan toevoegen. Ik ben zelf niet zo van deze micro-optimalisaties.Pinobigbird schreef op maandag 10 november 2008 @ 16:01:
Wel grappig om te zien hoe iedereen probeert zijn code te optimaliseren. Zelf ook nog even het XOR-swap-algoritme opgezocht.
Java:
1 2 3 int a = 2, b = 3; a^=b^(b^=a^b); System.out.println("a = " + a + ", b = " + b); // print "a = 3, b = 2"
Maar voor waarden uit een 2D array lijkt me dit niet echt zinvol:
Java:
1 field[x1][y1]^=field[x2][y2]^(field[x2][y2]^=field[x1][y1]^field[x2][y2]);
Tja ik vraag me ook af hoeveel winst je daar mee haalt. Het enige voordeel is dat je een temp var minder nodig hebt, maar 1 byte extra geheugen voor een swap lijkt me niet zo'n groot probleem.Pinobigbird schreef op maandag 10 november 2008 @ 16:01:
Wel grappig om te zien hoe iedereen probeert zijn code te optimaliseren. Zelf ook nog even het XOR-swap-algoritme opgezocht.
Java:
1 2 3 int a = 2, b = 3; a^=b^(b^=a^b); System.out.println("a = " + a + ", b = " + b); // print "a = 3, b = 2"
Maar voor waarden uit een 2D array lijkt me dit niet echt zinvol:
Java:
1 field[x1][y1]^=field[x2][y2]^(field[x2][y2]^=field[x1][y1]^field[x2][y2]);
“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”
waarom niet?Pinobigbird schreef op maandag 10 november 2008 @ 16:01:
[...]
[/code]
Maar voor waarden uit een 2D array lijkt me dit niet echt zinvol:
Java:
1 field[x1][y1]^=field[x2][y2]^(field[x2][y2]^=field[x1][y1]^field[x2][y2]);
een moderne compiler laadt dit gewoon in twee registers en doet z'n bewerkingen.
Ik denk niet dat ze bij Java zo retarded zijn dat ze elke keer opniew de waarde uit het geheugen gaan ophalen
Die byte is het probleem niet natuurlijk, maar ook daarvoor geldt dat een normale compiler dit gewoon in een register afhandelt. Als die al vol zitten op dat moment kan het natuurlijk dat de code less than optimal wordt. Zolang je maar geen fratsen uithaalt alsrwb schreef op maandag 10 november 2008 @ 16:10:
[...]
Tja ik vraag me ook af hoeveel winst je daar mee haalt. Het enige voordeel is dat je een temp var minder nodig hebt, maar 1 byte extra geheugen voor een swap lijkt me niet zo'n groot probleem.
1
2
3
4
5
6
7
8
9
| int *temp = new int; int a = 0, b = 2; ... while( iets ) { *temp = a; a = b; b = *temp; } |
denk ik niet dat het echt een probleem gaat worden.
[ Voor 42% gewijzigd door Arjan op 10-11-2008 16:17 ]
oprecht vertrouwen wordt nooit geschaad
Lastigheid lijkt mij dat het wel of niet horen bij een combinatie niet simpel van enkel de buren afhangt. Daarnaast krijg ik bij een floodfill altijd een beetje een (ongefundeerd) recursief gevoel, vandaar dat ik eigenlijk gelijk in een andere richting ben gaan zoeken..oisyn schreef op maandag 10 november 2008 @ 15:17:
Wat is daar vreemd aan? Als je het goed aanpakt is een floodfill helemaal slecht algoritme. Zeker niet in deze context waar je over het algemeen weinig overlap hebt.
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Ik heb wat zitten lezen op wikipedia over "Tarjan Union Find", maar kon niet de link leggen met het combineren van lijntjes tot figuren. Kun je me dat plastisch uitleggen? Welke initiele boom moet je definieren (velden, lijntjes) en wat hou je aan het eind over? (Zo´n contest is toch om plezier te hebben en te leren)Janoz schreef op maandag 10 november 2008 @ 14:50:
Combinaties vinden met floodfill achtige oplossingen? Ik heb voor mijn spek en bonen (want <- rood devschuur kleurtje) gewoon een O(N) algo om de combinaties boven water te krijgen gevolgd door een op Tarjan Union Find geïnspireerde combineer stap. Hij kan nog wel sneller door wat meer native set algoritmiek toe te passen ipv java's Collection framework.
Ook een manier om java om de tuin te leiden inderdaad.Pinobigbird schreef op maandag 10 november 2008 @ 16:01:
Wel grappig om te zien hoe iedereen probeert zijn code te optimaliseren. Zelf ook nog even het XOR-swap-algoritme opgezocht.
Java:
1 2 3 int a = 2, b = 3; a^=b^(b^=a^b); System.out.println("a = " + a + ", b = " + b); // print "a = 3, b = 2"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| class Timing { public static void main(String[] args) { int testcount = 1000000001; long time; int a = 2, b = 3; time = System.currentTimeMillis(); for (int i = 0; i < testcount; i++) { a ^= b ^ (b ^= a ^ b); } time = System.currentTimeMillis() - time; System.out.println("XOR-swap = " + time + "-" + a + "-" + b); time = System.currentTimeMillis(); for (int i = 0; i < testcount; i++) { int c; c = a; a = b; b = c; } time = System.currentTimeMillis() - time; System.out.println("Normal swap = " + time + "-" + a + "-" + b); } } |
XOR-swap = 2180-3-2 Normal swap = 7-2-3
Dit is geen faire vergelijking, aangezien java er bij het optimizen van de 2e loop achter komt dat er niks gebeurd...
Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten
Je kan een soort floodfill-algoritme gebruiken dat om-en-om rijen en kolommen controleert. Heb je een rijtje gevonden? Kijk dan voor elk steentje in de rij of het tot een kolom behoort. Heb je een kolom? Kijk dan voor alle andere steentjes in de kolom of ze tot een rij behoren. En zo steeds verder. Heb je nog wel een dirty bit nodig o.i.d. om te voorkomen dat je steentjes meerdere keren gaat bekijken.Janoz schreef op maandag 10 november 2008 @ 16:13:
[...]
Lastigheid lijkt mij dat het wel of niet horen bij een combinatie niet simpel van enkel de buren afhangt. Daarnaast krijg ik bij een floodfill altijd een beetje een (ongefundeerd) recursief gevoel, vandaar dat ik eigenlijk gelijk in een andere richting ben gaan zoeken.
Het is in elk geval simpel. Ik weet niet of het ook snel is want ik heb geen andere methode geimplementeerd en breek ik me al de hele dag het hoofd over de vraag: wat is de complexiteit van dit algoritme? Worst-case is het hele scherm gevuld met 1 type diamant, dan kan de stack nog wel eens aardig oververhit raken
Dit is een TNO oplossing van de overkant
[ Voor 5% gewijzigd door writser op 10-11-2008 16:53 ]
Onvoorstelbaar!
Van TUF gebruik ik vooral het bewijs dat bij het vinden van een overlap de complete sets verbonden zijn.Bolukan schreef op maandag 10 november 2008 @ 16:39:
[...]
Ik heb wat zitten lezen op wikipedia over "Tarjan Union Find", maar kon niet de link leggen met het combineren van lijntjes tot figuren. Kun je me dat plastisch uitleggen? Welke initiele boom moet je definieren (velden, lijntjes) en wat hou je aan het eind over? (Zo´n contest is toch om plezier te hebben en te leren)
De uiteindelijke werking van het gehele algoritme zal ik na de deadline wel uit de doeken doen (net zoals vele anderen dat zullen doen vermoed ik).
writser schreef op maandag 10 november 2008 @ 16:46:
offtopic:
Dit is een TNO oplossing van de overkant
Ah, extra motivatie voor een goede oplossing. De eer van mijn kant staat op het spel en van Landal hoef ik niet veel te verwachten, mits ik het juist interpreteer..
Heeft mijn stagiair me verraden?
[ Voor 22% gewijzigd door Janoz op 10-11-2008 16:55 ]
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
In pseudo-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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
| int check(int posx, int posy, Field & field) { enum direction { horizontal, vertical }; struct Task { int x, y; direction dir; }; queue<Task> tasks; int numMatches = 0; tasks.push(Task(posx, posy, horizontal)); tasks.push(Task(posx, posy, vertical)); while(!tasks.empty()) { Task t = tasks.pop(); if (t.dir == horizontal) { int x1 = field.findLeft(t.x,t.y); int x2 = field.findRight(t.x,t.y); if (x2 - x1 + 1 >= 3) { for (int x = x1; x <= x2; x++) { if (!field.marked(x,t.y)) { numMatches++; field.mark(x,t.y); queue.push(Task(x, t.y, vertical)); } } } } else if (t.dir == vertical) { // zie horizontale case (maar dan verticaal, duh!) } } return numMatches; } |
En na afloop zijn de te verwijderen blokjes gemarkeerd, en het resultaat is het aantal blokjes in de figuur. Check() moet je dus aanroepen voor ieder blokje in het veld dat je wilt controleren (maar niet voor de al gemarkeerde blokjes). Nadeel van bovenstaande naïeve implementatie is dat ie nogal eens ergens meerdere keren komt.
[ Voor 3% gewijzigd door .oisyn op 10-11-2008 16:57 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Idd, maar een variabele-assignment op lokale variabelen is voor een redelijke compiler ook niet meer dan een simpele interne verwijzing. a = b? Oh, dan gebruiken we voortaan gewoon lekker b als de waarde van a nodig is. Ik vermoed dat als je de swap doet met (static) nonprivate members van de class dat de loop dan in de orde van grootte van de xor-swap valt (maar waarschijnlijk wel sneller is)pedorus schreef op maandag 10 november 2008 @ 16:39:
Dit is geen faire vergelijking, aangezien java er bij het optimizen van de 2e loop achter komt dat er niks gebeurd...
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
@Janoz: zie PM
Onvoorstelbaar!
Een GemGroup is ook niet meer dan een array en een Point is een 2-dimensionale array index. Die ga ik nog wegwerken. Aangezien ik helemaal geen 2 dimensionaal array gebruik is een enkele scalaire index meer dan voldoende en scheelt het bovendien een object per keer..oisyn schreef op maandag 10 november 2008 @ 15:50:
Mijn lijst figuren is in werkelijkheid een array van ints, waarbij elke int enkel aangeeft hoeveel blokjes in die figuur staan (voor de uiteindelijke puntentelling). Verder heb ik natuurlijk een lijstje van actieve figuren die ontstaan, aangepast worden en afgesloten worden terwijl ik door het veld wandel, wat ook niet meer is dan een array van structures van constante grootte.
Dat doe ik met een speciale waarde voor empty spot, komt op hetzelfde neer natuurlijk.Blokjes markeren voor verwijderen doe ik met de welbekende dirty bit.
Dat kan natuurlijk wel, maar ik vind een inlined method call persoonlijk wat mooier staan. Als de compiler blijft bokken zal ik echter weinig keuze hebben natuurlijk.Kun je niet gewoon de field array de methode binnen halen?
- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| int main() { 00415620 push ebp 00415621 mov ebp,esp 00415623 and esp,0FFFFFFF8h 00415626 push esi 00415627 push edi const int count = 1000000; int a = 2, b = 3; for (int i = 0; i < count; i++) { a ^= b ^ (b ^= a ^ b); } std::cout << a << ", " << b << std::endl; 00415628 push 2 0041562A push ecx 0041562B push 2 0041562D push offset std::cout (41F7F0h) 00415632 call std::basic_ostream<char,std::char_traits<char> >::operator<< (4017A0h) |
Mooi trouwens om te zien hoe a ^= b ^ (b ^= a ^ b) niet goed werkt in een taal als C++, omdat de orde van evaluatie niet strak gedefinieerd is.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Nope, normal wordt dan iets trager en wordt dan waarschijnlijk wel daadwerkelijk uitgevoerd (2x zoveel iteraties = 2x zoveel tijd), maar XORswap is veeel trager:.oisyn schreef op maandag 10 november 2008 @ 17:05:
Ik vermoed dat als je de swap doet met (static) nonprivate members van de class dat de loop dan in de orde van grootte van de xor-swap valt (maar waarschijnlijk wel sneller is)
XOR-swap = 2155-3-2 Normal swap = 97-2-3
Ik neem trouwens aan dat die floodfill in je laatste 'floodfill'-versie alleen maar getriggert werd als je al een kruisend figuur tegenkwam bij 'na het vallen'? Aanroepen per cel lijkt me erg traag, en voor na een swap check je veel te veel.
Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten
Dit was een basale implementatie, in de mijne doe ik natuurlijk een stuk minder werk als dat niet nodig ispedorus schreef op maandag 10 november 2008 @ 17:25:
Ik neem trouwens aan dat die floodfill in je laatste 'floodfill'-versie alleen maar getriggert werd als je al een kruisend figuur tegenkwam bij 'na het vallen'? Aanroepen per cel lijkt me erg traag, en voor na een swap check je veel te veel.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Ben iig blij dat ik mijn oplossing in goed gezelschap benwritser schreef op maandag 10 november 2008 @ 17:05:
Precies mijn algoritme. Dit werkt waarschijnlijk erg slecht als er maar weinig verschillende types stenen zijn. Ik moet ook maar eens op zoek naar een slimmere oplossing.
offtopic:
@Janoz: zie PM
[ Voor 16% gewijzigd door wackmaniac op 10-11-2008 19:53 ]
Read the code, write the code, be the code!
Ik heb al wat werkende code in C.
Ik ga maar eens kijken of mjin output door de validatie komt en dan optimaliseren.
Een simpele "probeer-alle-zetten-en-kies-beste" oplossing draait in 5 minuten
Intressante contest weer in elk geval!
-niks-
Verwijderd
Score is niet best .. dit komt omdat hij elke combinatie die hij eerst vond gewoon direct deed .. maarja is het begin. Als hij de 50*50 goed doet is het tijd om de AI iets slimmer te maken en ook meer te kiezen wat hij zal gaan doen
[table border=1 cellpadding=1 bordercolor=#000 fontsize=8][tr][td bgcolor=#fff height=10 width=10].[/][td bgcolor=#fff height=10 width=10]0[/][td bgcolor=#fff height=10 width=10]1[/][td bgcolor=#fff height=10 width=10]2[/][td bgcolor=#fff height=10 width=10]3[/][td bgcolor=#fff height=10 width=10]4[/][td bgcolor=#fff height=10 width=10]5[/][td bgcolor=#fff height=10 width=10]6[/][td bgcolor=#fff height=10 width=10]7[/][td bgcolor=#fff height=10 width=10]8[/][td bgcolor=#fff height=10 width=10]9[/][td bgcolor=#fff height=10 width=10]10[/][td bgcolor=#fff height=10 width=10]11[/][td bgcolor=#fff height=10 width=10]12[/][td bgcolor=#fff height=10 width=10]13[/][td bgcolor=#fff height=10 width=10]14[/][td bgcolor=#fff height=10 width=10]15[/][td bgcolor=#fff height=10 width=10]16[/][td bgcolor=#fff height=10 width=10]17[/][td bgcolor=#fff height=10 width=10]18[/][td bgcolor=#fff height=10 width=10]19[/][td bgcolor=#fff height=10 width=10]20[/][td bgcolor=#fff height=10 width=10]21[/][td bgcolor=#fff height=10 width=10]22[/][td bgcolor=#fff height=10 width=10]23[/][td bgcolor=#fff height=10 width=10]24[/][/tr][tr][td bgcolor=#fff height=10]0[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#0f0]1[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#0f0]1[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][/tr][tr][td bgcolor=#fff height=10]1[/][td bgcolor=#0ff]2[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][/tr][tr][td bgcolor=#fff height=10]2[/][td bgcolor=#000]x[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]3[/][td bgcolor=#000]x[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]4[/][td bgcolor=#000]x[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]5[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#f00]3[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]6[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#000]x[/][td bgcolor=#aaa]6[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]7[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]8[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]9[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#f0f]4[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]10[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]11[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]12[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]13[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][/table] Score....................: 8426100 points Total moves..............: 100000 Succesful moves..........: 100000 Bad moves................: 0 Average score per move...: 84 points Move with highest score..: #63183 (1100 points)
Yeah, ik heb nog steeds de laagste score !!Verwijderd schreef op maandag 10 november 2008 @ 23:45:
<knip/>
Score....................: 8426100 points
<knip/>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| 2156616544634636564114322 2663655362443541322665334 64256315442214543553452 461611314624513245125 215466143134625161366 31342462136634312256 621361416265154 253 11213126525311 2154166441264 434134225 1 2643526 64 Score: 40.324.850 Step: 100001 Time: 14:59.750 |
Onder voorbehoud, ik heb mijn uitvoer nog niet door een validator gehaald

Verwijderd
dus succes
[ Voor 6% gewijzigd door Verwijderd op 11-11-2008 01:42 ]
[table border=1 cellpadding=1 bordercolor=#000 fontsize=8][tr][td bgcolor=#fff height=10 width=10].[/][td bgcolor=#fff height=10 width=10]0[/][td bgcolor=#fff height=10 width=10]1[/][td bgcolor=#fff height=10 width=10]2[/][td bgcolor=#fff height=10 width=10]3[/][td bgcolor=#fff height=10 width=10]4[/][td bgcolor=#fff height=10 width=10]5[/][td bgcolor=#fff height=10 width=10]6[/][td bgcolor=#fff height=10 width=10]7[/][td bgcolor=#fff height=10 width=10]8[/][td bgcolor=#fff height=10 width=10]9[/][td bgcolor=#fff height=10 width=10]10[/][td bgcolor=#fff height=10 width=10]11[/][td bgcolor=#fff height=10 width=10]12[/][td bgcolor=#fff height=10 width=10]13[/][td bgcolor=#fff height=10 width=10]14[/][td bgcolor=#fff height=10 width=10]15[/][td bgcolor=#fff height=10 width=10]16[/][td bgcolor=#fff height=10 width=10]17[/][td bgcolor=#fff height=10 width=10]18[/][td bgcolor=#fff height=10 width=10]19[/][td bgcolor=#fff height=10 width=10]20[/][td bgcolor=#fff height=10 width=10]21[/][td bgcolor=#fff height=10 width=10]22[/][td bgcolor=#fff height=10 width=10]23[/][td bgcolor=#fff height=10 width=10]24[/][/tr][tr][td bgcolor=#fff height=10]0[/][td bgcolor=#ff0]5[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][/tr][tr][td bgcolor=#fff height=10]1[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#aaa]6[/][td bgcolor=#aaa]6[/][/tr][tr][td bgcolor=#fff height=10]2[/][td bgcolor=#000]x[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]3[/][td bgcolor=#000]x[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]4[/][td bgcolor=#000]x[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]5[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]6[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#0f0]1[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#000]x[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]7[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]8[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]9[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#0f0]1[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]10[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]11[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]12[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]13[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][/table] Score....................: 13803650 points Total moves..............: 100000 Succesful moves..........: 100000 Bad moves................: 0 Average score per move...: 138 points Move with highest score..: #5422 (1750 points)
De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"
Janoz schreef op maandag 10 november 2008 @ 16:51:
[...]
offtopic:
Ah, extra motivatie voor een goede oplossing. De eer van mijn kant staat op het spel en van Landal hoef ik niet veel te verwachten, mits ik het juist interpreteer..
Heeft mijn stagiair me verraden?
Nog een deelnemer uit hetzelfde gebouw!
Die van mij lijkt al goed te valideren, maar hij klopt niet met de validator van .oisyn na 12000 stappen. Dat wordt nog ff debuggen
Oja, en de mijne kan ook zn eigen score nog niet bijhouden
[ Voor 13% gewijzigd door dcm360 op 11-11-2008 08:37 ]
Ik had het eerst ook dat er geen enkele move geldig was. Maar dat kwam omdat ik in plaats van o(ost) en z(uid) e(ast) en s(outh) gebruiktedcm360 schreef op dinsdag 11 november 2008 @ 08:37:
Mwa, het is in ieder geval wat. Ik ben er nu ook even aan begonnen en de mijne haalt de 1950 punten, waarna de validator van .oisyn al invalid move aangeeft... Dus ik heb het diepterecord zeker?
Oja, en de mijne kan ook zn eigen score nog niet bijhouden
“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”
Verwijderd
haha had precies hetzelfderwb schreef op dinsdag 11 november 2008 @ 08:49:
[...]
Ik had het eerst ook dat er geen enkele move geldig was. Maar dat kwam omdat ik in plaats van o(ost) en z(uid) e(ast) en s(outh) gebruikte
na wat aanpassen toch weer fout gevonden .. iets met de score. dus aantal stenen wat ie niet goed meeneemt .. rond move 70000
En de fout is natuurlijk weer een figuur
0010 1110 0111 0100
Kijken hoe ik die weer ga oplossen.
[ Voor 38% gewijzigd door Verwijderd op 11-11-2008 10:14 ]
Dat voorbeeld dat ik gaf is O(n2)wackmaniac schreef op maandag 10 november 2008 @ 19:52:
[...]
Ben iig blij dat ik mijn oplossing in goed gezelschap benIk zou ook zo de complexiteit van het algoritme niet weten. Weet wel dat je het slim moet toepassen; je hoeft doorgaans niet hele veld door natuurlijk
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Dan moet ik maar zorgen dat ik een verdomd goede AI in elkaar knutsel.
Read the code, write the code, be the code!
Hm, klinkt bekend. Ik heb net mn algoritme zodanig verbouwd dat die vormen herkent en punten geeft, alleen ik mis en 750 punten en 1 kolom is niet ver genoeg ingezakt. Het is al beter dan wat ik van een eerste poging verwachtte, alleen nu die figuur (en mn fout) zien te vinden...En de fout is natuurlijk weer een figuur Dacht dat ik ze allemaal wel goed had maar er is toch 1 die me ontglipt is
Inmiddels gevalideerd, wat ik tot nu toe zie kloppen mijn moves, alleen bij mijn score zit een afwijking ( < 1% te hoog). Dus het valt me erg mee. Enige andere fout is dat ik de coordinaten van de uitvoer 1 based had, in plaats van 0 based, dat terwijl intern het al 0 based wasVerwijderd schreef op dinsdag 11 november 2008 @ 01:37:
Die Validator heb hoop kleine bugs bij mij aan het licht gebrachten ik dacht ook dat ik em vrij goed had gemaakt ...
dus succes
Verwijderd
Ja is bij mij heel stom want ik heb een algoritme wat het figuur zelf uitzoekt .. hij zou alles moeten pakken . waar het niet dat hij iets wat marked was niet meenam.. dus zodra ik dat erbij heb zal hij ook gewoon alles moeten pakken .. maarjadcm360 schreef op dinsdag 11 november 2008 @ 21:50:
[...]
Hm, klinkt bekend. Ik heb net mn algoritme zodanig verbouwd dat die vormen herkent en punten geeft, alleen ik mis en 750 punten en 1 kolom is niet ver genoeg ingezakt. Het is al beter dan wat ik van een eerste poging verwachtte, alleen nu die figuur (en mn fout) zien te vinden...
@Dacota : netjes .. is iig een stuk beter gegaan dan bij mij
[ Voor 17% gewijzigd door Verwijderd op 12-11-2008 00:12 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
I smell the prematureness of your optimizations, my dear colleague..oisyn schreef op woensdag 12 november 2008 @ 01:00:
Overigens ben ik wel blij met de huidige puntentelling. Omdat de scores voor figuren van meer dan 5 blokjes allemaal gelijk zijn kan ik een aantal optimalisaties maken door niet precies te tellen

Zijn er verder geen mensen met scores te showen?
Daarnaast post ik geen andere scores totdat iemand anders die van mij gebeat heeft
[ Voor 15% gewijzigd door .oisyn op 12-11-2008 02:22 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Ik was van plan om het weekend weer verder te gaan, ik heb ondertussen al wel een hoop optimalisaties in mijn hoofd waar ik toch een stuk sneller mee moet kunnen. Heb ook wel een aardig idee voor mijn AI..oisyn schreef op woensdag 12 november 2008 @ 02:21:
Niets mis met premature optimizations. Het is dan ook een veelgemaakte misquote van Knuth die geheel uit context gerukt is. Overigens ben ik al 2 weken met mijn solver bezig, dus er is niets prematures aan.
Daarnaast post ik geen andere scores totdat iemand anders die van mij gebeat heeft
“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”
Daar win ik enkel op tijd.oisyn schreef op woensdag 12 november 2008 @ 02:21:
Niets mis met premature optimizations. Het is dan ook een veelgemaakte misquote van Knuth die geheel uit context gerukt is. Overigens ben ik al 2 weken met mijn solver bezig, dus er is niets prematures aan.
Daarnaast post ik geen andere scores totdat iemand anders die van mij gebeat heeft
[ Voor 3% gewijzigd door Dirk op 12-11-2008 09:08 ]
All statements are true in some sense, false in some sense, meaningless in some sense, true and false in some sense, true and meaningless in some sense, false and meaningless in some sense, and true and false and meaningless in some sense.
Verwijderd
8 sec van 0 - 100.000 ??? want dan zit er nog een hoop werk voor mij inDirk schreef op woensdag 12 november 2008 @ 09:08:
[...]
Daar win ik enkel op tijdOver een 50x50 veld doet ie maar 8 seconden, en daar moet nog wel wat af kunnen met verdere optimalisaties. Maar goed dat is ook met een dom algorithme dat gewoon de eerst mogelijke move pakt. Overigens is dat single threaded op een Q9300.
Jup, 100000 moves in een 50x50 veldVerwijderd schreef op woensdag 12 november 2008 @ 09:28:
[...]
8 sec van 0 - 100.000 ??? want dan zit er nog een hoop werk voor mij in
Maar dus wel zonder enige intelligentie.
[ Voor 8% gewijzigd door Dirk op 12-11-2008 09:43 ]
All statements are true in some sense, false in some sense, meaningless in some sense, true and false in some sense, true and meaningless in some sense, false and meaningless in some sense, and true and false and meaningless in some sense.
Verwijderd
mjah dat haal ik bij lange na niet . en heb er ook nog geen intelligentie inDirk schreef op woensdag 12 november 2008 @ 09:42:
[...]
Jup, 100000 moves in een 50x50 veld
Maar dus wel zonder enige intelligentie.
Ik ben eergisteren begonnen met een oplossing in C++. Momenteel ben ik nog bezig met het neerzetten van de basis. De volgende zaken zijn al gerealiseerd:
- CGrid voor het speelveld
- CGridLoader laadt speelveld.txt in een CGrid
- CDroppingJewels die de droppende jewels managed
- CDroppingJewelsLoader laadt kolommen.txt in een CDroppingJewels
- CGameLogic voor de game logica met de volgende functionaliteit:
- Initieel speelveld maken aan de hand van een leeg speelveld icm met de droppende jewels.
- Beginnetje voor functionaliteit om het speelveld te doorzoeken op geldige figuren.
Stel niet uit tot morgen wat je vandaag nog tot morgen kunt uitstellen...
Ach, jij zit er zo te zien tenminste goed in, ik pruts meestal maar wat. De laatste jaren enkel VBA, waarbij het voldoende was áls het maar werkte. Ik ben dan ook begonnen in het voor mij nieuwe C++, aangezien VBA op mijn linux computer thuis geen optie was, basic, de enige taal waar ik ooit ook wel eens redelijk serieus in bezig ben geweest, toch echt niet geschikt is en ik ook geen zin had om te beginnen in java, wat ik nog een blauwe maandag op school gehad heb (en in tegenstelling tot de meeste klasgenoten moeiteloos heb afgesloten).Verwijderd schreef op woensdag 12 november 2008 @ 09:55:
[...]
mjah dat haal ik bij lange na niet . en heb er ook nog geen intelligentie indaarom zeg ik. zit nog hoop werk voor me in om de dingen wat sneller te maken.
Ik heb er dan ook al de nodige uren in zitten om uberhaupt zo ver te komen als ik ben, maar de routine komt er nu wel een beetje in, dus het begint nu toch wel een beetje op te schieten.
All statements are true in some sense, false in some sense, meaningless in some sense, true and false in some sense, true and meaningless in some sense, false and meaningless in some sense, and true and false and meaningless in some sense.
Heb je een 50x50 testset? Volgens mij beat ik dat met gemak als ik de intelligentie eruit sloopDirk schreef op woensdag 12 november 2008 @ 09:08:
[...]
Daar win ik enkel op tijdOver een 50x50 veld doet ie maar 8 seconden, en daar moet nog wel wat af kunnen met verdere optimalisaties. Maar goed dat is ook met een dom algorithme dat gewoon de eerst mogelijke move pakt. Overigens is dat single threaded op een Q9300.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
All statements are true in some sense, false in some sense, meaningless in some sense, true and false in some sense, true and meaningless in some sense, false and meaningless in some sense, and true and false and meaningless in some sense.
Stel niet uit tot morgen wat je vandaag nog tot morgen kunt uitstellen...
Zou niet weten hoeMrHuge schreef op woensdag 12 november 2008 @ 13:10:
Heeft iemand al een multi-threaded oplossing geïmplementeerd? [...]
Joey: Nice try. See the Netherlands is this make believe place where Peter Pan and Tinkerbell come from.
https://kattenoppasleiderdorp.nl
PV: 3080Wp ZO + 3465Wp NW = 6545Wp totaal 13°tilt
Stel niet uit tot morgen wat je vandaag nog tot morgen kunt uitstellen...
[google=java multithreading]?
Ik heb al zitten kijken hoe moeilijk dat is in C++ en het lijkt in mijn oplossing niet bijzonder moeilijk. Dus waarschijnlijk komt dat er ook nog wel in. Maar eerst wil ik gewoon een goede basis hebben. Voor een 'beetje' ombouwwerk achteraf ben ik niet zo bang.
[ Voor 23% gewijzigd door Dirk op 12-11-2008 13:21 ]
All statements are true in some sense, false in some sense, meaningless in some sense, true and false in some sense, true and meaningless in some sense, false and meaningless in some sense, and true and false and meaningless in some sense.
ik zou niet over multithreading gaan nadenken totdat je een singlethreaded oplossing hebt
maar je kan er vast rekening mee houden door te zorgen dat je geen overbodige statics/globals oid gebruikt in je algoritme's
-niks-
Mijn programma kan nu de volgende stappen en nu moet de AI nog:
- Speelveld inlezen + kolommen inlezen
- veld maken + vullen (blokjes van bovenaf erbij laten vallen)
- uitvoer.txt schrijven
[ Voor 5% gewijzigd door .oisyn op 12-11-2008 13:51 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Geen zin om 3 kwartier te wachten, maar met zoveel tijd kom ik in de buurt van de 45 miljoen. Singlethreaded op een X2 4600+, dus niet een bijzonder vlotte machine..oisyn schreef op woensdag 12 november 2008 @ 02:21:
Niets mis met premature optimizations. Het is dan ook een veelgemaakte misquote van Knuth die geheel uit context gerukt is. Overigens ben ik al 2 weken met mijn solver bezig, dus er is niets prematures aan.
Daarnaast post ik geen andere scores totdat iemand anders die van mij gebeat heeft
Een slimme AI maken blijkt helaas niet zo makkelijk te gaan met de huidige OO opzet

[ Voor 6% gewijzigd door BalusC op 12-11-2008 19:51 ]
Ja zo kan ik ook wel wat prognoses postenDaCoTa schreef op woensdag 12 november 2008 @ 19:45:
[...]
Geen zin om 3 kwartier te wachten, maar met zoveel tijd kom ik in de buurt van de 45 miljoen.
Echter wel een lekkere memory bandwidth.Singlethreaded op een X2 4600+, dus niet een bijzonder vlotte machine.
[ Voor 74% gewijzigd door .oisyn op 12-11-2008 20:45 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Wat wel grappig is, ik heb wat veranderd dat ik niet het hele veld clone bij een volgende stap, alleen de kolommen die gaan veranderen. Voor die stap was arraycopy bijna 50% van de tijd, daarna nog maar 15% a 20%, maar het totaal is geen klap sneller geworden. Zal wel omdat het allemaal niet meer zo lekker dicht bij elkaar staat gok ik. En ik denk dat ik dat ook ga krijgen bij meerdere threads, maar dat gaan we zo wel zien denk ik.oisyn schreef op woensdag 12 november 2008 @ 20:42:
[...]
Ja zo kan ik ook wel wat prognoses posten
[...]
Echter wel een lekkere memory bandwidth.
De prognoses zijn best betrouwbaar heb ik gemerkt. Als ik in de eerste 10% een bepaalde gemiddelde score haal, veranderd dat nauwelijks meer. Ik doe daarom meestal ook maar runs van 10% om te kijken hoe het gaat, het hele kwartier duurt me veel te lang
[ Voor 5% gewijzigd door DaCoTa op 12-11-2008 22:46 ]
Hm, bij mij idem. Dat betekent dus ook dat ik wat werkends heb nu:DaCoTa schreef op woensdag 12 november 2008 @ 22:43:
[...]
De prognoses zijn best betrouwbaar heb ik gemerkt. Als ik in de eerste 10% een bepaalde gemiddelde score haal, veranderd dat nauwelijks meer. Ik doe daarom meestal ook maar runs van 10% om te kijken hoe het gaat, het hele kwartier duurt me veel te lang
[table border=1 cellpadding=1 bordercolor=#000 fontsize=8][tr][td bgcolor=#fff height=10 width=10].[/][td bgcolor=#fff height=10 width=10]0[/][td bgcolor=#fff height=10 width=10]1[/][td bgcolor=#fff height=10 width=10]2[/][td bgcolor=#fff height=10 width=10]3[/][td bgcolor=#fff height=10 width=10]4[/][td bgcolor=#fff height=10 width=10]5[/][td bgcolor=#fff height=10 width=10]6[/][td bgcolor=#fff height=10 width=10]7[/][td bgcolor=#fff height=10 width=10]8[/][td bgcolor=#fff height=10 width=10]9[/][td bgcolor=#fff height=10 width=10]10[/][td bgcolor=#fff height=10 width=10]11[/][td bgcolor=#fff height=10 width=10]12[/][td bgcolor=#fff height=10 width=10]13[/][td bgcolor=#fff height=10 width=10]14[/][td bgcolor=#fff height=10 width=10]15[/][td bgcolor=#fff height=10 width=10]16[/][td bgcolor=#fff height=10 width=10]17[/][td bgcolor=#fff height=10 width=10]18[/][td bgcolor=#fff height=10 width=10]19[/][td bgcolor=#fff height=10 width=10]20[/][td bgcolor=#fff height=10 width=10]21[/][td bgcolor=#fff height=10 width=10]22[/][td bgcolor=#fff height=10 width=10]23[/][td bgcolor=#fff height=10 width=10]24[/][/tr][tr][td bgcolor=#fff height=10]0[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][/tr][tr][td bgcolor=#fff height=10]1[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][/tr][tr][td bgcolor=#fff height=10]2[/][td bgcolor=#000]x[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]3[/][td bgcolor=#000]x[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]4[/][td bgcolor=#000]x[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#aaa]6[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]5[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#0ff]2[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]6[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#000]x[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#0ff]2[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]7[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]8[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]9[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#0f0]1[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#aaa]6[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]10[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]11[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#0f0]1[/][td bgcolor=#0f0]1[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]12[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]13[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][/table] Score....................: 9675250 points Total moves..............: 100000 Succesful moves..........: 100000 Bad moves................: 0 Average score per move...: 96 points Move with highest score..: #31216 (1500 points)
Misschien dat ik nog wat aan de prioriteiten van de mogelijke zetten moet verbouwen, maar het begin staat! Iets wat ook nog anders moet is het sorteren van de prioriteiten, dat gebeurd nu met bubblesort en daar ben ik uiteraard niet bepaald blij mee.
Veel verder dan wat opties doorrekenen kom ik nog niet, ik zit te hopen op die ene brainwave waarmee ik echt een verschil kan maken..
Ik ben wel benieuwd waar bij jullie de prioriteiten liggen. Volgens mijn profiler zit het bij mij als volgt:
56% van de tijd wordt er naar mogelijkheden om te wissen gezocht
22% van de tijd worden deze mogelijkheden gewist en vervangen met data uit kolommen.txt
1.4% is maar nodig voor het zoeken naar volgende moves.
de rest wordt bijna allemaal door new/free/memcpy enzo opgevreten
Dit gemeten in de situatie waarbij ik steeds de beste move wegspeel
oprecht vertrouwen wordt nooit geschaad
SecondedArjan schreef op woensdag 12 november 2008 @ 23:10:
Ik merk dat ik moeite heb met het verbeteren van mijn initiële opzet, hetgeen best frustrerend is

* BalusC moet nog afwegen tussen "mooie code" en "praktische code". Alleen maar lowlevel coden en tegen binaire operaties aankijken word je ook moe van
[table border=1 cellpadding=1 bordercolor=#000 fontsize=8][tr][td bgcolor=#fff height=10 width=10].[/][td bgcolor=#fff height=10 width=10]0[/][td bgcolor=#fff height=10 width=10]1[/][td bgcolor=#fff height=10 width=10]2[/][td bgcolor=#fff height=10 width=10]3[/][td bgcolor=#fff height=10 width=10]4[/][td bgcolor=#fff height=10 width=10]5[/][td bgcolor=#fff height=10 width=10]6[/][td bgcolor=#fff height=10 width=10]7[/][td bgcolor=#fff height=10 width=10]8[/][td bgcolor=#fff height=10 width=10]9[/][td bgcolor=#fff height=10 width=10]10[/][td bgcolor=#fff height=10 width=10]11[/][td bgcolor=#fff height=10 width=10]12[/][td bgcolor=#fff height=10 width=10]13[/][td bgcolor=#fff height=10 width=10]14[/][td bgcolor=#fff height=10 width=10]15[/][td bgcolor=#fff height=10 width=10]16[/][td bgcolor=#fff height=10 width=10]17[/][td bgcolor=#fff height=10 width=10]18[/][td bgcolor=#fff height=10 width=10]19[/][td bgcolor=#fff height=10 width=10]20[/][td bgcolor=#fff height=10 width=10]21[/][td bgcolor=#fff height=10 width=10]22[/][td bgcolor=#fff height=10 width=10]23[/][td bgcolor=#fff height=10 width=10]24[/][/tr][tr][td bgcolor=#fff height=10]0[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#aaa]6[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][/tr][tr][td bgcolor=#fff height=10]1[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][/tr][tr][td bgcolor=#fff height=10]2[/][td bgcolor=#000]x[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#aaa]6[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]3[/][td bgcolor=#000]x[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#f00]3[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]4[/][td bgcolor=#000]x[/][td bgcolor=#f00]3[/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#0ff]2[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]5[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#f00]3[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]6[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#000]x[/][td bgcolor=#aaa]6[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]7[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]8[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]9[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#f00]3[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]10[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]11[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#f00]3[/][td bgcolor=#aaa]6[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]12[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][tr][td bgcolor=#fff height=10]13[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][td bgcolor=#000]x[/][/tr][/table] Score....................: 24279600 points Total moves..............: 100000 Succesful moves..........: 100000 Bad moves................: 0 Average score per move...: 242 points Move with highest score..: #78616 (1700 points)
De 'AI' is een prutsel van een uurtje werk: per situatie het hele veld aflopen, alle zetten domweg proberen en dan de (eerste van de) beste nemen. Enorm inefficiënt, net als mijn implementatie van het scannen van het veld op gevormde lijnen, maar 't is een begin ...
Op de één of andere manier werkt alleen m'n eigen scoretelling nog niet goed, de validators geven mijn uitvoer een hogere score dan mijn progsel zelf berekend
Na initialisatie ziet m'n speelveld er exact hetzelfde uit, maar mijn Speelveld zegt dat 't maar 1650 waard is
Dat bugje moet ik eerst dus nog ff pletten voor ik m'n AI serieuze aandacht ga geven.
The most exciting phrase to hear in science, the one that heralds new discoveries, is not 'Eureka!' but 'That's funny...'
[table border=1 cellpadding=1 bordercolor=#000 fontsize=8 width=287][tr][td colspan=11][/][td colspan=10]1[/][td colspan=6]2[/][/][tr][td width=11]x[/][td]0[/][td]1[/][td]2[/][td]3[/][td]4[/][td]5[/][td]6[/][td]7[/][td]8[/][td]9[/][td]0[/][td]1[/][td]2[/][td]3[/][td]4[/][td]5[/][td]6[/][td]7[/][td]8[/][td]9[/][td]0[/][td]1[/][td]2[/][td]3[/][td]4[/][/][tr][td]0[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][/][tr][td]1[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][/][tr][td]2[/][td bgcolor=#000][/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#000][/][/][tr][td]3[/][td bgcolor=#000][/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]4[/][td bgcolor=#000][/][td bgcolor=#0f0]1[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]5[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]6[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#f00]3[/][td bgcolor=#000][/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]7[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]8[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]9[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#f00]3[/][td bgcolor=#f00]3[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#0ff]2[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]10[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]11[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]12[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]13[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][/] Score....................: 44403700 points Total moves..............: 100000 Succesful moves..........: 100000 Bad moves................: 0 Average score per move...: 444 points Move with highest score..: #54446 (2400 points)
In 10 minuten tijd (603s).
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| 4155323343164631654622352 2463412265416546462446344 54154515414163514321512 252363436635515211524 561611612526126225615 15432124425646316521 614355263145142 246 32142643434365 4324645165253 316125624 3 2515463 33 Score: 39960200 Step: 100000 Avg: 399 Time: 15:03.110 |
Trouwens, hoe precies op 15 minuten worden de programma's afgekapt?
Ik had eerst ongeveer hetzelfde, behalve dat new/free/memcpy bij mij vrij goedkoop waren aangezien ik mijn eigen memory manager had geïmplementeerd. Moves controleren was bij mij altijd dirt-cheap, ik checkte ook alleen wat opnieuw gecheckt moest worden.Arjan schreef op woensdag 12 november 2008 @ 23:10:
Ik ben wel benieuwd waar bij jullie de prioriteiten liggen. Volgens mijn profiler zit het bij mij als volgt:
56% van de tijd wordt er naar mogelijkheden om te wissen gezocht
22% van de tijd worden deze mogelijkheden gewist en vervangen met data uit kolommen.txt
1.4% is maar nodig voor het zoeken naar volgende moves.
de rest wordt bijna allemaal door new/free/memcpy enzo opgevreten
Echter, als je verder vooruit wilt kijken, dan zul je wellicht op het idee komen individuele states te bewaren zodat je niet werk dubbel hoeft te doen. Hiervoor moet er ten eerste veel mem rondgekopiëerd worden, en ten tweede kost het veel geheugen. Nou is dat laatste nog niet zo'n heel erg groot probleem, ware het niet dat al je code langzamer wordt omdat je veel meer last krijgt van cache misses.
Als je routines zoals het vinden van mogelijke zetten en het doen van een zet (+ score bepalen en juwelen vallen etc.) een beetje goed uitgeoptimaliseerd zijn kom je op een gegeven moment op het punt dat het praktischer is om dingen steeds opnieuw te berekenen. Bijvoorbeeld bij mij, als ik 4 zetten vooruit kijk, dan is de state opslaan voor elke branch echt loeitraag. Alleen het bijhouden van mogelijke zetten is iets sneller (en om de staat van het veld te verkrijgen moet je voor iedere branch in de boom die 3 zetten opnieuw doen vanaf de beginstaat). Niets bijhouden en de moves steeds iteratief bepalen aan de hand van welk gedeelte van het veld nieuw is is al een heel stuk sneller, maar gewoonweg 3 zetten doen en dan het hele veld opnieuw bekijken voor alle mogelijken zetten is het allersnelst. 't Mooie daarvan is ook nog eens dat je code er een stuk simpeler van wordt
Nieuw resultaat trouwens:
[table border=1 cellpadding=1 bordercolor=#000 fontsize=8 width=287][tr][td colspan=11][/][td colspan=10]1[/][td colspan=6]2[/][/][tr][td width=11]x[/][td]0[/][td]1[/][td]2[/][td]3[/][td]4[/][td]5[/][td]6[/][td]7[/][td]8[/][td]9[/][td]0[/][td]1[/][td]2[/][td]3[/][td]4[/][td]5[/][td]6[/][td]7[/][td]8[/][td]9[/][td]0[/][td]1[/][td]2[/][td]3[/][td]4[/][/][tr][td]0[/][td bgcolor=#0ff]2[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][/][tr][td]1[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][/][tr][td]2[/][td bgcolor=#000][/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#000][/][/][tr][td]3[/][td bgcolor=#000][/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#0f0]1[/][td bgcolor=#f00]3[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]4[/][td bgcolor=#000][/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]5[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]6[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#0f0]1[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#000][/][td bgcolor=#ff0]5[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]7[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]8[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#0f0]1[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]9[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#f00]3[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]10[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]11[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]12[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]13[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][/] Score....................: 45538300 points Total moves..............: 100000 Succesful moves..........: 100000 Bad moves................: 0 Average score per move...: 455 points Move with highest score..: #39282 (2850 points)
Wel in 16:31
[ Voor 66% gewijzigd door .oisyn op 13-11-2008 02:48 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
* RobIII wijst en lacht

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.
Je eigen tweaker.me redirect
Over mij
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
En daarbij wil ik de opmerking maken dat ik hoop dat ze vooral op de memory specs letten, en niet zozeer op de gigahertzen van de CPU's.Je kan ervan uit gaan dat de pc waarop je programma gerund wordt sneller is dan de gemiddelde consumentenpc en meerdere CPU-cores bevat, maar probeer je programma zo snel mogelijk te houden voor een hogere score
[ Voor 22% gewijzigd door .oisyn op 13-11-2008 15:13 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Volgens mij doelt .oisyn hier vooral op de cache en de snelheid / banbreedte van de bus.BalusC schreef op donderdag 13 november 2008 @ 14:43:
Er is toch al eerder opgemerkt dat je mag uitgaan van 1GB geheugen?
De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
update 18:10: Mijn "oplossing" scoort nu 23M punten in 15.6s ipv de eerdere 3 minuten
[ Voor 40% gewijzigd door MLM op 13-11-2008 18:13 ]
-niks-
Meerdere cores is natuurlijk al bij twee. En dat is een beetje waar ik op doelde, je kunt beter uitgaan van die twee dan van vier en dan verliezen omdat je uit bent gegaan van een te zwaar systeem..oisyn schreef op donderdag 13 november 2008 @ 14:24:
Uit de TS:
[...]
En daarbij wil ik de opmerking maken dat ik hoop dat ze vooral op de memory specs letten, en niet zozeer op de gigahertzen van de CPU's.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Ga je dan gokken hoeveel cores het systeem gaat hebben? Ik meen me te herinneren (en kan ook) dat je het aantal cores kan opvragen. Het is verder gewoon de kunst om je algoritme zodanig te schrijven dat die goed kan inschatten hoe veel moeite er in een zet gestoken mag worden.Patriot schreef op donderdag 13 november 2008 @ 21:22:
[...]
Meerdere cores is natuurlijk al bij twee. En dat is een beetje waar ik op doelde, je kunt beter uitgaan van die twee dan van vier en dan verliezen omdat je uit bent gegaan van een te zwaar systeem.
-niks-
Assumptions are the mother of all fuck ups | iRacing Profiel
[table border=1 cellpadding=1 bordercolor=#000 fontsize=8 width=287][tr][td colspan=11][/][td colspan=10]1[/][td colspan=6]2[/][/][tr][td width=11]x[/][td]0[/][td]1[/][td]2[/][td]3[/][td]4[/][td]5[/][td]6[/][td]7[/][td]8[/][td]9[/][td]0[/][td]1[/][td]2[/][td]3[/][td]4[/][td]5[/][td]6[/][td]7[/][td]8[/][td]9[/][td]0[/][td]1[/][td]2[/][td]3[/][td]4[/][/][tr][td]0[/][td bgcolor=#0f0]1[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#f00]3[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][/][tr][td]1[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][/][tr][td]2[/][td bgcolor=#000][/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#000][/][/][tr][td]3[/][td bgcolor=#000][/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]4[/][td bgcolor=#000][/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]5[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#0ff]2[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#ff0]5[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]6[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#aaa]6[/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#000][/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#ff0]5[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]7[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#aaa]6[/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#aaa]6[/][td bgcolor=#0ff]2[/][td bgcolor=#0f0]1[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]8[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#f00]3[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#ff0]5[/][td bgcolor=#f0f]4[/][td bgcolor=#0ff]2[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#f00]3[/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]9[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#f0f]4[/][td bgcolor=#0f0]1[/][td bgcolor=#0f0]1[/][td bgcolor=#f00]3[/][td bgcolor=#f00]3[/][td bgcolor=#0f0]1[/][td bgcolor=#0ff]2[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#0ff]2[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]10[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#0f0]1[/][td bgcolor=#f0f]4[/][td bgcolor=#aaa]6[/][td bgcolor=#0f0]1[/][td bgcolor=#f00]3[/][td bgcolor=#f0f]4[/][td bgcolor=#f0f]4[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]11[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#ff0]5[/][td bgcolor=#f00]3[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]12[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][tr][td]13[/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][td bgcolor=#000][/][/][/] Score....................: 45748250 points Total moves..............: 100000 Succesful moves..........: 100000 Bad moves................: 0 Average score per move...: 457 points Move with highest score..: #52370 (2900 points)
Met 3.7s to spare
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Hey Bubka, ik dacht dat jij alleen nieuwe scores zou posten als je niet de hoogste zou zijn
Ik zit inmiddels rond de 43m, maar heb nog wel wat werkbespaarideeen. En moet nog multicore gaan inbouwen, maar daar heb ik ook een spannend ideetje voor. Hopen dat het gaat werken.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Mijn poging tot een nieuwe implementatie van het speelveld is een beetje aan het versloffen

Dit topic is gesloten.