Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2003.10.20;
Скачать: [xml.tar.bz2];

Вниз

Шашки...   Найти похожие ветки 

 
Vulko   (2003-04-11 17:08) [0]

Люди, вот решил написать гаму "Шашки", но возник следующий вопрос:
как выбрать лучший ход, лучше в зависимости от выбранного уровня сложности?


 
k-man   (2003-04-11 17:25) [1]

Вопрос в играх данного типа не в том как выбрать лучший ход ,
а вообще в создании ИИ.
Вообще неплохой уровень ИИ можно получить с помощью создания системы оценки позиции. То есть твоя программа проверяет каждую возможную позицию на заданную глубину в зависимости от уровня сложности и возвращает некое число от 0 до 1. А потом грубо говоря выбирает самый большой или маленький индекс, это уж как ты сделаешь. Я тоже начал с ИИ для подобной программы, а пришел к нейронным сетям и проектом связанным с ними... А проект
будет позже внедрен в игру типа шашек.


 
Кен   (2003-04-12 06:34) [2]

Vulko ©
> Люди, вот решил написать гаму "Шашки", но возник следующий
> вопрос:
> как выбрать лучший ход, лучше в зависимости от выбранного
> уровня сложности?

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

Если бы был быстрый движок генерации всех возможных ходов в позиции, желательно на ассемблере, то можно было бы думать о том, какой ход лучше выбрать.


 
Vulko   (2003-04-12 15:55) [3]


> проверяет каждую возможную позицию на заданную глубину

Это как %\



 
arch-vile   (2003-04-12 16:29) [4]

2Vulko я тож хочу покопаться и попробовать свои сыли в програмировании идиотов :) если не впадло и если они (шашки) на Паскале или Дельфи, то вышли мне плииз.


 
k-man   (2003-04-12 16:38) [5]

Понимаю твое удивление, когда я узнал об этом,
весьма элегантном решении, тоже нифига не понял.
Вот в чем приблизительный смысл. Что такое позиция я думаю объяснять не надо. Ну условно говоря это положение всех фигур на доске после какого-то хода. Ну так вот, твоя супер интеллектуальная программа поочередно моделирует как можно большее число возможных позиций, на заданную глубину, т.е. не
на один ход вперед, а на два например. По разработанному тобой алгоритму оценивает каждую позицию и возвращает некое число в массив. В итоге у тебя должен получиться некий массив весов позиций, который ты позже анализируешь и выбираешь к примеру самое большое число или самое маленькое. Но это весьма общее объяснение, а здесь много тонкостей и нюансов. Сначала тебе надо разработать сам алгоритм оценки позиции, потом будешь все это писать.... Это не один месяц работы! Будет круто если твоя программа сможет изменять весовые характеристики оценивающего алгоритма подстраиваясь под ситуацию. Но это уже нейронные сети и это куда более сложно..


 
k-man   (2003-04-12 16:49) [6]

2arch-vile
Вообще если ты собрался заняться этим серьезно, то лучше
пиши сам. Почему? Потому что ИИ у него там еще нет, а
сонову написать не так уж и сложно, проблемы будут только с графикой( как шащки нарисовать). Зато потом когда сам будешь ИИ писать и выйдет что-нибудь серьезное это будет полностью твоя разработка, а не доделка. А почему это важно?, спросишь ты,
а потому что серьезный ИИ пишется не один месяц. И когда работа будет сделана тебе не захочется что-бы сказали что это не полностью твой проект.


 
ffih1   (2003-04-12 22:33) [7]

2k-man
Напиши, плиз, шде взял теорию по нейронным сетям. Книжек нормальных кроме МСК и Спб не достать.


 
Кен   (2003-04-13 03:09) [8]

k-man
> сонову написать не так уж и сложно, проблемы будут только
> с графикой( как шащки нарисовать).

Если основу, то есть алгоритм генерации всех возможных ходов для позиции, написать действительно не солжно, то было бы неплохо запостить это прямо сюда. Только именно нормально работающую, с учётом всех правил русских шашек.

Либо могу взамен нарисовать шашки. Даже много шашек.


 
k-man   (2003-04-13 13:06) [9]

