Соревнование по программированию ICFP - ICFP Programming Contest
В Соревнование по программированию ICFP это международные соревнования по программированию, которые проводятся ежегодно в июне или июле с 1998 г., а результаты объявляются на Международная конференция по функциональному программированию.
Команды могут быть любого размера и могут использоваться любые языки программирования. Также нет вступительного взноса. У участников есть 72 часа, чтобы заполнить и подать заявку через Интернет. Часто бывает и 24-часовое деление молний.
Победители оставляют за собой право «хвастаться», заявляя, что их язык является «предпочтительным инструментом программирования для распознавания хакеров». Таким образом, одна из целей конкурса - продемонстрировать возможности любимых участниками языков программирования и инструментов. Предыдущие победители первого приза использовали Haskell, OCaml, C ++, Силк, Ява, F # и Ржавчина.
На конкурсы обычно подается около 300 работ.[1][2]
Прошлые задачи
Год | Организатор | Описание |
---|---|---|
1998 | Université de Montréal и Массачусетский Институт Технологий | Напишите программу, которая играет пусс, странный вариант крестиков-ноликов. Конкурсные программы были введены в турнир для определения программы первого и второго места. |
1999 | Гарвардский университет | Оптимизировать по размеру дело высказывания (в конкурсном задании говорилось о текстовых приключенческие игры, а на самом деле стояла задача оптимизировать по размеру описание такой игры). |
2000 | Корнелл Университет | Реализуйте трассировщик лучей, используя синтаксис, подобный Postscript. |
2001 | INRIA Rocquencourt | Оптимизируйте размер HTML-подобного языка разметки, удалив ненужные пробелы, теги и т. Д. |
2002 | Школа науки и инженерии OGI | Реализуйте роботов, играющих Сокобан -подобная игра друг против друга. |
2003 | Университет Чалмерса | Реализуйте роботов, управляющих автомобилем как можно быстрее по разным гоночным трассам. |
2004 | Пенсильванский университет | Создайте колонию муравьев, которая будет приносить больше частиц пищи обратно в муравейник, одновременно отбиваясь от муравьев другого вида. Конкурсная запись выводила бы описание муравья на машине состояний: в принципе, записи могли быть написаны от руки. Позже задача была адаптирована в Ant Wars, стратегия и игра по программированию где каждый участник представляет собой разновидность муравей. Затем участник на языке, называемом Antomata,[3] запрограммировать конечный автомат функционировать как мозг каждого муравья. Этот муравей мозг затем управляйте муравьем, чтобы найти и собрать еду, чтобы принести в дом муравейник, чтобы отбиваться от нападающих или оставлять следы феромонов. |
2005 | PLT группа | Внедрите «ботов» для игры «Полицейские и грабители»: участники должны написать программу управления, которая проведет робота-грабителя через тихий городской район с миссией ограбить каждый банк, не попав в ловушку, и программу управления для полицейского. Бот, призванный его остановить. |
2006 | Университет Карнеги Меллон | Реализуйте виртуальную машину, на которой работает операционная система (называемая UMIX ), предоставленный судьями, и взломать его, используя новые языки программирования с нетрадиционным синтаксисом и семантикой, такие как 2D и версия БАЗОВЫЙ используя римские цифры. Многие головоломки были миниатюрными версиями или пародиями на предыдущие конкурсы. |
2007 | Утрехтский университет | Реализуйте двухэтапную виртуальную машину, которая выполняет строку, похожую на ДНК, для создания изображения. Затем, учитывая входную строку для этого компьютера, найдите префикс, который при добавлении к этой строке дает изображение, максимально приближенное к заданному целевому изображению. |
2008 | Государственный университет Портленда и Чикагский университет | Обеспечьте систему управления марсоходом, которая будет вести его к домашней базе, избегая препятствий и врагов. |
2009 | Канзасский университет | Управляйте спутником, чтобы перемещаться между заданными орбитами и встречаться с другими спутниками. |
2010 | Лейпцигский университет прикладных наук, Германия | Международное производство автомобилей и топлива. |
2011 | Университет Тохоку, Япония | Запрограммируйте компьютер с 256 «слотами», чтобы пережить своего противника с точки зрения количества слотов, оставшихся в конце матча. Представленные материалы включают исполняемые файлы, которые участвуют в двухэтапном турнире. |
2012 | Сент-Эндрюсский университет, Шотландия | Запрограммируйте ИИ для Boulder Dash -подобная игра. |
2013 | Microsoft Research | Угадайте реализацию функции черного ящика, реализованную на простом функциональном языке посредством запроса веб-службы. |
2014 | Оксфордский университет and Well-Typed LLP | Напишите программы ИИ для игры, подобной пакману, в Машина SECD инструкция для pacman и 8 бит инструкция по сборке машины для четырех призраков. |
2015 | Галуа | Напишите ИИ для Тетрис -подобная игра на поле с шестиугольной сеткой, в котором в последовательность ходов вставлены секретные фразы. |
2016 | Университет электросвязи | Напишите ИИ для решения абстрактных оригами. |
2017 | Эдинбургский университет | Напишите ИИ для игры, в которой игроки по очереди запрашивают участки маршрута на карте, и побеждает тот, у кого лучше покрытие. Также есть три расширения основного игрового режима, любое количество из которых может быть включено на карте. |
2018 | Рочестерский технологический институт | Создавайте следы наноботов для создания, разрушения и реконструкции целевых 3D-объектов с минимальным потреблением энергии. |
2019 | Йельский колледж и Национальный университет Сингапура | Рабочие-обертки против Bit Rot.[4] |
Призы
Призы имеют скромную денежную ценность и в первую очередь направлены на то, чтобы помочь победителям посетить конференцию, на которой вручаются призы, а судьи делают следующие заявления:
- Первый приз
- [Язык 1] это инструмент программирования, который выбирают для распознавания хакеров.
- Второй приз
- [Язык 2] это прекрасный инструмент программирования для многих приложений.
- Третий приз
- [Язык 3] тоже не так уж и плохо.
- Победитель молниеносного дивизиона
- [Язык L] очень подходит для быстрого прототипирования.
- Приз судей
- [Команда X] - очень крутая группа хакеров.
Если победившая работа включает несколько языков, победителей просят назвать один или два. Языки, указанные в заявлениях судей, были:
Год | Первый приз | Вторая премия | Третья премия | Молния |
---|---|---|---|---|
1998 | Силк | OCaml | ||
1999[5] | OCaml | Haskell | [6] | |
2000[7] | OCaml | OCaml | ||
2001[8] | Haskell | Дилан | ||
2002 | OCaml | C | [6] | |
2003 | C ++ | C ++ | OCaml | |
2004[9] | Haskell | Haskell и C ++ | Ява и C ++ | |
2005[10] | Haskell | Дилан | Haskell | |
2006 | 2D[11] | D | сборка | |
2007 | C ++ | Perl | [12] | |
2008[13] | Ява | ML | ||
2009[14] | C ++ | Ява | ML | |
2010[15] | C ++, Haskell, Python | SageMath | ||
2011[16] | F # | Ракушка и C ++ | ||
2012[17] | C ++ | OCaml | Ява | |
2013[18] | Ява, C #, C ++, PHP, Рубин и Haskell | C ++ и Python | C #, C ++, трепать, awk, sed и Excel | C ++ |
2014[19] | Haskell | C ++ | Perl | OCaml |
2015[20] | C ++, Ява, C #, PHP, Рубин и Haskell | C ++, Python, JavaScript | C ++ | C ++ |
2016[21] | Ява, C ++, C #, PHP, Haskell | C ++, Рубин, Python, Haskell, Ява, JavaScript | OCaml | |
2017[22] | C ++ | C ++ | OCaml | |
2018[23] | Ржавчина | C ++, Python, Рубин, JavaScript, трепать и SQL | OCaml | |
2019[24] | Ржавчина | C ++ | C ++ и Haskell |
Смотрите также
Ссылки и примечания
- ^ «Табло соревнований по программированию ICFP». Получено 23 сентября 2012.
- ^ https://alliance.seas.upenn.edu/~plclub/cgi-bin/contest/results.php
- ^ «Антомата - язык муравьих войн». Архивировано из оригинал на 2007-09-29. Получено 2007-11-25.
- ^ «Конкурс начинается». Соревнование по программированию ICFP 2019. 2019-06-21. Получено 2020-07-15.
- ^ Итоги олимпиады по программированию ICFP'99
- ^ а б Соревнования в 1999 и 2002 годах проходили в молниеносном дивизионе, но без отдельного приза. Победители этого дивизиона были награждены Судейскими призами.
- ^ Третий ежегодный чемпионат по программированию ICFP
- ^ Четвертое соревнование по программированию ICFP
- ^ Седьмое соревнование по программированию Antual ICFP
- ^ Восьмое ежегодное соревнование по программированию ICFP
- ^ 2D был игрушечным языком, изобретенным для конкурса 2006 года. C ++, Haskell, Python, Баш, и 2D.
- ^ В конкурсе 2007 года было молниеносное деление, но, поскольку через 24 часа не было явного лидера, судьи решили не выбирать победителя.
- ^ Результаты соревнований по программированию ICFP 2008
- ^ http://www.vimeo.com/6613815 - по состоянию на 23 сентября 2009 г.
- ^ Соревнования по программированию ICFP 2010 (видео)
- ^ Чемпионат мира по программированию ICFP 2011
- ^ Соревнование по программированию ICFP 2012
- ^ Соревнование по программированию ICFP 2013
- ^ Соревнование по программированию ICFP 2014
- ^ Соревнование по программированию ICFP 2015
- ^ Соревнование по программированию ICFP 2016
- ^ Соревнование по программированию ICFP 2017
- ^ Соревнование по программированию ICFP 2018
- ^ «Окончательные результаты». Соревнование по программированию ICFP 2019. 2019-08-20. Получено 2020-07-15.
Многолетние команды
- Аль-Гор-Ритмы (также известный как Лодка Дуга)
- Наездники Камла
- Бананы без трения
- Дилан Хакеры Отчет за 2005 год
- О Камл, Мой Камл
- Команда Smartass
- Сэр Бедевер Мудрый
внешняя ссылка
- Конкурс на сайте ICFP
- Сайт конкурса 1998 года
- Зеркало конкурса 1998 года.
- (Частичное) зеркало сайта конкурса 1999 года
- Сайт конкурса 2000 года
- Сайт конкурса 2001 года
- Сайт конкурса 2002 года
- Сайт конкурса 2003 года
- Сайт конкурса 2004 года
- Сайт конкурса 2005 года
- Сайт конкурса 2006 года
- Сайт конкурса 2007 года
- Сайт конкурса 2008 года
- Сайт конкурса 2009 года
- Сайт конкурса 2010 года
- Сайт конкурса 2011 года
- Сайт конкурса 2012 года
- Сайт конкурса 2013 года
- Сайт конкурса 2014 года
- Сайт конкурса 2015 года
- Сайт конкурса 2016
- История соревнований по программированию ICFP (Уорд Каннингем с Вики )
- Вундеркинды-программисты борются до конца в Archive.today (Архивировано 2 января 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 г.