Ключевое слово
19 | 04 | 2024
Новости Библиотеки
Шахматы Онлайн
Welcome, Guest
Username: Password: Remember me

TOPIC: Шахматы и программирование

Шахматы и программирование 07 Окт 2009 11:26 #1

  • awpris
  • awpris's Avatar
  • OFFLINE
  • Отрок
  • Posts: 1
  • Karma: 0
Довольно интересная тема.
И не только с точки зрения рассмотрения готовых шахматных компьютерных программ, а именно с точки зрения развития мышления, особенно у детей путем программирования задач на шахматную тематику.

Вот примеры:
e-olimp.com.ua/tasks.php?id=308 Конь и пешка против коня
e-olimp.com.ua/tasks.php?id=309 Слон и пешка против слона
e-olimp.com.ua/tasks.php?id=310 Письмо из Простоквашино
и две следующих...
Впрочем, у нас можно найти и другие задачи такого направления.

Так что кого интересует - милости просим !!!

Отредактировано awpris (2009-10-07 15:27:03)
Last Edit: 01 Сен 2015 18:41 by Vladimirovich.

Шахматы и программирование 08 Окт 2009 03:32 #2

  • Vladimirovich
  • Vladimirovich's Avatar
  • NOW ONLINE
  • Инквизитор
  • Posts: 106783
  • Thank you received: 2073
  • Karma: 105
С точки зрения начального обучения детей вероятно один из лучших типов задач.
Каждому - своё.

Шахматы и программирование 22 Окт 2009 04:35 #3

  • Vladimirovich
  • Vladimirovich's Avatar
  • NOW ONLINE
  • Инквизитор
  • Posts: 106783
  • Thank you received: 2073
  • Karma: 105
С другой стороны, я иногда почитываю профессионалов на КС и, если я правильно понимаю, на самом деле подобные задачи решаются в культовых железяках совсем не по детски - через битборды.
Поэтому возникает видимо дисбаланс между развитием мышления и оптимальностью решения

Каждому - своё.

Шахматы и программирование 22 Окт 2009 05:32 #4

  • drowsy
  • drowsy's Avatar
  • OFFLINE
  • Генерал-аншеф
  • Posts: 810
  • Thank you received: 4
  • Karma: 0
Vladimirovich написал(а):
С другой стороны, я иногда почитываю профессионалов на КС и, если я правильно понимаю, на самом деле подобные задачи решаются в культовых железяках совсем не по детски - через битборды.
Поэтому возникает видимо дисбаланс между развитием мышления и оптимальностью решения
Это Хайдук запостил, что-ли

Шахматы и программирование 22 Окт 2009 06:09 #5

  • Vladimirovich
  • Vladimirovich's Avatar
  • NOW ONLINE
  • Инквизитор
  • Posts: 106783
  • Thank you received: 2073
  • Karma: 105
drowsy написал(а):
Это Хайдук запостил, что-ли 
Учимся у Хайдука невольно изящному стилю выражения мыслей

Каждому - своё.

Шахматы и программирование 14 Май 2010 19:31 #6

Сегодня играл с прогой на Сайте Американского Шахматного Клуба и прога с рейтом 2700 уровень МГ-в чисто ничейном ладейном эндшпиле стала играть под себя и проиграла мне рейт проги у них там 2700МГ_Petya? Чем и как можно обьяснить это?

Шахматы и программирование 14 Май 2010 19:56 #7

  • Der Freund
  • Der Freund's Avatar
  • OFFLINE
  • Бояринъ
  • Posts: 1253
  • Thank you received: 1
  • Karma: 0
Volkov_Yury написал(а):
Чем и как можно обьяснить это?


Как чем объяснить? Ты- дегенерат; вот и все объяснение...

Шахматы и программирование 14 Май 2010 22:31 #8

А ты Урод дебильный!

Шахматы и программирование 14 Май 2010 23:47 #9

  • Хайдук
  • Хайдук's Avatar
  • OFFLINE
  • Наместник
  • Posts: 49370
  • Thank you received: 130
  • Karma: 16
Миш, откуда у тебя столько злобы на товарищей?

Шахматы и программирование 15 Май 2010 01:30 #10

  • Vladimirovich
  • Vladimirovich's Avatar
  • NOW ONLINE
  • Инквизитор
  • Posts: 106783
  • Thank you received: 2073
  • Karma: 105