2ffh1
Зайди на сайт к Soft"у( он частый гость на Мастаке )
http://www.alife-soft.narod.ru/index.html
Там очень много интересного. Огромная кипа литературы по нейронным сетям и ссылок. Я там практически все перерыл!
Классный сайт!
2Кен
Я имел ввиду, что саму основу игры(интерфейс там и т.д, т.е полноценную игру на двоих ), а не алгоритм генерации ходов позиции - это уже ИИ. Но повторюсь когда передо мной встала такая задача я стал думать и было хотел сделать систему оценки позиции, но решил использовать нейронным сети, и сейчас занимаюсь несколько другим проектом, котроый потом будет внедрен в игру типа шашек или шахмат( вроде демо ) на его основе можно будет создать нейросетевой ИИ для любой программы.
Тем не менее, я не думаю что нужно генерить абсолютно все возможные ходы на позиции. Надо создать такой алгоритм оценки поз.,чтобы он сам отбирал какие поз. достойны глубинной обработки( на несколько ходов вперед ), а какие надо оставить.
А с помощью нейронных сетей можно реализовать это очень гибко.
Это называется самообучающийся ИИ. Но для того чтобы это понять нужно много знать о теории и функционировании нервных клеток в организме человека, о моделях нейронных сетей, о методах их обучения и самообучения....
Так что Вулко советую подумать над системой оценки позиции без нейросетей, может получиться очень хороший ИИ.


 
GameBoy   (2003-04-13 13:11) [10]

2k-man
А ты сам-то хоть понимаешь разницу между ИИ и нейросетями?

2Vulko
Все алгоритмы уже давно написаны профи и принципы у них одинаковые. Сравни их исходники и поймешь, если разберешься :)

>Если бы был быстрый движок генерации всех возможных ходов в позиции, желательно на ассемблере...
Дизассемблируй, и будет тебе движок на Ассемблере :))


 
k-man   (2003-04-13 13:22) [11]

2GameBoy
ИИ и нейросети абсолютно разные вещи!
С помощью нейросетей создаются отличные образцы ИИ.
Но нейросети находят свое применение во многих областях человеческой жизни, нейрокомпьютерами пользуются :
от брокера до метеоролога. НС это универсальный аппарат.

> Все алгоритмы уже давно написаны профи и принципы у них
> одинаковые. Сравни их исходники и поймешь, если разберешься
> :)

1) Кто же нам даст эти исходники профи?
2) Ну если ты профи дай нам исходник - может разберемся:-)


 
nikkie   (2003-04-13 23:49) [12]

Не знаю, как на счет шашек, но исходники шахмат найти не проблема - GNUChess, например. Но чем копаться в исходниках, лучше почитать про основные алгоритмы. Минимаксная процедура, альфа-бета отсечение. Этого будет уже достаточно, чтобы написать хорошо играющую программу. По-крайней мере создателя она обыграет.


 
Кен   (2003-04-14 04:13) [13]

k-man
Я непонят.
Есть позиция. Например начальная. Ход белых. Нужен код, который бы сгенерировал позиции которые получатся после всех возможных ходов белых. Какая будет после хода ab4, какая после cb4, cd4, ed4 и т. д. до gh4. И вот когда все эти позиции будут сгенерированы, только тогда и можно будет их оценивать.

И этот код должен работать не только для начальной позиции, но и для любой другой. Для этого не нужен ИИ, это просто правила игры.


GameBoy ©
>Дизассемблируй, и будет тебе движок на Ассемблере :))
Шоб ты сам шашки дизассемблировал.


nikkie ©
> Не знаю, как на счет шашек, но исходники шахмат найти не
> проблема

Для шахмат и дурак геренацию возможных ходов напишет. Ходы с клетки на клетку. Бьётся максимум одна фигура. Вы вот бой дамкой в русских шашках напишите. Когда шашка превращается в дамку и бьёт десять шашек. Причём как побить - целая куча различных вариантов. А ещё если дамок несколько ?


 
nikkie   (2003-04-14 13:28) [14]

>Кен
правила игры - это уже алгоритм. вопрос как их запрограммировать - это вопрос реализации. согласен, что для шашек это будет сложнее, чем для шахмат. но написать рекурсивную процедуру за день можно. если у Вас это вызывает проблемы, то вероятно стоит для начала учебные задачи по-писать. перестановки чисел 1..N перечислить, например.

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

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


 
k-man   (2003-04-14 13:55) [15]

