ICFP Programming Contest

ICFP Programming Contest

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. Между решениями участников устроен двухуровневый турнир.

Победители

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++

См. также

Примечания

  1. Antomata — The Language of Ant Wars
  2. 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.
  3. 2D was a toy language invented for the 2006 contest. The winning team used C++, Haskell, Python, Bash, 2D and a private Google language.
  4. 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.
  5. http://web.cecs.pdx.edu/~sheard/2008IcfpContest/ - accessed Semtember 23, 2009
  6. http://www.vimeo.com/6613815 - accessed September 23, 2009
  7. http://www.icfpcontest.org/2011/09/results.html

Постоянные команды-участницы

Ссылки

Ant War game


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Полезное


Смотреть что такое "ICFP Programming Contest" в других словарях:

  • ICFP Programming Contest — The ICFP Programming Contest is an international programming competition held annually since 1998, with results announced at the International Conference on Functional Programming.Teams may be of any size and any programming language(s) may be… …   Wikipedia

  • International Conference on Functional Programming Contest — Der ICFP Contest ist ein Programmierwettbewerb, der jährlich im Umfeld der ICFP Konferenz ausgerichtet wird. Der erste ICFP Contest fand 1998 statt. Inhaltsverzeichnis 1 Austragungsmodus 2 Teilnehmer 3 Austragungsort 4 …   Deutsch Wikipedia

  • ICFP Contest — Der ICFP Contest ist ein Programmierwettbewerb, der jährlich im Umfeld der ICFP Konferenz ausgerichtet wird. Der erste ICFP Contest fand 1998 statt. Inhaltsverzeichnis 1 Austragungsmodus 2 Teilnehmer 3 Austragungsort 4 Preise …   Deutsch Wikipedia

  • ICFP — Die International Conference on Functional Programming (ICFP) ist eine jährliche Informatik Konferenz zum Thema funktionale Programmierung , die von der ACM, SIGPLAN und der IFIP gesponsert wird. Immer populärer wird der im Umfeld der ICFP… …   Deutsch Wikipedia

  • International Conference on Functional Programming — The International Conference on Functional Programming (ICFP) is an annual academic conference in the field of computer science sponsored by the ACM SIGPLAN, in association with IFIP Working Group 2.8 (Functional Programming).The conference… …   Wikipedia

  • International Conference on Functional Programming — Die International Conference on Functional Programming (ICFP) ist eine jährliche Informatik Konferenz zum Thema funktionale Programmierung , die von der ACM, SIGPLAN und der IFIP gesponsert wird. Immer populärer wird der im Umfeld der ICFP… …   Deutsch Wikipedia

  • ICFPC — Der ICFP Contest ist ein Programmierwettbewerb, der jährlich im Umfeld der ICFP Konferenz ausgerichtet wird. Der erste ICFP Contest fand 1998 statt. Inhaltsverzeichnis 1 Austragungsmodus 2 Teilnehmer 3 Austragungsort 4 Preise …   Deutsch Wikipedia

  • Programmierwettbewerb — In einem Programmierwettbewerb wird eine Aufgabe gestellt, die mittels eines Computerprogrammes zu lösen ist. Die eingereichten Programme (die Wettbewerbsbeiträge) werden von den teilnehmenden Programmierern i. d. R. speziell für den… …   Deutsch Wikipedia

  • TopCoder — Infobox Company company name = TopCoder, Inc. company vector company type = Corporation genre = foundation = April, 2001 founder = Jack Hughescite web|url=http://www.topcoder.com/tc?module=Static d1=about d2=management|title=TopCoder management… …   Wikipedia

  • QuickCheck — Infobox Software name = QuickCheck logo = caption = developer = Koen Claessen, John Hughes latest release version = 2.1.0.1 latest release date = Sat Sep 27 13:43:28 PDT 2008 operating system = Unix like, Microsoft Windows genre = Software… …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»