Kirjautuminen

Haku

Tehtävät

Kilpailu

Ohjelmoi tekoäly!
Kilpailuaika on päättynyt.
Nyt voi äänestää!

Keskustelu: Ohjelmointiputka: Väripelikilpailu

Sivut:

Sivu 4 / 4

Sivun loppuun

Jtm [26.06.2005 21:18:11]

#

VilleP sanoi:
"Parantamisen varaa on siis vielä aina 8 neliön verran."
> Aina ei ole mahdollista poistaa kaikkia neliöitä. Muuten kuinka kauan ohjelmasi käyttää aikaa vuoroon?

Msdos464 sinuna olisin onnellinen, että ohjelmasi osaa tuon verran... Minun ohjelmani jätti 95kpl poistamatta ^^
Noh ainakin porukka saa tasoitusta :P

msdos464 [26.06.2005 21:33:17]

#

Kun säädin että tekee poiston 2 sekunnissa niin jäi 74... liikaa parannettavaa suhteessa käytettävissä olevaan aikaan :/

VilleP [27.06.2005 13:21:29]

#

Jtm kirjoitti:

VilleP sanoi:
"Parantamisen varaa on siis vielä aina 8 neliön verran."
> Aina ei ole mahdollista poistaa kaikkia neliöitä. Muuten kuinka kauan ohjelmasi käyttää aikaa vuoroon?

Ohjelmani voi säätää käyttämään minkä verran aikaa tahansa, tuo 8/900-tulos laskettiin aikarajalla 1.8s/siirto (XP2000+). villenhaaste.txt:n sisältämä kenttä näyttäisi kuitenkin olevan "helpompi" kuin suurin osa satunnaisesti tuotetuista kentistä. Yleensä ohjelmani jättää vastaavankokoisilla kentillä huomattavasti enemmän neliöitä jäljelle, joten tämän perusteella ei kannata vielä luovuttaa, heh.

Tuossa muuten 8/900-tuloksen siirtosarja: http://mureakuha.com/paste/?3bb6369344cbeb690da27fb59b818c70

FooBat [27.06.2005 20:58:40]

#

Muutama edellinen testiajo haasteessa: 16, 29, 19, 56, 19. Keskimääräinen tulos 30x30x8 pelissä on kuitenkin 60-90 luokkaa, joten tämä haaste tuntuu olevan helpoimmasta päästä.

Toi algoritmit toimii hiukan satunnaisesti, koska se kattelee kelloa laskessaan.


Haaste tuli muuten ihan hyvään aikaan. Vielä muutama päivä sitten algoritmini jätti noin parisataa nappulaa 30x30x8 pelissä. Piti vähän miettiä asioita uudestaan.

Jtm [28.06.2005 00:22:20]

#

Antti, ohjelmassasi taitaa olla jonkinlainen bugi. Joskus pelin pyöriessä ohjelma pätkäisee ja usein tälloin aikaraja ylittyy vaikka tekoälyssä onkin aikalaskuri, joka varmistaa että aikarajan ylityksiä ei tule. Joskus jopa pienillä 10x10 radoilla ohjelmasi pätkii. Myös tälloin tulee aikarajan ylityksiä, vaikka tavallisesti 10x10 radassa vuoroon ei mene kuin jotain 0,02-0,03s aikaa.

Antti Laaksonen [29.06.2005 16:26:04]

#

Jos tämä ongelma esiintyy vielä testikoneella ja vika ei ole tekoälyssäsi, korjaan testiohjelmaa. Semmoista tilannetta ei tule, että testiohjelman virheen takia tekoäly saisi väärän arvioinnin.

msdos464 [29.06.2005 18:00:44]

#

"tavallisesti 10x10 radassa vuoroon ei mene kuin jotain 0,02-0,03s aikaa."

Eikö kannattaisi miettiä pidemmälle kun kerran ehtii? :P

Jtm [29.06.2005 18:36:19]

#

Usein jos tekoäly käyttää paljon aikaa miettimiseen, kyseessä saattaa olla purkkaviritys. Jos hommaa on optimoitu paljonkin, niin sillä pötkitään pitkälle ja säästetään aikaa.

Ns. purkkavirittömäksi tekoälyksi voi sanoa sellaista tekoälyä, joka osaa analysoida tilannetta, eikä pelaa jokaisella mahdollisella tavalla peliä läpi ja siten loppu tulosten perusteella valitse parasta vaihtoehtoa (toimii tämäkin, mutta älyksi ei tuota voi enää sanoa).

