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

  • Можно ли создать ИИ и не потерять над ним контроль?

    Сэм Харрис

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

  • Нужна ли роботу интуиция? Компьютерное моделирование психических процессов

    Иван Иванчей

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

  • Нейрокомпьютер, или аналоговый ренессанс

    Горбань А. Н.

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

  • Нейронные сети: настоящее и будущее

    Евгений Путин

    Евгений Путин, аспирант кафедры «Компьютерные Технологии» университета ИТМО. В рамках диссертации Евгений исследует проблемы интеграции концепции выбора признаков в математический аппарат искусственных нейронных сетей. Евгений расскажет о том, как устроены нейронные сети, что они могут делать сейчас, на что будут способны в недалеком будущем и ждать ли прихода Скайнета.

  • IBM провела симуляцию нейрокомпьютера, сопоставимого с мозгом человека

    Впервые был достигнут масштаб, соответствующий человеческому мозгу — 530 миллиардов нейронов и 137 триллионов синапсов. Симуляция происходила в 1542 раза медленнее реального времени. В ней были задействованы все 1 572 864 ядер и полтора петабайта памяти.

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

    У архитектуры фон Неймана есть один известный минус, который состоит в том, что и данные, и программы-инструкции, описывающие то, что нужно сделать с данными, находятся в одной и той же памяти. И процессор либо собирает данные из памяти, либо манипулирует ими в соответствии с командой. Одновременно подгружать новые данные и обрабатывать их в рамках такой схемы нельзя. Из-за этого современным компьютерам, сколь бы быстры они ни были, трудно выполнять некоторые задачи, например, связанные с распознаванием изображений. Пытаясь выйти за пределы архитектуры фон Неймана, специалисты по «электронным мозгам» обратились к мозгам настоящим.
  • ИИ и машинное обучение: итоги 2017 года

    Сергей Марков

    На лекции мы обсудим вторую весну искусственного интеллекта в цифрах и фактах, ключевые работы в области искусственного интеллекта и машинного обучения в 2017 году. Поговорим о распознавании изображений, речи, обработке естественного языка и о других направлениях исследований; обсудим новые модели и оборудование 2017 года. Также поговорим о применении ИИ и машинного обучения в бизнесе, медицине и науке, а также обсудим, чего мы ждем от искусственного интеллекта и машинного обучения в 2018 году.
  • Как научить робота сочувствовать?

    Сергей Марков

    Гамбургский счет

    В 1950 году английский ученый Алан Тьюринг в статье "Вычислительные машины и разум" задался вопросом: "Может ли машина понимать человека?". Так родился знаменитый тест Тьюринга, в котором компьютер пытался обмануть людей. Но как компьютер понимает человека и чего он пока понять не может? Об этом по гамбургскому счету мы решили спросить специалиста в области машинного обучения, директора информационных технологий компании "Activebusinesscollection" Сергея Маркова.

  • Компьютер сымитировал работу кусочка ткани головного мозга

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

    Бурцев М. С.

    Очень часто люди не задумываются, почему они придерживаются той или иной точки зрения. Так сегодня значительная часть исследователей и инженеров, занимающихся адаптивными системами, a priori придерживаются принципа "бытие определяет сознание", а, следовательно, и действия. Этот наивный взгляд на вещи, предполагает, что обучение состоит в нахождении закономерностей в том потоке информации, который доступен из наблюдения, поступает на вход системы. Естественно, что при таком подходе модель системы, обладающей адаптивным поведением, будет представлять собой некоторое отображение множества входных данных на множество выходов, управляющих поведением системы. При этом обучение, адаптивность поведения обычно обеспечивается детерминированными алгоритмами, изменяющими функцию отображения. Использование таких принципов, позволяет быстро создавать приемлемые модели адаптивных систем, которые обеспечивают достаточно гибкое поведение в среде, на которую рассчитывал конструктор. Однако, при соприкосновении с неожиданными изменениями среды, с необходимостью использования нестандартных ходов, такая "отражательная" детерминированная схема пасует. Как же создать действительно адаптивную систему?

  • Программы искусственного интеллекта для общения с виртуальным собеседником

    Искусственный интеллект (ИИ) – это система алгоритмов имитирующая интеллектуальную деятельность человека.

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

    Моделирование разумного поведения системой ИИ проявляется в принятии логических решений на базе готовых способов их решения.

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

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

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

    В идеале искусственный интеллект — это имитация действующей модели мышления человека выраженная в цифровой форме.

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

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

    Программы ИИ для общения с виртуальным собеседником

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

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

    Поговорите с этим роботом, только не учите его плохому — он еще совсем маленький! ))

    Уверен, что через некоторое время он сможет строить более интересные диалоги!

    На сервисе А-я-яй.ру можно создать персонального виртуального собеседника для диалогового общения.
    Его персонажи могут быть использованы для общения с пользователями в блогах и социальных сетях.

    «Говорящие» приложения под Андроид лучше поискать на https://play.google.com

    Скачать и установить бесплатную программу искусственного интеллекта для общения на Андроид можно здесь: Чатбот roBot

    Автор: YPP (YPP_PUBLIC@MAIL.RU)

    Источник: www.xakep.ru


    СКАЗ О ТОМ, КАК ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ В ИГРАХ ДЕЛАЮТ

    ИНТЕРЕСНЫЙ ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ ЯВЛЯЕТСЯ ОДНИМ ИЗ ВАЖНЕЙШИХ КОМПОНЕНТОВ ЛЮБОЙ УСПЕШНОЙ ИГРЫ. ОН ПРИВНОСИТ ДУХ СОРЕВНОВАНИЯ, ПРИДАЕТ УВЛЕКАТЕЛЬНОСТЬ. В ЭТОЙ СТАТЬЕ ПОГОВОРИМ О ТОМ, ЧТО ТАКОЕ ИИ В ИГРАХ, ЗА ЧТО ОН ОТВЕЧАЕТ И КАК РАБОТАЕТ

    За свою более чем 50-летнюю историю развития искусственный интеллект как отрасль компьютерной науки разработан достаточно глубоко. Создано множество алгоритмов решения задач широкого спектра. Многие алгоритмы пригодны для использования и в играх, правда, здесь акценты несколько смещены. Если основная цель классического ИИ — найти правильное решение поставленной задачи, то от игрового ИИ требуют высокой производительности и «интересности». Сложно представить себе бота, которому нужно полчаса, чтобы подумать и додуматься, по какому из двух коридоров бежать или из какого оружия стрелять.

    Кто такие?

    В общем случае под искусственным интеллектом (artificial intelligence) понимают «моделирование разумного поведения с помощью компьютера». Замечу, что применительно к игровому ИИ под словом «разумный» подразумевают поведение, характерное для человека. Кому нужны такие расчетливые противники, которые знают, куда им идти, что делать в любой ситуации, знают место расположения игрока и то, из какого оружия его легче будет подстрелить? Наверное, интереснее, противники, которые иногда могут ошибаться, делать что-то не так, в общем, вести себя как обычные люди. Именно такого мы ждем от искусственного соперника, который призван заменить нам живого человека.

    «Агентом» будем называть носителя ИИ, то есть некую игровую сущность, которая принимает все свои решения с помощью ИИ.

    Системы игрового ИИ можно условно разделить на два типа. Первый — это локальный, то есть ИИ отдельной единицы: солдат, танк, пробегающий мимо заяц или автоматическая дверь на уровне. Такие системы состоят из основных четырех элементов: система ввода информации (сенсор); память; модуль (ядро) принятия решений; система вывода (реагирования) системы. Первый элемент отвечает за то, чтобы агент воспринял все факторы окружающего мира, относящиеся к делу: положение противника, наличие препятствий, посторонние звуки и т.д. Принимая во внимание внешние факторы (ввод системы) и происходившее ранее (память), агент решает, что ему делать в следующий момент времени. Например, солдат, патрулирующий здание, должен уметь перемещаться по коридорам этого здания, видеть и (встречается нечасто) слышать. Он также должен правильно оценивать обстановку и принимать решение об отступлении/атаке/вызове подкрепления (если успеет, конечно ;)), когда встречается с врагом.

    Второй тип систем ИИ отвечает за глобальные действия/события в игре. Например, в стратегических играх он управляет всей армией врага, определяет баланс сил на основе некоторых показателей (обычно: количество ресурсов, юнитов, зданий и т.д.), затем на основе этой и другой информации вырабатывает свою стратегию ведения войны. Притом каждый юнит имеет свой локальный ИИ, который помогает ему выполнять приказы глобального (перемещаться по локациям, обходя препятствия; распознавать вражеские юниты и т.д.). (В общем, как говорится, куда пехотинцев ни пошли, обязательно зайдут на поле с тибериумом и сгорят. Куда харвестер ни пошлешь, обязательно нарвется на огнеметные танки 🙁 — прим. Лозовского.)

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

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

    Автоматы, которые не стреляют

    Первая технология, которая несмотря на свою простоту оказывается очень мощной и применяется во многих играх, — это конечные автоматы (finite state machine). Для определения такой системы нужно задать два ключевых элемента: множество состояний и множество правил перехода системы из одного состояния в другое. Состояния имеют вид наподобие: иду, стою, стреляю, бездельничаю и т.д. Правила перехода: если ИДУ и вижу врага, тогда начинаю СТРЕЛЯТЬ; если ИДУ и устал, тогда нужно немного поСТОЯТЬ, отдохнуть.

    Рассмотрим небольшой пример. Пусть нам нужно придумать ИИ для солдата, который держит дубину и патрулирует местность. Для простоты будем считать, что на местности нет никаких препятствий, а солдат ходит по четко определенному маршруту (ключевым точкам). Итак, какие действия он может выполнять? Первое, конечно — ходить по прямой от одной контрольной точки (waypoint) к другой. Введем еще состояние поворота от одной точки по направлению к следующей. Плюс, конечно же, каждый уважающий себя солдат должен уметь преследовать жертву и молотить ее дубиной.

    Теперь нужно разобраться с правилами изменения состояний (см. рис. 1). Ходьба: если увидел врага — переход в состояние преследования; если пришел в нужную точку — начать поворот к следующей. Поворот: увидел врага — преследовать; если повернулся на достаточный угол — начать ходьбу. Преследование: врага не видно — разворот к нужной точке (возврат к патрулированию); подошел достаточно близко к противнику — начать бой. Бой: враг отошел дальше — преследовать; враг исчез (умер, сбежал) — поворот. Вот и все. Когда уже определены все состояния и переходы, закодить такую систему не составит большого труда.

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

    Конечные автоматы являются, пожалуй, одной из самых старых (и проверенных временем) техник создания ИИ, особенно в FPS. Наши любимые Doom, Quake и Wolfenstein, — все имели ИИ, построенный на основе конечных автоматов.

    Добавим перцу

    Сейчас посмотрим, как можно усовершенствовать конечные автоматы, чтобы системы на их основе выглядели еще лучше. Для начала замечу, что конечные автоматы бывают полностью детерминированными и недетерминированными. Различие состоит в том, что в недетерминированных переходы между состояниями являются не такими жесткими и имеют элемент случайности, непредсказуемости. Если в примере выше «научить» солдата с 10% вероятностью не замечать врага, а в случае исчезновения врага в 50% случаев возвращаться к патрулированию и еще в 50% — начинать поиски сбежавшей жертвы, то такая система уже становится недетерминированной.

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

    Еще более удивительных результатов можно добиться при синхронизации конечных автоматов, работающих параллельно. Допустим, в нашей игре будут присутствовать отряды из трех солдат, которые охраняют некоторые локации. Конечно, каждый солдат может реализовывать свою логику ведения боя, но представь, насколько интереснее они смотрятся, если действуют слаженно. Например, один из солдат, заметив противника, сообщает об этом по рации (записывает это в общую память отряда) и принимает бой. Получив из общей памяти информацию о происходящем, другой солдат прикрывает товарища издалека («сообщая» об этом в ту же общую память). Наконец, третий боец начинает закидывать врага гранатами. Ну что, ничего не напоминает? (Даю наводку: Гордон Фримэн, монтировка, бригады солдат из первой Half-Life…) То-то же!

    Жизнь по правилам

    Есть ситуации, в которых довольно проблемно поведение игрового агента выразить в терминах конечных автоматов. Например, когда из каждого состояния агент может переходить во все другие состояния или когда агент может пребывать в двух состояниях одновременно («идет» и «стреляет»). В таких случаях можно применить другую технологию — систему правил (rule system). Все поведение агента описывается набором простых правил вида: условие->действие. Сначала выбираем первое правило. Если условие в нем истинно, выполняем указанное действие и выходим (прекращаем проверку последующих условий). В противном случае переходим к следующему правилу, если таковые имеются. Как всегда, пример. Попробуем описать с помощью системы правил поведение юнита из одной RTS:

    1. ВРАГ БЛИЗКО-> ДАТЬ ЕМУ ПО МОРДЕ
    2. РАССТОЯНИЕ К ВРАГУ> ДВУХ МЕТРОВ && МЫ СИЛЬНЕЕ-> ДОГНАТЬ
    3. РАССТОЯНИЕ К ВРАГУ> ДВУХ МЕТРОВ (ОН СИЛЬНЕЕ)-> ОЙ, ПОРА БЕЖАТЬ!
    4. НАШИХ БЬЮТ-> ПОЙТИ НА ПОМОЩЬ
    5. СТОЯТЬ И ЛЮБОВАТЬСЯ ПЕЙЗАЖАМИ

    Замечу, что в подобных системах порядок указания правил имеет большое значение. Например, если поменять местами правила №2 и 3, юнит начнет убегать и от сильных, и от слабых врагов. (Такое поведение системы объясняется тем, что условие в правиле №3 включает в себя условие из правила №2.) Также замечу, что пятое правило вообще не имеет условия. Оно задает действие по умолчанию и равноценно правилу: true-> стоять и любоваться пейзажами.

    На практике системы правил реализуются двумя способами. Первый — дерево принятия решений (decision tree), которое выглядит приблизительно так:

    Другой способ реализации системы правил опирается на скриптовые языки и является более гибким, так как в этом случае вся логика работы ИИ отделена от основного кода движка. Скриптовые системы правил применяются шире всего в стратегических играх, например Age of Empires.

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

    По стопам дедушки дарвина

    Применять генетические алгоритмы в играх начали сравнительно недавно. Они хорошо подходят в ситуациях, в которых нужно создать разнообразие существ, несколько схожих по внешнему виду и/или поведению. Примером тому могут служить пешеходы в гоночных симуляторах или население некого виртуального города/мира (как в GTA или The Sims).

    Из школьного курса биологии нам всем известно, что в каждом из живых существ зашит некий генетический код (ДНК помнишь?). Причем существа в пределах одного вида имеют схожий по структуре код, разный по своим составляющим единицам — генам. Каждый ген кодирует некое свойство живого организма, например цвет глаз, тип волос. Генетический код каждого индивида является некой комбинацией генов его родителей плюс небольшой процент мутаций (вообще-то в биологии имеются более строгие правила наследования, но нам это не так важно).

    Основываясь на теории генов, Чарльз Дарвин вывел свою знаменитую теорию эволюции (что-то подсказывает мне, что Дарвин вообще ничего не знал о генах: когда Чарльз писал свои книги, Мендель еще не опубликовал даже свои опыты 🙂 — прим.

    Лозовского). Суть теории Дарвина известна всем: выживает сильнейший, то есть самый приспособленный. У одних видов показателем «силы» может быть скорость, у других — устойчивость к морозам, у третьих — собственно физическая сила. На основе этих базовых концепций и создают ИИ в некоторых играх. Для начала зададим структуру ДНК как массив генов и их возможных значений. Не забудем учесть, что здесь понятие гена может быть намного шире и с его помощью удобно кодировать не только биологические свойства, но и, например, стиль одежды, черты характера, прическу и т.д. (см. таблицу 1).

    Дальше генерируем первое поколение из N представителей данного вида выбором случайных значений из множества возможных (для каждого гена). Следующая процедура называется тестом на пригодность (fitness testing), она же является одной из самых сложных. Сгенерированных индивидов помещаем в реальный игровой мир и выбираем наиболее «способных». К примеру, для бойцов можно устраивать виртуальные поединки, чтобы решить, кто лучше. Потом генерируем второе поколение, создавав N индивидов как линейной комбинации ДНК отобранных. Также можно добавить небольшую степень мутаций. Дальше — снова тест на пригодность и т.д. В конечном счете получается, что чем больше номер поколения, тем лучше особи. И еще мысль: если продолжать «профотбор» и во время игры, то получится, что каждый следующий противник будет более приспособлен к конкретному игроку. Возникает некое подобие самообучения системы ИИ.

    Кто к нам в сети попадет

    Нейронные сети являются, пожалуй, одной из самых продвинутых и перспективных технологий создания ИИ. Применять нейронные сети в играх начали сравнительно недавно из-за их сложности и высокой требовательности к вычислительным ресурсам. Суть заключается в попытке математического моделирования работы головного мозга человека, который состоит из множества нейронов, соединенных между собой. Процесс моделирования состоит из двух основных этапов: обучение и собственно использование. Два самых распространенных способа обучения: 1) на вход системы подают сигналы и результаты, которые нужно получать при таких входах; 2) на вход подаются сигналы определенного вида, которые система должна самостоятельно структурировать и научиться отличать от других (самообучение). На математическом уровне обучение происходит путем подбора системой нужных весовых коэффициентов (weights) в уравнениях. После некоторого времени обучения нейронная сеть уже готова к использованию, а также последующему обучению.

    Революционность нейронных сетей применительно к игровому ИИ состоит в том, что теперь виртуальные соперники получают возможность самообучаться. К примеру, вражеский солдат, получив несколько пулевых ранений во время отчаянной попытки лобовой атаки, запомнит, что от пуль больно и еще раз «так» лучше не делать. Или он сможет по чуть-чуть перенимать тактику ведения боя у игрока. Вот это действительно захватывающе!

    «Теперь и ты знаешь кунг-фу»

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

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

    МНЕНИЕ ЭКСПЕРТА

    Андрей Каролик: Совершенно очевидно, что слишком сложные игры не интересны геймерам. Если на прохождение игры тратится неоправданно много времени, то выхода два: найти в Сети, как пройти затык в игре, либо банально забросить всю игру. Но парадокс состоит в том, что и слишком легкие игры тоже малоинтересны. Поэтому основная задача — сделать не сверхумный AI, как ошибочно принято полагать, а наиболее оптимальный AI, ориентируясь на некий средний уровень сложности, приемлимый для большинства геймеров. В итоге большинство популярных игр — это некий идеальный, если его так можно назвать, AI, но с явными брешами, которые заложены в него изначально. И вся игра сводится к поиску и осознанию этих брешей, чтобы использовать их и победить противника.

    Ссылки по теме

    WWW

    • www.ai-depot.com — ОЧЕНЬ ХОРОШИЙ САЙТ, ПОСВЯЩЕННЫЙ ИСКЛЮЧИТЕЛЬНО ИГРОВОМУ ИИ. СТАТЬИ, TUTORIALS, А ТАКЖЕ МНОГО ДРУГОЙ ИНТЕРЕСНОЙ ИНФОРМАЦИИ. НА АНГЛИЙСКОМ.
    • www.gamedev.net — ОДИН ИЗ ЛУЧШИХ САЙТОВ ПО ГЕЙМДЕВУ. ИМЕЕТСЯ И ОЧЕНЬ ХОРОШИЙ ФОРУМ ПО ИИ.
    • www.gamedev.ru — ЕГО РОССИЙСКИЙ КОЛЛЕГА.
    • www.dtf.ru — САЙТ ДЛЯ СНД’ШНЫХ РАЗРАБОТЧИКОВ ИГР. ИМЕЕТСЯ ФОРУМ ПО ИИ (В ИСПОЛНЕНИИ ЛЮДЕЙ, КОТОРЫЕ ДЕЛАЮТ ДЛЯ НАС ИГРЫ ;).
    • www.google.com — А ЗДЕСЬ ТЫ НАЙДЕШЬ ВСЕ НУЖНОЕ. И ДАЖЕ БОЛЬШЕ.

    ДЛЯ БОЛЬШЕЙ НАГЛЯДНОСТИ Я НАПИСАЛ НЕБОЛЬШУЮ ПРОГРАММУ, КОТОРАЯ РЕАЛИЗУЕТ ПРИМЕР С ПАТРУЛИРУЮЩИМ СОЛДАТОМ. ТЫ НАЙДЕШЬ ЕЕ НА ДИСКЕ. ЗДЕСЬ ФИОЛЕТОВОЙ ТОЧКОЙ ОБОЗНАЧЕН ИГРОК (УПРАВЛЕНИЕ: W, A, S, D). КРАСНЫЙ ЦВЕТ — КОНТРОЛЬНЫЕ ТОЧКИ И СОЕДИНЯЮЩИЕ ИХ ОТРЕЗКИ, ЗЕЛЕНЫЙ — СОЛДАТЫ И ИХ ПОЛЕ ЗРЕНИЯ.

    Отголоски прошлого

    ЛЕТ ДЕСЯТЬ-ДВАДЦАТЬ НАЗАД НИЗКИЕ ВЫЧИСЛИТЕЛЬНЫЕ МОЩНОСТИ КОМПЬЮТЕРНЫХ СИСТЕМ ДИКТОВАЛИСЬ СОВСЕМ ДРУГИМИ ПРАВИЛАМИ В РАЗРАБОТКЕ ИГР, В ОТЛИЧИЕ ОТ СОВРЕМЕННЫХ. ПРИХОДИЛОСЬ ЭКОНОМИТЬ НА ВСЕМ, В ТОМ ЧИСЛЕ НА ИИ, ПОЭТОМУ РАЗРАБОТЧИКАМ ЧАСТО ПРИХОДИЛОСЬ ПРОСТО «ЗАШИВАТЬ» ОПРЕДЕЛЕННОЕ ПОВЕДЕНИЕ В ИГРОВЫХ ПЕРСОНАЖЕЙ. ТЕ, КТО ПРОБОВАЛ ИГРАТЬ НА ПРИСТАВКЕ DENDY, НАВЕРНОЕ, ПОМНЯТ СОЛДАТ, КОТОРЫЕ УМЕЛИ ТОЛЬКО БЕЖАТЬ ПРЯМО И СТРЕЛЯТЬ, ИЛИ БОССОВ УРОВНЕЙ С ИХ «ШАГ ВЛЕВО — ДВА ВЫСТРЕЛА, ШАГ ВПРАВО — БРОСИЛ ГРАНАТУ, ШАГ ВЛЕВО…». ЭТО ТАК НАЗЫВАЕМЫЕ CHOREOGRAPHED AI, И О НИХ НЕ СТОИТ ЗАБЫВАТЬ, ЭТА ТЕХНОЛОГИЯ ВСЕ ЕЩЕ ДОСТОЙНА ВНИМАНИЯ. ПРИ ГРАМОТНОМ ИСПОЛЬЗОВАНИИ ТАКОЙ «ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ» НЕПЛОХО СМОТРИТСЯ И В НАШИ ДНИ — ПОСМОТРИ ХОТЯ БЫ НА НЕКОТОРЫХ БОССОВ В СЕРИИ METAL GEAR SOLID.

    А что дальше?

    ИТАК, ЧЕГО ЖЕ СЛЕДУЕТ ОЖИДАТЬ ОТ ИСКУССТВЕННЫХ ПРОТИВНИКОВ УЖЕ ЗАВТРА? ПРОИЗВОДИТЕЛЬНОСТЬ КОМПЬЮТЕРНЫХ СИСТЕМ РАСТЕТ СТРЕМИТЕЛЬНО, БЮДЖЕТЫ НА ПРОИЗВОДСТВО ИГР УВЕЛИЧИВАЮТСЯ ПОСТОЯННО, ЧТО ПРИВЕДЕТ В ПЕРВУЮ ОЧЕРЕДЬ К ПРИМЕНЕНИЮ БОЛЕЕ СЛОЖНЫХ ТЕХНОЛОГИЙ И АЛГОРИТМОВ, КОТОРЫМ ТРЕБУЮТСЯ БОЛЬШИЕ ВЫЧИСЛИТЕЛЬНЫЕ МОЩНОСТИ. УЖЕ СЕГОДНЯ НАЛИЧИЕ «ЧЕСТНОЙ ФИЗИКИ» СИЛЬНО УСЛОЖНЯЕТ ЖИЗНЬ СОЗДАТЕЛЮ ИГРОВОГО ИИ. ТАКЖЕ В ПОСЛЕДНИЕ ГОДЫ НАМЕЧАЕТСЯ ТЕНДЕНЦИЯ К РАЗВИТИЮ ТАКИХ НАПРАВЛЕНИЙ, КАК САМООБУЧЕНИЕ, УМЕНИЕ ВЗАИМОДЕЙСТВОВАТЬ С ИНТЕРАКТИВНЫМ ОКРУЖАЮЩИМ МИРОМ И НАЛАЖИВАНИЕ ЧЕТКОГО ВЗАИМОДЕЙСТВИЯ МЕЖДУ АГЕНТАМИ. ВСЕ ЭТО СЛУЖИТ ТОМУ, ЧТОБЫ ИГРЫ СТАЛИ ИНТЕРЕСНЕЕ И УВЛЕКАТЕЛЬНЕЕ.

    ПЛАН.

    1. Введение.

    2. Феномен мышления.

    3. Создание искусственного интеллекта.

    3.1 Механический подход.

    3.2 Электронный подход.

    3.3 Кибернетический подход.

    3.4 Нейронный подход.

    3.5 Появление перцептрона.

    4. Заключение.

    5. Список литературы.

    1. ВВЕДЕНИЕ.

    Современные философы и исследователи науки часто рассматривают междисциплинарные науки как одно из достижений заново открытых в 20 веке.

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

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

    В понятие «искусственный интеллект» вкладывается различный смысл – от признания интеллекта у ЭВМ оснащенных программными продуктами распознавания текста и речи до отнесения к интеллектуальным лишь тех систем, которые решают весь комплекс задач, осуществляемых человеком.

    Теория искусственного интеллекта при решении многих задач сталкивается с определёнными проблемами. Одна из таких проблем состоит в выяснении вопроса, доказуема ли теоретически (математически) возможность или невозможность искусственного интеллекта.

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

    Отражение внешнего мира проходит через призму этих потребностей, в чем выражается активность психической системы. ЭВМ не имеет потребностей, для неё информация незначима, безразлична. У человека над слоем биологических потребностей надстраиваются социальные потребности, и информация для него не только биологически но социально значима. Однако технические системы все-таки могут иметь аналог телесной организации. Развитая кибернетическая система обладает рецепторными и эффекторными придатками. На практике под крышей термина искусственная жизнь гнездится грандиозное разнообразие различных проектов от моделей копирования ДНК и систем с обратной связью до изучения коллективного разума и динамики роста населения.

    2. ФЕНОМЕН МЫШЛЕНИЯ.

    Машины уже научились слагать стихи, сочинять музыку, рисовать картины. Возможно, кому-то покажется, что это – несомненный признак их разумности. Ведь если ЭВМ доступно творчество, которое всегда считалось свойством высокого интеллекта, то справедливо ли отказывать ей в разуме?

    Всё же большинство из нас едва ли согласятся считать рисующую и сочиняющую стихи ЭВМ мыслящей. Что же тогда следует называть мышлением?(2)

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

    Способность ЭВМ выполнять математические расчеты, к чему мы привыкли, ещё совсем недавно рассматривалась как одна из самых высших ступеней духовной деятельности человека. Комплексные числа, с которыми легко оперирует почти любая ЭВМ, Г.Лейбниц, сам выдающийся математик, называл «духовными амфибиями», удивительным «порождением духа Божьего», а писатель В.Одоевский в своей «Русской речи» писал о нашей способности к вычислениям как о каком-то непостижимом, почти мистическом свойстве: При всяком математическом процессе мы чувствуем, как к нашему существу присоединяется какое-то другое, чужое, которое трудится, думает, вычисляет, а между тем наше истинное существо как бы перестаёт действовать, не принимая никакого участия в этом процессе, как в деле постороннем, ждёт своей собственной пищи, а именно связи, которая должна существовать между ним и этим процессом, — и этой связи мы не находим».

    Можно представить, как был бы поражён Одоевский, узнав о вычислительных способностях наших ЭВМ! Тем не менее, мы не считаем их думающими.

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

    Всякая интеллектуальная задача представляет собой поиск способа достижения поставленной цели, а иначе это будет не решением задачи, а просто действием по точной инструкции.

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

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

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

    Это могут быть примитивные формы мышления, ведь объяснить поведение животных во всём многообразии жизненных ситуаций одним лишь инстинктом – это гипотеза.(2)

    Животным и птицам присуще такое свойство мышления, как способность к обобщению. Например, они узнают пищу в различных конкретных формах, так сказать – пищу вообще.

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

    3.СОЗДАНИЕ ИСКУССТВЕННОГО ИНТЕЛЛНКТА .

    С конца 40-х годов ученые все большего числа университетских и промышленных исследовательских лабораторий устремились к дерзкой цели: построение компьютеров, действующих таким образом, что по результатам работы их невозможно было бы отличить от человеческого разума.

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


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

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

    Простая программа с искусственным интеллектом.

    Начнем из самого простого примера. ChatMaster — программа с искусственным интеллектом умеет разговаривать с человеком с помощью чата. Главной особенностью на первый взгляд простой программы – самообучение. Чем больше вы общаетесь с программой, тем более растет ее словарный запас и умение подстрагиваться под собеседника при ведении диалога. Автор программы утверждает, что ему удалось создать программную модель человеческого мышления.

    При начале работы программа может показаться «слабенькой». Но причина в том, что ее после первого запуска не стоит сразу тестировать на уровень интеллекта и сообразительности. Сначала к программе следует относиться как к 12-ти летнему ребенку, который через несколько часов будет общаться на уровне своего собеседника. Для этого словарный запас программы должен вырасти до с 3000 до 10 000 слов. После чего впечатление от работы с программой превышает все ожидания.

    Невооруженным глазом заметно, что программа запоминает не только слова а и лингвистическую реакцию собеседника на поставленные фразы. При желании, можно корректировать ответы программы на свои варианты с помощью принудительного обучения. В этом же режиме можно запрещать запоминать отдельные фразы, введенные с опечатками.

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

    Улучшенное программное решение искусственного интеллекта.

    Очень интересное программное решение в области искусственного интеллекта предложили разработчики из A.L.I.C.E. Они хорошо разбираются в искусственном интеллекте и активно занимаются разработкой программ в данной области. Чтобы ознакомится с их разработками, было создано онлайн-приложение для общения с капитаном Кирком (Captain Kirk) в режиме реального времени. Принцип приложение построен аналогично предыдущей программе, но есть приятная особенность. Программа отвечает на все написанные ей вопросы голосом вслух. Существенным недостатком программы является возможность общения исключительно на английском языке. Подобное приложение для общения на русском найти не удалось и очень жаль, что программисты не использовали такую функцию. Ведь существуют много программ для синтеза речи, которые преобразуют текст в звуковую речь с помощью технологии SAPI5. Жаль, что у программистов не возникало желания создать альтернативную программу с поддержкой русского языка. Ведь по сути это пока еще свободная ниша.

    Общение с программой через микрофон относится к искусственному интеллекту.

    Программа для общения с компьютером на русском языке называется – Попугай Гриша. В этой программе реализован, скорее всего, прототип искусственного интеллекта. Но задумка очень оригинальная. Дело в том, что основной отличительной чертой Попугая Гриши является возможность общения через микрофон и динамики (без использования клавиатуры).

    В программе имеется дикторнонезависимый модуль распознавания речи. Именно анализ входящего звукового канала относит данную программу к искусственному интеллекту. Но, к сожалению, он способен распознать только несколько вопросов (только 46 фраз приведенные в справке). При запуске программы попугай спит. Как только вы заговорите через микрофон, он просыпается для начала диалога. Программная система распознания речи использует не информационные функции, а коммуникативные:

    • аппелятивная;
    • эмотивная;
    • метод превалирования.

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

    Для мобильных технологий более активно разрабатывают и внедряют программы с искусственным интеллектом. В этом можно убедиться с краткого видео обзора программы:

    Скачать программы.

    Добавить комментарий

    Закрыть меню