Необходимо проверить качество перевода и привести статью в соответствие со стилистическими правилами Википедии. |
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 | Пенсильванский университет | Колония муравьев. Создать колонию, которая сможет быстрее доставлять еду к муравейнику и будет избегать муравьев других видов. Решением являлась машина состояний. Позже задача была адаптирована в стратегической программистской игре Ant Wars с языком описания конечных автоматов Antomata,[1]. |
2005 | PLT group | Реализовать ботов для игры «Cops & Robbers». Решением являлись две управляющие программы, одна для бота-грабителя, задачей которого было грабить все банки в окрестностях, не попадаясь полиции, другая - для бота-полицейского, который ловит грабителей. |
2006 | Carnegie Mellon University | Реализовать виртуальную машину для запуска операционной системы UMIX, предоставленной организаторами. Затем взломать её используя новые языки программирования с необычным синтаксисом, например, 2D и версию BASIC с римскими числами. Множество мини-загадок с упрощенными версиями или пародиями на предыдущие игры. |
2007 | Utrecht University | Реализовать двухстадийную виртуальную машину, исполняющую строку, похожую на ДНК для получения изображения. Для заданной строки найти префикс, который при добавлении к строке создаст изображение, наиболее похожее на целевое. |
2008 | Portland State University и University of Chicago | Система управления марсоходом, реализующая возврат к базе. Требуется избегать препятствия и врагов. |
2009 | University of Kansas | Управление спутником на орбите Земли: переходы между орбитами и стыковка с другими спутниками. |
2010 | Leipzig University of Applied Science, Германия | Международное производство автомобилей и топлива. |
2011 | Tohoku University, Япония | Программирование компьютера с 256 «ячейками» для победы над оппонентом по количеству слотов, оставшихся в конце матча. Между решениями участников устроен двухуровневый турнир. |
2012 | University of St. Andrews, Шотландия | Реализовать Искусственный интеллект для игры типа Boulder Dash. |
2013 | Microsoft Research, США | Подобрать арифметическо-логическую функцию по примерам параметров и выходных значений. |
2014 | Оксфордский университет | Создать программу для прохождения лабиринта похожего на игру Pac-Man. |
2015 | Galois[2], США | Создать программу для прохождения игры, похожей на тетрис. |
2016 | Университет электро-коммуникаций, Токио | Создать программу для восстановления развертки origami по внешнему виду собранной плоской фигуры. |
2017 | Университет Эдинбурга | Создать программу для игры в аналог Ticket to Ride. |
Наградой является небольшая денежная сумма, которая позволяет победителю компенсировать затраты на посещение конференции ICFP. Жюри присуждает несколько наград:
Если победители использовали несколько языков, то они номинируют один или два языка из использованных.
Год | Первый приз | Второй приз | Третий приз | "Lightning" |
---|---|---|---|---|
1998 | Cilk | OCaml | ||
1999 | OCaml | Haskell | - | |
2000 | OCaml | OCaml | ||
2001 | Haskell | Dylan | ||
2002 | OCaml | C | - | |
2003 | C++ | C++ | OCaml | |
2004 | Haskell | Haskell и C++ | Java и C++ | |
2005 | Haskell | Dylan | Haskell | |
2006 | 2D[3] | D | Язык ассемблера | |
2007 | C++ | Perl | без победителя | |
2008 | Java | ML[4] | ||
2009 | C++ | Java | ML[5] | |
2010 | C++, Haskell, Python | Sage | ||
2011[6] | F# | Shell и C++ | ||
2012 | C++ | |||
2013[7] | Java, C#, C++, PHP, Ruby and Haskell | C#, C++ | ||
2014 | Haskell | |||
2015 | C++, Java, C#, PHP, Ruby and Haskell |
Ant War game
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .