![]() |
![]() |
Game-lord |
![]()
Сообщение
#1
|
![]() Группа: Пользователи Сообщений: 6 Пол: Мужской Репутация: ![]() ![]() ![]() |
Делаю игру(ну точнее собрался делать) под названием "собери 4!". Это довольно популярная игра, но если вы ещё её не вспомнили, то вот скрин:
![]() Проблема в том что у меня нет идей как сделать исскуственный интелект Т_Т Мне очень нужна ваша помощь! Не реализация, а просто идеи. Итак вопрос: по какому принципу должен работать искусственный интелект? Заранее всем спасибо за ответы! -------------------- |
![]() ![]() |
Michael_Rybak |
![]()
Сообщение
#2
|
Michael_Rybak ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: ![]() ![]() ![]() |
Уточню на всякий случай, что у каждого игрока шарики своего цвета.
Ну ок, давай подумаем вместе про оценочную функцию. 1. В случаях, когда я уже выиграл, f = +∞ 2. Когда проиграл - f = -∞ 3. Если у меня три в ряд и есть куда поставить четвертую, это очень хорошо ![]() 4. Если у меня три в ряд и с обоих концов можно поставить четвертую, я выиграю следующим ходом, и f = +∞ 4. За каждую двойку фишек моего цвета, стоящих рядом, которые можно продолжить до четверки, увеличиваем значение функции. Эти вещи - очевидны, и следуют прямо из правил. Если хочешь, попробуй дополнить их своими догадками, потом сможешь сравнить, насколько они оказались полезными. Хотя, даже такой примитивный набор оценок уже даст очень сильный ИИ для такой игры (с таким небольшим деревом). Вообще, как для первой игры с ИИ, это довольной сложный вариант; если ты вообще никогда не писал рекурсивные переборы, лучше для начала хотя бы напиши вывод всех перестановок первых n натуральных чисел. Хотя можно и без этого - тебе решать. Итак, пробуй. Для начала напиши функцию, которая получает на вход позицию, и возвращает значение f. |
![]() ![]() |
![]() |
Текстовая версия | 27.07.2025 16:28 |