Распустились тут.

Каждому - своё.

Шахматы и программирование 15 Май 2010 05:40 #11

  • Der Freund
  • Der Freund's Avatar
  • OFFLINE
  • Бояринъ
  • Posts: 1253
  • Thank you received: 1
  • Karma: 0
Volkov_Yury написал(а):
А ты Урод дебильный!

Шахматы и программирование 15 Май 2010 05:42 #12

  • Der Freund
  • Der Freund's Avatar
  • OFFLINE
  • Бояринъ
  • Posts: 1253
  • Thank you received: 1
  • Karma: 0
Хайдук написал(а):
откуда у тебя столько злобы на товарищей?

Какой он мне товарищ? Да это и не злоба- я вообще добрый...

Шахматы и программирование 15 Май 2010 21:21 #13

  • Хайдук
  • Хайдук's Avatar
  • OFFLINE
  • Наместник
  • Posts: 49370
  • Thank you received: 130
  • Karma: 16
Der Freund написал(а):
я вообще добрый
Заметил я, что ты не злой, однако особый ты, страшно как-бы сломя голову/х** доверять...

Шахматы и программирование 06 Сен 2010 19:29 #14

  • Vladimirovich
  • Vladimirovich's Avatar
  • NOW ONLINE
  • Инквизитор
  • Posts: 106783
  • Thank you received: 2073
  • Karma: 105
habrahabr.ru/blogs/webdev/103677/
Javascript играет в шахматы — размер скрипта 1 KB!
Javascript в работе использует уже чуть ли не каждый веб-разработчик. Но пока только мексиканцу Оскару Толедо удалось упихнуть в один килобайт кода на Javascript самый настоящий шахматный алгоритм.

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

Рокировка правилами также не предусмотрена.
Но размер 1К не может не восхищать
Каждому - своё.
Last Edit: 01 Сен 2015 18:42 by Vladimirovich.

Шахматы и программирование 26 Фев 2011 20:42 #15

  • PP
  • PP's Avatar
  • OFFLINE
  • Холоп
  • Posts: 31409
  • Thank you received: 224
  • Karma: -124
У меня такой вопрос есть по таблицам окончаний. Какой процент позиций в шестифигурных окончаниях верно оценивается рыбкой или другим движком? Идея заключается в уменьшении баз окончаний за счет сохранения только тех позиций, в которых движок не видит оптимальную стратегию. По идее, это должно позволить сильно уменьшить число позиций, которые надо хранить в базе.

Шахматы и программирование 26 Фев 2011 20:49 #16

  • Vladimirovich
  • Vladimirovich's Avatar
  • NOW ONLINE
  • Инквизитор
  • Posts: 106783
  • Thank you received: 2073
  • Karma: 105
PP написал(а):
У меня такой вопрос есть по таблицам окончаний. Какой процент позиций в шестифигурных окончаниях верно оценивается рыбкой или другим движком? Идея заключается в уменьшении баз окончаний за счет сохранения только тех позиций, в которых движок не видит оптимальную стратегию.
Мысль интересная, но мне кажется, сейчас несколько десятков Гиг уже мало кого волнуют с нонешним железом.
У меня правда дефсит на десктопе, а на ноут лень заливать. Онлайн базы в принципе есть.

Ответа точного у меня нет, но думаю, процент невысокий. Слишком много рыбных позиций движки оценивают как
или +- как я видел. ( без таблиц ессно)
Каждому - своё.

Шахматы и программирование 26 Фев 2011 20:56 #17

  • PP
  • PP's Avatar
  • OFFLINE
  • Холоп
  • Posts: 31409
  • Thank you received: 224
  • Karma: -124
Еще один вопрос по созданию баз окончаний. Понятно, что создание 10 фигурных баз нам в ближайшее время не светит. Слишком быстро нарастает число расматриваемых позиций. В связи с этим вопрос, а будут ли полезными базы, где позиция раскручивается назад на пару ходов только по оптимальной линии некоего движка? Не даст ли такой подход приблизительных баз более высокофигурных окончаний?

Шахматы и программирование 26 Фев 2011 20:58 #18

  • PP
  • PP's Avatar
  • OFFLINE
  • Холоп
  • Posts: 31409
  • Thank you received: 224
  • Karma: -124
