ICFP Programming Contest - ICFP Programming Contest
The ICFP Programming Contest je mezinárodní programátorská soutěž pořádaná každoročně kolem června nebo července od roku 1998, s výsledky vyhlašovanými na Mezinárodní konference o funkčním programování.
Týmy mohou být jakékoli velikosti a lze použít libovolný programovací jazyk (jazyky). Neexistuje také žádný vstupní poplatek. Účastníci mají 72 hodin na vyplnění a odeslání přihlášky přes internet. Často je zde také 24hodinová divize blesků.
Vítězové si vyhrazují „chvástatá práva“, aby tvrdili, že jejich jazyk je „programovací nástroj volby pro diskriminaci hackerů“. Jedním z cílů soutěže je proto předvést schopnosti oblíbených programovacích jazyků a nástrojů soutěžících. Předchozí vítězové první ceny využili Haskell, OCaml, C ++, Cilk, Jáva, F# a Rez.
Soutěže obvykle obsahují přibližně 300 přihlášených příspěvků.[1][2]
Minulé úkoly
Rok | Organizátor | Popis |
---|---|---|
1998 | Université de Montréal a Massachusetts Institute of Technology | Napište program, který hraje pousse, zvláštní varianta tic-tac-toe. Soutěžní programy byly zařazeny do turnaje, aby se určil program na prvním a druhém místě. |
1999 | Harvardská Univerzita | Optimalizace velikosti případ prohlášení (soutěžní úkol hovořil o textovém dobrodružné hry, ale ve skutečnosti bylo úkolem optimalizovat velikost popisu takové hry). |
2000 | Cornell University | Implementujte ray tracer pomocí Postscriptové syntaxe. |
2001 | INRIA Rocquencourt | Optimalizujte velikost značkovacího jazyka podobného HTML odstraněním zbytečných mezer a značek atd. |
2002 | OGI School of Science and Engineering | Implementujte roboty hrající a Sokoban - jako hra jeden proti druhému. |
2003 | Chalmers University | Implementujte roboty, kteří řídí auto co nejrychleji prostřednictvím různých závodních tratí. |
2004 | University of Pennsylvania | Navrhněte kolonii mravenců, která přivede většinu potravinových částic zpět do mraveniště, přičemž odrazí mravence jiného druhu. Ze soutěžního příspěvku by vycházel popis stavového stroje mravence: v zásadě mohly být příspěvky psány ručně. Později byl úkol upraven do Ant Wars, a strategie a programovací hra kde každý účastník je druh mravenec. Účastník poté v jazyce zvaném Antomata[3] program a konečný stavový stroj fungovat jako mozek každého mravence. Mravenec mozek poté ovládněte mravence, aby našel a sbíral jídlo, které si přivezl domů mraveniště, aby odrazili útočníky nebo vytvářeli stopy feromonů. |
2005 | PLT skupina | Implementujte „roboty“ pro hru „Cops & Robbers“: soutěžící musí napsat kontrolní program, který provede Robber-Bota tichým městským sousedstvím na misi vyloupit každou banku, aniž by byl chycen, a kontrolní program pro Cop- Bot se tomu věnoval. |
2006 | Univerzita Carnegie Mellon | Implementujte virtuální stroj, na kterém běží operační systém (tzv UMIX ) poskytované soudci a prolomit je pomocí nových programovacích jazyků s nekonvenční syntaxí a sémantikou, jako je 2D a verze ZÁKLADNÍ pomocí římských číslic. Mnoho hádanek byly drobné verze nebo parodie na předchozí soutěže. |
2007 | Utrechtská univerzita | Implementujte dvoustupňový virtuální stroj, který provádí řetězec podobný DNA za účelem vytvoření obrazu. Poté, vzhledem k vstupnímu řetězci pro tento stroj, najděte předponu, která po přidání do tohoto řetězce poskytne obrázek co nejblíže danému cílovému obrázku. |
2008 | Státní univerzita v Portlandu a University of Chicago | Poskytněte řídicí systém roverů Mars, který jej dovede na domácí základnu a vyhýbá se překážkám a nepřátelům. |
2009 | University of Kansas | Ovládejte satelit a pohybujte se mezi určenými oběžnými drahami a setkáním s jinými satelity. |
2010 | Leipzig University of Applied Science, Německo | Mezinárodní výroba automobilů a paliv. |
2011 | Tohoku University, Japonsko | Naprogramujte počítač s 256 „sloty“ tak, aby přečkal svého soupeře, pokud jde o sloty zbývající na konci zápasu. Příspěvky zahrnují spustitelné soubory, které jsou zařazeny do dvoufázového turnaje. |
2012 | University of St Andrews, Skotsko | Naprogramujte AI na a Boulder Dash - jako hra. |
2013 | Microsoft Research | Hádejte implementaci funkce blackbox implementované v jednoduchém funkčním jazyce pomocí dotazu na webovou službu. |
2014 | University of Oxford a dobře napsaný LLP | Napište programy AI pro hru jako pacman Stroj SECD instrukce pro pacman a 8-bit návod na montáž stroje pro čtyři přízraky. |
2015 | Galois | Napište AI pro Tetris - jako hra na poli šestiúhelníkové mřížky, která vkládá tajné fráze do sekvence pohybu. |
2016 | University of Electro-Communications | Napište AI pro vyřešení abstraktu origami. |
2017 | University of Edinburgh | Napište AI pro hru, kde si hráči zase nárokují části trasy na mapě a vyhrává ta s nejlepším pokrytím. K dispozici jsou také tři rozšíření hlavního herního režimu, na mapě lze povolit libovolný počet. |
2018 | Rochester Institute of Technology | Generujte stopy nanobotů pro konstrukci, destrukci a rekonstrukci cílových 3D objektů při minimalizaci použité energie. |
2019 | Yale-NUS College a Singapurská národní univerzita | Worker-Wrappers proti bit rot.[4] |
Ceny
Ceny mají skromnou peněžní hodnotu, jejichž hlavním cílem je pomoci vítězům zúčastnit se konference, kde se ceny udělují a porotci učiní následující prohlášení:
- První cena
- [Jazyk 1] je programovací nástroj volby pro diskriminaci hackerů.
- Druhá cena
- [Jazyk 2] je skvělý programovací nástroj pro mnoho aplikací.
- Třetí cena
- [Jazyk 3] také není příliš ošuntělý.
- Vítěz divize blesků
- [Jazyk L] je velmi vhodný pro rychlé prototypování.
- Cena rozhodčích
- [Tým X] jsou velmi cool parta hackerů.
Pokud výherní soutěž zahrnuje několik jazyků, jsou vítězové vyzváni, aby nominovali jeden nebo dva jazyky. Jazyky uvedené v prohlášeních soudců byly:
Rok | První cena | Druhá cena | Třetí cena | Blesk |
---|---|---|---|---|
1998 | Cilk | OCaml | ||
1999[5] | OCaml | Haskell | [6] | |
2000[7] | OCaml | OCaml | ||
2001[8] | Haskell | Dylan | ||
2002 | OCaml | C | [6] | |
2003 | C ++ | C ++ | OCaml | |
2004[9] | Haskell | Haskell a C ++ | Jáva a C ++ | |
2005[10] | Haskell | Dylan | Haskell | |
2006 | 2D[11] | D | Shromáždění | |
2007 | C ++ | Perl | [12] | |
2008[13] | Jáva | ML | ||
2009[14] | C ++ | Jáva | ML | |
2010[15] | C ++, Haskell, Krajta | SageMath | ||
2011[16] | F# | Shell a C ++ | ||
2012[17] | C ++ | OCaml | Jáva | |
2013[18] | Jáva, C#, C ++, PHP, Rubín a Haskell | C ++ a Krajta | C#, C ++, bash, awk, sed a Vynikat | C ++ |
2014[19] | Haskell | C ++ | Perl | OCaml |
2015[20] | C ++, Jáva, C#, PHP, Rubín a Haskell | C ++, Krajta, JavaScript | C ++ | C ++ |
2016[21] | Jáva, C ++, C#, PHP, Haskell | C ++, Rubín, Krajta, Haskell, Jáva, JavaScript | OCaml | |
2017[22] | C ++ | C ++ | OCaml | |
2018[23] | Rez | C ++, Krajta, Rubín, JavaScript, bash a SQL | OCaml | |
2019[24] | Rez | C ++ | C ++ a Haskell |
Viz také
Odkazy a poznámky
- ^ „ICFP Programming Contest Scoreboard“. Citováno 23. září 2012.
- ^ https://alliance.seas.upenn.edu/~plclub/cgi-bin/contest/results.php
- ^ „Antomata - jazyk mravenčích válek“. Archivovány od originál dne 29. 9. 2007. Citováno 2007-11-25.
- ^ „Soutěž začíná“. ICFP Programming Contest 2019. 2019-06-21. Citováno 2020-07-15.
- ^ Konečné výsledky Programové soutěže ICFP'99
- ^ A b Soutěže v letech 1999 a 2002 měly divizi blesků, ale bez samostatné ceny. Vítězové této divize byli oceněni cenami rozhodčích.
- ^ Třetí výroční programovací soutěž ICFP
- ^ Čtvrtá programovací soutěž ICFP
- ^ Sedmá soutěž v programování ICFP
- ^ Osmý ročník programovací soutěže ICFP
- ^ 2D byl jazyk hraček vynalezený pro soutěž 2006. Vítězný tým použil C ++, Haskell, Krajta, Bash a 2D.
- ^ Soutěž v roce 2007 měla divizi blesků, ale protože po 24 hodinách nebyl jasný vůdce, rozhodčí rozhodli, že vítěze nevyberou.
- ^ Výsledky soutěže ICFP 2008 Programming Contest
- ^ http://www.vimeo.com/6613815 - zpřístupněno 23. září 2009
- ^ ICFP 2010 Programming Contest (video)
- ^ ICFP Programming Contest 2011
- ^ ICFP Programming Contest 2012
- ^ ICFP Programming Contest 2013
- ^ ICFP Programming Contest 2014
- ^ ICFP Programming Contest 2015
- ^ ICFP Programming Contest 2016
- ^ ICFP Programming Contest 2017
- ^ ICFP Programming Contest 2018
- ^ „Konečné výsledky“. ICFP Programming Contest 2019. 2019-08-20. Citováno 2020-07-15.
Vytrvalé týmy
- Al-Gore-rytmy (aka The Doug Boat)
- Jezdci Caml
- Třecí banány
- DylanHackers Zpráva z roku 2005
- O Caml, můj Caml
- Tým Smartass
- Sir Bedevere moudrý
externí odkazy
- Soutěž na webu ICFP
- 1998 soutěžní web
- Zrcadlo soutěžního úkolu z roku 1998
- (Částečné) zrcadlo stránky soutěže z roku 1999
- 2000 soutěžní web
- 2001 soutěžní web
- 2002 soutěžní web
- 2003 soutěžní web
- Web soutěže 2004
- Web soutěže 2005
- Web soutěže 2006
- Web soutěže 2007
- Web soutěže 2008
- Web soutěže 2009
- Web soutěže 2010
- Web soutěže 2011
- 2012 soutěžní web
- Web soutěže 2013
- Web soutěže 2014
- 2015 soutěžní web
- Web soutěže 2016
- Historie soutěže o programování ICFP (Ward Cunningham je Wiki )
- Programovací geekové bojují až do konce na Archiv. Dnes (archivováno 02.01.2013) (CNET)
- Tajemství počítačového kódu plné fikcí poseté „starodávnými“ hádankami (Pittsburgh Post-Gazette )
- Video z výsledků soutěže 2006
- Video z výsledků soutěže 2007
- Video z výsledků soutěže 2008
- Písemná zpráva o soutěži z roku 2007
Ant War hra
- https://web.archive.org/web/20110723014332/http://www.ant-wars.net/ - Domovská stránka
- http://sourceforge.net/projects/formicidae/ - Projekt na sourceforge.net
- https://web.archive.org/web/20071125152658/http://alliance.seas.upenn.edu/~plclub/cgi-bin/contest/ Oficiální stránka úkolu na programovací soutěži ICFP 2004