ICFP Programming Contest
![]() | Необходимо проверить качество перевода c английского языка, исправить содержательные и стилистические ошибки. |
ICFP Programming Contest — международное соревнование по программированию, проводимое ежегодно в июне-июле с 1998 года. Результаты соревнования объявляются на Международной конференции по функциональному программированию.
Команды могут быть любого размера и использовать любой язык программирования (либо несколько языков). Денежные взносы за участие отсутствуют. Участники получают 72 часа на выполнение заданий и отправку своих решений через Интернет. Иногда проводится 24-часовой блиц-турнир.
Победители имеют особое право заявлять о том, что предпочитаемый ими язык является «выбором для дискриминации хакеров». Таким образом, одной из целей соревнования является возможность показать возможности языка программирования и инструментов, используемых участником соревнования. Ранее обладатели главного приза использовали для решения задач такие языки как Haskell, OCaml, C++, Cilk и Java.
Задачи
Год | Организатор | Задача |
---|---|---|
1998 | Массачусетский технологический институт | Написать программу, моделирующую росток, своеобразный вариант игры «Крестики-нолики». Представленные программы были распределены на первые и вторые места. |
1999 | Гарвардский университет | Оптимизация выражений case (в описании задачи говорилось о текстовом квесте, но фактически задача сводилась к оптимизации описания подобной игры). |
2000 | Корнелльский университет | Реализовать путь луча при помощи Postscript-подобного синтаксиса. |
2001 | INRIA Rocquencourt | Оптимизация HTML-подобного языка разметки за счет отказа от излишних пробелов, тегов и т. д. |
2002 | OGI School of Science and Engineering | Реализовать роботов, способных играть друг против друга в игру наподобие Sokoban. |
2003 | Технический университет Чалмерса | Реализовать роботов, способных управлять машиной на максимально возможной скорости на трассах различной сложности. |
2004 | Пенсильванский университет | Колония муравьев. Design an ant colony that will bring the most food particles back to its anthill, while fending off ants of another species. The contest entry would output a state-machine description of the ant: in principle, entries could have been written by hand. Later the task was adapted into Ant Wars, a strategy and programming game where each participant is a species of ant. The participant then, in a language called Antomata,[1] program a finite state machine to function as the brain of each ant. The ant brain then control the ant to find and collect food to bring to the home ant hill, to fend off attackers or making trails of pheromones. |
2005 | PLT group | Implement «bots» for a «Cops & Robbers» game: contestants have to write the control program that guides a Robber-Bot through a quiet urban neighborhood on a mission to rob every bank without getting caught, and the control program for a Cop-Bot dedicated to stopping it. |
2006 | Carnegie Mellon University | Реализовать виртуальную машину для запуска операционной системы UMIX, предоставленной организаторами. Затем взломать ее используя новые языки программирования с необычным синтаксисом, например, 2D и версию BASIC с римскими числами. Many puzzles were tiny versions or parodies of previous contests. |
2007 | Utrecht University | Implement a 2-stage virtual machine that executes a DNA-like string to produce an image. Then, given an input string for this machine, find a prefix that when added to this string yields an image as close as possible to the given target image. |
2008 | Portland State University and the University of Chicago | Provide a Mars rover control system that will guide it to a home base while avoiding obstacles and enemies. |
2009 | University of Kansas | Управление спутником на орбите Земли: переходы между орбитами и стыковка с другими спутниками. |
2010 | Leipzig University of Applied Science, Germany | International Car and Fuel Production. |
2011 | Tohoku University, Japan | Программирование компьютера с 256 «ячейками» to outlast its opponent in terms of slots remaining at the end of the match. Между решениями участников устроен двухуровневый турнир. |
2012 | University of St. Andrews, Шотландия | Реализовать Искусственный интеллект для игры типа Boulder Dash. |
2013 | Microsoft Research, США | Подобрать арифметическо-логическую функцию по примерам параметров и выходных значений. |
Победители
Prizes have a modest cash value, primarily aimed at helping the winners to attend the conference, where the prizes are awarded and the judges make the following declarations:
- First prize
- [Language 1] is the programming tool of choice for discriminating hackers.
- Second prize
- [Language 2] is a fine programming tool for many applications.
- Third prize
- [Language 3] is also not too shabby.
- Winner of the lightning division
- [Language L] is very suitable for rapid prototyping.
- Judges' prize
- [Team X] are an extremely cool bunch of hackers.
Where a winning entry involves several languages, the winners are asked to nominate one or two. The languages named in the judges' declarations have been:
Year | First Prize | Second Prize | Third Prize | Lightning |
---|---|---|---|---|
1998 | Cilk | OCaml | ||
1999 | OCaml | Haskell | [2] | |
2000 | OCaml | OCaml | ||
2001 | Haskell | Dylan | ||
2002 | OCaml | C | [2] | |
2003 | C++ | C++ | OCaml | |
2004 | Haskell | Haskell и C++ | Java и C++ | |
2005 | Haskell | Dylan | Haskell | |
2006 | 2D[3] | D | Язык ассемблера | |
2007 | C++ | Perl | [4] | |
2008 | Java | ML[5] | ||
2009 | C++ | Java | ML[6] | |
2010 | C++, Haskell, Python | Sage | ||
2011[7] | F# | Shell и C++ | ||
2012 | ||||
2013[8] | C#, C++ |
См. также
Примечания
- ↑ Antomata — The Language of Ant Wars
- ↑ 1 2 The contests in 1999 and 2002 had a lightning division, but without a separate prize. The winners of that division were awarded Judges' prizes.
- ↑ 2D was a toy language invented for the 2006 contest. The winning team used C++, Haskell, Python, Bash, 2D and a private Google language.
- ↑ The 2007 contest had a lightning division, but since there was no clear leader after 24 hours the judges decided not to choose a winner.
- ↑ http://web.cecs.pdx.edu/~sheard/2008IcfpContest/ - accessed Semtember 23, 2009
- ↑ http://www.vimeo.com/6613815 - accessed September 23, 2009
- ↑ ICFP Programming Contest 2012 | Official Site
- ↑ ICFP Programming Contest 2013
Постоянные команды-участницы
- The Al-Gore-Rhythms (aka The Doug Boat)
- The Caml Riders
- Frictionless Bananas
- DylanHackers 2005 report
- O Caml, My Caml
- Team Smartass
- Sir Bedevere the Wise
Ссылки
- Most current contest site
- 1998 contest site
- Mirror of 1998 contest task
- (Partial) mirror of the 1999 contest site
- 2000 contest site
- 2001 contest site
- 2002 contest site
- 2003 contest site
- 2004 contest site
- 2005 contest site
- 2006 contest site
- 2007 contest site
- 2008 contest site
- 2009 contest site
- 2010 contest site
- 2011 contest site
- 2012 contest site
- ICFP Programming Contest History (Ward Cunningham's Wiki)
- Programming geeks fight to the finish (CNET)
- Fiction-filled computer code mystery peppered with 'ancient' puzzles (Pittsburgh Post-Gazette)
- Video of 2006 contest results
- Video of 2007 contest results
- Video of 2008 contest results
- 2007 contest written report
Ant War game
- http://www.ant-wars.net/ - Homepage
- http://sourceforge.net/projects/formicidae/ - The project at sourceforge.net
- http://alliance.seas.upenn.edu/~plclub/cgi-bin/contest/ The official page for the task at the 2004 ICFP Programming Contest
![]() | На эту статью не ссылаются другие статьи Википедии. |