Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Искуственный интеллект [Delphi, Windows]


Hecz ©   (2003-11-01 10:03:00) 

Мастера, подскажите, если вы знаете, как для построения простой игры типа "крест-ноль" можно обойтись без построения дерева?


TButton   (2003-11-07 18:31:00) [1]

а чо мой месаг удалили???
я ваше крестики нолики делал, компутер искал последовательность из двух своих символов если не находил - рандом. и делоф то (3 горизонтали + 3 вертикали + 2 диагонали = 8 проверок)


Gandalf   (2003-11-06 08:51:00) [2]

Мда есть много оценочных функций для крестиков ноликов. Обычно принцип такой. Суммирование своих непрерывных фишек через эту клетку во всех направлениях. Причем если цепочка прикрыта с одной строконы - то ее стоимость на d меньше (скажем на 1). Аналогично считаем ее ценность для врага и после суммирования, ходим в точку с максимальным весов. Оценка цепочки можно весити как угодно. Но главное чем она длиннее тем она дороже раз. Своя цепочка всегда дороже (оно и понятно если у тебя одной не хватает до победы не надо блокировать врага если у него тоже самое - надо выигрывать).

За конкретным кодом обращаться к книге Фосрайта - Паскаль для всех. Там готовый код. У меня где-то тоже есть реализация - пиши если надо сильно. Играет довольно неплохо.


debugger   (2003-11-05 09:21:00) [3]

Я делал так: исходя из возможных вилок 4х4, 4х3, 3х3, просто открытых троек и т.д. рассчитывал "вес" клетки, а потом ход компьютера делается в клетку с наибольшим "весом". Уложился в 1500 строк на Visual Basic'e. Правда сила игры далеко не гроссмейстерская.


Asteroid   (2003-11-04 23:53:00) [4]

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


AMogil   (2003-11-04 20:12:00) [5]

Если 3*3, то можно просто написать программу, которая переберет все варианты (2^9=512 всего!) и сохранит их в файл, а потом из основной программы ты просто будешь просматривать этот файл и выбирать оптимальный ход.


Mihey   (2003-11-04 19:45:00) [6]

Согласен с reticon. Можно циклами и if'ами.


Kobik   (2003-11-04 19:21:00) [7]

Ээ. Ну если ты имеешь ввиду обычные крестики нолики 3*3, то там вообще интеллект не нужен ))

Ну а если что-то серьезнее, то почему обязательно без дерева? Разве тебе есть большая разница какие вспомогательные конструкции строить?

ЗЫ. Короче не знаю я.


TButton   (2003-11-04 18:10:00) [8]

Удалено модератором


pavel_k   (2003-11-01 15:04:00) [9]

Удалено модератором


reticon   (2003-11-01 10:21:00) [10]

можно. цыклами.


Наверх

Титульная страница Поиск, карта сайта Написать письмо