ICFP-ohjelmointikilpailu

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 5. heinäkuuta 2022 tarkistetusta versiosta . tarkastukset vaativat 9 muokkausta .

ICFP Programming Contest on kansainvälinen ohjelmointikilpailu, joka järjestetään vuosittain kesä-heinäkuussa vuodesta 1998 lähtien. Kilpailun tulokset julkistetaan kansainvälisessä toiminnallisen ohjelmoinnin konferenssissa .

Komennot voivat olla minkä kokoisia tahansa ja käyttää mitä tahansa ohjelmointikieltä (tai useita kieliä). Osallistumismaksuja ei ole. Osallistujat saavat 72 tuntia aikaa tehtävien suorittamiseen ja ratkaisujen lähettämiseen Internetin kautta . Joskus järjestetään 24 tunnin blitz-turnaus.

Voittajilla on erityinen oikeus väittää, että heidän suosikkikielinsä on "nirso hakkerin valinta". Yksi kilpailun tavoitteista on siis pystyä esittelemään kilpailun osallistujan käyttämien ohjelmointikielen ja työkalujen mahdollisuuksia. Pääpalkinnon voittajat ovat aiemmin käyttäneet ongelmien ratkaisemiseen kieliä, kuten Haskell , OCaml , C++ , Cilk ja Java .

Tehtävät

vuosi Järjestäjä Tehtävä
1998 Massachusettsin Teknologian Instituutti Kirjoita ohjelma, joka simuloi versoa , eräänlainen tic-tac-toe- peli . Esitetyt ohjelmat jaettiin ensimmäiselle ja toiselle sijalle.
1999 Harvardin yliopisto Tapailmaisujen optimointi ( tehtävän kuvauksessa sanottiin tekstitehtävästä , mutta itse asiassa tehtävä rajoittui tällaisen pelin kuvauksen optimointiin).
2000 Cornellin yliopisto Toteuta säteen polku Postscriptin kaltaisella syntaksilla.
2001 INRIA Rocquencourt HTML - tyyppisen merkintäkielen optimointi poistamalla tarpeettomat välilyönnit, tagit jne.
2002 OGI Tiede- ja tekniikan korkeakoulu Toteuta robotteja, jotka voivat pelata toisiaan vastaan ​​Sokobanin kaltaisessa pelissä .
2003 Chalmersin teknillinen yliopisto Toteuta robotteja, jotka pystyvät ajamaan autoa suurimmalla mahdollisella nopeudella vaihtelevan monimutkaisuuden omaavilla radoilla.
2004 Pennsylvanian yliopisto Muurahaissiirtokunta. Luo yhdyskunta, joka voi toimittaa ruokaa muurahaispesään nopeammin ja välttää muita muurahaislajeja. Ratkaisu oli tilakone. Tehtävä sovitettiin myöhemmin Ant Wars -strategiaohjelmointipeliksi Antomata, [1] äärellisen tilan konekuvauskielellä .
2005 PLT ryhmä Toteuta botit "Cops & Robbers" -peliin. Ratkaisu oli kaksi hallintaohjelmaa, yksi rosvobotille, jonka tehtävänä oli ryöstää kaikki lähialueen pankit ilman, että poliisi jäisi kiinni, toinen poliisibotille, joka nappaa rosvoja.
2006 Carnegie Mellonin yliopisto Ota käyttöön virtuaalikone järjestäjien tarjoaman UMIX- käyttöjärjestelmän käyttämiseksi . Pura se sitten uusilla ohjelmointikielillä, joilla on epätavallinen syntaksia, kuten 2D ja BASICin roomalainen versio. Monet minimysteerit yksinkertaistetuilla versioilla tai parodioilla aiemmista peleistä.
2007 Utrechtin yliopisto Toteuta kaksivaiheinen virtuaalikone, joka suorittaa DNA:n kaltaisen merkkijonon kuvan saamiseksi. Etsi tietylle merkkijonolle etuliite, joka merkkijonoon lisättynä tuottaa kuvan, joka muistuttaa eniten kohdetta.
2008 Portland State University ja Chicagon yliopisto Roverin ohjausjärjestelmä, joka toteuttaa paluun tukikohtaan. On vältettävä esteitä ja vihollisia.
2009 Kansasin yliopisto Satelliittiohjaus Maan kiertoradalla: siirtyy kiertoradan välillä ja telakointi muihin satelliitteihin.
2010 Leipzigin ammattikorkeakoulu , Saksa Kansainvälinen ajoneuvojen ja polttoaineiden tuotanto.
2011 Tohokun yliopisto , Japani Tietokoneen ohjelmointi, jossa on 256 "paikkaa" voittamaan vastustajan ottelun lopussa jäljellä olevien paikkojen lukumäärällä. Osallistujien päätösten välillä järjestetään kaksitasoinen turnaus.
2012 St. Andrews , Skotlanti Käytä tekoälyä esimerkiksi Boulder Dash -pelissä .
2013 Microsoft Research , USA Valitse aritmeettis-looginen funktio käyttämällä esimerkkejä parametreista ja lähtöarvoista.
2014 Oxfordin yliopisto Luo ohjelma viimeistelläksesi Pac-Man- pelin kaltaisen sokkelon .
2015 Galois [2] , Yhdysvallat Kirjoita ohjelma viimeistelemään Tetriksen kaltainen peli .
2016 Sähköviestinnän yliopisto, Tokio Luo ohjelma palauttaaksesi origami -pyyhkäisyn kootun litteän hahmon ulkonäöstä.
2017 Edinburghin yliopisto Luo ohjelma analogisen Ticket to Ride -pelin toistamiseksi.
2018 Rochester Institute of Technology , Yhdysvallat Luo ohjelma, joka luo komentoja nanoboteille, joiden on koottava, purettava tai koottava uudelleen tietyt 3D-objektit, mikä minimoi energiankulutuksen.
2019 Yale-NUS College ja National University of Singapore , Singapore Luo ohjelma, joka ohjaa maalausrobottia, jonka on peitettävä kaikki tasokartan solut. Tavoitteena on kattaa koko tason pinta mahdollisimman pienessä ajassa keräämällä ja levittämällä erilaisia ​​boostereita hajallaan kartalla.
2020 SKB Kontur Toteuta avaruusolioilta saatujen määritelmien mukainen virtuaalikone , käytä sillä avaruusolioilta saatua pelipalvelinta, ymmärrä pelin säännöt (kaksiulotteinen avaruustaistelu planeetan kiertoradalla diskreetillä fysiikalla Tšebyshevin etäisyyksillä, komennoilla: kiihdytys, laukaus , jako ja itseräjäytys), kirjoita botti osallistuaksesi tämän pelin mestaruuteen.

Voittajat

Palkinto on pieni rahasumma, jonka avulla voittaja voi kompensoida ICFP-konferenssiin osallistumisesta aiheutuvat kustannukset. Tuomaristo jakaa useita palkintoja:

Ensimmäinen palkinto [Kieli 1] ohjelmointityökaluna älykkäille hakkereille. Toinen palkinto [Kieli 2] kätevänä työkaluna monien sovellusten kehittämiseen. Kolmas palkinto [Kieli 3] ei myöskään ole liian käynnissä. Lightning-divisioonan voittaja [Kieli L] soveltuu hyvin nopeaan prototyyppien luomiseen. Tuomariston palkinto [Team X] on erittäin siisti joukko hakkereita.

Jos voittajat käyttivät useampaa kuin yhtä kieltä, he nimeävät yhden tai kaksi käytetyistä kielistä.

vuosi Ensimmäinen palkinto Toinen palkinto Kolmas palkinto "Salama"
1998 Cilk OCaml
1999 OCaml Haskell -
2000 OCaml OCaml
2001 Haskell Dylan
2002 OCaml C -
2003 C++ C++ OCaml
2004 Haskell Haskell ja C++ Java ja C++
2005 Haskell Dylan Haskell
2006 2D [3] D kokoonpanokieli
2007 C++ Perl ei voittajaa
2008 Java ML [4]
2009 C++ Java ML [5]
2010 C++ , Haskell , Python Salvia
2011 [6] F# Shell ja C++
2012 C++
2013 [7] Java, C#, C++, PHP, Ruby ja Haskell C# , C++
2014 Haskell
2015 C++, Java, C#, PHP, Ruby ja Haskell
2016 [8] Java , C++ , C# , PHP , Haskell C++ , Ruby , Python , Haskell , Java , JavaScript OCaml
2017 [9] C++ C++ OCaml
2018 [10] Ruoste C++ , Python , Ruby , JavaScript , Bash ja SQL OCaml
2019 [11] Ruoste C++ C++ ja Haskell
2020 [12] Python C++ (ensimmäinen voittaja), Rust (toinen voittaja) Haskell

Katso myös

Muistiinpanot

  1. Antomata - The Language of Ant Wars Arkistoitu 29. syyskuuta 2007.
  2. ICFP-ohjelmointikilpailu järjestetään tänä viikonloppuna - Galois, Inc.  (englanniksi) . Arkistoitu alkuperäisestä 26. marraskuuta 2015, Galois, Inc. Haettu 26. marraskuuta 2015.
  3. 2D on keinotekoinen kieli, joka keksittiin vuoden 2006 kilpailuun. Voittajat käyttivät C++ , Haskell , Python , Bash , 2D ja Google Inc :n käyttämää nimeämätöntä omaa kieltä (nykyisin Alphabet).
  4. http://web.cecs.pdx.edu/~sheard/2008IcfpContest/ Arkistoitu 8. huhtikuuta 2011 Wayback Machinessa - käytetty 23. syyskuuta 2009
  5. http://www.vimeo.com/6613815 Arkistoitu 9. marraskuuta 2012 Wayback Machinessa - käytetty 23. syyskuuta 2009
  6. ICFP Programming Contest 2012  (englanniksi)  (downlink) . icfpcontest.org . Haettu 13. syyskuuta 2012. Arkistoitu alkuperäisestä 21. huhtikuuta 2012.
  7. ICFP-ohjelmointikilpailu 2013 (downlink) . Käyttöpäivä: 16. lokakuuta 2013. Arkistoitu alkuperäisestä 16. lokakuuta 2013. 
  8. ICFP-ohjelmointikilpailu 2016
  9. ICFP-ohjelmointikilpailu 2017 . Haettu 29. toukokuuta 2021. Arkistoitu alkuperäisestä 5. maaliskuuta 2021.
  10. ICFP-ohjelmointikilpailu 2018 . Haettu 16. toukokuuta 2020. Arkistoitu alkuperäisestä 31. lokakuuta 2020.
  11. Lopulliset tulokset  . ICFP-ohjelmointikilpailu 2019 (20. elokuuta 2019). Haettu 15. heinäkuuta 2020. Arkistoitu alkuperäisestä 7. marraskuuta 2020.
  12. ICFP-ohjelmointikilpailun palkinnot ja raportit  ( 26. elokuuta 2020). Haettu 29. toukokuuta 2021. Arkistoitu alkuperäisestä 2. kesäkuuta 2021.

Pysyvät osallistuvat tiimit

Linkit

Ant War peli