Vladimirovich написал(а):
Ответа точного у меня нет, но думаю, процент невысокий. Слишком много рыбных позиций движки оценивают как
или +- как я видел.
Жаль
Last Edit: 01 Сен 2015 18:43 by Vladimirovich.

Шахматы и программирование 27 Фев 2011 04:32 #19

  • PP
  • PP's Avatar
  • OFFLINE
  • Холоп
  • Posts: 31409
  • Thank you received: 224
  • Karma: -124
Vladimirovich написал(а):
Ответа точного у меня нет, но думаю, процент невысокий. Слишком много рыбных позиций движки оценивают как
или +- как я видел.
Я все же еще разок спрошу. Вы глядели случайные позиции или только малую часть, где материал был примерно равен?
Last Edit: 01 Сен 2015 18:43 by Vladimirovich.

Шахматы и программирование 27 Фев 2011 07:14 #20

  • Vladimirovich
  • Vladimirovich's Avatar
  • NOW ONLINE
  • Инквизитор
  • Posts: 106783
  • Thank you received: 2073
  • Karma: 105
PP написал(а):
Я все же еще разок спрошу. Вы глядели случайные позиции или только малую часть, где материал был примерно равен?
Малую конечно. Только то что практически попадалось. Материал разный.
Ладейники Л+п - Л движки хорошо обычно считают
А поставить что-нибудь посложнее...

Вот это ничья







7k/8/1R5P/6K1/8/8/2b5/8 w - - 0 1

Базы у меня только Налимовские, так что Рыбка знает ответ, а Гудини нет - для него надо Гавиоту качать.
Так вот Гудини тут упорно +0.52 белым дает. Но может ему надо дать время посчитать ( у меня комп не самый быстрый)

В более многофигурных окончаниях еще хуже должно быть.
Каждому - своё.

Шахматы и программирование 27 Фев 2011 19:22 #21

  • PP
  • PP's Avatar
  • OFFLINE
  • Холоп
  • Posts: 31409
  • Thank you received: 224
  • Karma: -124
Vladimirovich написал(а):
Так вот Гудини тут упорно +0.52 белым дает.
Вот я и спрашиваю, какой процент позиций в которых Гудини ошибается? Если только 10% от общего числа всех позиций, то базы можно сильно сжать. Также интересное приложение таблиц,- это настройка оценочной функции.
Например, пробовал ли народ находить nearest neighbor в пространстве известных окончаний, и давать оценку с учетом известной оценки похожей позиции?

Шахматы и программирование 27 Фев 2011 19:35 #22

  • Vladimirovich
  • Vladimirovich's Avatar
  • NOW ONLINE
  • Инквизитор
  • Posts: 106783
  • Thank you received: 2073
  • Karma: 105
PP написал(а):
Вот я и спрашиваю, какой процент позиций в которых Гудини ошибается? Если только 10% от общего числа всех позиций, то базы можно сильно сжать.
Надо исследования проводить.

Я бы не стал говорить об ошибке, кстати.
В данной позиции, если не знать , что это крепость, нельзя оценки давать 0.00.
А до конца досчитать нереально.
Так что все правильно.
Каждому - своё.

Шахматы и программирование 27 Фев 2011 19:44 #23

  • PP
  • PP's Avatar
  • OFFLINE
  • Холоп
  • Posts: 31409
  • Thank you received: 224
  • Karma: -124
Vladimirovich написал(а):
В данной позиции, если не знать , что это крепость, нельзя оценки давать 0.00.
Кстати, если бы я писал код по обнаружению крепости, я бы сделал так. Смотрим изменение оценки за N ходов вдоль первой линии , если оценка не именилась (так и осталось ~ +0.5), то значит крепость, меняем оценку на 0.

Шахматы и программирование 27 Фев 2011 19:58 #24

  • Vladimirovich
  • Vladimirovich's Avatar
  • NOW ONLINE
  • Инквизитор
  • Posts: 106783
  • Thank you received: 2073
  • Karma: 105
PP написал(а):
Кстати, если бы я писал код по обнаружению крепости, я бы сделал так. Смотрим изменение оценки за N ходов вдоль первой линии , если оценка не именилась (так и осталось ~ +0.5)
Ну ведь оценку надо тоже на основе чего то давать.
То что материал не меняется 30 ходов не значит, что позиция не улучшается.
Каждому - своё.

