Соревнование по программированию ICFP - ICFP Programming Contest
Соревнования по программированию ICFP - это международные соревнования по программированию, которые проводятся ежегодно в июне или июле с 1998 года, а результаты объявляются на Международной конференции по функциональному программированию .
Команды могут быть любого размера и могут использоваться любые языки программирования. Также нет вступительного взноса. У участников есть 72 часа, чтобы заполнить и подать заявку через Интернет. Часто бывает и 24-часовое деление молний.
Победители оставляют за собой «право хвастаться», заявляя, что их язык - «предпочтительный инструмент программирования для распознавания хакеров». Таким образом, одна из целей конкурса - продемонстрировать возможности любимых участниками языков программирования и инструментов. Предыдущие обладатели первого приза использовали Haskell , OCaml , C ++ , Cilk , Java , F # и Rust .
На конкурсы обычно подается около 300 работ.
Прошлые задачи
| Год | Организатор | Описание |
|---|---|---|
| 1998 г. | Университет Монреаля и Массачусетский технологический институт | Напишите программу, которая играет пусс , странный вариант крестиков-ноликов. Конкурсные программы были введены в турнир для определения программы, занявшей первое и второе места. |
| 1999 г. | Гарвардский университет | Операторы case -optimize case (в конкурсной задаче говорилось о текстовых приключенческих играх , но на самом деле задача заключалась в оптимизации описания такой игры по размеру). |
| 2000 г. | Cornell University | Реализуйте трассировщик лучей, используя синтаксис, подобный Postscript. |
| 2001 г. | INRIA Rocquencourt | Оптимизируйте размер HTML-подобного языка разметки, удалив ненужные пробелы, теги и т. Д. |
| 2002 г. | Школа науки и инженерии OGI | Реализуйте роботов, играющих в сокобанскую игру друг против друга. |
| 2003 г. | Университет Чалмерса | Реализуйте роботов, управляющих автомобилем как можно быстрее по разным гоночным трассам. |
| 2004 г. | Пенсильванский университет | Создайте колонию муравьев, которая будет приносить наибольшее количество частиц пищи обратно в муравейник, одновременно отбиваясь от муравьев другого вида. Конкурсная запись выводила бы описание муравья на конечном автомате: в принципе, записи могли быть написаны от руки. Позже задача была адаптирована в Ant Wars, игре- стратегии и программировании, где каждый участник представляет собой разновидность муравьев . Затем участник на языке под названием Antomata программирует конечный автомат, который функционирует как мозг каждого муравья. Затем мозг муравья управляет муравьем, чтобы найти и собрать пищу, чтобы принести на домашний муравейник , чтобы отбиваться от нападающих или оставлять следы из феромонов. |
| 2005 г. | Группа PLT | Внедрите «ботов» для игры «Полицейские и грабители»: участники должны написать программу управления, которая проведет робота-грабителя через тихий городской район с миссией ограбить каждый банк, не попав в ловушку, и программу управления для полицейского. Бот, призванный остановить это. |
| 2006 г. | Университет Карнеги Меллон | Реализуйте виртуальную машину, на которой работает операционная система (называемая UMIX ), предоставленная судьями, и взломайте ее, используя новые языки программирования с нетрадиционным синтаксисом и семантикой, такие как 2D и версия BASIC с римскими цифрами. Многие головоломки были миниатюрными версиями или пародиями на предыдущие конкурсы. |
| 2007 г. | Утрехтский университет | Реализуйте двухэтапную виртуальную машину, которая выполняет строку, похожую на ДНК, для создания изображения. Затем, учитывая входную строку для этого компьютера, найдите префикс, который при добавлении к этой строке дает изображение, максимально приближенное к заданному целевому изображению. |
| 2008 г. | Государственный университет Портленда и Чикагский университет | Обеспечьте систему управления марсоходом, которая будет вести его к домашней базе, избегая препятствий и врагов. |
| 2009 г. | Канзасский университет | Управляйте спутником, чтобы перемещаться между заданными орбитами и встречаться с другими спутниками. |
| 2010 г. | Лейпцигский университет прикладных наук , Германия | Международное производство автомобилей и топлива. |
| 2011 г. | Университет Тохоку , Япония | Запрограммируйте компьютер с 256 «слотами», чтобы пережить своего противника с точки зрения количества слотов, оставшихся в конце матча. Представленные материалы включают исполняемые файлы, которые участвуют в двухэтапном турнире. |
| 2012 г. | Университет Сент-Эндрюс , Шотландия | Запрограммируйте ИИ для игры, похожей на Boulder Dash . |
| 2013 | Microsoft Research | Угадайте реализацию функции черного ящика, реализованную на простом функциональном языке посредством запроса веб-службы. |
| 2014 г. | Оксфордский университет и Well-Typed LLP | Напишите программы ИИ для pacman-подобной игры в машинных инструкциях SECD для pacman и 8-битных машинных инструкциях по сборке для четырех призраков. |
| 2015 г. | Галуа | Напишите ИИ для игры в стиле тетрис на поле с шестиугольной сеткой, которое включает секретные фразы в последовательность ходов. |
| 2016 г. | Университет электросвязи | Напишите ИИ, чтобы разгадывать абстрактное оригами . |
| 2017 г. | Эдинбургский университет | Напишите ИИ для игры, в которой игроки по очереди запрашивают части маршрута на карте, и побеждает тот, у кого лучшее покрытие. Также есть три расширения основного игрового режима, любое количество из которых можно включить на карте. |
| 2018 г. | Рочестерский технологический институт | Создавайте следы наноботов для создания, разрушения и реконструкции целевых 3D-объектов с минимальным потреблением энергии. |
| 2019 г. | Йельский колледж и Национальный университет Сингапура | Рабочие-обертки против Bit Rot. |
| 2020 г. | СКБ Контур | Создайте виртуальную машину по спецификации пришельцев , запустите игровой сервер, предоставленный пришельцем, на этой виртуальной машине , исследуйте игру (2D космическое сражение на орбите планеты с расстоянием Чебышева, с командами ускорения, стрельбы, разделения и взрыва), перепроектируйте игровой протокол и создать бота, чтобы играть в эту игру. |
Призы
Призы имеют скромную денежную ценность и в первую очередь направлены на то, чтобы помочь победителям посетить конференцию, на которой вручаются призы и судьи делают следующие заявления:
- Первый приз
- [Language 1] - инструмент программирования, который предпочитают распознавать хакеров.
- Второй приз
- [Language 2] - прекрасный инструмент программирования для многих приложений.
- Третий приз
- [Language 3] тоже не так уж и плохо.
- Победитель молниеносного дивизиона
- [Язык L] очень подходит для быстрого прототипирования.
- Приз судей
- [Команда X] - очень крутая группа хакеров.
Если победившая работа включает несколько языков, победителей просят указать один или два. Языки, указанные в заявлениях судей, были:
Смотрите также
Ссылки и примечания
- ^ "Табло соревнований по программированию ICFP" . Проверено 23 сентября 2012 года .
- ^ https://alliance.seas.upenn.edu/~plclub/cgi-bin/contest/results.php
- ^ "Antomata - язык муравьиных войн" . Архивировано из оригинала на 2007-09-29 . Проверено 25 ноября 2007 .
- ^ «Конкурс начинается» . Соревнование по программированию ICFP 2019 . 2019-06-21 . Проверено 15 июля 2020 .
- ^ Конечные результаты ICFP'99 олимпиады по программированию
- ^ a b Соревнования 1999 и 2002 годов проходили в молниеносном дивизионе, но без отдельного приза. Победители этого дивизиона были награждены жюри.
- ^ Третий ежегодный конкурс программирования ICFP
- ^ Четвертый конкурс программирования ICFP
- ^ Седьмое соревнование по программированию Antual ICFP
- ^ Восьмой ежегодный конкурс программирования ICFP
- ^ 2D был игрушечным языком, изобретенным для конкурса 2006 года. Команда-победитель использовала C ++ , Haskell , Python , Bash и 2D.
- ^ В конкурсе 2007 года было молниеносное деление, но, поскольку через 24 часа не было явного лидера, судьи решили не выбирать победителя.
- ^ Результаты соревнований по программированию ICFP 2008
- ^ http://www.vimeo.com/6613815 - по состоянию на 23 сентября 2009 г.
- ^ МКВП 2010 программированию (видео)
- ^ Соревнование по программированию ICFP 2011
- ^ Соревнование по программированию ICFP 2012
- ^ Соревнование по программированию ICFP 2013
- ^ Соревнование по программированию ICFP 2014
- ^ Соревнование по программированию ICFP 2015
- ^ Соревнование по программированию ICFP 2016
- ^ Соревнование по программированию ICFP 2017
- ^ Соревнование по программированию ICFP 2018
- ^ «Окончательные результаты» . Соревнование по программированию ICFP 2019 . 2019-08-20 . Проверено 15 июля 2020 .
- ^ "Награды и отчеты конкурса программирования ICFP" . 2020-08-26 . Проверено 29 мая 2021 .
- ^ Соревнование по программированию ICFP 2021
Многолетние команды
- Аль-Гор-Ритмы (также известный как Лодка Дуга)
- Наездники Камла
- Бананы без трения
- Отчет DylanHackers 2005
- О Камл, Мой Камл
- Команда Smartass
- Сэр Бедевер Мудрый
внешние ссылки
- Конкурс на сайте ICFP
- Сайт конкурса 1998 года
- Зеркало конкурса 1998 года.
- (Частичное) зеркало сайта конкурса 1999 года
- Сайт конкурса 2000 года
- Сайт конкурса 2001 года
- Сайт конкурса 2002 года
- Сайт конкурса 2003 года
- Сайт конкурса 2004 года
- Сайт конкурса 2005 года
- Сайт конкурса 2006 года
- Сайт конкурса 2007 года
- Сайт конкурса 2008 года
- Сайт конкурса 2009 года
- Сайт конкурса 2010 года
- Сайт конкурса 2011 года
- Сайт конкурса 2012 года
- Сайт конкурса 2013 года
- Сайт конкурса 2014 года
- Сайт конкурса 2015 года
- Сайт конкурса 2016
- Сайт конкурса 2017
- Сайт конкурса 2018
- Сайт конкурса 2019
- Сайт конкурса 2020
- Сайт конкурса 2021
- История соревнований по программированию ICFP ( Ward Cunningham 's Wiki )
- Вундеркинды-программисты борются до конца на archive.today (заархивировано 02.01.2013) (CNET)
- Загадка компьютерного кода, наполненная фантастикой, приправленная «древними» головоломками ( Pittsburgh Post-Gazette )
- Видео результатов конкурса 2006 года
- Видео результатов конкурса 2007 года
- Видео результатов конкурса 2008 года
- Письменный отчет конкурса 2007 г.
Игра Ant War
- https://web.archive.org/web/20110723014332/http://www.ant-wars.net/ - Домашняя страница
- http://sourceforge.net/projects/formicidae/ - Проект на sourceforge.net
- https://web.archive.org/web/20071125152658/http://alliance.seas.upenn.edu/~plclub/cgi-bin/contest/ Официальная страница задания на соревновании по программированию ICFP 2004 г.