Старый 03.04.2005, 12:34   #11 (permalink)
duMka
Участник
 
Аватар для duMka
 
Регистрация: 15.09.2004
Адрес: Ural
Сообщений: 135
Hello!
Цитата:
Сообщение от NiHeraNeSsu писал(а) ср, 30 марта 2005 16:49
Да, любопытная темочка. Однако существует огромная разница между шахматами и картами. А именно шахматы - игра с полностью доступной информацией, а карты и в частности покер - игра вероятностная, с весьма ограниченным объемом известной информации.
Я не вижу способа построить алгоритм, который бы справлялся с сильными игроками. С рыбой и новичками - да, но не с опытными прюсовыми игроками.
Ну, допустим самый лучший покерист мира А объединился с самым сильным программистом мира Б, и они решили создать бот. Допустим, А способен переложить в алгоритм любую концепцию Б. Ну, возьмем первый попавшийся пример. Бот сделал рэйз на АК и имеет 2-х коллеров сзади и одного на блайнде. Флоп Т93 и блайнд бэтает. Ситуация простейшая и Б готов запрограммировать то, что будет в этой ситуации делать А. Позвольте, а что будет делать А ?
Вот я на минутку побуду А и попытаюсь объяснить Б, как я играю эту позицию. Итак:
А: Черт, а ведь я ее играю каждый раз по-разному - иногда режу, иногда отвечаю, а бывает и бросаю.
Б: Так не пойдет, ты мне расскажи в зависимости от чего.
А: Ну, тут до хрена всего - и то, что я знаю о тех троих в поте, и моя интуиция, внутренний голос если угодно, и то как мне масть идет, и чувствую ли кураж. Понимаешь, тут угадать надо.
Б: Так что, сгенерируем случайное число от 1 до 3 и возьмем что выпадет ?
А: Да нет, это глупость, конечно. Я ведь и лучший в мире потому, что угадываю чаще других.
Б: Ну, хорошо, но бот то угадывать не умеет. Я вот посчитал только что, у меня получается по оддсам бросать надо. Запрограммируем бросать, что ли ?
А: Да ни в коем случае. Так ты все пробросаешь. Ты давай что-нибудь другое придумай.

Все, на этом я выдохся - ничего не могу придумать. А кто-нибудь может? Так что сдается мне, боты пока отдыхают.

Не согласен, что есть большая разница между картами и шахматами, я как-то уже писал об этом. В шахматах, начиная с некоторого уровня (чуть выше знаня как ходят фигуры) весьма важно знать уровень того с кем играешь. Одинаковые по силе игроки в принципе должны играть вничью. Фактически, игра в шахматы идёт кто кого поймает в ловушку. Знание особенностей противника очень помогает. Один мой знакомый люби слона на диагональ поставить, чтобы при случае ладью у меня прихватить. Так он этой идеей увлечён, что практически ничего кроме ладьи на доске не видит. Иногда ему даже удаётся выиграть ладью, но от этого ему только хуже. Отец мой имеет несколько "фишек" - например любит слона или коня за две пешки отдать. Вроде невыгодно. Правда к концу игры, когда пешки уже готовы превратится в ферзь, он каждую на фигуру меняет. Я вот знаю такую его особенность и фактически эти пешки он мне просто дарит.

В покере знания об особенностях игры ещё важнее, и программа лучше чем человек сможет определить их. Анализ больших объёмов данных конпьютеры делают лучше, чем человек. А методов анализа сейчас много - карты Кохонена, нейронные сети и пр. которые сейчас применяются для анализа разных пустяков типа прогнозирования климата, финансового анализа... Думаю, что применив эти технологии в покере можно создать бота играющего на уровне лучших профессионалов. Кстати, в детстве я писал игрушку на бейсике - называлась "100" (это типа чет-нечет, только более продвинутый - загадывать надо число от 1 до 9) использавал одну табличку (в современной терминологии нейронная сеть из одного нейрона). Сыграв 4-5 игр с человеком она уже прктически не проигрывала. Только если кто-то другой садился играть, то её надо было переучиватся но уже на 10 играх примерно. Пришлось сделать сохранение профиля игрока. Самое удивительное что мне тогда показалось - это способность программы "узнавать" игрока. На протяжении 2 игр программа собирала информацию и потом выбирала подходящий профиль. Всего было около 10 профилей - родные, знакомые, но ошиблась в выборе она только раз. Все Очень удивлялись, когда после 2 игр программа обращалась к игроку по имени и причём правильно.

Есть у меня идея, нет, не бота, а что-то типа Poker Tracker. Назвать наверно нужно такую программку Poker Profiler. Также как трекер собирает статистику, и во время игры используя профили показывает вероятные карты противников (с указанием вероятности) а также вероятные действия на ваш бет/рейз. Ну, а уж кнопки сами жмите.
Вот это как будет, против правил покеррума или нет?
__________________
Thanks.
duMka вне форума