ICFP Programming Contest - ICFP Programming Contest
ICFP Programming Contest je mezinárodní programovací soutěž koná každý rok přibližně v červnu nebo v červenci roku 1998, s výsledky oznámil na mezinárodní konferenci o funkcionální programování .
Týmy mohou mít libovolnou velikost a lze použít jakýkoli programovací jazyk (jazyky). Rovněž se neplatí žádný vstupní poplatek. Účastníci mají 72 hodin na vyplnění a odeslání svého příspěvku přes internet. Často existuje také 24hodinová blesková divize.
Vítězové si vyhrazují „vychloubací práva“ a tvrdí, že jejich jazyk je „programovacím nástrojem 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 použili Haskell , OCaml , C ++ , Cilk , Java , F# a Rust .
Soutěže obvykle obsahují přibližně 300 přihlášených příspěvků.
Minulé úkoly
| Rok | Organizátor | Popis |
|---|---|---|
| 1998 | Université de Montréal a Massachusetts Institute of Technology | Napište program, který hraje pousse , lichou variantu tic-tac-toe. Soutěžící programy byly zařazeny do turnaje, aby určily program na prvním a druhém místě. |
| 1999 | Harvardská Univerzita | Size-optimalizovat případ prohlášení (úloha soutěž hovořil o textových adventur , ale ve skutečnosti je úkolem bylo velikostní optimalizaci popis takové hry). |
| 2000 | Cornell University | Implementujte ray tracer pomocí syntaxe podobné Postscriptu. |
| 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 | Implementovat roboty hrající si Sokoban -jako hra jednoho proti sobě. |
| 2003 | Chalmersova univerzita | Implementujte roboty, kteří budou řídit auto co nejrychleji po různých závodních tratích. |
| 2004 | University of Pennsylvania | Navrhněte kolonii mravenců, která přinese co nejvíce potravinových částic zpět do mraveniště a zároveň odrazí mravence jiného druhu. Ze soutěžního příspěvku by vyplynul stavový popis mravence: příspěvky by v zásadě mohly být psány ručně. Později byl úkol přizpůsoben hře Ant Wars, strategické a programovací hře, kde každý účastník je druh mravence . Účastník poté v jazyce zvaném Antomata naprogramuje stroj s konečným stavem, který bude fungovat jako mozek každého mravence. Mravčí mozek pak ovládá mravence, aby našel a sbíral potravu, kterou přivedl na domácí mravenčí kopec , aby odrazil útočníky nebo vytvořil stopy feromonů. |
| 2005 | Skupina PLT | Implementujte „roboty“ pro hru „Policajti a lupiči“: Soutěžící musí napsat kontrolní program, který provede Robber-Bot tichým městským sousedstvím na misi s cílem vyloupit každou banku, aniž by byl chycen, a kontrolní program pro policistu. Bot se rozhodl to zastavit. |
| 2006 | Univerzita Carnegie Mellon | Implementujte virtuální stroj, na kterém běží operační systém (nazývaný UMIX ) poskytovaný porotci, a prolomte jej pomocí nových programovacích jazyků s nekonvenční syntaxí a sémantikou, jako je 2D a verze BASIC pomocí římských číslic. Mnoho hádanek bylo malými verzemi nebo parodiemi předchozích soutěží. |
| 2007 | Univerzita v Utrechtu | Implementujte dvoustupňový virtuální stroj, který k vytvoření obrázku spustí řetězec podobný DNA. Poté s ohledem na vstupní řetězec pro tento stroj najděte předponu, která po přidání do tohoto řetězce poskytne obraz co nejblíže danému cílovému obrázku. |
| 2008 | Portlandská státní univerzita a Chicagská univerzita | Poskytněte řídicí systém roveru Mars, který ho navede na domovskou základnu a zároveň se vyhýbá překážkám a nepřátelům. |
| 2009 | University of Kansas | Ovládejte satelit a přesouvejte 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 | Univerzita Tohoku , Japonsko | Naprogramujte počítač s 256 „sloty“ tak, aby přečkal svého soupeře, pokud jde o počet slotů, které zbývají na konci zápasu. Přihlášky zahrnují spustitelné soubory, které jsou zařazeny do dvoufázového turnaje. |
| 2012 | University of St Andrews , Scotland | Naprogramujte AI pro hru podobnou Boulder Dash . |
| 2013 | Microsoft Research | Hádejte implementaci funkce blackboxu implementované v jednoduchém funkčním jazyce pomocí dotazování webové služby. |
| 2014 | University of Oxford and Well-Typed LLP | Napište programy AI pro hru podobnou pacmanovi, v pokynech ke stroji SECD pro pacman a podle pokynů pro sestavení 8bitového stroje pro čtyři duchy. |
| 2015 | Galois | Napište AI pro hru podobnou Tetrisu na pole mřížky šestiúhelníku, které do posloupnosti tahů vkládá tajné fráze. |
| 2016 | University of Electro-Communications | Napište AI a vyřešte abstraktní origami . |
| 2017 | University of Edinburgh | Napište AI pro hru, kde si hráči zase nárokují části trasy na mapě a ta, která má nejlepší pokrytí, vítězí. K dispozici jsou také tři rozšíření hlavního herního režimu, z nichž libovolný počet lze povolit na mapě. |
| 2018 | Rochester Institute of Technology | Generujte stopy nanobotů pro konstrukci, destrukci a rekonstrukci cílových 3D objektů při minimalizaci spotřeby energie. |
| 2019 | Vysoká škola Yale-NUS a Singapurská národní univerzita | Worker-Wrappers proti Bit Rot. |
| 2020 | SKB Kontur | Sestavte virtuální stroj podle specifikace mimozemšťana , spusťte na tomto virtuálním počítači herní server poskytovaný mimozemšťany, prozkoumejte hru (2D vesmírná bitva na oběžné dráze planety s Chebyshevovou vzdáleností, s příkazy akcelerace, střílení, rozdělení a detonace), protokol zpětného inženýrství a vytvořit bota hrát tuto hru. |
Ceny
Ceny mají skromnou peněžní hodnotu, primárně zaměřené na pomoc vítězům zúčastnit se konference, kde se ceny udělují a porotci činí následující prohlášení:
- První cena
- [Language 1] je programovací nástroj, který lze zvolit pro diskriminaci hackerů.
- Druhá cena
- [Language 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 bleskové divize
- [Jazyk L] je velmi vhodný pro rychlé prototypování.
- Cena rozhodčích
- [Team X] jsou extrémně skvělá parta hackerů.
Pokud vítězný příspěvek zahrnuje několik jazyků, jsou vítězové požádáni, aby navrhli jeden nebo dva. Jazyky pojmenované v prohlášeních rozhodčích byly:
| Rok | První cena | Druhá cena | Třetí cena | Blesk |
|---|---|---|---|---|
| 1998 | Cilk | OCaml | ||
| 1999 | OCaml | Haskell | ||
| 2000 | OCaml | OCaml | ||
| 2001 | Haskell | Dylan | ||
| 2002 | OCaml | C | ||
| 2003 | C ++ | C ++ | OCaml | |
| 2004 | Haskell | Haskell a C ++ | Java a C ++ | |
| 2005 | Haskell | Dylan | Haskell | |
| 2006 | 2D | D | Shromáždění | |
| 2007 | C ++ | Perl | ||
| 2008 | Jáva | ML | ||
| 2009 | C ++ | Jáva | ML | |
| 2010 | C ++ , Haskell , Python | SageMath | ||
| 2011 | F# | Shell a C ++ | ||
| 2012 | C ++ | OCaml | Jáva | |
| 2013 | Java , C# , C ++ , PHP , Ruby a Haskell | C ++ a Python | C# , C ++ , bash , awk , sed a Excel | C ++ |
| 2014 | Haskell | C ++ | Perl | OCaml |
| 2015 | C ++ , Java , C# , PHP , Ruby a Haskell | C ++ , Python , JavaScript | C ++ | C ++ |
| 2016 | Java , C ++ , C# , PHP , Haskell | C ++ , Ruby , Python , Haskell , Java , JavaScript | OCaml | |
| 2017 | C ++ | C ++ | OCaml | |
| 2018 | Rez | C ++ , Python , Ruby , JavaScript , bash a SQL | OCaml | |
| 2019 | Rez | C ++ | C ++ a Haskell | |
| 2020 | Krajta | C ++ (první vítěz), Rust (druhý vítěz) | Haskell | |
| 2021 | C ++ , Rust | Rez | Rust , TypeScript a Go | Rust , TypeScript a Go |
Viz také
Reference 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 válek mravenců“ . Archivovány od originálu na 2007-09-29 . Citováno 2007-11-25 .
- ^ „Soutěž začíná“ . ICFP Programming Contest 2019 . 2019-06-21 . Citováno 2020-07-15 .
- ^ Konečné výsledky ICFP'99 Programming Contest
- ^ a b Soutěže v letech 1999 a 2002 měly bleskovou divizi, ale bez samostatné ceny. Vítězové této divize byli odměněni cenami rozhodčích.
- ^ Třetí výroční programovací soutěž ICFP
- ^ Čtvrtá programovací soutěž ICFP
- ^ Sedmá Anual ICFP Programming Contest
- ^ Osmá výroční soutěž v programování ICFP
- ^ 2D byl jazyk hraček vynalezený pro soutěž 2006. Vítězný tým použil C ++ , Haskell , Python , Bash a 2D.
- ^ Soutěž 2007 měla bleskovou divizi, ale protože po 24 hodinách nebyl jasný vůdce, rozhodčí se rozhodli nevybrat vítěze.
- ^ Výsledky soutěže ICFP 2008 v programování
- ^ http://www.vimeo.com/6613815 - přístup 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 .
- ^ "ICFP Programming Contest Awards a zprávy" . 26. 8. 2020 . Citováno 2021-05-29 .
- ^ ICFP Programming Contest 2021
Trvalé týmy
- Al-Gore-Rhythmms (aka The Doug Boat)
- Camlovi jezdci
- Banány bez tření
- Zpráva DylanHackers 2005
- O Caml, můj Caml
- Tým Smartass
- Pane Bedevere Moudrý
externí odkazy
- Soutěž na webu ICFP
- Stránka soutěže 1998
- Zrcadlo soutěžního úkolu z roku 1998
- (Částečné) zrcadlo stránky soutěže 1999
- Web soutěže 2000
- Stránka soutěže 2001
- Stránky soutěže 2002
- Stránka soutěže 2003
- Stránka soutěže 2004
- Stránka soutěže 2005
- Stránka soutěže 2006
- Web soutěže 2007
- Stránka soutěže 2008
- Web soutěže 2009
- Stránka soutěže 2010
- Stránka soutěže 2011
- Stránky soutěže 2012
- Web soutěže 2013
- Web soutěže 2014
- Stránka soutěže 2015
- Stránka soutěže 2016
- Web soutěže 2017
- Stránky soutěže 2018
- Web soutěže 2019
- Stránky soutěže 2020
- Stránka soutěže 2021
- ICFP Programming Contest History ( Ward Cunningham je Wiki )
- Programování geeků bojuje až do cíle v archive.today (archivováno 01.01.03) (CNET)
- Tajemství počítačového kódu plné fikce 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 2007
Hra Ant War
- 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 v programovací soutěži ICFP 2004