CodeCup

CodeCup — щорічне міжнароджне змагання в галузі штучного інтелекту настільних ігор. Проводиться Нідерландською олімпіадою з інформатики[1] з 2003 року.

Об'єктом змагання є здатність створювати розумні алгоритми, які за короткий час обирають якомога кращі ходи у грі, яка не має відомого розв'язку.[2] Учасники змагання часто використовують алгоритми альфа-бета відсічення[3] та пошук по дереву методом Монте-Карло (MCTS).[1][4]

Історія

Змагання між програмами школярів, що брали участь у Нідерландській олімпіаді з інформатики, розпочалися у 1996 році. Тоді учасникам було запропоновано створити програму, що грає в пасьянс. У 1997 році було вперше проведено турнір у настільній грі. Учасники надсилали свої програми на дискетах. У 2003 році змагання стало відкритим для усіх охочих.[2]

Опис змагання

У цьому змаганні програми учасників грають турнір у настільну гру проти програм інших учасників. Для турніру щороку обирається цілковито нова гра. Організатори публікують правила гри у вересні чи серпні, а остаточний турнір проводиться у січні наступного року. Якщо у змаганні бере участь багато учасників, турнір проводиться у два тури: перший тур проводиться за швейцарською системою, а другий — за круговою. Перший тур дозволяє швидко відсіяти найслабші програми.

Для участі у змаганні потрібно зареєструватися та завантажити код своєї програми на сайт CodeCup.nl. Програма буде оцінена на предмет технічної відповідповідності, а також зіграє дві гри з тестовими суперниками. Якщо програма не зробить помилок (хибних ходів), то її буде допущено до участі у змаганні. Що два тижні перед фінальним турніром відбуваються тестові турніри, які дозволяють учасникам оцінити порівняну силу своїх програм, переглянути зіграні партії та удосконалити своїх гравців. Також можливо проводити тестовий турнір на власному комп'ютері завдяки програмі Caia, яка працює на ОС Linux (хоча також може використовуватися на інших платформах).

Особливістю змагання є досить суворі технічні обмеження до програм: на одну партію дозволено використовувати лише декілька секунд процесорного часу, кілька десятків мегабайт оперативної пам'яті, єдиний програмний потік, а розмір програми має не перевершувати розмір дискети.[1] (Для порівняння, професійні шахові програми зазвичай мають можливість використовувати години процесорного часу, багатопотоковість, а розмір задіяної оперативної пам'яті і дискового простору вимірюється гігабайтами.)

У змаганні 2018 року програми можуть бути написані на мовах програмування C, C++, Pascal, Java, Python, JavaScript, Haskell, OCaml.

Переможці

Рік Гра Переможець Мова
програмування
2003 Caïssa Марсель Властуін н/д
2004 Lucky Words Еміль Крааікамп
2005 Lamistra Стевен Реберт
2006 Turn Right Томек Чайка
2007 On The Run Вей Цюань Лім
2008 Alquerque Томек Чайка
2009 Pillars Томек Чайка C++
2010 Amazes Карло Піовесан C++
2011 Dvonn Макс Вервер C
2012 Quantum tic-tac-toe Томек Чайка C++
2013 Symple Абдессамад ель-Касімі C
2014 Poly-Y Леслі Веверс, Стевен те Брінке (разом) Java
2015 Ayu Сєрґєй Поваліхін C++
2016 6561 Абдессамад ель-Касімі C++11
2017 Less Марк Олденгоф C++11
2018 Blackhole Абдессамад ель-Касімі C
2019 Flippo Томек Чайка C++17
2020 Gomoku Томек Чайка C++17
2021 Zuniq Абдессамад ель-Касімі C++17

Приз університету Віндесгайм

Паралельно або в рамках CodeCup проводиться змагання між програмами школярів, що беруть участь у Нідерландській олімпіаді з інформатики (NIO). Участь у цьому змаганні є одним із завдань першого туру олімпіади.[2][5]

За участь у змаганні учні можуть здобути максимум 100 балів до заліку в олімпіаді. Більшу частину з них учень отримує, якщо програма відповідає технічним умовам (не перевищує ліміт часу та не робить ходів всупереч правилам), інша частина — визначається рейтингом програми після фінального турніру. Учень-переможець отримує приз університету Віндесгайм (нід. Windesheim Digitalesprijs) (станом на 2019 рік — у розмірі 200 євро).[2][6]

В окремі роки, програми школярів грають у загальному заліку CodeCup, а в інші (зокрема, у 2000–2002, 2011–2017 роках) — в окрему гру.[2][5]

Див. також

Примітки

  1. Wevers, Lesley (2014). Monte-Carlo Tree Search for Poly-Y. University of Twente. Архів оригіналу за 13 квітня 2017. Процитовано 16 вересня 2018.
  2. Willem van der Vegt (2006). The CodeCup, an annual game programming competition (англ.)
  3. Hamed Ahmadi Nejad. My Artificial Intelligence Work. (англ.)
  4. Abdessamad El Kasimi. Winning entry in CodeCup 2018 (англ.)
  5. Past Contests — CodeCup. (англ.)
  6. De eerste ronde Nederlandse Informatica Olympiade 2018–2019 — Informatica Olympiade. (нід.)

Посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.