2Кен
Честно говоря плохо понял задачу...
Предположим, у нас есть некая виртуальная доска на котрой мы в памяти моделируем ходы и пишем позиции. Перемещаем шашку с одного места на другое, пишем позицию в некую структуру данных.
То есть делаем виртуальный ход - что-то пишем - возвращаем назад, делаем следующий ход... Но повторюсь у нас нет ресурсов что бы смотреть все позиции: нужен анализ что считать что нет.
...а у дамки просто больше возможностей хода.


 
k-man   (2003-04-14 13:59) [16]

2nikkie

> а для шахмат вопрос выбора "предположительно хороших" ходов
> очень важен. так что тут и нейронные сети могут пригодиться.

Вот об этом я здесь и разглагольствую...


 
Дмитрий К.К.   (2003-04-14 14:08) [17]

Обыкновенная переборная задача. Нейросети приплетать необязательно.


 
k-man   (2003-04-14 15:53) [18]

2Дмитрий К.К.
мы гимеем ввиду что на основе нейросети можно построить ИИ целиком, а не только решить отдельно эту задачу.


 
Vulko   (2003-04-14 15:56) [19]


> Все алгоритмы уже давно написаны профи и принципы у них
> одинаковые. Сравни их исходники и поймешь, если разберешься
> :)

2GameBoy
Где бы их взять?


> Обыкновенная переборная задача.

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



> По разработанному тобой алгоритму оценивает каждую позицию
> и возвращает некое число в массив. В итоге у тебя должен
> получиться некий массив весов позиций

2k-man
А по каким параметрам тогда оценивать позицию?


Это очень похоже на мою идею, которая заключается в том, чтобы просчитать несколько ходов и посмотреть оставшееся кол-во шашек.


 
nikkie   (2003-04-14 16:52) [20]

>Дмитрий К.К.
>Нейросети приплетать необязательно
это точно. но я уверен - в шахматной программе алгоритм априорного выбора "разумных" ходов даст очень серьезный плюс. а нейросети это будут или что иное - я не знаю.

>Vulko
>прикол в том, что чем круче ИИ, тем быстрее он ходит
задача эта прежде всего расчетная. выбор хода без расчета - это из области мистики. такая программа хорошо играть не сможет. хотя для того же го ситуация возможно будет иная.

>all
в "потрепаться" Mystic выложил ссылку на свой код шашечной программы.


 
k-man   (2003-04-14 21:56) [21]

2Vulko

> А по каким параметрам тогда оценивать позицию?

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


 
Кен   (2003-04-15 02:30) [22]

nikkie ©
> правила игры - это уже алгоритм. вопрос как их запрограммировать
> - это вопрос реализации. согласен, что для шашек это будет
> сложнее, чем для шахмат. но написать рекурсивную процедуру
> за день можно.

Так может говорить только тот, кто никогда это не пробовал сделать и незнает всех ньюансов.

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

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

> для шашек это, наверное, не очень актуально - слишком мало
> ходов

Зато рассчёты ведутся очень далеко. Часто до последней шашки.
В поддавках же вообще процентов 90 ходов обычно проигрышные. Но доказательство этого бывают слишком сложны.


k-man ©
> Предположим, у нас есть некая виртуальная доска на котрой
> мы в памяти моделируем ходы и пишем позиции.

Нету у нас такого исходника, чтобы корректно моделировал ходы и писал позиции после них. Нету. И пока его нету, говорить о том как эти ходы анализировать - рано.


 
k-man   (2003-04-15 12:32) [23]

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


 
Vulko   (2003-04-15 14:51) [24]


> Хороший вопрос...
> Вот это и есть система оценки позиции.
> А как ты ее сконструируешь дело твое - программистское.
> Играй в игру - думай что в ней наиболее важно, читай теорию,
> создавай, экспериментируй. Наше дело было направить тебя,

Дык это и есть вопрос на который я хотел бы получить ответ (смотри первый пост)!!!!!


 
nikkie   (2003-04-15 15:42) [25]

>Кен
>Так может говорить только тот, кто никогда это не пробовал сделать и незнает всех ньюансов.