Miettikää miten ihminen valitsee parhaan ryhmän. Tarvitsee olla aika supermies jos pelaa pelin läpi mielessään miljoonia kertoja. Ei ole olemassa siirtoa, jota ei pystyisi laskennallisesti määrittelemään hyväksi (ilman ennustusta tietenkin). Mites se Kasparov osaa shakkia? Siinäpä vasta kysymys ;)... Siitä se tekoälyn kehitys lähtee :P

Chiman [30.06.2005 16:13:46]

#

Päätinpä jättää osallistumisen väliin tällä kertaa. Juhannuksen ja muiden kiireiden jälkeen ei oikein riittänyt aikaa ja innostusta toteuttaa tekoälyä loppuun asti, joten en viitsi lähettää raakiletta omalla nimelläni. Voittoon asti taitoni eivät kuitenkaan olisi riittäneet, joten sikäli ei jää edes jossiteltavaa :)

Onnea ja menestystä kaikille tasapuolisesti. Jään odottelemaan hyviä oivalluksia ja selkeitä lähdekoodeja.

msdos464 [30.06.2005 17:18:12]

#

"Ns. purkkavirittömäksi tekoälyksi voi sanoa sellaista tekoälyä, joka osaa analysoida tilannetta, eikä pelaa jokaisella mahdollisella tavalla peliä läpi ja siten loppu tulosten perusteella valitse parasta vaihtoehtoa (toimii tämäkin, mutta älyksi ei tuota voi enää sanoa)."

Vaikeaa tehdä tuollainen :D Toivottavasti joku julkistaa lähdekoodin purkkavirittömästä älystä...

Jtm [30.06.2005 17:49:49]

#

"Vaikeaa tehdä tuollainen :D Toivottavasti joku julkistaa lähdekoodin purkkavirittömästä älystä..."

Niimpä :).. Mä luovutan ja lähetän tän mun rupusen tekoälyn tonne ^^.. yksinpelin se hävii aika varmasti, mut moninpelistä en sitte tiiä.. en jaksa enää miettii miten tota vois parantaa.. saa nähä kuinka purkkaviritys oma tekoälyni on ^^

Jtm [30.06.2005 17:51:27]

#

Oikeestaan ihan C++ treenauksen takii osallistuin tähän kilpailuun :).. Aika paljon uutta on tullu opittua ;)

Juice [30.06.2005 19:22:38]

#

Argh, raakileeksi jäi minunkin tekoälyni. En viitsi sitä laittaa tänne. Rippileiri söi viikon arvokasta suunnitteluaikaa :P

Deewiant [30.06.2005 19:36:59]

#

Sama täällä... loppupeleissä ei vain jaksanut alkaa edes kehitellä mitään kunnon algoritmia, saati sitten koodata sellaista. Voisi tietty osallistua hassuilla ottaa-aina-isoimman-ryhmän-, ottaa-aina-pienimmän-ryhmän-, tai Hannu-Hanhi-tekoälyillä, mutta mitä turhia... eivät ne oikeasti pärjää millekään eikä niistä oppisikaan mitään, mitä ei fiksummista tekoälyistä.

Jos jotakuta kiinnostaa, voin kuitenkin pistää sorsat jonnekin. EDIT: lisättäköön, että koodi on aika purkkamaista.

Jtm [30.06.2005 19:57:30]

#

Noniin nyt on lähetetty. Toivottavasti tulee perille Antti :)
Come'n lähettäkää vaan.. voitte voittaa ainakin mut :D

Niko [30.06.2005 23:50:54]

#

Joo mäkin lähtin mun huonon "tekoälyn"

BlueByte [30.06.2005 23:59:53]

#

heh niin minäkin lähetin tommosen raakileen kun piti olla ylitöissä eikä ehtiny koodata loppuu :P

no ainaki oppi koodaamaa puurakenteen ens kertaa varten :)

Antti Laaksonen [01.07.2005 20:25:36]

#

Näillä näkymin kilpailuun osallistuu 13 tekoälyä. Aika monella taisi jäädä projekti kesken, mikä taas kertoo tehtävän haasteellisuudesta. Jos lähetit tekoälyn, mutta et ole saanut varmistusta, ota pikaisesti yhteyttä!

Testipelien tuloksia voi odottaa ensi viikon aikana.

VilleP [01.07.2005 22:39:12]

#

Heh, lähetin itsekin jo tekoälyni, mutta näin jälkeenpäin tarkastellen hieman väärän version. Ihan hyvin tuokin pelaa, kelvatkoon.

13 tekoälyä vaikuttaa ainakin viimevuotiseen osallistumismäärään verrattuna melko vähäiseltä. Hyvänä puolena sentään testiajojen pitäisi nyt viedä jonkin verran vähemmän aikaa.

