На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
Дорогие друзья! Поздравляем вас с днём Победы!
msm.ru


Страницы: (2) [1] 2  все  ( Перейти к последнему сообщению )  
> Игра + AI
    Привет. А вот кстати, неплохая тема. Можно ли написать программу (например шашки, или карты (типа дурака или буры)) с движком на AI. Причем с начала программа знает лишь "правила игры" (ну типа как ходит фигура), а затем обучается и ДУМАЕТ реально. Т.е. предлагает свои идеи.
      Можно... но возиться очень долго надо... кроме того на начальных статиях развития АИ играть будет не интересно... а пока она научится нормально играть ты уже раз x-дцать бросишь этот проект....
        А что можно почитать по этому вопросу (чтобы не изобретать велосипед)
          Цитата Nickolay111, 21.08.03, 15:13:47
          обучается и ДУМАЕТ реально. Т.е. предлагает свои идеи.

          ето голубая мечта всех программистов в мире ;D во главе со мной ;D ;D
            Цитата wormball, 27.08.03, 12:48:44

            ето голубая мечта всех программистов в мире ;D во главе со мной ;D ;D

            Так может ты и подскажешь, где по сабжу почитать?
              http://dushkin.boom.ru/AI.htm
                так чтобы думала - по такому вопросу почитать негде в силу вышеизложенных причин :(.

                а касаемо того что люди уже по етому поводу насочиняли - всё это можно разделить на два больших раздела: построение игровых деревьев и нейронные сети. и у того, и у другого больше недостатков, чем достоинств. деревья абсолютно точно просчитывают игру на n ходов вперёд, но с увеличением n начинают тормозить как m^n, где m -  количество вариантов хода из данной ситуации, а потому годятся лишь для небольших игр вроде шашек или шахмат. нейронные же сети - ето по меткому выражению dj kariesa полный авось. выход нейронной сети берётся как функция от игровой ситуации и нескольких чисел, которые предварительно следует оптимизировать, чтобы оная сеть давала решения получше. чем больше сеть, тем лучше она потенциально может играть, но тем медленнее она оптимизируется.

                так что когда пишут аи для игры, никогда не бывает достаточно применить один из вышеназванных подходов, всегда надо изобретать чтото своё, если хочешь, чтобы она играла скольколибо хорошо. vot я напр написал для футбола змейками и деревья, и сети, но и то, и другое играет из рук вон. так что думать всё равно придёстя ;D

                немного ресурсов

                про деревья наверное написано на www.algolist.manual.ru

                www.basegroup.ru - нейронные сети, начало начал

                www.wsni2003.narod.ru - конференция нейроинформатика 2003

                больше ничо не могу вспомнить.
                  есть хорошие вещи на анлгийском например рассел АИ


                  Шахматы - маленькая игра?,?!!!   не согласен
                    Цитата @Hgpeu, 27.08.03, 13:44:11
                    http://dushkin.boom.ru/AI.htm

                    почитал первую попавшуюся статью на оном сайте, ту что про ассоциативную машину. имхо словоблудие и демагогия.

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

                    а касаемо шахмат - я конечно в них полный лох, но както раз в компьютерре была статья про игру "го" и в ней постулировалось, что в отличие от таковой игры с шахматами удалось справиться "прямым наращиванием мускулов" и что они "не сложнее шашек" и аргументировано ето тем, как легко машина выиграла у каспарова.
                      А Нильсен у тебя в печатном или электронном варианте?
                        Цитата wormball, 27.08.03, 15:54:05
                        а касаемо шахмат - я конечно в них полный лох, но както раз в компьютерре была статья про игру "го" и в ней постулировалось, что в отличие от таковой игры с шахматами удалось справиться "прямым наращиванием мускулов" и что они "не сложнее шашек" и аргументировано ето тем, как легко машина выиграла у каспарова.

                        Слабоватая аргументация :)

                        В шашках фигуры ходят одинаково + только по чёрным клеткам + только вперёд (бить можно назад). В шахматах таких ограничений нет. Если кому станет интересно - можете попробовать пересчитать (для этого не сложно написать простенькую програмку ;) ) колличество возможых вариантов расположений фигур после N хода :). Отдельно для шашек и для шахмат.

                        А я потом вам секрет открою ;) Популярно объясню, как называется ваша простенькая програмка.
                          Цитата wormball, 27.08.03, 15:03:36
                          деревья абсолютно точно просчитывают игру на n ходов вперёд, но с увеличением n начинают тормозить как m^n, где m -  количество вариантов хода из данной ситуации, а потому годятся лишь для небольших игр вроде шашек или шахмат. нейронные же сети - ето по меткому выражению dj kariesa полный авось.

                          Да, насчет деревьев, это отчно просчитать можно (и наверное, "шашки" - идеальный пример для этого). Но на самом деле забача немного другая.. Т.е. имеем некоторый универсальный "движок", и отдельно "правила игры". Скажем, деревья для "шашек" отличаются от "буры", поэтому программу так просто не переделаешь...
                            PS. За ссылки СПАСИБО
                              Это обычное Хранилище c Завхозом ;D. Предположим, что приобретя некий Опыт ты спихиваешь его в Хранилище. Каждый Опыт привязан к конкретной Ситуации. Ситуация и Опыт - объекты из разных иерархий классов. При Сравнении двух объектов этих классов мы получаем число от 0 до 1.
                              0 - когда Опыт абсолютно не подходит к Ситуации,
                              1 - когда опыт абсолютно подходит к Ситуации.
                              Задача - найти в хранилище все объекты класса Опыт, которые при сравнении с конкретной Ситуацией дают значение "похожести" не ниже порога риска N.

                              Осталось подумать, как организовать абстракции Опыт и Ситуация ;) Требование - ну хоть шашки, для начала ;)

                              Ваши идеи?
                                ...ну да..... Сравниваем ситуацию из Хранилища с текущей и если ситуация совпадёт то дествовать по "Опыту" связанному с ситуацией "Хранилища"... Ну хорошо.. тогда возникают по-крайней мере 2 проблемы:
                                1. Выбор наилучшего "Опыта"(чтобы его кинуть на склад) из нескольких соответствующих одному Событию
                                2. Событие может быть не мгновенное, а как последовательность ситуаций. => растет объем хранилища.

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




                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0403 ]   [ 15 queries used ]   [ Generated: 10.05.24, 06:23 GMT ]