Уважаемый господин Кен хочет взять меня на слабо? Нет проблем. Напиши и опубликуй алгоритм перечисления перестановок чисел от 1 до N. Сделаешь - я напишу алгоритм перечисления ходов в шашках.

>Нельзя их уменьшить неразбираясь в самой игре. В шахматах можно откидывать варианты, где жертвуется несколько фигур. В шашках можно пожертвовать все шашки, кроме последней, а последней съесть все шашки противника.
Нельзя в шахматах отбросить вариант с жертвой фигур по той же причине - последним ходом можно мат поставить.
Чем бы спорить, лучше поискал бы описание минимакса и альфа-беты. Все это придумано в 70-х годах, стыдно 30 лет спустя рассуждать о переборных задачах, не зная и не желая узнать базовых алгоритмов.

Нету у нас такого исходника, чтобы корректно моделировал ходы
Никто не виноват, что тебе лень даже по ссылке сходить. Mystic опубликовал свой код.


 
Arch-vile   (2003-04-15 16:44) [26]

> Нельзя в шахматах отбросить вариант с жертвой фигур по той же причине - последним ходом можно мат поставить.
Да? В смысле - а ты знаешь, что последнюю фигуру оччень легко просто УБИТЬ? Видно ты не только в шашки не умеешь играть, но и с шахматами проблемы...


 
neuro   (2003-04-15 16:52) [27]

Видно вы все играть в шахматы не умеете =)
Последняя фигура всегда король -- и им одним ну _никак_ мат поставить нельзя =)


 
Arch-vile   (2003-04-15 16:55) [28]

2neuro
Как раз об этом я и сказал :)
Ведь как шахматы выигрывают? Убивают короля, когда некуда смыться и нечем прикрыть :)


 
neuro   (2003-04-15 17:00) [29]

Тогда извини, недопонял..Хотя есть возможность одним королем в пат уйти, поэтому все-таки нельзя недооценивать игру с жертвами. Вроде как если светит максимум пат, то на него и играть надо.

Кстати, к вопросу об оценке позиции -- ничего выдумывать не надо, она уже есть -- в любом классическом учебнике по шахматному делу =).


 
nikkie   (2003-04-15 17:19) [30]

>neuro
>Видно вы все играть в шахматы не умеете =)
перчатка брошена. вызываю Вас, сэр, на дуэль (матч, то бишь), выбор оружия (кол-во партий и контроль времени - только так, чтобы за час, максимум два уложиться) за Вами. если Вы откажете в сатисфакции, то вы не джентельмен, сэр neuro.

>Arch-vile
>не только в шашки не умеешь играть, но и с шахматами проблемы...
будешь нарываться и тебя вызову.

господа, читайте пост внимательней, прежде чем накидываться. у меня не было слов про жертву ВСЕХ фигур.

>Кстати, к вопросу об оценке позиции -- ничего выдумывать не надо, она уже есть -- в любом классическом учебнике по шахматному делу =).
вот ля-ля не надо. оценка позиции - это самая сложная часть. если бы все было в книжке написано, то человек бы вообще ничего противопоставить не мог бы. а самые суперские шахматные программы до сих пор непонимают окончания с числом фигур более 5. и понятие "крепость" до них ну никак не доходит.


 
neuro   (2003-04-15 17:34) [31]

2nikkie: вообще пост был не конкретно тебе, но вызов твой я принимаю. =) Где и когда -- решать тебе.
По поводу позиции -- есть некоторые четкие критерии оценки -- базовые, вот их комп и знает, а остальное уже вариации на тему..


 
Mystic   (2003-04-15 17:59) [32]

> Нельзя их уменьшить неразбираясь в самой игре. В шахматах
> можно откидывать варианты, где жертвуется несколько фигур.
> В шашках можно пожертвовать все шашки, кроме последней,
> а последней съесть все шашки противника.


Правильно. Но тут есть один ньюанс. Если ты отдаешь две или больше шашек, а потом прекращается форсированный вариант (т. е. ты не вынуждаешь противника делать единственный ход, от силы два), то с большой вероятностью расчет можно прекратить.

В моей программе глубина перебора зависит от количества ходов. Там был такой алгоритм:

