Я бы не сказал. С первого взгляда даже неясно возможно ли вообще заматовать
. Смутно вспоминаю как ребёнком не мог заматовать отца (дурачком маячил ещё тогда, видимо
). Потом отец научил принципам/алгоритму: надо выбрать сторону доски, куда загонять короля будешь; ладья бьёт параллельно этой стороне; вражеский король на линию ближе к выбранной стороне, а свой на линию дальше; пустыми ходами заставляешь короля первым встать против своего и тогда шахуешь ладьей, чем отбрасываешь короля на линию ближе к выбранной стороне и сразу подвигаешь ладью, дабы не вернулся на прежнюю линию; все это повторяется, пока королю бОльше некуда отступать после шаха ладьей = мат.
В таком варианте понимание железяки базируется на счете вариантов все равно. В то время как человек видит эту оценку и так.
Нет не верно. Оценочная функция компа проще чем у гросса или даже перворазрядника, но она есть. И поэтому можно говорить о более высоком уровне понимания у людей, которое компы компенсируют счетом. Хороший (имхо) и измеримый критерий понимания - точность мгновенной оценки позиции.
Не думаю, что подобные стратегические соображения можно легко запрограммировать.
Что тут трудного? Даже комп понимает, что мат возможен только когда король загнан на последнюю линию. Это свое понимание он и реализует конкретными вариантами.
Оценочная функция компа проще чем у гросса или даже перворазрядника, но она есть. И поэтому можно говорить о более высоком уровне понимания у людей, которое компы компенсируют счетом. Хороший (имхо) и измеримый критерий понимания - точность мгновенной оценки позиции.
Только взамен мгновенной я бы сказал чураясь какого-либо счёта
Даже комп понимает, что мат возможен только когда король загнан на последнюю линию. Это свое понимание он и реализует конкретными вариантами.
И сколько лишних и совершенно ненужных Цели/Стратегии ходов просчитает у себя в силиконовой башке дурачок, пока состряпает как хотел попало мат на последней линии?
надо выбрать сторону доски, куда загонять короля будешь; ладья бьёт параллельно этой стороне; вражеский король на линию ближе к выбранной стороне, а свой на линию дальше; пустыми ходами заставляешь короля первым встать против своего и тогда шахуешь ладьей, чем отбрасываешь короля на линию ближе к выбранной стороне и сразу подвигаешь ладью, дабы не вернулся на прежнюю линию; все это повторяется, пока королю бОльше некуда отступать после шаха ладьей = мат.
Это долго. Мы рассмотрим это в теории для одноглазых
И поэтому можно говорить о более высоком уровне понимания у людей, которое компы компенсируют счетом. Хороший (имхо) и измеримый критерий понимания - точность мгновенной оценки позиции.
Ну вот мы начинаем приближаться к консенсусу
Но, мгновенная оценка компа не выбирает ходов-кандидатов. Компу надо проверить ОФ после каждого возможного первого хода, чтобы сделать отсечение.
Если комп заранее будет отсекать варианты, он перестанет находить нечеловеческие ходы, которые и составляют часть его силы.
Наличие ходов кандидатов не означает отсекание каких либо вариантов. Комп даже не обязан их использовать. Просто есть некие ходы и за это будет начисляться некие очки.
Хайдук написал(а):
В том-то и дело, что надо понимать как загнать, а то на меня-пацана будет похож
Ну вот как раз пример, когда число ходов кандидатов (в этом случае просто число возможных ходов короля) надо минимизировать.
Весь сыр-бор происходит из-за того, что человек в любом случае считает крайне усеченное дерево, и поэтому качество усечения или лучше правильный выбор основных направлений, называемый пониманием, имеет первостепенное значение. А компа в любом случае нельзя ограничивать в возможности посчитать
как раз пример, когда число ходов кандидатов (в этом случае просто число возможных ходов короля) надо минимизировать.
Да причем тут минимизация? Если пытаться именно минимизировать большое число возможных ходов короля, то компу придётся просчитывать за кадром массу совершенно ненужных, лишних ходов. И это потому, что не понимает идею выигрыша. А я (молодой в прошлом дурак с годами стал старым ... таковым же) и не буду пытаться минимизировать число ходов короля, когда выбираю прижать его к НЕ самой близкой к нему крайней линии или когда иду своим королём к линии отсечения (параллельной выбранной крайней линии) ладьей. А вот когда приду туда уже не будет надобности делать лишние ходы королём или ладьей
Компу надо проверить ОФ после каждого возможного первого хода, чтобы сделать отсечение.
Если проверка ОФ не включает счёта, то где гарантия, что не отсекли выгодного продолжения? И вообще как комп отсекает счёт, дабы не проколоться именно тем же отсечённым счётом?
Это имхо должно зависеть от конкретной имплементации ОФ.
Это Ботвинниковщина
Если комп заранее будет отсекать варианты, он перестанет находить нечеловеческие ходы, которые и составляют часть его силы.
Подпись автора
Каждому - свое
Kompiuter do sih por daleko ne srazu nahodit Bh3 v moem endshpile s Topalovym imenno potomu, chto on ego avtomatom otsekaet. Uchite matchast' Vladimirovich, eto Vam ne Salovschina s byashevschinoi
Да причем тут минимизация? Если пытаться именно минимизировать большое число возможных ходов короля, то компу придётся просчитывать за кадром массу совершенно ненужных, лишних ходов.
Ничего считать не надо. Число возможных ходов короля есть функция позиции и не требует расчета вариантов. Комп понимает, что число возможных ходов короля надо минимизировать и реализует это понимание, загоняя короля на последний ряд. Я так своих детей заставил самих найти алгоритм построения мата. Просто тупо даем шах, отбирая боковые ходы, пока король отбирает ходы вперед. Никаких глубоких расчетов нет.
Раз мы тут все равно обсуждаем компы, то у меня возникает вопрос. А реализуют ли современные проги динамическую ОФ? Например можно реализовать ОФ в виде функтора и использовать подходящий объект максимизирующий понимание данного типа позиций. С точки зрения скорости счета, потерь быть не должно, а понимание по идее должно повыситься.
Kompiuter do sih por daleko ne srazu nahodit Bh3 v moem endshpile s Topalovym imenno potomu, chto on ego avtomatom otsekaet. Uchite matchast' Vladimirovich, eto Vam ne Salovschina s byashevschinoi
Знаете, Фандорин, похоже борьба с ветряными мельницами выела Вам мозг
Попейте коньячку на ночь.
Нужно просто поставить вывод MultiPV на 24 варианта
Вот что рассматривает Рыбка 3 на слабом довольно компе
Как мы видим, она отсекает Ch3 именно потом, а не сразу, потому что не досчитывает, и переходит к рассмотрению других вариантов
Не ругайтесь. По-моему, вы об одном и том же говорите разными словами.
Чтоб знать, что отсекать, он сначала хотя бы должен глянуть, какие ходы есть и что там за ними, хотя бы на полуход. Чисто технически Владимирович прав.
В позиции 13 возможных ходов. Если ставить MultiPV = 13, он ни один первый полуход не будет отсекать. У Гудини, кстати, при MultiPV с самой первой глубины Bh3 идет на почетном 13-м месте.
Но ясно также, что человеку найти 1... Bh3! много проще, чем компу. Хотя бы из тех соображений, что позиция с королем белых на e3 (естественно, при живых пешках g и h) - позиционная ничья, так как белый слон прекрасно держит 2 пешки на одной диагонали...