Ah, ik heb een heel leuk algoritmetje verzonnen wat ik hier nog niet heb langs zien komen
Duidelijk dat ik dat ga proberen dus
Duidelijk dat ik dat ga proberen dus
Dit topic is onderdeel van een reeks. Ga naar het meest recente topic in deze reeks.
Verwijderd
Als je "permutatie probleem" intikt, lukt het ook wel.Dido schreef op donderdag 31 mei 2007 @ 15:27:
Moet je het eens in het Engels proberen
http://www.google.nl/sear...&btnG=Google+zoeken&meta=
Niet iedereen geeft zijn methodes prijs natuurlijk.Darkwings schreef op donderdag 31 mei 2007 @ 15:33:
Ah, ik heb een heel leuk algoritmetje verzonnen wat ik hier nog niet heb langs zien komen![]()
Duidelijk dat ik dat ga proberen dus
Een experimentele community-site: https://technobabblenerdtalk.nl/. DM voor invite code.
ASSUME makes an ASS out of U and ME
Verwijderd
Zo een algoritme staat en valt met de gebruikte methodes. Er zijn tig soorten en variaties, de kunst is de juiste eruit te pikken en indien nodig aan te passen aan je wensen.H!GHGuY schreef op donderdag 31 mei 2007 @ 18:52:
mijn vorige oplossing was naar een genetisch algo gebouwd (scrabble thing) en heeft qua snelheid niet de hoogste toppen gescheerd...
Het lijkt me idd echter weer een probleem wat je vergelijkbaar kan oplossen.
Afgelopen dinsdag ben ik ook begonnen aan m'n bijdrage. Het wordt een programma in C#, want ik probeer om nu wat C# te leren. En als oplossingsalgoritme ga ik (ook) een genetisch algoritme gebruiken. De keuze voor een genetisch algoritme is eigenlijk heel simpel: het lijkt me leuk om weer eens een genetisch algoritme te programmeren. Ik zocht dus eigenlijk niet het beste algoritme voor het probleem, maar een probleem bij m'n algoritme.liquid_ice schreef op donderdag 31 mei 2007 @ 14:54:
Hoe zijn jullie er toe gekomen om dit probleem met een genetisch, Sim. Annealing, lineair STPP of nog een ander algoritme aan te vallen?
waar hebben jullie naar gekeken voor deze keus?
Ik veronschuldig mij bij voorbaat voor het bovenstaande.
[ Voor 6% gewijzigd door Pete op 31-05-2007 22:45 ]
Dreamer: ik weet al wat het isDreamer-1982 schreef op woensdag 30 mei 2007 @ 19:29:
[...]
Die kun je krijgen als bijv. de output niet bij de testset hoort of er erg rare zaken in de input staan. Ik moet die fout nog even netjes afvangenMaar als je hem krijgt is de boel iig niet in orde!
Doet iets met Cloud (MS/IBM)
Verwijderd
Sommige zaken worden ook in school aangeleerd of moet je het zelf maar studeren voor een bepaalde opdracht. Dan moet je die zaken wel kunnen begrijpen.Marcks schreef op donderdag 31 mei 2007 @ 22:05:
Tjonge, wat komt er weer een theoretisch geneuzel voorbij. 'Kijk mij eens even wikipedia en google te hebben afgestruind naar optimalisatiefeitjes en termen waarvan ik zelf de betekenis niet ken.' No offense jongens, maar ik ben het helemaal met mOrPhie eens. Iedereen kan googlen, dus gezond verstand erbij en bedenk zelf eens een gezellig algoritme.
Het gooien met termen is geen doel op zich uiteraard, maar leerrijk kan het wel zijn.Marcks schreef op donderdag 31 mei 2007 @ 22:05:
Tjonge, wat komt er weer een theoretisch geneuzel voorbij. 'Kijk mij eens even wikipedia en google te hebben afgestruind naar optimalisatiefeitjes en termen waarvan ik zelf de betekenis niet ken.' No offense jongens, maar ik ben het helemaal met mOrPhie eens. Iedereen kan googlen, dus gezond verstand erbij en bedenk zelf eens een gezellig algoritme.
Bezoek eens een willekeurige pagina
[ Voor 10% gewijzigd door Pete op 31-05-2007 22:55 ]
Klus page: http://klusthuis.blogspot.com
Hier kan ik ja en amen op zeggenMarcks schreef op donderdag 31 mei 2007 @ 22:05:
Tjonge, wat komt er weer een theoretisch geneuzel voorbij. 'Kijk mij eens even wikipedia en google te hebben afgestruind naar optimalisatiefeitjes en termen waarvan ik zelf de betekenis niet ken.' No offense jongens, maar ik ben het helemaal met mOrPhie eens. Iedereen kan googlen, dus gezond verstand erbij en bedenk zelf eens een gezellig algoritme.
Ik heb niks tegen een goede discussie over verschillende theorieen, maar ga er dan ook daadwerkelijk dieper op in. Wat ik hier veelal langs zie komen is een horde losse termen, al dan niet vergezeld door een linkje. Leg dan ook even uit waarom je denkt dat een bepaald algoritme goed zal presteren.liquid_ice schreef op donderdag 31 mei 2007 @ 22:59:
Ben het met bomberboy eens.
Termen gooien is geen doel, maar een goede discussie over verschillende theorieen is voor iedereen (die dat wil) erg leerzaam.
Leren is voor mij ook de reden dat ik mee doe aan deze contest.
Punten halen en hopelijk niet laatste worden is een leuke bij komstigheid, maar niet mijn doel.
Ik veronschuldig mij bij voorbaat voor het bovenstaande.
@Liquid: En wat heb je tot nu toe geleerd van die opmerkingen over STPP en shizzle? Niet zo veel waarschijnlijk, helaas... Dan is die 'goeie discussie' waarschijnlijk toch niet zo'n goeie discussie als het lijkt... En dat ligt ergens aan, namelijk:liquid_ice schreef op donderdag 31 mei 2007 @ 22:59:
Ben het met bomberboy eens.
Termen gooien is geen doel, maar een goede discussie over verschillende theorieen is voor iedereen (die dat wil) erg leerzaam.
Leren is voor mij ook de reden dat ik mee doe aan deze contest.
Punten halen en hopelijk niet laatste worden is een leuke bij komstigheid, maar niet mijn doel.
[ Voor 5% gewijzigd door _wm_ op 01-06-2007 01:06 ]
Dat is wel iets waar je trots op mag zijn jaZit nu op 354 punten in minder dan 1 seconden op een niet al te snelle laptop
Ok, heb ik weer wat om te checken, thnx voor de input!D2k schreef op donderdag 31 mei 2007 @ 22:20:
[...]
Dreamer: ik weet al wat het is
hij gaat niet goed om met mijn kamer4= bij lege kamers. Die output mag wel volgens de handleiding.
als ik dat weglaat rekent ie de score wel uit
Klus page: http://klusthuis.blogspot.com
mOrPhie schreef op donderdag 31 mei 2007 @ 14:15:
Ja, het gooien met die wetenschap is leuk, maar ik zou het interessanter vinden als je het daadwerkelijk implementeert en straks na 16 juli op basis van die wetenschap nog wint ook. Ik vind resultaten veel interessanter dan een theoretische discussie van iets dat volgens zeggen heel lastig te implementeren valt.
[ Voor 14% gewijzigd door Creepy op 01-06-2007 10:19 ]
"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
md5 hash van set: f2097397218da09178b24a2c23d03800c4514d97a53c1ee50fa5b99475d37323. fout: je hebt niet-organisatie geplaatst in een organisatiehuisje! fout: je hebt niet-organisatie geplaatst in een organisatiehuisje! Omdat er een foutmelding is geweest, zal de score van je output.ini niet worden opgeslagen! Huisje_0: -720 Huisje_1: 5 Huisje_2: 0 Huisje_3: -2 Huisje_4: 0 Huisje_5: 0 Huisje_6: 1 Huisje_7: 0 Huisje_8: 0 Huisje_9: 0 Huisje_10: 0 Huisje_11: 0 Huisje_12: 0 Huisje_13: 0 Huisje_14: 0 Huisje_15: 0 Huisje_16: 0 Huisje_17: 0 Huisje_18: 0 ------------------------------+ totaal aantal punten voor puur de huisjes: 4 nietgeplaatstpunten: -720 partnerpunten: 0 roomiepunten binnen de kamer: 0 roomiepunten binnen het huis: 4 voorkeurpunten: 0 vegetarischpunten: 0 ------------------------------+ totaal aantal punten voor jouw inzending bij deze set: -716 hoogste aantal punten voor deze set tot nu toe: 421
[Huisje_0] Huisje_0_room0=Terr, crisp Huisje_0_room1=Arthur, Microkid Huisje_0_room2=Roelant, Ropniko Huisje_0_room3=wilhelmstroker, zomertje [Huisje_1] Huisje_1_room0=Daniel, curry684 Huisje_1_room1=Iria, Cookie Huisje_1_room2=Yoeri, Inge Janse Huisje_1_room3=Zoefff, dion_b [Huisje_2] Huisje_2_room0=Rukapul, Hahn Huisje_2_room1=Xandrios, Drobanir Huisje_2_room2=naftebakje, Michel Huisje_2_room3=Kaj., Harm [Huisje_3] Huisje_3_room0=Koffie, Mick Huisje_3_room1=Joror, Floppus Huisje_3_room2=Creepy, whoami Huisje_3_room3=Apen-nootjes, Emmeline [Huisje_4] Huisje_4_room0=P_de_B, Fisico Huisje_4_room1=cybersteef, Wilke Huisje_4_room2=Atlas, Sprite_tm Huisje_4_room3=XangadiX, Wouke [Huisje_5] Huisje_5_room0=sanfranjake, rob_erwt Huisje_5_room1=Margje, woltjer Huisje_5_room2=xxfile, F_J_K Huisje_5_room3=IlseIII, Longbeard [Huisje_6] Huisje_6_room0=Rataplan, Jimmy Pop Huisje_6_room1=Rosette, Ralph Smeets Huisje_6_room2=DSmarty, Spider.007 Huisje_6_room3=DeeD2k2, dreeke [Huisje_7] Huisje_7_room0=Orion84, Abbadon Huisje_7_room1=YellowCube, Femme Huisje_7_room2=blaataaps, haribold Huisje_7_room3=Dido, zeef [Huisje_8] Huisje_8_room0=chem, Hielko Huisje_8_room1=Dimitri R, Fuelke Huisje_8_room2=Janette, Jasper Huisje_8_room3=Andr, leon1e [Huisje_9] Huisje_9_room0=Pim., Martin Sturm Huisje_9_room1=Opi, Crash Huisje_9_room2=Sophia, Canaria Huisje_9_room3=Oscar the Grouch, JHS [Huisje_10] Huisje_10_room0=RM-rf, aperture Huisje_10_room1=polaris, Qwerty-273 Huisje_10_room2=KeX, SmartDoDo Huisje_10_room3=pasta, Eggy [Huisje_11] Huisje_11_room0=Equator, alt-92 Huisje_11_room1=Stefke, Janoz Huisje_11_room2=Confusion, Kees Huisje_11_room3=Aikeleer, mOrPhie [Huisje_12] Huisje_12_room0=-NMe-, Wouter Tinus Huisje_12_room1=Daedalus, voodooless Huisje_12_room2=Ecteinascidin, elevator Huisje_12_room3=Grrrrrene, JvS [Huisje_13] Huisje_13_room0=GeniusDex, Ghost Huisje_13_room1=Superdeboer, Pollewob Huisje_13_room2=LuNaTiC, W3ird_N3rd Huisje_13_room3=Lustucru, Pascal Saul [Huisje_14] Huisje_14_room0=.oisyn, HlpDsK Huisje_14_room1=dusty, Gwenneth Huisje_14_room2=TinuX, BtM909 Huisje_14_room3=RobIII, Robin [Huisje_15] Huisje_15_room0=Turkish, moto-moi Huisje_15_room1=Hans, Juultje Huisje_15_room2=McVirusS [Huisje_16] Huisje_16_room0=dawuss, Steffie [Huisje_17] Huisje_17_room0=ACM, T.T. Huisje_17_room1=JAVA-Doctor, botoo Huisje_17_room2=Twynn, Jan Laros Huisje_17_room3=p0m, Thandor [Huisje_18] Huisje_18_room0=Remy, BalusC Huisje_18_room1=AcouSE, Kheldar Huisje_18_room2=Renegade, Floris
Zelfde probleem hier. Hij gaf gisteren aan dat ik niet-organisatie met organisatie gemixt had. Ik heb weliswaar niet mijn hele output.ini gecontroleerd, maar bij elke wissel die ik uit wil voeren, wordt de nieuwe indeling gevalideerd en naar mijn weten is er niets mis met onderstaande code.fujiwara schreef op vrijdag 01 juni 2007 @ 13:21:
Ik heb mijn eerste output. Maar met de online validator van_wm_ lukt het niet echt. Hij geeft oa aan dat ik nt. organisatie in mijn organisatie kamers heb. Maar ik vind het ni terug. (aangeven van de validator in welk huis zou al handig zijn)
1
2
3
4
5
6
7
8
9
10
| Valideer = 1 FOR a = 1 TO Kamers%: FOR b = 1 TO 2 ID = Bed(Huis, a, b) IF ID > 0 THEN Totaal = Totaal + 1 IF Voorkeur$(ID) = "organisatie" THEN Org = Org + 1 END IF NEXT b: NEXT a IF Org > 0 AND Org < Totaal THEN Valideer = 0: GOTO Break02 |
[ Voor 7% gewijzigd door Marcks op 01-06-2007 13:45 ]
Ik veronschuldig mij bij voorbaat voor het bovenstaande.
Ik voer precies dezelfde check uit... Bij mij ging het alleen even mis met het berekenen van het Totaal, denk ik, omdat ie een lege naam of een spatie ook gewoon als naam telde.Marcks schreef op vrijdag 01 juni 2007 @ 13:28:
[...]
Zelfde probleem hier. Hij gaf gisteren aan dat ik niet-organisatie met organisatie gemixt had. Ik heb weliswaar niet mijn hele output.ini gecontroleerd, maar bij elke wissel die ik uit wil voeren, wordt de nieuwe indeling gevalideerd en naar mijn weten is er niets mis met onderstaande code.
code:
1 2 3 4 5 6 7 8 9 10 Valideer = 1 FOR a = 1 TO Kamers%: FOR b = 1 TO 2 ID = Bed(Huis, a, b) IF ID > 0 THEN Totaal = Totaal + 1 IF Voorkeur$(ID) = "organisatie" THEN Org = Org + 1 END IF NEXT b: NEXT a IF Org > 0 AND Org < Totaal THEN Valideer = 0: GOTO Break02
[ Voor 18% gewijzigd door _wm_ op 01-06-2007 13:53 ]
In dat geval zou je moeten zeggen dat je een niet bestaand persoon hebt ingedeeld, in plaats van een niet-organisatielid._wm_ schreef op vrijdag 01 juni 2007 @ 13:45:
EDIT: het ging niet mis met het totaal berekenen, maar het gaat gewoon fout in de set van fujiwara... Je gebtuikt een spatie na de komma. Een spatie is echter gewoon een geldig karakter, dus wordt bij de gebruikersnaam gerekend. ' Balusc' is geen organisatie, en dan wordt dus de foutmelding gegeven. 'Balusc' (zonder spatie) is wel organisatie, en dan gaat het gewoon goed...!
[ Voor 12% gewijzigd door EdwinG op 01-06-2007 15:15 ]
Bezoek eens een willekeurige pagina
Verwijderd
Dat is aan jezelf, omdat het dan om ongeldige invoer gaat. In de officiele testset zou zoiets dus ook niet voor moeten komen.EdwinG schreef op vrijdag 01 juni 2007 @ 14:34:
[...]
In dat geval zou je moeten zeggen dat je een niet bestaand persoon hebt ingedeeld, in plaats van een niet-organisatielid.
Wat ik me alleen nog af vraag, als iemand een roomie dubbel op geeft (bijvoorbeeld op plaats 1, en op plaats 3), en deze wordt in dezelfde kamer ingedeeld, krijg je dan beide punten, of alleen de 5 van 'roomie 1 op zelfde kamer'?
Voor zover ik kan lezen is dat het enige verschil wat ik nog heb met de validator van _WM_
phsmit schreef op donderdag 31 mei 2007 @ 22:55:
Trwns nog een fout ontdekt in wm zn validator
kijk maar eens naar output van 1de35d057054699475d69d6bd1c7b7b4c0b4f12bfd05548d20e65a88f5ac765d
Huisje 1 klopt niet helemaal(score van minder dan -1000 op 1 huisje)
Hoe kun je de score per huisje zien? (of is dat alleen bij het uploaden?)
[ Voor 50% gewijzigd door EdwinG op 01-06-2007 15:50 ]
Bezoek eens een willekeurige pagina
1. Hij bekijkt dan alleen de hoogste (niet)roomie, de dubbele wordt weggegooid...EdwinG schreef op vrijdag 01 juni 2007 @ 14:34:
[...]
In dat geval zou je moeten zeggen dat je een niet bestaand persoon hebt ingedeeld, in plaats van een niet-organisatielid.
Wat ik me alleen nog af vraag, als iemand een roomie dubbel op geeft (bijvoorbeeld op plaats 1, en op plaats 3), en deze wordt in dezelfde kamer ingedeeld, krijg je dan beide punten, of alleen de 5 van 'roomie 1 op zelfde kamer'?
Voor zover ik kan lezen is dat het enige verschil wat ik nog heb met de validator van _WM_
Toch niet dus:
1de35d057054699475d69d6bd1c7b7b4c0b4f12bfd05548d20e65a88f5ac765d
In 1 van de kamers is iemand ingedeeld met de naam 'geen', terwijl die niet bestaat. Mijn validator keurt het af, die van _WM_ geeft 2217 punten.
edit:
2e verschil gevonden
1. meeting.ini is gewoon een meeting.ini ?EdwinG schreef op vrijdag 01 juni 2007 @ 15:47:
Als we dan toch bezig zijn:
f2097397218da09178b24a2c23d03800905c83529c4e7787a3226e6da6671e52
meeting.ini is meer een output.ini
[...]
Hoe kun je de score per huisje zien? (of is dat alleen bij het uploaden?)
Trouwens, [arthur] komt 2x voor, de invoer is ook ongeldig.
Deelnemers.ini bedoel ik, sorry._wm_ schreef op vrijdag 01 juni 2007 @ 16:06:
[...]
1. meeting.ini is gewoon een meeting.ini ?
2. score per huisje inderdaad alleen als je uploadt...
Bezoek eens een willekeurige pagina
Verwijderd
[ Voor 12% gewijzigd door Verwijderd op 01-06-2007 23:26 ]
Speel ook Balls Connect en Repeat
Klus page: http://klusthuis.blogspot.com
Dat is inderdaad de testset die ik bedoel. En ondertussen haal ik 11 punten met deze testset (volgens de validator van _wm_, mijn eigen programma komt helaas nog tot een andere score), dus het gaat de goede kant op.liquid_ice schreef op zaterdag 02 juni 2007 @ 00:11:
De officiele test set, dat is die toch in de openingspost staat?
of is er ergens een geupdate geweest?
Als er een update is, dan wordt de startpost ook aangepast. De startpost is en blijft dus altijd up to date.liquid_ice schreef op zaterdag 02 juni 2007 @ 00:11:
De officiele test set, dat is die toch in de openingspost staat?
of is er ergens een geupdate geweest?
'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.
Klus page: http://klusthuis.blogspot.com
'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.
Klus page: http://klusthuis.blogspot.com
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| public class FirstComeFirstServe implements IMeetingDistributionAlgorithm { @Override public HuisManager solve(HuisManager huisManager, List<Member> members) { for (Member member : members) { bleh: for (Huis h : huisManager.getHuizen()) { if (h.plaatsVrij()){ h.inschrijvenInKamer(member, false); break bleh; } } } return huisManager; } } |
If it ain't broken it doesn't have enough features
Ik zal zometeen eens even checken met mijn script... Het nadeel is dat ik het met PHP doe en tussendoor niet echt een statusupdate of iets dergelijks kan doen omdat zolang Apache heel hard bezig is, er geen output naar de browser wordt gestuurd. Ik kan dus niet zien hoelang m'n script al bezig is en hoever ie is... dat is wel iets vervelend... Als iemand weet hoe je dat op kan lossen (ob_flush() oid helpt volgens mij niks...) dan zou dat zeer welkom zijn!Verwijderd schreef op vrijdag 01 juni 2007 @ 22:33:
Hoe staat het met de snelheid van jullie programma's? Haal zelf in 5 minuten een score van 1955 op deze testset (90 invaliden, 90 organisatoren, 800 anderen, 100 huizen van 10 personen elk). Mijn score kan zeker hoger worden als ie langer mag stampen. Wat voor scores halen jullie op testsets van deze grote en binnen wat voor tijd?
Edit: na een halfuur rekenen 2081 punten. Slechts een verbetering van 126... daar moet zeker nog wat aan gebeuren.
Ja, jij hebt klagen.Zit nu op 354 punten in minder dan 1 seconden op een niet al te snelle laptop
en daar ben ik stiekem wel een beetje trots op
[ Voor 26% gewijzigd door Marcks op 02-06-2007 16:12 ]
Ik veronschuldig mij bij voorbaat voor het bovenstaande.
Ik heb ook geheugenproblemen bij wat grotere sets hoor...Marcks schreef op zaterdag 02 juni 2007 @ 16:01:
[...]
Ja, jij hebt klagen.Ik moet al 12 seconden draaien voor een score van 300. Bovendien heeft elke programmeertaal of -omgeving zijn beperkingen. Zo moet ik voor de officiële testset een executable maken, omdat ik anders geheugen-issues krijg.
[ Voor 10% gewijzigd door _wm_ op 02-06-2007 17:09 ]
Zo, dat is inderdaad wel behoorlijk veel. Volgens mij gebruik ik slechts 4,9kB per bed._wm_ schreef op zaterdag 02 juni 2007 @ 17:07:
[...]
Ik heb ook geheugenproblemen bij wat grotere sets hoor...![]()
met die testset van YeXo gebruikt ie 515Mb aan RAM... En is 5 minuten bezig... Heb dan wel 1986 punten, dus wel iets beter dan YeXo op dezelfde tijd, maar ik vind 515Mb aan ram nog steeds best wel behoorlijk veel eigenlijk... Een set van 1000 personen, dus ongeveer een halve Mb per persoon...! Voor feitelijk alleen maar het tijdelijk opslaan van wat kleine tekst... Moet ik nog maar eens proberen iets aan te doen!
Ik veronschuldig mij bij voorbaat voor het bovenstaande.
Dat is in ieder geval grofweg de manier waarop ik het aanpak, maar volgens mij kun je dat niet echt 'evoluerend' noemen. De 'goede eigenschappen' worden namelijk niet bij elke set geërfd, want een grote verbetering in de score kan later tegen je gaan werken. Voorbeeldje, je hebt een maximum aan invalidenhuisjes van drie, waarvan twee gebruikt worden. Je plaatst één van de invaliden in een niet-invalidenhuisje, waardoor je score met 15 punten omhoog gaat. Ineens zit je op je maximum, en valt er tussen invaliden nauwelijks meer te schuiven._wm_ schreef op zaterdag 02 juni 2007 @ 23:16:
Hoe werken die 'evoluerende' methoden eigenlijk? Want ik gebruik nu feitelijk gewoon een rechttoe-rechtaan methode...
Moet je dan gewoon steeds een aantal mensen wisselen, kijken of de nieuwe set hoger ligt, en dan vanuit die set weer een aantal mensen wisselen? Of?
Ik veronschuldig mij bij voorbaat voor het bovenstaande.
Ja precies, door een lokaal optima kan een nieuwe set goed lijken, maar dat in feite niet zijn omdat dat lokale optimum zo 'nauw' is dat je daarvandaan niet verder meer kan evolueren...Marcks schreef op zaterdag 02 juni 2007 @ 23:27:
[...]
Dat is in ieder geval grofweg de manier waarop ik het aanpak, maar volgens mij kun je dat niet echt 'evoluerend' noemen. De 'goede eigenschappen' worden namelijk niet bij elke set geërfd, want een grote verbetering in de score kan later tegen je gaan werken. Voorbeeldje, je hebt een maximum aan invalidenhuisjes van drie, waarvan twee gebruikt worden. Je plaatst één van de invaliden in een niet-invalidenhuisje, waardoor je score met 15 punten omhoog gaat. Ineens zit je op je maximum, en valt er tussen invaliden nauwelijks meer te schuiven.
[ Voor 4% gewijzigd door liquid_ice op 03-06-2007 01:44 ]
Klus page: http://klusthuis.blogspot.com
Verwijderd
En gewoon flush() helpt ook niet? Dat gebruik ik altijd in zulke gevallen namelijk._wm_ schreef op zaterdag 02 juni 2007 @ 15:38:
[...]
Ik zal zometeen eens even checken met mijn script... Het nadeel is dat ik het met PHP doe en tussendoor niet echt een statusupdate of iets dergelijks kan doen omdat zolang Apache heel hard bezig is, er geen output naar de browser wordt gestuurd. Ik kan dus niet zien hoelang m'n script al bezig is en hoever ie is... dat is wel iets vervelend... Als iemand weet hoe je dat op kan lossen (ob_flush() oid helpt volgens mij niks...) dan zou dat zeer welkom zijn!
Stel niet uit tot morgen wat je vandaag nog tot morgen kunt uitstellen...
Klus page: http://klusthuis.blogspot.com
Dit is ook een beetje wat ik in gedachten heb en waar ik waarschijnlijk naartoe ga werken.MrHuge schreef op zondag 03 juni 2007 @ 08:43:
@ _WM_ en Marcks:
Ik krijg uit jullie posts de indruk dat jullie proberen om één oplossing te laten evolueren tot een hoge score. Bij een evolutionair algoritme moet je volgens mij beginnen met een initiële populatie van allemaal random gegenereerde sets. Vervolgens kun je combineren, muteren en 'survival of the fittest' toepassen. Dit is in ieder geval grofweg mijn aanpak en hij werkt niet onaardig. Het is me zelfs al gelukt om vanuit een beginpopulatie van totaal willekeurig gegenereerde (en dus meestal ongeldige) oplossingen te evolueren tot een score van over de 200 punten in ongeveer 300 a 400 generaties. Er zijn nog genoeg mogelijkheden tot optimalisatie, dus dat gaat nog wel verbeteren.
The Flying Dutchman
Met de populatie groottes ben ik nog aan het spelen. De grootte is wel van invloed op de hoogte van de score. Getallen ga ik hier dus ff niet noemenliquid_ice schreef op zondag 03 juni 2007 @ 10:13:
@MrHuge, hoe groot zijn jou populaties?
Stel niet uit tot morgen wat je vandaag nog tot morgen kunt uitstellen...
Verwijderd
Firefox kan de server op www.willem-mulder.nl niet vinden.
Bezoek eens een willekeurige pagina
Verwijderd
Zeker handig. Klopte dat scoreverhaal van Marcks dat er tussen staat nou wel of niet?EdwinG schreef op zondag 03 juni 2007 @ 15:42:
Heel eenvoudig, maar vast handig: Een overzicht van de validators, generators etc
http://got.typefreak.nl/huisjes/overzicht.html
Bezoek eens een willekeurige pagina
Er zit een typefout in regel 18, de string Voorkeur$ moet natuurlijk de array Voorkeur$(ID) zijn. Verder werkt deze scoreberekening prima.Verwijderd schreef op zondag 03 juni 2007 @ 16:15:
[...]
Zeker handig. Klopte dat scoreverhaal van Marcks dat er tussen staat nou wel of niet?
Ik veronschuldig mij bij voorbaat voor het bovenstaande.
Mijn programma begint met 1000 mogelijke oplossingen die allemaal valide oplossingen zijn. Vervolgens selecteert het programma steeds drie willekeurige oplossingen. De slechtste van de drie wordt vervangen door een kopie van de beste van de drie (survival of the fittest). Vervolgens wisselt deze kopie nog wat gegevens uit met de derde selecteerde oplossing, en kunnen er nog enkele willekeurige verandering optreden. En als het goed is levert dit uiteindelijk een behoorlijk resultaat op._wm_ schreef op zaterdag 02 juni 2007 @ 23:16:
Hoe werken die 'evoluerende' methoden eigenlijk? Want ik gebruik nu feitelijk gewoon een rechttoe-rechtaan methode...
Moet je dan gewoon steeds een aantal mensen wisselen, kijken of de nieuwe set hoger ligt, en dan vanuit die set weer een aantal mensen wisselen? Of?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| [elapsed] 15ms meeting.ini [total] 15ms [elapsed] 125ms deelnemers.ini [total] 140ms [elapsed] 0ms solve [total] 140ms [elapsed] 0ms output [total] 140ms |
[ Voor 12% gewijzigd door ? ? op 03-06-2007 23:14 ]
[ Voor 4% gewijzigd door ? ? op 03-06-2007 22:23 ]
Mannen komen van Mars Tweakers, vrouwen van Venus Bokt
[ Voor 54% gewijzigd door SWINX op 04-06-2007 00:13 ]
Mannen komen van Mars Tweakers, vrouwen van Venus Bokt
[ Voor 5% gewijzigd door ? ? op 04-06-2007 00:27 ]
[ Voor 36% gewijzigd door _wm_ op 04-06-2007 10:53 ]
Mijn validator gaat inderdaad niet door als er een persoon in output.ini voorkomt die niet in deelnemers.ini zit; lijkt me een beetje raar als er deelnemers voorkomen die niet eens gedefinieerd zijn, dit is bijna altijd het resultaat van een programmeerfout, zoals het niet kunnen inlezen van 'speciale' tekens als é. Ook kan het zijn dat de output.ini per ongeluk bij een verkeerde set (meeting.ini + deelnemers.ini) terecht is gekomen.SWINX schreef op zondag 03 juni 2007 @ 23:39:
De validator van Dreamer-1982 gaat zelfs niet verder als er een persoon in de output.ini voorkomt die niet in de deelnemers.ini zit
Ik zit namelijk even te testen met de online validator van _wm_ en het progje van Dreamer-1982.
Ik krijg bij Dreamer-1982 juist net deze melding dus vandaar (overigens onterecht, want je mag lege kamers gewoon wegschrijven naar je output.ini)
era.zer schreef op maandag 04 juni 2007 @ 13:02:
Zijn er personen die eventueel willen samenwerken?
Ik ga eerst zelf een applicatie schrijven, maar aangezien er toch zoveel tijd is voor de deadline, zou ik ook graag samenwerken met wat mensen, voor een tweede inzending dan (als dat mag tenminste).
Samen weet je altijd meer! Taal zou .NET (vb/c#) zijn
Je eerste inzending is de enige inzending die telt, een tweede inzending zullen we niet in ogenschouw nemen.
Bezoek eens een willekeurige pagina
Ik heb deze set ook eens getest, meestal kwam ik op zo'n 2060 tot 2080 punten. In mijn huidige opzet kan alleen erg veel gevarieerd worden met instellingen. Na wat proberen kwam ik uiteindelijk op 2148 punten. Maar dan is er in totaal (met al het proberen) zeker langer dan een half uur gerekend (en dat op een E6600@3,6GHz_wm_ schreef op maandag 04 juni 2007 @ 10:01:
398 punten op de off testset na 1,6 seconde na iets aanpassen van variabelen... Die variabelen zullen echter per set wel weer anders liggen... Dus daar heb ik nog niet zo veel aan
Ga nog 2 verbeteringen in het algoritme doorvoeren, daarna ga ik maar weer eens wat anders proberen denk ik... Of het even een maandje laten liggen ofzo
edit: en 2133 punten op de grote set van YeXo... Is 5 minuten rekenen, maar dan heb je ook wat![]()
grote set:
meeting - http://willem-mulder.nl/g...d9b4e44a744b290bc368c.ini
deelnemers - http://willem-mulder.nl/g...b59f92945053ca071ca2c.ini
ben wel benieuwd wat jullie daar op scoren?
Klus page: http://klusthuis.blogspot.com
Daar ga ik wel van uit.era.zer schreef op zondag 03 juni 2007 @ 22:23:
vraagje:
gaan er personen als roomies/partners in het ini bestand staan die zelf niet in het ini bestand staan?
500 "The server made a boo boo"
Systeempje; Ballaida of Avalon in GuildWars
era.zer schreef op maandag 04 juni 2007 @ 14:57:
lijkt vrij normaal, maar kan een mod dit bevestigen/ontkennen aub?
al die extra controles vind ik codevervuiling
We kunnen het wel blijven herhalen, maar punt is nou eenmaal dat we ook kijken naar hoe stabiel je code is (en of je code dus tegen een stootje kan). Je kunt dat codevervuiling of "teveel werk" vinden om te maken; dat is aan jezelf. En daarbij: zo spannend is een é nou ook weer niet...Balachmar schreef op maandag 04 juni 2007 @ 15:57:
Ja, ook de encoding bijvoorbeeld. Im ga er nu vanuit dat de namen enzo alleen uit normale characters bestaan en niet deze dingen: Timéo.
Ik kan dat wel fixen, maar als het niet nodig is...
[ Voor 10% gewijzigd door RobIII op 04-06-2007 16:06 ]
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
Verwijderd
Dat lijkt een plausibele praktijksituatie, maar als je de regels er op naslaat is het niet goed mogelijk een juiste beslissing te nemen wat te doen als een roomie wel is opgegeven maar niet voorkomt in de deelnemers.ini.Vaan Banaan schreef op maandag 04 juni 2007 @ 14:50:
Daar ga ik wel van uit.
Een allerdaags voorbeeld in de praktijk:
Henk heeft Klaas als roomie hebt opgegeven, en Klaas wint de lotto en gaat op wereldreis, voor hij zich had opgegeven voor de meeting.
Zomaar een doorsnee voorbeeld
Misschien ten overvloede, maar wordt voor de "defensive-test" een andere ini gebruikt dan voor een normale test? Of is het gewoon een test, een INI en we zien wel hoever hij komt.[message=28158341,noline]RobIII schreef op maandag 04 juni 2007 @ 16:01[/message
We kunnen het wel blijven herhalen, maar punt is nou eenmaal dat we ook kijken naar hoe stabiel je code is (en of je code dus tegen een stootje kan). Je kunt dat codevervuiling of "teveel werk" vinden om te maken; dat is aan jezelf. En daarbij: zo spannend is een é nou ook weer niet...
Overigens is dat hele encoding verhaal nu wel uitgekauwd
[ Voor 4% gewijzigd door SWINX op 04-06-2007 17:25 ]
Mannen komen van Mars Tweakers, vrouwen van Venus Bokt
De defensive test is puur voor het beoordelen op 'defensitieviteit' * RobIII vandale.nl inlichtSWINX schreef op maandag 04 juni 2007 @ 17:13:
Misschien ten overvloede, maar wordt voor de "defensive-test" een andere ini gebruikt dan voor een normale test?
JuistemSWINX schreef op maandag 04 juni 2007 @ 17:13:
Ik kan me namelijk voorstellen dat je gebruikt maakt van een "normale" INI om het programma gewoon te testen, en een iets wat afwijkende INI ofzo om te kijken wat het allemaal aankan.
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
Bezoek eens een willekeurige pagina
Grmz, ik moet nodig wat aan m'n performance doen... Die grote set is bij mij niet vooruit te branden, dus die heb je nog tegoed_wm_ schreef op maandag 04 juni 2007 @ 10:01:
398 punten op de off testset na 1,6 seconde na iets aanpassen van variabelen... Die variabelen zullen echter per set wel weer anders liggen... Dus daar heb ik nog niet zo veel aan
Ga nog 2 verbeteringen in het algoritme doorvoeren, daarna ga ik maar weer eens wat anders proberen denk ik... Of het even een maandje laten liggen ofzo
edit: en 2133 punten op de grote set van YeXo... Is 5 minuten rekenen, maar dan heb je ook wat![]()
grote set:
meeting - http://willem-mulder.nl/g...d9b4e44a744b290bc368c.ini
deelnemers - http://willem-mulder.nl/g...b59f92945053ca071ca2c.ini
ben wel benieuwd wat jullie daar op scoren?
Stel niet uit tot morgen wat je vandaag nog tot morgen kunt uitstellen...
Toch vind ik het bizar dat het hele encoding verhaal in C# is op te lossen door Encoding.Default als parameter toe te voegen bij het openen van een StreamReader. Hoe standaard is zo'n default nou als je die expliciet moet opgeven?RobIII schreef op maandag 04 juni 2007 @ 16:01:
Overigens is dat hele encoding verhaal nu wel uitgekauwd
Verwijderd
Dat is omdat niet c# zelf, maar het gebruikte NINI-tool om de ini bestanden te parsen, het standaard onder een andere encoding probeert in te lezen. Als je het nini object aanmaakt met gewoon de filename als paramter, dan moet hij zelf nog een stream openen en je weet niet met welke encoding die het dat doet. Dus met een vooraf aangemaakte stream als parameter voor het nini object in te geven, doet hij het wel goed.Malthus schreef op maandag 04 juni 2007 @ 20:27:
[...]
Toch vind ik het bizar dat het hele encoding verhaal in C# is op te lossen door Encoding.Default als parameter toe te voegen bij het openen van een StreamReader. Hoe standaard is zo'n default nou als je die expliciet moet opgeven?
[ Voor 4% gewijzigd door Marcks op 04-06-2007 22:48 ]
Ik veronschuldig mij bij voorbaat voor het bovenstaande.
You're all out of gum?Marcks schreef op maandag 04 juni 2007 @ 22:45:
Post scriptum:
I'm gonna kick some ass and chew bubblegum, and guess what...
[ Voor 16% gewijzigd door EdwinG op 04-06-2007 22:55 ]
Bezoek eens een willekeurige pagina
Speel ook Balls Connect en Repeat
Het grappige is dat ik geen NINI-tool gebruik (of dit moet standaard in een StreamReader zitten, maar zoveel weet ik nog niet van C#). Ik heb zelf een functie geschreven voor het inlezen van de ini-file, en ik had hierbij ook de encoding-problemen. Maar zoals ik al zei, ik weet nog niet zoveel van C#, dus het zou ook heel goed aan mij kunnen liggen.Verwijderd schreef op maandag 04 juni 2007 @ 20:43:
Dat is omdat niet c# zelf, maar het gebruikte NINI-tool om de ini bestanden te parsen, het standaard onder een andere encoding probeert in te lezen.
Leuk zo'n flowchart. En ik ben benieuwd welke resultaten je hiermee gaat bereiken.Marcks schreef op maandag 04 juni 2007 @ 22:45:
Ik begin met een eenvoudige startindeling. Ik weet nog niet hoe lang ik deze door ga optimaliseren (hoge en lage score's hebben beide hun voordelen), maar soit. Daarna ga ik vanuit die indeling zoveel mogelijk nieuwe indelingen (takken) maken, die de 'oude' indeling als parent krijgen. Als er geen nieuwe takken meer bijgemaakt kunnen worden, wordt één van de bestaande takken gevolgd (de hoogst scorende), en begint het verhaaltje overnieuw. Is een tak niet meer te optimaliseren, dan wordt deze gesloten, en ga ik terug naar de parent van de gesloten tak. Heeft ook deze tak geen open optimalisaties meer om te volgen, dan wordt ook deze gesloten, en gaan we terug naar de parent, enzovoorts. Flowchartje.
[ Voor 68% gewijzigd door liquid_ice op 05-06-2007 01:05 ]
Klus page: http://klusthuis.blogspot.com
Hmm dit is ook de richting die ik op wilde gaan, alles wat ik had (net zo lang wisselen tot er een lokaal optimum bereikt is) ligt nu op zijn kop en tot ik mijn opdracht voor mijn propedeuse af heb heb ik geen tijd meer voor deze contest. Dus ik hoop dat ik nog tijd heb daarna anders heb ik nietsMarcks schreef op maandag 04 juni 2007 @ 22:45:
In theorie kan hiermee waarschijnlijk de perfecte oplossing gevonden worden, maar ik zal een afweging moeten maken tussen snelheid en zoekdiepte. Enfin, het idee is uitgewerkt, en ik kan veel routine's uit mijn oude programma kopiëren, dus deo volente heb ik het morgen werkzaam.
Huh, welk algoritme gebruik jij dan voor "het meten, registreren en weergeven van de tijd" dat je daar 20 ms aan kwijt bentliquid_ice schreef op dinsdag 05 juni 2007 @ 00:13:
mijn progje doet 62,5 ms over het inlezen en het controlloleren van de input bij de officiele test set. Een groot gedeelte van deze tijd gaat op aan het meten, registreren en weergeven van de tijd, zo'n 1/3de oid.
Dit topic is gesloten.
Apple iPhone 16e LG OLED evo G5 Google Pixel 10 Samsung Galaxy S25 Star Wars: Outlaws Nintendo Switch 2 Apple AirPods Pro (2e generatie) Sony PlayStation 5 Pro
Tweakers is onderdeel van
DPG Media B.V.
Alle rechten voorbehouden - Auteursrecht © 1998 - 2025
•
Hosting door TrueFullstaq