Шахматы и программирование 28 Фев 2011 04:23 #25

  • PP
  • PP's Avatar
  • OFFLINE
  • Холоп
  • Posts: 31409
  • Thank you received: 224
  • Karma: -124
Vladimirovich написал(а):
Ну ведь оценку надо тоже на основе чего то давать.
То что материал не меняется 30 ходов не значит, что позиция не улучшается.
Идея в том, чтобы оценочная функция оценивала не только материал, но и градиент нарастания оценки. Если в текущей позиции у нас материальная оценка +0.52 и на нескольких уровнях выше тоже было +0.52 то мы за это наказываем. Иными словами оценка позиции зависит от материала и вектора оценок предыдущих позиций. Мне кажется это логичным ибо оптимальная игра должна монотоно наращивать преимущество. Например в позиции, где у белых лишняя ладья, но она изолирована пешечной стеной, на первом уровне у нас +5, дальше мы расматриваем ход ладьей или королем и получаем опять +5,...на глубине N у нас материал +5, но нулевое наращивание преимущества. При правильном подборе параметров такая позиция получит оценку 0 на основе отсутствия прогреса за N ходов и крепость или закрытая позиция будет распознана. Это, конечно, на мой полностью профанский взгляд все так просто.

Шахматы и программирование 28 Фев 2011 06:18 #26

PP

Интересная идея, РР!

Шахматы и программирование 28 Фев 2011 13:43 #27

  • Vladimirovich
  • Vladimirovich's Avatar
  • NOW ONLINE
  • Инквизитор
  • Posts: 106783
  • Thank you received: 2073
  • Karma: 105
Вот у Сьюзан как раз позиция по нашей теме

susanpolgar.blogspot.com/2011/02/must-know-endgame.html
White to move. Is this a win or draw for White?







6k1/6p1/6K1/7P/8/8/2B5/8 w - - 0 1
Каждому - своё.
Last Edit: 01 Сен 2015 18:44 by Vladimirovich.

Шахматы и программирование 28 Фев 2011 15:18 #28

  • PP
  • PP's Avatar
  • OFFLINE
  • Холоп
  • Posts: 31409
  • Thank you received: 224
  • Karma: -124
Я бы играл Bb3+ Kh8; Kf7 Kh7; Bc2+ Kh6; Bg6 Kg5; Kxg7
В этом варианте оценка выросла за 5 ходов. Даже первый ход уменьшил число полей для ходов черного короля и значит оценка должна была подняться на второй позиции. За отсутствие прогреса в ходах 3,4 наказание будет, но в других вариантах у нас тоже прогрес отсутствует и поэтому там будет тоже наказание и первая линия не изменится?
Упс, тут ведь король может третьим ходом пойти назад на h8? Надо подумать. Похоже прогнать врага с h8 не выйдет, ничья.

Отредактировано PP (2011-02-28 19:25:29)

Шахматы и программирование 28 Фев 2011 16:35 #29

  • Vladimirovich
  • Vladimirovich's Avatar
  • NOW ONLINE
  • Инквизитор
  • Posts: 106783
  • Thank you received: 2073
  • Karma: 105
PP написал(а):
Я бы играл Bb3+ Kh8; Kf7 Kh7; Bc2+ Kh6; Bg6 Kg5; Kxg7
Ага. Король черных вообще не должен уходить с h8 особо. Ходит рядом.
Как его запатуют, то играется g7-g5 и пешка бежит, пока ее не съедят. Тогда вообще шансов уже нет.
Если же взять на проходе, то пат тоже.
Каждому - своё.

Шахматы и программирование 28 Фев 2011 17:09 #30

  • PP
  • PP's Avatar
  • OFFLINE
  • Холоп
  • Posts: 31409
  • Thank you received: 224
  • Karma: -124
Заметим, что материальная оценка позиции будет топтаться в районе +3, тоесть наращивание преимущества будет равно нулю, что должно скореектировать оценку до 0. Наверное можно на основе анализа известных окончаний построить распределение скорости нарастания преимущества, как функции материального перевеса, что даст численный критерий для корректировки.
Moderators: Grigoriy
Рейтинг@Mail.ru

Научно-шахматный клуб КвантоФорум