Рекурсивная функция оценки позиции
1. Буфер переполнен? Если да, то возвращаем оценку позиции по принципу у кого больше: простая 20, дамка 70. Плюс рандомное число от -10 до 10 (чтобы не повторяться).
2. Дописываем в буфер все возможные хода.
3. Если ходов нет, то возвращаем позиция проиграна (или выигрына, в зависимости от того, кто ходит)
4. Анализируем каждый ход по этой же процедуре.
5. Оценкой позиции будет ход с наименьшей (ходит противник) либо наибольшей (ходим мы) оценкой. (Минимакс).
6. Очищаем буфрер.

Преимущество такого подхода состоит в том, что в от количества ходов зависит глубина расчета. Для примера рассмотрим позицию

Белые: a3, b2, b4, c1, c3, d5, e1
Черный a5, дамка g1
Белые выигрывают.

1. b4-c5 (4) g1:b6 (2)
2. c3-d4 (5) b6:g1 (3)
3. d2-e3 (5) g1:d4:a1 (1)
4. a3-b4 (5) a5:c3 (1)
5. c1-b2 (4) c3-d2 ( 1)
> Нельзя их уменьшить неразбираясь в самой игре. В шахматах
> можно откидывать варианты, где жертвуется несколько фигур.
> В шашках можно пожертвовать все шашки, кроме последней,
> а последней съесть все шашки противника.


Правильно. Но тут есть один ньюанс. Если ты отдаешь две или больше шашек, а потом прекращается форсированный вариант (т. е. ты не вынуждаешь противника делать единственный ход, от силы два), то с большой вероятностью расчет можно прекратить.

В моей программе глубина перебора зависит от количества ходов. Там был такой алгоритм:

Рекурсивная функция оценки позиции
1. Буфер переполнен? Если да, то возвращаем оценку позиции по принципу у кого больше: простая 20, дамка 70. Плюс рандомное число от -10 до 10 (чтобы не повторяться).
2. Дописываем в буфер все возможные хода.
3. Если ходов нет, то возвращаем позиция проиграна (или выигрына, в зависимости от того, кто ходит)
4. Анализируем каждый ход по этой же процедуре.
5. Оценкой позиции будет ход с наименьшей (ходит противник) либо наибольшей (ходим мы) оценкой. (Минимакс).
6. Очищаем буфрер.

Преимущество такого подхода состоит в том, что в от количества ходов зависит глубина расчета. Для примера рассмотрим позицию

Белые: a3, b2, b4, c1, c3, d5, e1
Черный a5, дамка g1
Белые выигрывают.

1. b4-c5 (4) g1:b6 (2)
2. c3-d4 (5) b6:g1 (3)
3. d2-e3 (5) g1:d4:a1 (1)
4. a3-b4 (5) a5:c3 (1)
5. c1-b2 (4) c3-d2 (1)
6. e1:c3 (1) x

4 + 2 + 5 + 3 + 5 + 1 + 5 + 1 + 4 + 1 + 1 = 32


Таким образом, чтобы найти эту комбинацию, размер буфера должен превышать 32. Уровень 30 соответсвует самому слабому уровню игры, максимум соответсвует где-то 50-ти.

Недостатком этого алгоритма является то обстоятельство, что процесс вычисления хода строго детерминирован. Практически невозможно его адаптировать к игре на время. К тому же каждый новый ход обдумывается заново и не используется время, когда над ходом думает противник. Сейчас я робко подумываю на тему реализации такого движка, с хеш-таблицей на 4-16 Мб, ...

Сложностей с реализацией турецкого боя не возникало, задача скорее техническая.

Варианты с ИИ и нейросетями, имхо, бесперспективны.

>Кен ©
С вас набор шашечек. А если будет интерфейс, то совсем хорошо.

Повторю ссылку на алгоритм:
http://www.rsdn.ru/Forum/Message.aspx?mid=241401&only=1


 
nikkie   (2003-04-15 18:22) [33]

>neuro
сегодня, извиняюсь, не могу. давай завтра, 16.04.2002 скажем, в 18:00 по Москве - можно и сдвинуть, если тебе удобней будет. мне больше всего нравится играть на http://www.playchess.com , но если тебе неохота ставить клиента, то можем сыграть на берегу http://www.bereg.ru/games/club/hall.shtml - там явовский клиент.

