Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Tim Salimans o выигрыше в конкурсе предсказаний результатов шахматных партий от Kaggle

Data Mining
Перевод
Kaggle организует соревнования для людей, которые занимаются data mining. Сейчас открыты два конкурса. Один на 3 миллиона долларов, цель которого улучшить систему, по которой людей кладут в больницы. Второй — с призовым фондом 3000 долларов, чтобы улучшить измерения эллиптичности галактик, что позволит лучше измерить так называемую «темную материю» во вселенной.

Уже прошло около двух десятков конкурсов. О своем опыте участники делятся на блоге. Ниже — перевод поста Tim Salimans о его опыте участия в конкурсе предсказания результатов шахматных встреч на основе прошедших результатов.

Участникам конкурса предоставлялись результаты более 1,84 миллиона встреч более чем 54.000 шахматистов. Задача была предсказать результаты 100.000 игр между этими же шахматистами за следующие три месяца. В конкурсе приняли участие 189 команд.

Вот что Tim Salimans написал о том, как он его выиграл.
Всего голосов 4: ↑4 и ↓0 +4
Просмотры4K
Комментарии 5

Сетевая игра на bash: шахматы

Ненормальное программирование
Я давно хотел написать какую-нибудь сетевую игру на bash, причём желательно, чтобы управление было удобное, с клавиатуры, обычными курсорным клавишами. Вообще, тема интерактивного взаимодействия в bash глубже, чем «введите число, нажмите „Enter“» не раскопана. Мне пришлось всё изобретать и исследовать самостоятельно. Я очень старался найти что-то похожее по уровню интерактивности, но не нашёл.

Поскольку тонкости управления с клавиатурой съели очень много моего времени, я не стал заморачиваться с тонкостями совместимости, поэтому игра тестировалась только под Mac OS X, есть ненулевая вероятность, что она заработает и под Linux и уж точно её можно допилить там до рабочего состояния.

Для работы игра требует наличия nc (aka Netcat) и терминала с поддержкой 256 цветов (под Mac OS рекомендую iTerm2). При наличие интереса к игре, допилю до терминала на 16 цветов и /dev/tcp. Кстати начал выкладывать все свои шел-поделки на ГитХаб.

Сетевые шахматы на Bash


Так как игра сетевая, у неё требуется указать два параметра, о которых она расскажет, если её запустить без них. Первый — адрес машины противника, второй — порт. Порт выбирается одинаковым на обеих машинах. Игру можно запустить и на одной машине, в двух консолях (на скриншоте как раз такой случай).

Играть просто — в каждый момент времени активна только одна доска (на скриншоте — правая, у неё буквы и цифры вокруг доски ярче), на активной доске курсор двигается курсорными клавишами — ←, →, ↑ и ↓, взять фигуру и поставить её на доску — по клавише пробела или Enter. Как только вы поставили фигуру на доску, ход переходит к сопернику. «Съесть» фигуру соперника проще простого — достаточно поставить свою фигуру на чужую. В игре есть защита — нельзя «съесть» свою фигуру.

Ничего помимо этого в игре нет — не производится правильность контроля ходов, нет проверки на завершение игры, можно даже ходить фигурами соперника. Было очень сложно придумать как обрабатывать нажатия в shell, так что остальное сделать я просто не успел, не поместилось в формат «игрушка за вечер».

Я постарался снабдить свой код комментариями и писать достаточно структурировано, чтобы можно было разобраться как всё работает самостоятельно.

Читать дальше →
Всего голосов 174: ↑173 и ↓1 +172
Просмотры7.6K
Комментарии 46

Новая концептуальная веСЧь для Apple

Разработка игр

InCube Chess: первая удачная реализация шахмат в трёхмерном поле


Привет!

Хотя в Хабре обычно не обсуждают игрушки, полагая их занятием несерьёзным – я сознательно сделал сегодня исключение. Очень уж редко в «игровой индустрии» происходит что-то действительно оригинальное. К тому же надобно, чтобы при яркой оригинальности оно осталось ещё и играбельным – а это уж совсем редкость. Но в данном случае, кажется, оба требования сошлись. В общем, я нашёл кое-что для настоящих «головастиков»…

Суть в том, что небольшая украинская фирма «InCube Games» выпустила одноимённые компьютерные шахматы: InCube Chess. И это не заслуживало бы ровно никакого внимания (мало ли шахматных программ?) – если бы не одна существенная деталь: поле для шахмат представляет собой не плоскую «доску» 8х8, а куб, 8х8х8. То есть борьба между фигурами игроков разворачивается не в двумерном, а в трёхмерном пространстве!



Читать дальше →
Всего голосов 71: ↑51 и ↓20 +31
Просмотры2.4K
Комментарии 50

Вращаемые битборды: новый виток старой идеи

Разработка игр
image

Краткое описание


Эта статья рассказывает о некоторых нюансах в использовании «битбордов» (64-битного целого числа, каждый бит которого представляет одно поле шахматной доски). В далеком 1994 г., после симпозиума по шахматам, проводимом ACM в Кейп Мей в штате Нью-Джерси, я решился на полную замену программы для Cray Blitz (компьютерная программа, написанная Робертом Хайатом, Гарри Нельсоном и Альбертом Говером для суперкомпьютера Cray — прим. перевод.). Мне было интересно попробовать метод битбордов, опробованный Слейтом и Аткином в «Chess 4.x» (шахматная программа, разработанная в Северо-Западном университете штата Иллинойс, и доминирующая в 70-х гг. XX в. — прим. перевод.), чтобы решить для себя, годится он для шахмат или нет. В ходе разработки этой новой программы была придумана концепция «вращаемых битбордов», и оказалось, что это то самое, что было нужно, чтобы заставить этот тип структуры данных работать с приемлемой производительностью.

Читать дальше →
Всего голосов 44: ↑44 и ↓0 +44
Просмотры16.8K
Комментарии 11

3D-шахматы на HTML / CSS3 / JS

Разработка веб-сайтовCSSJavaScript


Французский разработчик Julian Garnier представил реализацию шахмат в 3D с использованием HTML/CSS3/JS, причем вся 3D-анимация выполнена с помощью CSS3.
Читать дальше →
Всего голосов 57: ↑46 и ↓11 +35
Просмотры35K
Комментарии 30

Каспаров против Deep Blue. Часть II: Филадельфийский эксперимент

История ITИскусственный интеллектСтарое железоСуперкомпьютерыЛогические игры

После некоторого перерыва, продолжаю серию статей (а также обещаю в ближайшее время её закончить) про многолетнюю шахматную борьбу двух миров – человеческого и компьютерного. Планировалось, что Rom77 напишет статьи про обе битвы Каспарова с Deep Blue, но, к сожалению, мой соавтор, написавший отличное начало, не выходит на связь. Мне иногда приходят письма от благодарных читателей с вопросом почему же до сих пор нет продолжения, поэтому, вновь берусь за перо сажусь за клавиатуру, дабы продолжить прервавшееся повествование про приключения Гарри и его кремниевых друзей. Помимо разрозненных сведений о событиях тех лет, в статье также решил использовать, оказавшиеся в моём распоряжении, черновые наброски Романа про матч 1996 года.
Название статьи, кстати, тоже придумал он
Всего голосов 56: ↑56 и ↓0 +56
Просмотры20.4K
Комментарии 6

Подарков мешок

Логические игры
         – Ящик! – рявкнул отец Кабани и надолго замолчал, делая странные движения щеками... 
         – Ящик… – повторил отец Кабани упавшим голосом. – Это мы говорим, будто мы выдумываем. На самом деле все давным-давно выдумано. Кто-то давным-давно все выдумал, сложил все в ящик, провертел в крышке дыру и ушел… Ушел спать... 
 
А. и Б. Стругацкие "Трудно быть богом"
 
 
На носу Новый год и время дарить подарки. За год было сделано немало. Мой проект растёт на глазах и, что самое главное, становится умнее. Как именно он это делает — отдельная история, которую я обязательно расскажу, как нибудь, в другой раз. Сейчас — время заглянуть в мешок и посмотреть, что приготовил для нас Dagaz.
Читать дальше →
Всего голосов 17: ↑17 и ↓0 +17
Просмотры5.2K
Комментарии 22

Dagaz: Сумма технологий

JavaScriptРазработка игрЛогические игры
          Итак, технологии интересуют меня, так сказать, по необходимости: потому что всякая цивилизация включает и то, к чему общество стремилось, и то, чего никто не замышлял.

          Порой, и довольно часто, путь технологии открывал случай: искали же когда-то философский камень, а нашли фарфор.
 
 
Станислав Лем.


С самого начала работы над проектом, было понятно, что качественный AI мне жизненно необходим! Самому с собой играть скучно, а модуль для игры по сети — он неизвестно когда ещё будет. Я пытался писать ботов сам, но все они работали либо плохо, либо плохо и медленно. В конце концов, я устал заниматься этой самодеятельностью и нашёл шахматного бота, качество игры которого меня вполне устраивало. Но тут возникла проблема. Мне-то были нужны не только Шахматы. Тому, как я с этим боролся, и посвящена эта статья.
Читать дальше →
Всего голосов 14: ↑14 и ↓0 +14
Просмотры2.1K
Комментарии 19

Пишем простой шахматный движок на Go

TimewebПрограммированиеGo
Перевод
Всем, кто сейчас смотрит нашумевший сериал «Ход королевы» (The Queen's Gambit), посвящается. Еще больше шахматных терминов в нашем новом переводе.

В данной статье мы постараемся разобраться, как работают шахматные движки путем портирования шахматного движка sunfish на Go. Sunfish примечателен своей простотой и небольшим размером, но при этом он все-таки способен сыграть достойную шахматную партию. Go в свою очередь известен как простой и хорошо читаемый язык программирования, поэтому я надеюсь, что вместе они составят отличную пару.
Читать дальше →
Всего голосов 11: ↑10 и ↓1 +9
Просмотры5.6K
Комментарии 11

DagazServer: Встречайте Garbo Chess

JavaScriptРазработка игрЛогические игры
Кто мне сказал, — «не получится»?
Если мне хочется, сбудется!

Земфира

Плюнь тому в глаза, кто скажет,
что можно объять необъятное!

Козьма Прутков "Плоды раздумья"


Новогодние праздники вновь навалились внезапно. Такое обилие свободного времени было просто необходимо разбавить какой-то осмысленной деятельностью и я решил приделать к своему серверу бота для игры в Шахматы. Готовых шахматных движков существует множество. Я решил остановиться на Garbochess-JS — простой и понятной реализации, на языке JavaScript, названной в честь знаменитой актрисы Греты Гарбо (вы можете видеть её на фотографии).
О том, что из этого вышло, читайте далее...
Всего голосов 18: ↑18 и ↓0 +18
Просмотры1.5K
Комментарии 5

Шахматы на Delphi. Как я изобретал велосипед

DelphiРазработка игрЛогические игры

Писать игровой AI очень интересно и увлекательно - не раз убеждался в этом на личном опыте. Недавно, случайно наткнувшись на код своего старого проекта шахматной программы, решил его немного доработать и выложить на GitHub. А заодно рассказать о том, как он создавался и какие уроки преподал мне в процессе работы.

Читать далее
Всего голосов 68: ↑65 и ↓3 +62
Просмотры15.6K
Комментарии 45