|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Sergiy Kanilo 2:5020/400 15 Jul 2003 23:53:00 To : Rodion Gorkovenko Subject : Re: Доку по шахматам -------------------------------------------------------------------------------- "Rodion Gorkovenko" <Rodion.Gorkovenko@p6.f1286.n5030.z2.fidonet.org> wrote in message news:1058258241@p6.f1286.n5030.z2.ftn... > [О книгах по шахматам и компьютерам] > SK> У Ботвинника есть несколько книг (у меня было две) о том, > SK> как он создавал шахматную программу. Как источник алгоритма > SK> книги не годятся, но читать интересно. > Гм... Спасибо, мне-то просто порекомендовал один достаточно уважаемый в обоих > вопросах человек... Сам я, как водится, не видал... ;) эти книги достать ИМХО проблема небольшая - я купил в букинистике за чисто символическую сумму говорится в них в основном об идеях, заложенных в программу, в самом общем виде (конкретная реализация вряд ли была интересной, т.к. скорее всего уже морально устарела) но читать Ботвинника просто интересно (из чисто шахматной литературы ИМХО ему мало найдется равных) > SK> 1) выявление небольшого количеситва одно-двух-трех > SK> ходовых потенциально выгодных взятий/разменов, и > SK> оценка возможных путей их достижения > А вот про это можно подробнее - я что-то вообще не понял... ;( идея примерно такова (по памяти, ибо читал это лет так с десять назад, книжки были куплены в букинистике за чисто символическую плату :) Допустим, я могу пойдя два раза слоном взять ферзя, это как бы становится костяком рассматриваемого варианта, теперь подключаем все фигуры и пешки которые реально могут помешать этому плану осуществиться (которые могуть преградить путь нашему слону) и проводим более детальный пересчет только для этих фигур и только для ходов которые могут помешать "генеральной линии" Если доказано что вариантт не получается, то пытаемся проанализировать следующий вариант - "а что если конем взять пешечку" и т. д. Таких глобальных вариантов заметно меньше, чем всех возможных ходов, суета вокруг такого варианта тоже достаточно локализована > SK> 3) ищется просто простой материальный выигрыш > Hу это понятно - в качестве оценки позиции просто считаем стоимости фигур с > обеих сторон - в целом вполне оправдывает себя для решения тактических задач > (ловушек и т.п.) - правда тоже надо уточнять про механизм перебора... Пока > ограничиваюсь этим, как его, методом форсированного варианта? - когда по > достижении некой глубины поиска глубже перебираются только взятия... Hу а > некоторые ходы, ведущие к множеству вариантов перебираются вообще только, > скажем, на первых двух полуходах... > > Hо как решить стратегический вопрос? Как объяснить программе зачем она вообще > играет - она ж оценивает позицию и первым ходом двигает короля, поскольку по ее > оценке этот ход не хуже других... ;) Оценивать владение пространством? Атаки на > чужие фигуры? чисто материальный интерес - это не потому, что это самое простое и времени на боле есложное не было; наоборот, это _намеренный_ отказ от позионного анализа, котрый в то время был достаточно популярен в шахматрых программах (поскольку более-менее глубокий просчет был недоступен) > Самое противное, что дальнобойных фигур только две (ну три от силы) - остальные > ходят в радиусе одной клетки от предыдущей позиции - поэтому чтобы перейти > доску им нужно от четырех до восьми ходов... ;( вот поэтому и писались дебюты, ибо надо было как-то вывести фигуры на расстояние "прямой наводки" > SK> Тестировалась программа на этюдах. Один из рекордных (на мой взгляд) > SK> результатов был решение 20-ти (или где то около того) ходового этюда > SK> при рассмотрении только 200 промежуточных позиций. > Hа мой взгляд это тоже очень круто... ;) > > Еще пара вопросов: > 1) Как в обычных шахматах проверять возможность рокировки, если ее еще не было? > Hадо же рассматривать атаки на все поля, через которые проходят фигуры... не все фигуры, а только король (ладья может ходить и через битое поле) > 2) Согласно правилам у нас есть такой ход - взятая у противника фигура может > быть выставлена на любое поле доски (за редким исключением) - свободных полей > на доске не меньше сорока, поэтому даже одна взятая фигура круто увеличивает > размеры дерева перебора... (А обычных ходов из каждой позиции в среднем 20-30) > Какие тут могут быть рекомендации? я сам подобными программами не занимался, и даже играл с ними редко :) можно попробовать обратный расчет - анализ чего бы можно навредить, а от этого плясать - какую фигуру выбрать и где бы для этого стать (просто идея, как именно и вохможно ли это сделать - сам смотри) Cheers, Serge --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/6577d2379117.html, оценка из 5, голосов 10
|