играем 4 партии с контролем 5 минут на партию, либо 5 минут плюс 2 секунды за ход. проигравший приносит побежденному публичное покаяние в этой ветке. :)

если что-то не устраивает, можно обсудить.


 
Mystic   (2003-04-15 19:03) [34]

http://www.tundra2.com/index.html


 
neuro   (2003-04-15 19:16) [35]

2nikkie:
У тебя, кстати, какой разряд? =)
А если ничья? =)


 
k-man   (2003-04-15 21:26) [36]

Ха-Ха! Чертовски занимателная вещица планируется. neuro я с тобой! В продолжении
О, сэры, позвольте мне быть вашим преданным секундантом.
И зреть сию благородную дуэль... Но я надеюсь дуэль окончится ничьей и жертв среди чистых кровей уважаемых сэров не планируется..
PS Что-то мы от темы отошли, ну что ж я выступлю в роли букмекера.
Принимаю ставки господа!


 
Кен   (2003-04-16 02:02) [37]

k-man ©
> Честно говоря пллхо понимаю в чем сложность передвинуть
> на виртуальной доске шашку с одного поля на другое.

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


nikkie ©
> Уважаемый господин Кен хочет взять меня на слабо? Нет проблем.
> Напиши и опубликуй алгоритм перечисления перестановок чисел
> от 1 до N. Сделаешь - я напишу алгоритм перечисления ходов
> в шашках.

Я хочу сказать, что я пытался это сделать, и знаю насколько это сложно, а вы нет.
Нафиг мне переставлять числа от 1 до N, я право не знаю ...

> Никто не виноват, что тебе лень даже по ссылке сходить.
> Mystic опубликовал свой код.

Где эта ссылка на исходник по русским шашкам ? Опубликуйте её тут и выделите жирным шрифтом ( если она конечно есть ).


Mystic ©
> Правильно. Но тут есть один ньюанс. Если ты отдаешь две
> или больше шашек, а потом прекращается форсированный вариант
> (т. е. ты не вынуждаешь противника делать единственный ход,
> от силы два), то с большой вероятностью расчет можно прекратить.

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


 
Mystic   (2003-04-16 11:39) [38]

> Кен © (16.04.03 02:02)

Повторю ссылку на алгоритм:
http://www.rsdn.ru/Forum/Message.aspx?mid=241401&only=1


> Например жертвуешь три шашки и перекрываешь четыри шашки
> противника по двойнику.


Получаем пятифигурный эндшпиль. Его оценка берется из базы. Насколько я знаю, сущесвует база 6-ти фигурных эндпилей, и даже 7-ми (~ 2 Гб)


 
nikkie   (2003-04-16 13:53) [39]

>neuro
>У тебя, кстати, какой разряд? =)

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

ты только подтверди время и место встречи.

А если ничья? =)
назначим переигровку :)


>Кен
>Я хочу сказать, что я пытался это сделать, и знаю насколько это сложно, а вы нет.
алгоритм взятия - рекурсивная процедура. я знаю, как пишется рекурсия, а ты, по всей видимости, нет...

>Нафиг мне переставлять числа от 1 до N, я право не знаю ...

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

у меня сложилось впечатление, что ты просто ленив, так что извини, разговор я прекращаю.


 
Дмитрий К.К.   (2003-04-16 14:05) [40]

Господа, спорящие с nikkie (то бишь Кен и neuro)!

Хде вы были, когда проводился шахматный турнир среди участников форумов сего сайта?

У вас бы сейчас начисто пропало желание спорить с ним. Ибо вы, похоже, даже не знаете всех ПРАВИЛ этих игр (переборных задач).



Страницы: 1 2 вся ветка

Форум: "Игры";
Текущий архив: 2003.10.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.6 MB
Время: 0.008 c
1-65510
Ev1972
2003-10-08 12:11
2003.10.20
Как отловить прокрутку TListBox?


1-65473
shelest
2003-10-08 14:20
2003.10.20
Какие программы используются для организации групповой работы?


14-65610
Izyum
2003-10-01 10:18
2003.10.20
Разве можно так пить?


3-65328
evgen123
2003-09-30 10:05
2003.10.20
Идентификатор записи


6-65567
shark
2003-08-23 14:00
2003.10.20
Help по WinSock





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский