I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. Where the fear has gone there will be nothing. Only I will remain.
En dat, mijn vriend, is nu juist de fun aan deze contestFeyd-Rautha schreef op zaterdag 18 november 2006 @ 15:19:
So, even if you know all the pieces in advance and can take as long as you want for each move, the game is still challenging.
* RobIII eindelijk een vrij halfuurtje heeft
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
| | [] [] | | [] [] [][] [] | | [][][][][][][][][] [][] | |[][][][][][][][][][][][][] | |[][][] [][][][][][][][][] | |[][][][] [][][][][][][][] | |[][][][][][][][][][][][][] | |[][][][][][][][][][][][][] | |[][][][][][][][][][][][][][] | |[][][][][][][][][][][][][][] | |[][][][][] [][][][][][][][][]| |[][][][][][][][][][] [][][][]| |[][][][][][][][][][][][][] []| |[][][][][][][][][][][][] [][]| |[][][][][][][][] [][][][][][]| |[][][][] [][][][][][][][][][]| |[] [][][][][][][] [][][][][]| |[][][][][][][][][] [][][][][]| |[][][][][][][][][][][] [][][]| |[][][][][][][][][][][][] [][]| |[][][][][][][][][][][][][] | |[][][][][][][][][] [][][][][]| |[][][][][][] [][][][][][][][]| |[][][][][] [][][][][][][][][]| | [][][][][][][][][][][][][][]| |[][][][][][][][][] [][][][][]| |[] [][][][][][][][][][][][][]| |[][][][][] [][][][][][][][][]| | [][][][][][][][][][][][][][]| | [][][][][][][][][][][] [][]| |[][][][][][][][] [][][][][][]| | [][][][][] [][][][][][][][]| #5 Lines: 25 | [][][][][][][][][][][][][][]| #4 Lines: 105 |[][][][] [][][][][][][][][][]| #3 Lines: 352 | [][][][][][][][][][][][][][]| #2 Lines: 1247 | [][][][][][][][][][][][][][]| #1 Lines: 2948 |[][][][][][][][][][][] [][][]| Blocks : 21235 |[][][][][][][][][][][][] [][]| Lines : 7043 | [][][][][][][][][][][][][][]| Discards: 5 |[][] [][][][][][][][][][][][]| Points : 725650 +------------------------------+ 37 38 38 38 40 37 40 30 38 39 39 38 39 38 32 |
Maar met 3 blokjes/sec doet ie er wel veeeeel te lang over. Om binnen de 2 uur te blijven moeten er gemiddeld minstens 13.9 blokjes per seconde geplaatst worden
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 ben ook maar begonnen, ik heb al een aantal goede ideeen (denk ik), de files 0 t/m 9 .txt heb ik al correct ingelezen.
Het was wel ff wennen, VC++ 6.0 ipv VB 6.0 wat ik op werk gebruik.
486DX2-50 16MB ECC RAM 4x 500MB Drive array 1.44MB FDD MS-Dos 6.22
[ Voor 0% gewijzigd door Confusion op 18-11-2006 23:13 . Reden: Stomme regeleindes ]
Wie trösten wir uns, die Mörder aller Mörder?
En ik moet ook beter lerer lezen. affijn.
Het is inderdaad wel de bedoeling dat er nog redelijk wordt gespeeld. Domweg de output genereren zoals je aangeeft is niet de bedoeling uiteraard. Neemt niet weg dat ik er enorm om had moeten lachen als iemand zoiets had ingeleverd
Minimaal alle blokken verwerken is een eis die denk ik te hoog is. Er zijn nu al genoeg problemen om alle blokken van de tweede set te verwerken voordat er game over wordt gegaan. Zolang je het maar probeert is dat in principe al voldoende.
[ Voor 74% gewijzigd door Creepy op 18-11-2006 21:38 ]
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
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.
Verwijderd
Moet je even de nieuwste versie van Visual Studio Express Visual Basic proberen (ze hebben de hele studio nu in losse delen zodat je niet de volledige 2GB hoeft te installeren als je maar 1 taal nodig hebt).Dido schreef op zaterdag 18 november 2006 @ 12:08:
[...]
Ik hou hem in gedachten als SharpDevelop niet bevalt
Ik heb geloof ik ook nog wel ergens VS liggen, maar in mijn beleving is dat een heleboel meuk om een simpel programmaatje te schrijven...
offtopic:
rant! welke klootviool heeft verzonnen dat alt+s opeens een menuoptie is in FF2
Het werkt tegenwoordig erg simpel en snel. Je bent eigenlijk meteen up&running.
Alleen wel een aanrader: Niet op een te trage PC, dan is het echt zwaar irritant en onwerkbaar..
* Outerspace vind dit een leuk staaltje werk van degene die dit heeft opgestart. Ben nu al een paar dagen dit aan het volgen en ik merk dat het een leuke contest is. Mensen helpen elkaar, maar het lijkt ook wel alsof er bepaalde mensen moeten winnen
Al met al een pluimpje
Zoekt nieuwe collega's (jr/sr engineers, servicedeskmedewerkers of managers in de Randstad
* Dido gaat eens kijkenVerwijderd schreef op zondag 19 november 2006 @ 01:50:
Moet je even de nieuwste versie van Visual Studio Express Visual Basic proberen (ze hebben de hele studio nu in losse delen zodat je niet de volledige 2GB hoeft te installeren als je maar 1 taal nodig hebt).
Dan gebruik ik de turbo-knop: dan werkt mijn PC op 12 Mhz!Alleen wel een aanrader: Niet op een te trage PC, dan is het echt zwaar irritant en onwerkbaar..
Ik bedenk me net dat het best wel een uitdaging is om het op een EPSON PX8 binnn twee uur voor elkaar te krijgen. Moet ik wel de input.txt op een aantal(!) 2" flopjes een microcassette zien te krijgen

spot de (lompe) fout, en kleur de plaatjes

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| | | #5 Lines: 134 | | #4 Lines: 471 | | #3 Lines: 1738 | | #2 Lines: 5890 | | #1 Lines: 13783 |[] | Blocks : 100000 |[] | Lines : 33331 |[][] | Discards: 5 |[][] [] [] | Points : 3432050 |[][] [] [] | Bl/s : 0.00 |[][][] [][] [] [] [] []| Avg Bl/s: 6.80 |[][][][][][][][][][] [][][][]| Tot.time: 14722.9 +------------------------------+ 7 2 2 1 1 0 4 2 5 1 2 4 2 1 1 |
Nou nog aan die tijd werken aangezien we maar 7200 seconde hebben
[ Voor 37% gewijzigd door .oisyn op 19-11-2006 12:58 ]
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.
set 2 neem ik aan he? anders kun je geen 5 liners maken...oisyn schreef op zondag 19 november 2006 @ 12:58:
Oh yeah, who da man!
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | | #5 Lines: 134 | | #4 Lines: 471 | | #3 Lines: 1738 | | #2 Lines: 5890 | | #1 Lines: 13783 |[] | Blocks : 100000 |[] | Lines : 33331 |[][] | Discards: 5 |[][] [] [] | Points : 3432050 |[][] [] [] | Bl/s : 0.00 |[][][] [][] [] [] [] []| Avg Bl/s: 6.80 |[][][][][][][][][][] [][][][]| Tot.time: 14722.9 +------------------------------+ 7 2 2 1 1 0 4 2 5 1 2 4 2 1 1
Nou nog aan die tijd werken aangezien we maar 7200 seconde hebben.
maarruh, quite impressive! hulde!
Ik heb het nog niet eens voor elkaar om automagisch een mooie plaats te vinden voor mijn blokjes, maar dat komt nog wel
Hulde aan het mod-team die dit hebben georganiseerd!
Memories of yesterday, will grow, but never die
Het aantal bytes dat de source is.TheGambler schreef op zaterdag 18 november 2006 @ 22:21:
kortste code, wordt er dan gekeken naar het aantal instructies, het aantal regels of het aantal bytes dat de code lang (kort) is?
Outerspace schreef op zondag 19 november 2006 @ 02:22:
Mag ik mijn comment hier ook plaatsen als non-coder/programmer en alsin nonDevschuur iemand?
* Outerspace vind dit een leuk staaltje werk van degene die dit heeft opgestart. Ben nu al een paar dagen dit aan het volgen en ik merk dat het een leuke contest is. Mensen helpen elkaar, maar het lijkt ook wel alsof er bepaalde mensen moeten winnen
Al met al een pluimpje
Thanks (namens alle mods uiteraard)Bint schreef op zondag 19 november 2006 @ 13:11:
[...]
Hulde aan het mod-team die dit hebben georganiseerd!
De sfeer is goed, iedereen heeft er zin in, en er is nog tijd zat om wat leuks te maken en in te leveren. Dus wat dat betreft ook alvast hulde aan iedereen die hier in het topic mee doet (en hopelijk ook een entry inleveren
[ Voor 62% gewijzigd door Creepy op 19-11-2006 13:34 ]
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
Je hebt 16 kolommen ipv 15?TheGambler schreef op zondag 19 november 2006 @ 12:55:
toen ik gisteravond vannacht om 4 uur de interface aan het maken was, had ik volgens mij een vlaag van verstandsverbijstering
spot de (lompe) fout, en kleur de plaatjes
[afbeelding]
Kun je tellen?
Ik ga vanmiddag ook maar weer eens verder devven... Eerst maar eens proberen om blokjes uit de 100KB-file in te gaan lezen en te droppen.
[ Voor 6% gewijzigd door CodeCaster op 19-11-2006 13:58 ]
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
Move up/down? Iets anders fouts zie ik niet echt... Ja je tekent nullen in je veld waar het blokje komt, maar ik heb geen idee of dat intentional isTheGambler schreef op zondag 19 november 2006 @ 12:55:
spot de (lompe) fout, en kleur de plaatjes
[afbeelding]
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 draaiknoppen, en een move up?TheGambler schreef op zondag 19 november 2006 @ 12:55:
toen ik gisteravond vannacht om 4 uur de interface aan het maken was, had ik volgens mij een vlaag van verstandsverbijstering
spot de (lompe) fout, en kleur de plaatjes
[afbeelding]
Memories of yesterday, will grow, but never die
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
helaas, u gaat niet door voor de koelkast
we have a winner.oisyn schreef op zondag 19 november 2006 @ 14:18:
[...]
Move up/down? Iets anders fouts zie ik niet echt... Ja je tekent nullen in je veld waar het blokje komt, maar ik heb geen idee of dat intentional is
move up is niet echt nodig bij tetris
waarom reageerd iedereen terwijl ik aan het typen ben
[quote]CodeCaster schreef op zondag 19 november 2006 @ 14:29:
Denk trouwens dat de fout z'n oriëntatie-array is, die base 1 is, terwijl z'n block-array base 0 is.
[/quote]
nee, dat heb ik expres gedaan, die block array is de index meteen de bestandsnaam (+txt)
en richting vond ik makkelijker zo
[quote]Bint schreef op zondag 19 november 2006 @ 14:28:
[...]
geen draaiknoppen, en een move up?
[/quote]
draaiknop is overbodig door de meerdere tekstvakken naast elkaar (dat zijn de orientatie dingen)
en inderdaad, move up
dit is trouwens v2 alweer, bij v1 was ik voor elk vakje een picturebox aant laden,
maar dat ging niet echt snel in vb (bij een stuk of 600/700 moest ik aan een nieuwe array beginnen,
en het duurde 29 seconden om ze allemaal te laden
[ Voor 36% gewijzigd door learn_more op 19-11-2006 14:38 ]
Iets zegt me dat de winnaar bij een dergelijke contest al lang voor de eindstreep bekent gaat zijn
oprecht vertrouwen wordt nooit geschaad
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
Zo geheim is die niet; kratjes bier, flessen whiskey en complete kerstpakketten beginnen al aardig binnen te stromenCreepy schreef op zondag 19 november 2006 @ 16:42:
De winnaar van de meeste punten misschien. De kleinste code is nog ff afwachten denk ik en dan is er uiteraard nog een geheime categorie
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 raar, de ontvangstbevestiging is hier wel al binnen?RobIII schreef op zondag 19 november 2006 @ 17:12:
[...]dan kunnen de bribes nog mooi oplopen tot we er een leuke Ferrari ofzo aan over houden
486DX2-50 16MB ECC RAM 4x 500MB Drive array 1.44MB FDD MS-Dos 6.22
RobIII heeft de kratjes bier, flessen whiskey en complete kerstpakketten. De ferrari heeft Rob niet gezienPiepPiep schreef op zondag 19 november 2006 @ 19:13:
[...]
Wat raar, de ontvangstbevestiging is hier wel al binnen?

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
Had je mond gehouden, ik had m'n code al klaar:Confusion schreef op zaterdag 18 november 2006 @ 19:26:
Ik heb de thread zo goed mogelijk gescand (en de startpost nog een keer grondig gelezen), dus mea culpa als het antwoord al gegeven is, maar ik vraag me af wat de criteria voor de tweede prijzencategorie zijn. De kortste code is de code die pakweg een "NEW BLOCK\r\nDROP\r\n" output en het verder voor gezien houdt en dat lijkt me toch niet helemaal de bedoeling. Misschien als extra eis stellen dat de code minimaal alle blokken moet kunnen verwerken?
(batch bestand:)
:l
echo NEW BLOCK>>output.txt
echo DROP>>output.txt
goto l
Aangezien de source code 61 bytes is won ik dat met gemak.
Een einde hoeft niet, want na 2 uur zouden ze output.txt gebruiken.
Noobs don't use "F1", Pro's do, but they can't find the information they needed
Alleen ben je na een aantal zetten al Game Over en verlies je alsnog.h.edink schreef op zondag 19 november 2006 @ 19:28:
Aangezien de source code 61 bytes is won ik dat met gemak.
Een einde hoeft niet, want na 2 uur zouden ze output.txt gebruiken.
"Some girl on the street outside the bar just asked me if I was saved yet." "Yeah? What did you say?" "I told her 'I saved at the checkpoint a couple of minutes back and I can reload from there if I die.'
het ging om de kleinste source code, toch?MetroidPrime schreef op zondag 19 november 2006 @ 19:39:
[...]
Alleen ben je na een aantal zetten al Game Over en verlies je alsnog.
Memories of yesterday, will grow, but never die
"Die alle blokken kan verwerken" heb ik begrepen.Bint schreef op zondag 19 november 2006 @ 20:09:
het ging om de kleinste source code, toch?
- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!
Nu dan in de Tetris stijl: w00t.
Net wat geprobeerd in elkaar te zetten, en het valt niet echt mee moet ik zeggen. Ben niet echt een held in 'echt' programmeren: ik kan wel een complete website in elkaar zetten met alles erop en eraan, maar hardcore logica of AI zoals hier... I don't know. Ik heb dan ook totaal geen programmeer achtergrond, ondanks dat ik wel wat beta's studeer.
Voorzover kan ik in ieder geval alle blocks inlezen en ze simpel (maar dan ook echt simpel, ik heb alleen bounding boxes gebruikt tot nu toe) op elkaar stapelen:

Volgende stap is om ze echt op elkaar te stapelen, dan op naar het roteren (wat mij niet echt zo'n probleem lijkt, en heb dan met een glimlach de discussies in het begin gevolgd: zeer interessant, maar het roteren van een 5x5 matrix, met of zonder een pivot point lijkt me nou niet echt rocket science en al helemaal niet het zwaartepunt van deze exercitie).
Allemaal in PHP tot nu toe, en als het allemaal werkt zal ik eens kijken of ik het om ga zetten naar C++ voor een 'kleine' performance boost. Maar op dit moment ben ik binnen 19 zetten game-over... \o/
To be continued.
the-blueprints.com - The largest free blueprint collection on the internet: 50000+ drawings.
Moet nog even zien of ik meedoe. Ik heb eerst nog wat anders af te maken. Het zou een uitstekende oefening voor mij om een nieuwe taal te leren.
Gerco schreef op zondag 19 november 2006 @ 20:15:
[...]
"Die alle blokken kan verwerken" heb ik begrepen.
Nu is de meest geschikte plaats natuurlijk een punt van discussie maar "NEW BLOCK" -> "DROP" -> "NEW BLOCK" -> "DROP" levert gegarandeerd niet de meeste geschikte plaats op en van AI is al helemaal geen sprake. Niet aan de opdracht voldaan -> disqualificatie. Zelfs voor de categorie "kleinste code"Het is de bedoeling dat jullie een soort van Tetris-AI gaan maken. Eén voor één komen er blokjes voorbij, en het is de bedoeling dat jouw programma die op de meest geschikte plaats neerzet.
De derde categorie is niet "meest originele valsspeler", dus ook die win je er niet mee
[ Voor 16% gewijzigd door Creepy op 19-11-2006 23:06 ]
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
Mijn validator is klaar
Leek me wel handig om mee te beginnen, aangezien ik er toch een wil hebben en ik dan C# een klein beetje kan leren kennen. Hij leek me aardig te werken, score toegevoegd (en een timer), en de eerste keer dat ik hem zonder tussentijdse output liet lopen met de 100.000 blocks cleared output van .oisyn:
1
2
3
4
5
6
7
8
| 0 rows cleared: 77211 1 rows cleared: 21508 2 rows cleared: 1228 3 rows cleared: 53 4 rows cleared: 0 5 rows cleared: 0 Score: 2275500 Parsetime: 296.875 msec |
Niet alleen right on the spot, maar nog lekker vlot ook.
En dat met - een beetje tegen beter weten in - een dropmechanisme op bit-niveau (ik kijk dus middels AND's hoe ver een blok kan vallen; dat zou langzamer zijn dat berekenen hoe diep ie kan. Er zit nog geen optimalisatie in om hem niet altijd van bovenaan te droppen.
edit:
En die optimalisatie levert een klein beetje winst op: 265.625 msec.
Toch 10%
[ Voor 5% gewijzigd door Dido op 19-11-2006 23:43 ]
1
2
3
4
5
6
7
8
9
10
11
12
| NEW BLOCK DISCARD NEW BLOCK DISCARD NEW BLOCK DISCARD NEW BLOCK DISCARD NEW BLOCK DISCARD NEW BLOCK DISCARD |
Als het goed is ben ik dan game-over ivm het gebruik van een niet beschikbare DISCARD. (hoop dat de validators daar rekening mee houden)
[ Voor 8% gewijzigd door EdwinG op 19-11-2006 23:36 ]
Bezoek eens een willekeurige pagina
http://www.youtube.com/wa...H-4M&mode=related&search=
Alleen is deze niet snel genoeg om 100.000 blokjes in 2 uur te doen
486DX2-50 16MB ECC RAM 4x 500MB Drive array 1.44MB FDD MS-Dos 6.22
Veel doet het nog niet, gezien de code van de Player class:
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
| public Move getMove(Block block, GameState gamestate) { switch(block.number) { case 0: case 1: return new Move(6, 0); case 2: case 3: return new Move(7, 1); case 4: case 5: return new Move(8, 2); case 6: case 7: return new Move(9, 3); case 8: case 9: return new Move(10, 2); } return new Move(8, 0); } |
Hij speelt al wel 27 moves van set "tetris", het is een begin
* Artificial Stupidity.
[ Voor 5% gewijzigd door Gerco op 20-11-2006 10:16 ]
- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!
Verwijderd
Wel zo leuk natuurlijk, alleen worden dan ook mijn kansen kleiner
De vraag blijft natuurlijk: Kan er iemand een betere AI schrijven als .oisyn die tot dusver heel erg mooie resultaten lijkt te boeken.
Gelukkig is er nog tijd genoeg
Ik zal morgen wel eens een screenshotje sturen van waar ik mee bezig ben.
Overigens heb ik nog steeds geen antwoord gezien op de vraag of de testmachine dual CPU of dual core zal zijn. Gezien er gepraat wordt over een bovengemiddelde PC dan lijkt me dual core toch wel redelijk logisch.
Aparte categorieen voor single thread en multi-thread zou ik wel leuk vinden, maar het geeft ook weer extra werk voor de organisatoren dus het is niet heel nodig.
[ Voor 33% gewijzigd door Verwijderd op 20-11-2006 02:12 ]
Ik zie totaal niet in waarom die specs zo belangrijk zouden zijn. Detecteer desnoods gewoon in je code hoeveel cores je tot je beschikking hebt en laat aan de hand daarvan besluiten of je strategie A of B gebruikt. We gaan geen exacte specs vrijgeven (los van het feit dat we nog niet eens besloten hebben welke PC er uberhaupt gebruikt gaat worden) en ik zie ook niet in waarom dat nodig zou zijn.Verwijderd schreef op maandag 20 november 2006 @ 02:07:
Overigens heb ik nog steeds geen antwoord gezien op de vraag of de testmachine dual CPU of dual core zal zijn. Gezien er gepraat wordt over een bovengemiddelde PC dan lijkt me dual core toch wel redelijk logisch.
Als je Word (bij wijze van spreken) opstart vraagt 'ie toch ook niet of je de 1 of 2 of 4 core-versie wil starten? Een beetje programmeur houdt daar gewoon rekening mee. En datzelfde geldt voor het beschikbare geheugen en dat soort dingen (om nog maar te zwijgen over cache-groottes etc).
[ Voor 9% gewijzigd door RobIII op 20-11-2006 02:30 ]
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
Word is een slecht voorbeeld aangezien dat AFAIK altijd slechts één core gebruikt.RobIII schreef op maandag 20 november 2006 @ 02:28:
Als je Word (bij wijze van spreken) opstart vraagt 'ie toch ook niet of je de 1 of 2 of 4 core-versie wil starten? Een beetje programmeur houdt daar gewoon rekening mee. En datzelfde geldt voor het beschikbare geheugen en dat soort dingen (om nog maar te zwijgen over cache-groottes etc).
Maar goed, ik ben het eens met Rob; de precieze specs van de pc waarop het gaat draaien zijn onbelangrijk, die weet je immers ook niet als je een programma gaat ontwikkelen voor de consumentenmarkt. Het moet gewoon draaien op een hedendaagse pc, en that's it. Het feit dat je weet dat de pc in kwestie al bovengemiddeld zal zijn helpt je al genoeg op weg denk ik.
'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.
Ik nam Word omdat dat zo'n typisch programma is dat "iedereen" heeft en op ("zowat") iedere bak draait; ongeacht de specs-NMe- schreef op maandag 20 november 2006 @ 02:46:
Word is een slecht voorbeeld aangezien dat AFAIK altijd slechts één core gebruikt.
[ Voor 4% gewijzigd door RobIII op 20-11-2006 02:53 ]
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
Ik moet zeggen dat de contest goed is doordacht, ik denk niet dat er een programma kan worden gemaakt die het ultieme oplossing kan bepalen. Maar de opdracht is wel zo dat iedereen (met een beetje programmeer ervaring) mee kan doen.
The one who says it cannot be done, should never interrupt the one who is doing it.
Ik ben dit weekend begonnen aan een validator in linux. Ver ben ik nog niet geraakt, maar ik laat wel iets weten als ik al iets werkends hebGerco schreef op maandag 20 november 2006 @ 01:43:
Heeft er iemand al een validator geschreven die op Linux draait? Ik heb (in tegenstelling tot de meesten hier, geloof ik) eerst een tetris as* geschreven en nog geen validator. Nu wil ik natuurlijk wel mijn output valideren.
Was eerst niet van plan om mee te doen aan de contest, maar hoe langer hoe meer zin ik kreeg om toch maar eens te proberen. Alleen jammer dat ik nooit iets ivm AI heb gezien tijdens mijn studies.
Het blijkt dat die validator ongeveer een half uurtje werk is als je al ver genoeg bent om uberhaupt aan een speler te beginnenyiko schreef op maandag 20 november 2006 @ 10:51:
Ik ben dit weekend begonnen aan een validator in linux. Ver ben ik nog niet geraakt, maar ik laat wel iets weten als ik al iets werkends heb
Toch is het goed om je output door zoveel mogelijk verschillende validators te halen, om er zeker van te zijn dat hij correct is. Ik post wel een .jar als de mijne klaar is, dan kan iedereen hem proberen.
- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!
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.
Verwijderd
Ik ontwikkel in Java en ik zag dat korste code wordt gemeten aan het aantal bytes van de code.
Worden bytes van een batch script om het programma te starten ook meegetelt ?
Ik neem aan dat 3rd-party code ook wordt meegeteld maar dat incluments van de standaard-libs weer zijn uitgesloten ?
Zijn er nog andere eisen aan de code, b.v. is het vereisd om filestreams te sluiten (is niet noodzakelijk om het programma te draaien...) ?
In Java? Ga je ook voor de titel "grootste masochist?Verwijderd schreef op maandag 20 november 2006 @ 11:25:
Vandaag ben ik ook begonnen, gezien het talent in AI ga ik maar voor de korste code
Java is nu niet bepaald bekend voor zijn korte code. Ik denk dat je in perl meer kans hebt om die prijs te halen, al zal je met een one-liner niet wegkomen voor deze compo.
- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!
Ik ontwikkel zelf ook op Linux maar ik heb nog geen Validator gemaakt. Lijkt me ook wat overbodig aangezien Janoz een validator in Java geschreven heeft waarvan ik verwacht dat ie ook op Linux draait.Gerco schreef op maandag 20 november 2006 @ 01:43:
Heeft er iemand al een validator geschreven die op Linux draait? Ik heb (in tegenstelling tot de meesten hier, geloof ik) eerst een tetris as* geschreven en nog geen validator. Nu wil ik natuurlijk wel mijn output valideren.
Maar a.t.m. is er nog geen validator beschikbaar op Linux. Ik ben aan het kijken of ik een webservice kan opzetten zodat er online gevalideerd kan worden. Maar gezien m'n vrije tijd kan dat nog wel even op zich laten wachten.
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
We zullen in die categorie zonder meer de taal an sich in ogenschouw nemen. Natuurlijk is de code in de ene taal standaard langer dan in de andere bij verder dezelfde oplossing, algoritmisch gezien. Dat Java en .NET beiden langere code opleveren is dus geen reden om die talen links te laten liggen, wat mij betreft.Gerco schreef op maandag 20 november 2006 @ 11:47:
[...]
In Java? Ga je ook voor de titel "grootste masochist?
Java is nu niet bepaald bekend voor zijn korte code. Ik denk dat je in perl meer kans hebt om die prijs te halen, al zal je met een one-liner niet wegkomen voor deze compo.
'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.
Rainmaker1987 gaat na kort beraad toch maar nog een dagje verder aanklooiien om te kijken waar het verschil in zit.
Hoewel overigens de code voor het roteren bij beide exact hetzelfde is.
[ Voor 87% gewijzigd door Rainmaker1987 op 20-11-2006 12:44 ]
Nu geld ook voor dit soort zaken in topics als deze: wat heb je zelf al geprobreerd om je probleem op te lossen en wat lukte er niet mee? We zijn hier niet om jouw code te debuggen, dat mag je in eerste instantie zelf doen./Rainmaker1987 schreef op maandag 20 november 2006 @ 12:31:
Onder de spoiler staat een stuk code wat ik gebruik om mijn blokjes te roteren. Op: http://contest.jeugdschaken.nl/v2.php werkt dit heel erg netjes. Alleen wanneer ik het in CLI laat uitvoeren kom ik tegen vreemde problemen aan:
Online komen er geen gaten, maar in de CLI wel. Is er een speciaal iets waar ik hiervoor moet opletten? Bij de CLI versie laat ik overigens array waarden "" bij het echo'en omzetten naar een 0
Ps. Mij leek het handiger hier even een stukje te plaatsen dan een heel nieuw topic te openen.
In principe is dit een contest waarbij er dus van je verwacht wordt dat je zelf alle problemen die je tegenkomt kan oplossen. Zeker bij een vraag als deze ga ik er dan ook vanuit dat je zelf al bezig bent geweest met het zoeken van een oplossing en dat je ook al verschillende zaken hebt geprobeerd. Als je code verschillend is (en dat is het gezien het omzetten van "" naar 0 en het afdrukken dat niet in HTML gebeurt) zal de fout zich zeer waarschijnlijk ook ergens in die code bevinden.
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
Mijn validator draait wel onder Linux en die wil ik in principe wel delen, als er geen moderators op tegen zijn? (In het begin deed RobIII er een beetje moeilijk over, en ik wil de contest niet verpesten natuurlijk.)Gerco schreef op maandag 20 november 2006 @ 01:43:
Heeft er iemand al een validator geschreven die op Linux draait? Ik heb (in tegenstelling tot de meesten hier, geloof ik) eerst een tetris as* geschreven en nog geen validator. Nu wil ik natuurlijk wel mijn output valideren.
Dus gewoon doenRob drie heeft er o.a. het volgende over gezegd:
Gelieve hier niet over door te "zeuren" (wat een rotwoord, maar ik weet niet hoe het anders te zeggen). Met de set van .oisyn en de gegeven output moet je je eigen validator ook kunnen schrijven. Als we al besluiten er 1 vrij te geven dan doen we (crew dus) dat zelf.
Je bent natuurlijk wel vrij om je (deelnemers dus) eigen validator online te gooien voor mede-deelnemers
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
Verwijderd
Het kost namelijk wel redelijk wat extra werk om het geheel multi-threaded te maken (rekening houdend met de alternatieve strategie die er gebruikt moet worden om het multi-threaden nuttig te maken).
Wanneer het toch op een single core systeem gebruikt gaat worden dan hoeft ook niemand die moeite te nemen om het mutli-threaded te gaan maken aangezien daar toch geen winst mee te behalen valt (misschien zelfs een verlies).
Maar goed het is jullie eigen keuze, als achteraf blijkt dat het werk voor niets was dan is dat jammer.
Natuurlijk gaat Word niet vragen hoeveel cores je hebt, een programma specifiek geschreven voor multi-threading doet het ook gewoon goed op een single core alleen is er dan dus geen winst tov een single threaded versie.

[ Voor 17% gewijzigd door Verwijderd op 20-11-2006 18:03 ]
Om iets heel simpels te noemen, in het begin was er een discussie over het roteren van je blokje, echter is het draaipunt totaal niet belangrijk, alleen voor de weergave van de stap/moves. In je "veld" je draaipunt onthouden, wat in eerste instantie wel gedaan werd, is niet nodig. Is het de bedoeling hier (en dan niet zo triviaal als in mijn voorbeeld van draaipunt) over te discussiëren, of moeten we dat voor onszelf houden?
[ Voor 3% gewijzigd door Norjee op 20-11-2006 18:04 ]
maar de game.txt bestanden die in de topicstart staan, voldoen niet aan de specs van het project...
er staan namelijk geen \10\13 chars in, terwijl dit wel in de specs staat
Naast de 10 blokjes krijg je nog een ander tekstbestand van ons aangeleverd met de naam game.txt. In dit bestand staan in een willekeurige - maar door ons bepaalde - volgorde de nummers van de blokjes die een voor een voorbij komen. Deze getallen zijn verder nergens door gescheiden; aangezien er maar 10 blokjes zijn betekent één getal gewoon één blokje
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.
Bij deze, executables voor 32-bit Linux (dynamisch gelinkt; vereisen libX11 en de nieuwste libc):
• checker
• manual
Met de tweede executable kun je zelf met de hand spelen. Databestanden worden gelezen uit de huidige directory, of een andere directory gegeven op de command line. De invoer (de uitvoer van je speler dus
Als je echt snel wil checken is het beter om de grafische weergave helemaal uit te zetten, door de DISPLAY variabele op iets ongeldigs te zetten. Als je dus een 'output.txt' hebt die je wil checken tegen de speldata in directory 'set1', dan kun je bijvoorbeeld zoiets doen:
DISPLAY=none ./checker set1 < output.txt
Als je het echt niet kunt laten en je denkt dat het relevant is voor dit topic: ga je gang. Maar bedenk wel dat andere mensen jouw oplossing kunnen gaan gebruiken voor hun eigen entry! Dit is en blijft natuurlijk een contest waar je het tegen de entries van andere mensen moet gaan opnemen. Dus als je denkt dat het verstandig is om je tegenstanders te gaan helpen....Norjee schreef op maandag 20 november 2006 @ 18:03:
In hoeverre is het de bedoeling om hier je "oplossing" neer te zetten, openbaar te maken?En dan met oplossing vooral interpretatie van het probleem.
Om iets heel simpels te noemen, in het begin was er een discussie over het roteren van je blokje, echter is het draaipunt totaal niet belangrijk, alleen voor de weergave van de stap/moves. In je "veld" je draaipunt onthouden, wat in eerste instantie wel gedaan werd, is niet nodig. Is het de bedoeling hier (en dan niet zo triviaal als in mijn voorbeeld van draaipunt) over te discussiëren, of moeten we dat voor onszelf houden?
@Soultaker: ik neem aan dat je dezelfde resultaten hebt met je checker als de checker van RobIII en Janoz? Zo ja, bezwaar als ik er een simpel webappje omheen bak zodat "iedereen" via het web de boel kan validaten?
[ Voor 18% gewijzigd door Creepy op 20-11-2006 19:48 ]
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
hmm, inderdaad.oisyn schreef op maandag 20 november 2006 @ 18:40:
In de specs staat juist dat ze niet afgescheiden zijn:
[...]
is dit aangepast?
eerst stond het er anders dacht ik
Ik kan het alleen vergelijken met die twee datasets die .oisyn postte (met scores van 17480 en 2277500 op set 1), maar op basis daarvan denk ik van wel.Creepy schreef op maandag 20 november 2006 @ 19:44:
@Soultaker: ik neem aan dat je dezelfde resultaten hebt met je checker als de checker van RobIII en Janoz?
Ga je gang.Zo ja, bezwaar als ik er een simpel webappje omheen bak zodat "iedereen" via het web de boel kan validaten?
edit:
Bij deze: checker-no-x.
[ Voor 8% gewijzigd door Soultaker op 20-11-2006 21:47 ]
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
Inderdaad, ik heb alleen al door de gif van Soultaker in "Programming Contest Nieuwe Stijl: Contes..." weer een aantal nieuwe tactieken in de pen die de AI kan gebruiken. En hoewel de gif nog geen super AI kunsten laat zien (@.oisyn: NOFI) (en ik de komende weken toch nog aan het brainstormen ben over de AI, ben ik hiermee toch al geholpen.Creepy schreef op maandag 20 november 2006 @ 19:44:
[...]Als je het echt niet kunt laten en je denkt dat het relevant is voor dit topic: ga je gang. Maar bedenk wel dat andere mensen jouw oplossing kunnen gaan gebruiken voor hun eigen entry! Dit is en blijft natuurlijk een contest waar je het tegen de entries van andere mensen moet gaan opnemen. Dus als je denkt dat het verstandig is om je tegenstanders te gaan helpen....
Ik verwacht dus ook niet teveel strategische vragen, mij zal je hier in ieder geval zeer weinig zien posten.
500 "The server made a boo boo"

Naar output.txt wordt ondertussen de juiste informatie weggeschreven. Dit zijn echter wel de enige 2 blokjes die op de juiste manier geplaatst worden
Als ik de afbeeldingen + info uitzet, kom ik tot iets van 100~150 zetten per seconde.
Bezoek eens een willekeurige pagina

De geoefende blik ziet hier de eerste blokken van testset één gedeponeerd worden met willekeurige oriëntatie, tegen de linkerzijwand aangekwakt. Zometeen maar eens verder devven...
[ Voor 43% gewijzigd door CodeCaster op 20-11-2006 23:48 ]
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
None taken, de AI waarvan Soultaker de output heeft gemaakt was toen nogal preliminary en er zaten nog bugs in (zoals je kunt zien plaatst ie af en toe een blokje met een gapend gat aan de linkerkant). Maar voorlopig ben ik nog de enige met een implementatie die set2 uit kan spelenVaan Banaan schreef op maandag 20 november 2006 @ 22:42:
En hoewel de gif nog geen super AI kunsten laat zien (@.oisyn: NOFI)
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.
Hardlopers zijn doodlopers.oisyn schreef op maandag 20 november 2006 @ 23:49:
None taken, de AI waarvan Soultaker de output heeft gemaakt was toen nogal preliminary en er zaten nog bugs in (zoals je kunt zien plaatst ie af en toe een blokje met een gapend gat aan de linkerkant). Maar voorlopig ben ik nog de enige met een implementatie die set2 uit kan spelen
Ik ben gewend per uur betaald te worden
De grootste tetris game ooit, op de TU delft:


Memories of yesterday, will grow, but never die
Verwijderd
Correctie: De enige die set2 claimt uit te spelen in dit topic..oisyn schreef op maandag 20 november 2006 @ 23:49:
[...]
None taken, de AI waarvan Soultaker de output heeft gemaakt was toen nogal preliminary en er zaten nog bugs in (zoals je kunt zien plaatst ie af en toe een blokje met een gapend gat aan de linkerkant). Maar voorlopig ben ik nog de enige met een implementatie die set2 uit kan spelen
Er kunnen best nog meer zijn die het al kunnen maar dit stiekum voor zich houden zodat ze straks als een duvel uit een doos kunnen komen. (Maar eigenlijk denk ik ook dat je de enige bent).
Oja, kan me nog wel herinneren.. toen keek ik alleen nog jeugdjournaal, geloof ik.Bint schreef op maandag 20 november 2006 @ 23:57:
het heeft misschien niet helemaal met de contest te maken, maar dit wilde ik jullie niet onthouden:
De grootste tetris game ooit, op de TU delft:
[afbeelding]
[afbeelding]
30Drie Web Design & IT Consultancy | Raven Consultancy Services
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
Nu maar weer verder testen met Game 2...
hoe lang doet ie erover met die lookahead van 5?Marcj schreef op dinsdag 21 november 2006 @ 10:14:
Ik heb mijn functie om een waarde aan elke optie te geven geoptimaliseerd. Hij speelt nu Game 1 uit zonder look-ahead! Daar doet hij dan ongeveer 5,7 seconden over, Zonder look-ahead haalt hij nu een score van 2.263.800, maar met een look-ahead van 5 haal hij al bijna 2,8M.
Nu maar weer verder testen met Game 2...
Memories of yesterday, will grow, but never die
Bint schreef op dinsdag 21 november 2006 @ 13:17:
[...]
hoe lang doet ie erover met die lookahead van 5?
1
2
3
4
5
6
7
8
| 918.707 seconds 100000 blocks 2708850 score | #### | |##### | |###### # | |############ #| ----------------- |
Ik ga even kijken of ik functies kan gaan genereren
edit: Met look-ahead van 6: 2,9M!
1
2
3
4
5
6
7
8
| 3020.924 seconds 100000 blocks 2908750 score | #| | #######| | ## #######| | ############| ----------------- |
[ Voor 14% gewijzigd door Marcj op 21-11-2006 16:04 ]
Maar de blokken worden nu tenminste niet meer 3d gestapeld (over elkaar heengeschoven dus). Ik haal 120 blokken in de eerste testset, in ongeveer 0,35 seconde.
Nou moet ik nog wat controles per blok toevoegen om een betere plaatsing te krijgen, en de code om een lijn te verwijderen. Maar ook met php is de beschikbare tijd dus ruim voldoende om aan 'look ahead' te kunnen gaan denken.
Bezoek eens een willekeurige pagina
Verwijderd
De meeste mensen hier halen ergens tussen de 1 en 2 miljoen blokken per sec (exclusief AI), dat zal in PHP nog een flinke uitdaging zijn om te behalen.
Maar het is natuurlijk wel een uitdaging, en PHP is lekker makkelijk om even alles te leren kennen zodat je het in 1x een stuk beter kunt krijgen als je overstapt op een andere taal.
Aangezien de blokken-lus nu maar 120x wordt uitgevoerd, zal er relatief veel tijd in het opstarten zitten.
Bezoek eens een willekeurige pagina
Kap je dan tussendoor af, of doorzoek je echt de hele boom? Naar mijn idee komt het regelmatig voor dat je een reeks blokken hebt die allemaal op ~50 manieren geplaatst kunnen worden, en dan is 504 eigenlijk al veel te veel.Marcj schreef op dinsdag 21 november 2006 @ 15:13:
Goed te doen dus. Een look-ahead van 6 zou denk ik ook nog wel binnen 2 uur lukken.
Memories of yesterday, will grow, but never die
Verwijderd
Heb je dat gedaan door bepaalde grenzen te stellen, bijvoorbeeld als de 2 blokken 8 regels toevoegen dan is het geen goede optie, dan lijkt me dat je in de problemen kan komen bij de 'random' blokkenset die uiteindelijk aan je programma gegeven gaat worden.
Erg goed bezig.. ik moet nog gaan beginnen.. maar waarschijnlijk ga ik de tijd niet vinden voor deze contestMarcj schreef op dinsdag 21 november 2006 @ 15:13:
[...]
code:
1 2 3 4 5 6 7 8 918.707 seconds 100000 blocks 2708850 score | #### | |##### | |###### # | |############ #| -----------------
Goed te doen dus. Een look-ahead van 6 zou denk ik ook nog wel binnen 2 uur lukken. Het probleem is alleen dat de functie die ik nu heb heel goed werkt voor Game 1, maar voor Game 2 waardeloos is.
Ik ga even kijken of ik functies kan gaan genereren
edit: Met look-ahead van 6: 2,9M!
code:
1 2 3 4 5 6 7 8 3020.924 seconds 100000 blocks 2908750 score | #| | #######| | ## #######| | ############| -----------------
nee, niet zoVerwijderd schreef op dinsdag 21 november 2006 @ 22:31:
Ik vraag me dan toch af hoe je dat bepaalt?
Heb je dat gedaan door bepaalde grenzen te stellen, bijvoorbeeld als de 2 blokken 8 regels toevoegen dan is het geen goede optie, dan lijkt me dat je in de problemen kan komen bij de 'random' blokkenset die uiteindelijk aan je programma gegeven gaat worden.
ik moet btw wel zeggen dat ik het nog niet heb geimplementeerd, maar er zijn ideeen genoeg atm.. het 2 dagen laten liggen was nog niet eens een zo slecht idee!
ik weet dus nog niet 100% zeker of mijn algoritme gaat werken, maar ik heb er wel een goed gevoel bij.. weet alleen ook nog niet hoe snel het is.. maar dat interesseert me nog niet zoveel.
[ Voor 13% gewijzigd door Bint op 21-11-2006 23:47 ]
Memories of yesterday, will grow, but never die
Ik denk dat ik mijn project ook even een paar dagen laat liggen, want ik heb op het moment helemaal geen inspiraties meer voor een verbeterde functie voor Game 2. Ik zou daar toch echt met iets anders moeten komen, want op dit moment kom ik niet veel verder dan 2 á 3.000 blokken.Bint schreef op dinsdag 21 november 2006 @ 23:44:
[...]
nee, niet zomaar je komt wel in de buurt..
ik moet btw wel zeggen dat ik het nog niet heb geimplementeerd, maar er zijn ideeen genoeg atm.. het 2 dagen laten liggen was nog niet eens een zo slecht idee!
ik weet dus nog niet 100% zeker of mijn algoritme gaat werken, maar ik heb er wel een goed gevoel bij.. weet alleen ook nog niet hoe snel het is.. maar dat interesseert me nog niet zoveel.
Ja dat klopt, ik heb een manier om het aantal enigsinds te beperken. Uiteraard is dit top secretSoultaker schreef op dinsdag 21 november 2006 @ 20:09:
[...]
Kap je dan tussendoor af, of doorzoek je echt de hele boom? Naar mijn idee komt het regelmatig voor dat je een reeks blokken hebt die allemaal op ~50 manieren geplaatst kunnen worden, en dan is 504 eigenlijk al veel te veel.
Dat lijkt me een beetje de essentie van de hele contestVerwijderd schreef op dinsdag 21 november 2006 @ 22:31:
Ik vraag me dan toch af hoe je dat bepaalt?
Overigens kan je in mijn ogen pas van een AI spreken als deze zelf de gewichten van de diverse criteria bepaalt of zelfs nieuwe heuristieken kan bepalen. Een programma dat de boom afzoekt en takken afkapt op basis van vastgestelde criteria doet niets dat 'artificial' intelligent is
Wie trösten wir uns, die Mörder aller Mörder?
Het bepalen van die criteria zal wel moeten afhangen van een aantal dingen (o.a. de mogelijke blokken), maar dit is direct het moeilijke van een goede AI schrijven. Ik ben nu aan het proberen dat het programma zelf de criteria kan aanpassen wanneer hij te vroeg game-over gaat. Hiermee heb ik echter nog niet zoveel succesConfusion schreef op woensdag 22 november 2006 @ 08:15:
[...]
Dat lijkt me een beetje de essentie van de hele contest. Sowieso zal je criteria moeten vinden om te beoordelen welke plaatsing voordeliger is dan een andere; de criteria die bepalen welk deel van de boom je af kan kappen zijn soortgelijk.
Overigens kan je in mijn ogen pas van een AI spreken als deze zelf de gewichten van de diverse criteria bepaalt of zelfs nieuwe heuristieken kan bepalen. Een programma dat de boom afzoekt en takken afkapt op basis van vastgestelde criteria doet niets dat 'artificial' intelligent is.
Ik gebruik TRRoads' validator als controle van mijn eigen validator:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| Score: 2265650 Drop count: 100000 Instruction count: 686586 Discard count: 0 Cleared lines: 1 line: 21996 2 line: 981 3 line: 49 4 line: 4 5 line: 0 Field: 09| | 08| | 07| [][] | 06|[][][][][] [][] | 05|[][][][][][][][] [][] [] | 04|[][][][][][][][] [][][][][]| 03|[][][][][][][] [][][][][][]| 02|[][][][][][] [][][][][][][][]| 01|[] [][][][][][][][][][][][][]| --+------------------------------+-- |
Set 2 is idd wel stukken lastiger dan nummer 1
edit: zo te zien is er geen Linux validator meer nodig, maar anders zou ik mn c# validator wel met Mono kunnen compilen denk ik, nu die ook generics ondersteund... Misschien voor een Mac gebruiker, als daar nog geen validator voor is...
[ Voor 14% gewijzigd door user109731 op 22-11-2006 10:40 ]
Verwijderd
Ssst! Zeg dat nou niet, ik wil graag dat hij het verklapt zodat ik daar zelf voordeel mee kan doen.Confusion schreef op woensdag 22 november 2006 @ 08:15:
[...]
Dat lijkt me een beetje de essentie van de hele contest.
Je hebt wel gelijk inderdaad, het verzinnen van zulke criteria is niet zo moeilijk of belangrijk, het programma zelf die criteria laten verzinnen dat is de truc.
Mijn programma doet dat erg redelijk, alleen heeft ie 400 tot 800 generaties nodig om tot een goed resultaat te komen en dat laat de performance op het moment nog niet toe binnen de 2 uur.
Dus maar weer verder met tweaken, nog tijd genoeg dus.
Memories of yesterday, will grow, but never die
validator
Ik heb tot nu toe maar 1 setje getest, dus of de uitvoer volledig klopt, geen idee. Uitvoer van de eerste was Deze uitvoer
Ik heb trouwens geen idee hoe groot de output.txt bestanden (invoer) mogen zijn ivm upload_max_filesize
Pagina kan groot worden/traag laden
[ Voor 19% gewijzigd door EdwinG op 22-11-2006 17:23 ]
Bezoek eens een willekeurige pagina
Misschien een ideetje om dan ZIP-bestanden toe te staan. output bestanden bevatten veel dubbele tekst, en zijn dus zeer goed te comprimerenEdwinG schreef op woensdag 22 november 2006 @ 17:20:
edit:
Ik heb trouwens geen idee hoe groot de output.txt bestanden (invoer) mogen zijn ivm upload_max_filesize
Pagina kan groot worden/traag laden
Ik heb eerst geprobeerd om als invoer een .zip bestand te vragen met de game/blocks eveneens toegevoegd. zip_entry_read() bleef echter lege waarden teruggeven, geen idee waar dat aan ligt, verschillende controles wezen namelijk uit dat de zip in orde was.Grote prutser schreef op woensdag 22 november 2006 @ 17:35:
[...]
Misschien een ideetje om dan ZIP-bestanden toe te staan. output bestanden bevatten veel dubbele tekst, en zijn dus zeer goed te comprimeren. En PHP heeft daar een handige extensie voor.
Met de complete game/blocks in de zip zou het meteen mogelijk zijn om eigen sets te testen.
Andere suggesties om .zip te kunnen gebruiken. (host draait helaas op windows) zijn welkom
Bezoek eens een willekeurige pagina
Verwijderd
Als ik straks thuis ben zal ik hier een linkje posten met een goed artikel over een mogelijke aanpak. Ik heb mijn spul daarop gebaseerd.Bint schreef op woensdag 22 november 2006 @ 17:01:
met dat zelf de criteria laten verzinnen heb ik dus weer enorm veel problemen.. maarja, dan maar harder regels erin ketsen
Misschien heb je er wat aan
Ik krijg bijna zin om echt mee te gaan doen na het spelen met je validator en een handmatig gevuld tekstbestandEdwinG schreef op woensdag 22 november 2006 @ 17:20:
En voor iedereen die per stap wil weten hoe zijn/haar AI het doet, maar geen zin heeft om daar een script voor te schrijven:
validator
Ik heb tot nu toe maar 1 setje getest, dus of de uitvoer volledig klopt, geen idee. Uitvoer van de eerste was Deze uitvoer
edit:
Ik heb trouwens geen idee hoe groot de output.txt bestanden (invoer) mogen zijn ivm upload_max_filesize
Pagina kan groot worden/traag laden
Ik zal kijken waar dat aan ligt. Zie je toevallig kans om op een andere manier aan de afbeelding na situatie 91930 te komen? (bijvoorbeeld output.txt afkappen na dat aantal, en dan aan een validator geven die alleen de eind-afbeelding geeft.)Grote prutser schreef op woensdag 22 november 2006 @ 18:03:
Hmm, hij geeft trouwens aan dat ik mn 91930e block boven het veld drop, terwijl dat volgens Soultakers, TRRoads' en mijn eigen validator niet zo is, in tegendeel: het blijft eigenlijk allemaal relatief laag, zie ook de output hierboven. Verder vind ik het een leuk en handig initiatief
Hoe zag trouwens de laatste afbeelding er uit? Kan het volgende blok ook echt in het rode deel komen? (het blok dat je af laat gaan krijg je als het goed is niet te zien).
Misschien zit een fout in het tellen van de regels. Het script houdt de hoogste regel bij, maar als dit aantal niet goed wordt verminderd bij het verwijderen van regels, kan het zijn dat de hoogste_regel indicator boven de 40 uit komt, terwijl de regels in werkelijkheid nog niet zo ver komen.
Doe mee, je verliest er hoogstens wat tijd mee, maar leert een hele hoop.evaarties schreef op woensdag 22 november 2006 @ 18:50:
Ik krijg bijna zin om echt mee te gaan doen na het spelen met je validator en een handmatig gevuld tekstbestand.... gaat je bandbreedte niet over the top met al die plaatjes?
Wat het effect is van mijn bandbreedte (zeker bij bestanden die tot 100.000 'DROP' statements gaan, weet ik eigenlijk niet. De afbeeldingen zijn niet al te groot, omdat ze maar 11 verschillende kleuren hebben, en in .gif formaat zijn opgesteld.
Script aangepast, je ziet nu ook de afbeelding met het blok waardoor je af bent gegaan.
[ Voor 37% gewijzigd door EdwinG op 22-11-2006 19:56 ]
Bezoek eens een willekeurige pagina
Het probleem is denk ik niet dat ene blok, want in de afbeeldingen ervoor zie ik al veel eerder hele bouwwerken onstaan. Kun je nummers bij de afbeeldingen zetten? Dan kan ik eenvoudig kijken waar de output verschiltEdwinG schreef op woensdag 22 november 2006 @ 19:40:
[...]
Ik zal kijken waar dat aan ligt. Zie je toevallig kans om op een andere manier aan de afbeelding na situatie 91930 te komen? (bijvoorbeeld output.txt afkappen na dat aantal, en dan aan een validator geven die alleen de eind-afbeelding geeft.)
Hij bouwt zeg maar heel het veld vol, en alsie bovenaan komt dan past de volgende er niet meer bij. Wat ik zie is dus een heel vol veld... Dus opzich heeftie wel gelijk dat het blok er niet bij past, ik vermoed dat het probleem al eerder ergens zit (de blokken mogen nooit zo hoog komen).Hoe zag trouwens de laatste afbeelding er uit? Kan het volgende blok ook echt in het rode deel komen? (het blok dat je af laat gaan krijg je als het goed is niet te zien).
[ Voor 27% gewijzigd door user109731 op 22-11-2006 20:50 ]
Dit topic is gesloten.
Er worden nogal wat vragen gesteld die tot nu toe allemaal in de TS worden beantwoord. Lees voor je je vraag stelt dus érg aandachtig de TS door want de kans is groot dat het er gewoon in staat. Uiteraard ben je vrij vragen te stellen, maar kijk dan niet raar op als je een "Zie TS" antwoord krijgt.
De kunst van deze contest is onder andere het goed lezen en interpreteren van de gegevens die je gekregen hebt.