![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Искуственный интеллект [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]можно. цыклами.