Antti Laaksonen [01.07.2005 22:58:37]

#

Viime vuoden huikeat lukemat jäivät saavuttamatta, mutta 13 osallistujaa ei ole sekään vähän. Nyt mukaan voidaan ottaa laajempi testipeliaineisto.

BlueByte [08.07.2005 16:05:38]

#

kauan niissä tuloksissa kestää?

Antti Laaksonen [08.07.2005 16:12:26]

#

Suurin osa testipeleistä on pelattu, ja tulokset pyrin saamaan näkyviin viikonlopun aikana.

Niko [09.07.2005 16:54:08]

#

Jee

BlueByte [09.07.2005 22:35:53]

#

kauan vielä

Niko [10.07.2005 01:57:45]

#

21h 59min :P

Antti Laaksonen [10.07.2005 19:11:57]

#

Väripelikilpailun tulokset ovat nyt näkyvissä:
http://www.ohjelmointiputka.net/kilpa.php?tunnus­=vaript

Kilpailun pelit pystyy katsomaan jälkeenpäin nettiselaimen kautta. Kaikki tekoälyt voi myös kopioida käännettynä sekä lähdekoodina. Kilpailusivuille tulee ehkä myöhemmin vielä lisää tilastoja.

Kiitokset kilpailun osallistujille!

Deewiant [10.07.2005 20:22:38]

#

ilepiravin ja iron sorsat näyttäisivät puuttuvan. EDIT: nevermind, tajuan jo miksi - binääri on sorsa.

ESKO pärjäsi yllättävän hyvin ottaen huomioon yksinkertaisen toimintaperiaatteensa. Ajattelin itsekin tehdä sen- tai ilepirav-tyyppisen tekoälyn, mutta kuvittelin että sellainen häviäisi kirkkaasti.

Onnea voittajalle ja ylipäätään kaikille tuloksiinsa tyytyväisille!

EDIT: testailin muuten omalla koneellani tekoälyjä, ja huvittavasti kaikki kolme parasta - python, pupilli, ogre - käyttivät yli kaksi sekuntia aikaa (käytin testikenttänä pupilli.alk-tiedostoa). Kertoo jotain optimoinnista :-)

FooBat [10.07.2005 21:45:40]

#

iro ja bingo ovat tuloksissa väärin päin.

Kärki oli yllättävänkin tasainen. Pythonin idea tuntuu varsin mielenkiintoiselta. Pitää varmaan tutkia vähän tarkemmin miten toi oikeasti voi toimia :)

Deewiant [10.07.2005 21:55:19]

#

Esittelysivulla ogren väitetään olevan C++:a lähdekoodiltaan, pitäisi olla ihan C:tä.

BTW, jos joku saa hyvän idean seuraavaa kilpailua varten, tehköön keskusteluketjun tälle alueelle - ajattelin ensin itse tehdä, kuten viimeksikin, mutten keksinyt mitään fiksua niin päätin jättää sikseen.

ajv [10.07.2005 21:59:54]

#

Onnea voittajalle. Mielenkiintoista luettavaa nuo kärkipään koodit. Harmittaa, ettei aika riittänyt osallistumiseen. Seuraavaan kilpailuun osallistun vaikka väkisin.

VilleP [10.07.2005 22:24:15]

#

Antti Laaksonen kirjoitti:

Kiitokset kilpailun osallistujille!

Ja samoin kiitokset järjestäj(i/ä)lle hyvin järjestetystä kilpailusta.

Mutta ainahan voi löytää valittamisen aihetta, eli tarjota rakentavaa kritiikkiä, heh. Satunnaiskenttien värimäärät olisi nimittäin kannattanut valita periaatteella (suurempi kenttä -> enemmän värejä), sillä kuten tulossivulla mainittiinkin, muutoin siirtoja eteenpäin laskevat ohjelmat saavat laskettua hyvinkin helposti optimaalisen tuloksen lähes joka kentällä.

FooBat kirjoitti:

Kärki oli yllättävänkin tasainen. Pythonin idea tuntuu varsin mielenkiintoiselta.

Tasaisuudesta pääsee eroon, kun tekoälyjä tarkastelee "vaativilla" kentillä. Esim. 30x30x8 satunnaiskentillä python-ohjelma jättää omalla koneellani keskimäärin n. 10 neliötä jäljelle, siinä missä sekalainen pupilli-viritykseni tyytyy lopettamaan toiminnan useimmiten jo n. 50 neliön kohdalla. Noh, ensi kerralla taas uudestaan.

BlueByte [10.07.2005 23:09:12]

#

Antti, milloin järjestetään ensi kilpailu? Ajanpuutteen takia meni tämä aivan plörinäks :(

Lisää tekoälykilpailuja.. nää on ollut tosi hauskoja :)

egaga [10.07.2005 23:25:26]

#

Kiitos tosiaan kisan järjestäjälle, seuraavaa odotetaan mielenkiinnolla. Olisi kiva ollut nähdä enemmänkin osanottajia, mutta 13 on oikein hyvä määrä sekin.
Villen huomio on tasaisuudesta aiheellinen, etukäteen pelkäsin, että ei testata kovin monella suurella 8-värisellä kentällä. Silti ehkä uhkarohkeasti testailin ohjelmaani vain 8-värisillä isoilla kentillä sekä tarkkuutta Villen 10x10-kentällä.
Ensi kerralla voisi myös pisteytys olla hiukan erilainen, nyt laaja ja värimäärältään hankala kenttä painottaa tuloksia paljon, koska erot tekoälyjen välillä ovat suuret (mikä nyt sattui tällä kertaa tasoittamaan laajojen kenttien puutetta). Parempi olisi ollut ehkä laskea kenttäkohtaiset sijoitukset yhteen käänteisesti (silloin tosin kenttien vaativuus taso olisi saanut olla korkeampi, että erot olisivat selkeämmät).
Miten olisi seuraavaksi jokin laskennallisesti hiukan "epätarkempi" oleva aihe. Esimerkiksi jokin robottitaistelu ammuksin (kenties myös joukkuekisa). Vai olisiko aihe liian aikaavievä, jolloin osallistumisia ei tulisi juuri.

FooBat [10.07.2005 23:31:05]

#

Fantti-tekoälyllä on yhteispiste sarakkeessa 1000 pistettä liian vähän. Sijaluku nousee paljon merkittyä korkeammalle.

VilleP kirjoitti:

Tasaisuudesta pääsee eroon, kun tekoälyjä tarkastelee "vaativilla" kentillä.

Tulin vasta nyt katsoneeksi tarkemmin testiaineistoa ja tuossahan se syy tasaisuuteen onkin. Testiaineistossa olevat satunnaiset pelit ovat tosiaan aivan liian helppoja vähänkin paremmille tekoälyille ja monissa osallistujien lähettämissä tuotoksissa ei paljon eroja pääse syntymään. Ihmettilinkin vähän miten oma tuotokseni ei jäänyt enempää kärjestä.

Kyllähän tuo python näyttäisi olevan aika ylivoimainen vaikeimmilla peleillä, vaikka vieläkin hiukan ihmettelen miten sen idea voi oikeasti toimia. (Siksipä en kisaa voittanutkaan :)

Niko [11.07.2005 11:13:23]

#

Jes! En ollut ihan viimeinen. Moninpelissä näköjään oli parempi vaikka en moninpeliä edes ehtiny säätämään :P

Antti Laaksonen [11.07.2005 16:41:24]

#

Ilmoitetut virheet tulossivuilla on korjattu.

Olette oikeassa siinä, että paremmin suunniteltu testiaineisto olisi voinut tuoda enemmän eroja esiin. Toisaalta nykyinen pistejärjestys antaa melko hyvän kuvan tekoälyjen taidosta myös suurimmalla ruudukolla kahdeksalla värillä. Lisäksi kärkinelikon ulkopuolisilla tekoälyillä oli riittämiin tekemistä helpommillakin ruudukoilla.

Joka tapauksessa ennen seuraavaa tämäntapaista kilpailua olisi hyvä suunnitella mahdollisimman pitkälle yhdessä sääntöjä ja testiaineistoa, jotta koko juttu ei jää minun vastuulleni. Nyt kun kilpailuja on jo muutama takanapäin, pahimmat sudenkuopat onnistutaan tosin varmaan välttämään tulevissa koitoksissa. Kuitenkaan heti perään uutta kilpailua ei aloiteta: muuten niistä menee maku.

FooBat [11.07.2005 19:42:21]

#

Jäi muuten Villen haasteessa vain 5 palikkaa, kun pelasin peliä omalla tekoälylläni (ogre) melko loppuun (noin 200 jäljellä) ja jauhoin loppua muutaman kerran python tekoälyllä.

Jtm [17.07.2005 22:01:00]

#

Ja taas kotona viikon mökillä olon jälkeen :)... Kappas tuli 5. sija :)

Muuten yksinpeli A osiossa ja colorado.alk radassa ainakin kotona oma tekoälyni (Fantti) sai 20 siirrolla poistettua 63 neliötä. Kokeilkaa muutkin toimiiko teillä? Itselläni on vanha rupunen AMD Athlon Thunderbird 1400MHz


Sivun alkuun

Sivut:

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta