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

  1. ^ "ICFP Programming Contest Scoreboard" . Citováno 23. září 2012 .
  2. ^ https://alliance.seas.upenn.edu/~plclub/cgi-bin/contest/results.php
  3. ^ „Antomata - jazyk válek mravenců“ . Archivovány od originálu na 2007-09-29 . Citováno 2007-11-25 .
  4. ^ „Soutěž začíná“ . ICFP Programming Contest 2019 . 2019-06-21 . Citováno 2020-07-15 .
  5. ^ Konečné výsledky ICFP'99 Programming Contest
  6. ^ 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.
  7. ^ Třetí výroční programovací soutěž ICFP
  8. ^ Čtvrtá programovací soutěž ICFP
  9. ^ Sedmá Anual ICFP Programming Contest
  10. ^ Osmá výroční soutěž v programování ICFP
  11. ^ 2D byl jazyk hraček vynalezený pro soutěž 2006. Vítězný tým použil C ++ , Haskell , Python , Bash a 2D.
  12. ^ Soutěž 2007 měla bleskovou divizi, ale protože po 24 hodinách nebyl jasný vůdce, rozhodčí se rozhodli nevybrat vítěze.
  13. ^ Výsledky soutěže ICFP 2008 v programování
  14. ^ http://www.vimeo.com/6613815 - přístup 23. září 2009
  15. ^ ICFP 2010 Programming Contest (video)
  16. ^ ICFP Programming Contest 2011
  17. ^ ICFP Programming Contest 2012
  18. ^ ICFP Programming Contest 2013
  19. ^ ICFP Programming Contest 2014
  20. ^ ICFP Programming Contest 2015
  21. ^ ICFP Programming Contest 2016
  22. ^ ICFP Programming Contest 2017
  23. ^ ICFP Programming Contest 2018
  24. ^ „Konečné výsledky“ . ICFP Programming Contest 2019 . 2019-08-20 . Citováno 2020-07-15 .
  25. ^ "ICFP Programming Contest Awards a zprávy" . 26. 8. 2020 . Citováno 2021-05-29 .
  26. ^ ICFP Programming Contest 2021

Trvalé týmy

externí odkazy

Hra Ant War