Главная страница
Навигация по странице:

  • Целью исследования

  • ВВЕДЕНИЕ В ПРЕДМЕТНУЮ ОБЛАСТЬ 1.1 Термин искусственный интеллект

  • 1.2 Искусственный интеллект в компьютерных играх

  • Основные принципы разработки игрового искусственного интеллекта

  • Система на основе правил

  • Конечные автоматы

  • Искусственный интеллект. В дополнение к основной цели работы выделяем следующие задачи


    Скачать 1.7 Mb.
    НазваниеВ дополнение к основной цели работы выделяем следующие задачи
    АнкорИскусственный интеллект
    Дата19.03.2020
    Размер1.7 Mb.
    Формат файлаdocx
    Имя файлаKursovaya_po_II.docx
    ТипРеферат
    #112466
    страница1 из 7
      1   2   3   4   5   6   7

    В данной работе рассматриваются вопросы и проблемы создания игрового Искусственного Интеллекта. Эта область науки является сравнительно молодой областью, и в ней до сих пор много вопросов без ответов, что делает ей актуальной и привлекательной. Сегодня искусственный интеллект есть во всех играх, и их популярность напрямую зависит от качества искусственного интеллекта. Это делает тему искусственного интеллекта в играх востребованной.

    Целью данной работы является знакомство с темой и написании собственного искусственного интеллекта в виде бота для игры «Войны Планет».

    В дополнение к основной цели работы выделяем следующие задачи:

    - Изучение и применение на практике компьютерной верстки LATEX.

    - Переписывание игрового движка, доработка визуализатора игры и прочее при подготовке окружения для разработки.

    - Проверить применимость знание о военном ремесле при разработке стратегии ведения игры.

    - Использование системы версионирования исходного кода git при разработке программы.

    В ходе работы мы приходим к выводу, что структура полученного искусственного интеллекта представляет собой стратегический план и делиться на 6 частей: первый шаг, самооборона, защита своих войск, атака, перегруппировка и хитрость. Программный код составляет более 1000 строк, написанных на языке Python.

    В ходе испытаний мы убедились в жизнеспособности своего алгоритма, что является главным выводом данной работы.


    СОДЕРЖАНИЕ

    ВВЕДЕНИЕ………………………………………………………………………..6

    1. ВВЕДЕНИЕ В ПРЕДМЕТНУЮ ОБЛАСТЬ…………………………………9

    1.1 Термин искусственный интеллект………………………………………….10

    1.2 Искусственный интеллект в компьютерных играх………………………...12

    1.3 Значение искусственного интеллекта для компьютерных игр……………15

    2. ПРАКТИЧЕСКАЯ ЧАСТЬ……………………………………………………18

    2.1 Об игре «Войны планет»…………………………………………………….18

    2.1.1 Сущности игры…………………………………………………………….18

    2.1.2 Правила игры……………………………………………………………….20

    2.1.3 Технические данные……………………………………………………….21

    2.2 Подготовка к написанию ИИ………………………………………………..22

    2.2.1 Подготовка окружения для разработки…………………………………..22

    2.2.2 Процесс разработки………………………………………………………..24

    2.2.3 Выбор типа ИИ и метода его написания…………………………………25

    2.2.4 Характер среды…………………………………………………………….27

    2.3 Стратегия и тактика………………………………………………………….28

    2.3.1 Первый ход и расширение………………………………………………...29

    2.3.2 Самооборона………………………………………………………………..30

    2.3.3 Защита своих войск………………………………………………………..32

    2.3.4Атака………………………………………………………………………...32

    2.3.5 Перегруппировка…………………………………………………………..34

    2.3.6 Хитрость и тактические приёмы…………………………………………36

    2.4 Внутреннее строение бота…………………………………………………..36

    ЗАКЛЮЧЕНИЕ…………………………………………………………………40

    СПИСОК ЛИТЕРАТУРЫ………………………………………………………41


    ОПРЕДЕЛЕНИЯ

    Искусственный интеллект — это область науки и инжиниринга, занимающаяся созданием машин и компьютерных программ, обладающих интеллектом.

    Искусственный интеллект – это форма интеллектуальности, искусственно воспроизводимая с помощью машин.

    Искусственный интеллект – это набор академических методик, методов исследования и задач, которыми занимается отдельное научное направление.

    Интеллект – способность приходить к решению при помощи вычислений.

    Интеллект — способность воспринимать информацию и сохранять её в качестве знания для построения адаптивного поведения в среде или контексте.

    Бот — программа-робот, управляемая компьютером, имитирующая партнёров в сетевой игре, в сетевых поединках, командных сражениях и т. д. Программа-бот основана на модуле искусственного интеллекта, который адаптирован к особенностям данной игры: карте, правилам, а также к типу игры.

    GIT - это одна из самых новых и популярных среди профессионалов нынче система версионирования файлов. 

    Git — одна из систем контроля версий.

     Компьютерная игра — компьютерная программа, служащая для организации игрового процесса, связи с партнёрами по игре, или сама выступающая в качестве партнёра.

    ВВЕДЕНИЕ

    С созданием первого программируемого компьютера сразу после окончания Второй Мировой Войны (1940-1950 гг.) возникла область науки изучающая компьютерные программы, обладающие способностью «мыслить» в том или ином смысле. Эту науку и технологию назвали Искусственный интеллект (ИИ). Её основоположниками являются многие учёные, стоящие за созданием тех же первых компьютеров (Алан Тюринг, Джон Маккарти, Марвин Мински и др.)

    История ИИ знала более 5 периодов упадка и столько же возрождений, каждый раз меняя вектор в изучения ИИ. Поэтому до сих пор эта наука является областью в которой имеется множество вопросов без ответов, а добиться результата может каждый, в отличии от более старых и фундаментальных областей вроде физики и химии.

    Практически сразу после основания ИИ появились первые программы, играющие в игры. В 1957-ом году Кристофер Стрэчи написал игру, играющую в шашки. Тогда же был написан первый ИИ, примитивно играющий в шахматы.

    ИИ в компьютерных играх с тех пор значительно развился. Тем не менее, шахматную программу сильнее человека смогли написать лишь в 1997-ом году, когда DeepBlue одержала победу над Гарри Каспаровым. Это стало возможным лишь благодаря увеличению компьютерных мощностей. Но этот успех был возможен также благодаря новым алгоритмам и подходам.

    Сегодня индустрия компьютерных игр практически не обходится без применения ИИ. Он в играх, на ряду с графическими и прочими характеристиками, является важным качественным показателем и напрямую влияет на их конкурентоспособность и успех. Это делает игровой ИИ востребованным. Игры по своей природе зачастую имеют не только развивающую, но и развлекательную составляющую, поэтому данная тема является особенно интересной и актуальной.

    Целью исследования является знакомство с областью науки ИИ, изучение её основ с последующим применением полученных знаний на практике в ходе разработки и написания собственного ИИ.

    В дополнение к основной цели работы выделяем следующие задачи:

    - Изучение и применение на практике компьютерной верстки LATEX.

    - Переписывание игрового движка, доработка визуализатора игры и прочее при подготовки окружения для разработки.

    - Проверить применимость знание о военном ремесле при разработке стратегии ведения игры.

    - Использование системы версионирования исходного кода git при разработке программы.

    ИИ является чрезвычайно широкой сферой науки, и для написания игрового ИИ можно применять множество кардинально отличных друг от друга подходов и алгоритмов. Для написания ИИ мы использовали символьно-логический, агенто-ориентированный подход без алгоритмов поиска. Так же в работе применяются понятии из теории игр.

    «Войны планет» – так называется игра, для которой мы пишем ИИ. Как следует из названия в каком-то смысле игра о войне. Поэтому как дополнение к написанию своего бота, мы ставим задачу проверки применимости знаний о военном ремесле, взятых из древнего трактата Сунь Дзы «Искусство войны», к дизайну стратегий и тактик ИИ.

    Так же мы ставим задачу изучения системы компьютерной вёрстки LATEX, применяя её в ходе написания данной работы. Эта система широко применяется в научной среде для написания статей, книг и прочих научных работ, поэтому такие знание должны быть полезны нам в целом и как тренировка перед написанием курсовой работы.

    Для эффективного управления версиями исходного кода при написании используется система версионирования git.

    Данная работа будет полезна всем, кому интересна тема ИИ. Ознакомившись с данной работой, можно сложить представление о том, что можно сделать и с чего можно начать, если стоит задача в написании игрового ИИ.


    1. ВВЕДЕНИЕ В ПРЕДМЕТНУЮ ОБЛАСТЬ

    1.1 Термин искусственный интеллект

    Автором термина «искусственный интеллект» является Джон Маккарти, изобретатель языка Лисп, основоположник функционального программирования и лауреат премии Тьюринга за огромный вклад в области исследований искусственного интеллекта.

    Искусственный интеллект — это способ сделать компьютер, компьютер-контролируемого робота или программу способную также разумно мыслить как человек.

    Интеллект — способность воспринимать информацию и сохранять её в качестве знания для построения адаптивного поведения в среде или контексте.

    Исследования в области ИИ осуществляются путем изучения умственных способностей человека, а затем полученные результаты этого исследования используются как основа для разработки интеллектуальных программ и систем.

    Основные цели ИИ:

    • Создание экспертных систем — систем, которые демонстрируют разумное поведение: учиться, показывать, объяснять и давать советы;

    • Реализация человеческого интеллекта в машинах — создание машины, способную понимать, думать, учить и вести себя как человек.

    Искусственный интеллект — наука и технология, основанная на таких дисциплинах, как информатика, биология, психология, лингвистика, математика, машиностроение. Одним из главных направлений искусственного интеллекта — разработка компьютерных функций, связанных с человеческим интеллектом, таких как: рассуждение, обучение и решение проблем.

    Программы с ИИ и без отличаются следующими свойствами:

    Таблица 1 - Программа с ИИ и без ИИ


    Без ИИ

    С ИИ

    Компьютерная программа без ИИ может отвечать только на конкретные вопросы, на которые он запрограммирован отвечать

    Может отвечать на универсальные вопросы, на которые он запрограммирован.

    Внесение изменений в программу приводит к изменению его структуры

    Программа с ИИ может поглощать новые модификации, сортируя весьма независимые фрагменты информации воедино. Следовательно, вы можете изменять кусочки информации из программы, не затрагивая структуру самой программы

    Модификация не является быстрым и легким.

    Модификация быстрая и легкая


    ИИ стал доминирующим в различных областях, таких как:

    • Игры — ИИ играет решающую роль в играх связанных с стратегией таких как, шахматы, покер, крестики — нолики и т.д., где компьютер способен просчитывать большое количество всевозможных решений, основанных на эвристических знаниях.

    • Обработка естественного языка — это возможность общаться с компьютером, который понимает естественный язык, на котором говорят люди.

    • Распознавание речи — некоторые интеллектуальные системы способны слышать и понимать язык, на котором человек общается с ними. Они могут обрабатывать различные акценты, сленги и т.д.

    • Распознавание рукописного текста — программное обеспечение читает текст, написанный на бумаге с помощью ручки или на экране с помощью стилуса. Он может распознавать формы букв и преобразовать его в редактируемый текст.

    • Умные роботы — роботы способные выполнять задачи, поставленные человеком. Они имеют датчики, для обнаружения физических данных из реального мира, такие как свет, тепло, движение, звук, удар и давление. Они имеют высоко производительные процессоры, несколько датчиков и огромную память. Кроме того они способны обучаться на собственных ошибках и адаптироваться к новой среде.

    Мотивация развития технологий ИИ состоит в том, что задачи, зависящие от множества переменных факторов, требуют очень сложных решений, которые трудны к пониманию и сложно алгоритмизируются вручную.

    Выводы. ИИ является мощным средством обработки данных и может находить решения сложных задач быстрее, чем традиционные алгоритмы, написанные программистами. ИНС и методики глубокого обучения могут помочь решить ряд разнообразных проблем. Минус состоит в том, что самые оптимизированные модели часто работают как «чёрные ящики», не давая возможности изучить причины выбора ими того или иного решения. Этот факт может привести к этическим проблемам, связанным с прозрачностью информации.

    1.2 Искусственный интеллект в компьютерных играх

    Технологии искусственного интеллекта являются неотъемлемой частью индустрии компьютерных игр. С момента появления первой игры пользователям всегда хотелось видеть в лице компьютера сильного и разумного соперника. Решить такую задачу можно за счет наделения игровых компьютерных агентов интеллектуальными способностями, схожими с теми, которыми обладает человек. Иными словами, необходимо использовать специализированные системы игрового искусственного интеллекта.

    В настоящий момент, рынок компьютерных игр демонстрирует стабильный и уверенный рост. По данным исследовательского центра Newzoo, уже в этом году объем рынка достигнет $99.6 млрд., что на 8.5% превышает показатели прошлого года. К концу 2019 году ожидается, что эта цифра приблизится к $120 млрд.



    Рис. 1 - Объем рынка компьютерных игр

    По данным ассоциации развлекательного программного обеспечения (ESA), средний опыт современных геймеров составляет около 13 лет. Все они уже давно привыкли к тому, что год от года компьютерные игры становятся все более сложными, интересными и увлекательными. Чтобы удовлетворить такие потребности пользователей, разработчикам необходимо постоянно развивать имеющиеся системы игрового искусственного интеллекта.

    Игровой искусственный интеллект несколько отличается от традиционного представления об искусственном интеллекте. Так, все усилия ученых направлены на создание разумной машины, максимально приближенной к человеку. Она должна самообучаться, взаимодействовать с окружающими объектами и даже проявлять эмоции. В играх перед искусственным интеллектом такая задача не стоит. Здесь нет необходимости обучаться за рамками игрового процесса. Достаточно лишь сымитировать правдоподобное поведение компьютерного агента, чтобы сделать игру интересной.

    Основные принципы разработки игрового искусственного интеллекта

    В зависимости от сложности игры, система игрового искусственного интеллекта может быть крайне проста и представлять собой лишь набор правил или иметь достаточно сложные алгоритмы работы (например, если стоит задача по управлению многотысячной армией в ходе сражения). Рассмотрим некоторые базовые основы, которыми руководствуются разработчики при создании игры с элементами искусственного интеллекта.

    1. Система на основе правил

    Одной из самых простых форм игрового искусственного интеллекта является система на основе правил, в которой поведение игровых агентов определяется заранее заданными алгоритмами. Такие системы наиболее далеки от традиционного понятия искусственного интеллекта. Правила могут как задаваться жестко (например, игровой агент всегда поворачивает в одну сторону), так и основываясь на анализе текущего состояния объектов (например, игровой агент всегда движется за игроком).

    1. Конечные автоматы

    Конченые автоматы применяются для создания игровых агентов, которые в течение игры могут обладать различным (конечным) числом состояний. В качестве таких состояний можно задать физические условия, в которых находится объект, его эмоции и т.д. Данные состояния в зависимости от условий игры могут меняться. Примеры возможных состояний игрового агента представлены на рисунке ниже (см. рис. 2).



    Рис. 2 - Возможные состояния игрового агента

    Стоит отметить, что под эмоциональным состоянием игрового агента понимается его алгоритм поведения в той или иной ситуации. Эмоциональное состояние не имеет никакого отношения к эмоциям искусственного интеллекта.
    1.   1   2   3   4   5   6   7


    написать администратору сайта