Контактная информация: +7 (926) 478-47-62
28th Mar 2024, 20:44

Основная информация

Наши предложения

Галерея

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

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

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

Предмет исследования искусственного интеллекта.
В 1950 году британский математик Алан Тьюринг опубликовал в журнале «Mind» свою работу «Вычислительная машина и интеллект», в которой описал тест для проверки программы на интеллектуальность. Он предложил поместить исследователя и программу в разные комнаты и до тех пор, пока исследователь не определит, кто за стеной — человек или программа, считать поведение программы разумным. Это было одно из первых определений интеллектуальности, то есть А. Тьюринг предложил называть интеллектуальным такое поведение программы, которое будет моделировать разумное поведение человека.

С тех пор появилось много определений интеллектуальных систем (ИС) и искусственного интеллекта (ИИ). Сам термин ИИ (AI — Artificial Intelligence) был предложен в 1956 году на семинаре в Дартсмутском колледже (США). Приведем некоторые из этих определений. Д. Люгер в своей книге определяет «ИИ как область компьютерных наук, занимающуюся исследованием и автоматизацией разумного поведения».

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

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

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

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

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

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

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

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

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

Можно ли считать шахматную программу интеллектуальной системой? Если шахматная программа при повторной игре делает одну и ту же ошибку — то нельзя. Обучаемость, адаптивность, накопление опыта и знаний — важнейшие свойства интеллекта. Если шахматная программа реализована на компьютере с бесконечно-высоким быстродействием и обыгрывает человека за счет просчета всех возможных вариантов игры по жестким алгоритмам — то такую программу мы также не назовем интеллектуальной. Но если шахматная программа осуществляет выбор и принятие решений в условиях неопределенности на основе эффективных методов принятия решений и эвристик, корректируя свою игру от партии к партии в лучшую сторону, то такую программу можно считать достаточно интеллектуальной.

Всякий раз, как только возникают сомнения в интеллектуальности некоторой системы, договоримся вспоминать тест Алана Тьюринга на интеллектуальность. После этого сомнения и дальнейшие споры, как правило, прекращаются.

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

Под статическими знаниями будем понимать знания, введенные в ИС на этапе проектирования. Под динамическими знаниями (опытом) будем понимать знания, полученные ИС в процессе функционирования или эксплуатации в реальном масштабе времени.

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

Рассмотрим подробнее систему управления ИРС, структурная схема которой представлена на рис. 1.2. На этом рисунке стрелками обозначено направление движения информации, двунаправленными стрелками обозначено взаимодействие типа «запрос-ответ» и «действие-подтверждение», весьма распространенное в информационных системах. Входом системы является Блок ввода информации, предназначенный для ввода числовых данных, текста, речи, распознавания изображений. Информация на вход системы может поступать (в зависимости от решаемой задачи) от пользователя, внешней среды, объекта управления. Далее входная информация поступает в Блок логического вывода, либо сразу в базу данных (БД) — совокупность таблиц, хранящих, как правило, символьную и числовую информацию об объектах предметной области.

структурная схема интеллектуальной робототехнической схемы

Блок логического вывода (БЛВ) и формирования управляющей информации обеспечивает нахождение решений для нечетко формализованных задач ИС, осуществляет планирование действий и формирование управляющей информации для пользователя или объекта управления на основе Базы Знаний (БЗ), БД, Базы Целей (БЦ) и Блока Алгоритмических Методов Решений (БАМР).

БЗ — совокупность знаний, например, система продукционных правил, о закономерностях предметной области.
БЦ — это множество локальных целей системы, представляющих собой совокупность знаний, активизированных в конкретный момент и в конкретной ситуации для достижения глобальной цели.
БАМР содержит программные модули решения задач предметной области по жестким алгоритмам.
Блок усвоения знаний (БУЗ) осуществляет анализ динамических знаний с целью их усвоения и сохранения в БЗ.
Блок объяснения решений (БОР) интерпретирует пользователю последовательность логического вывода, примененную для достижения текущего результата.

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

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

Динамика работы ИРС может быть описана следующим образом. При поступлении информации на внешнем языке системы на вход БВИ производиться ее интерпретация во внутреннее представление для работы с символьной моделью системы. БЛВ выбирает из БЗ множество правил, активизированных поступившей входной информацией, и помещает эти правила в БЦ, как текущие цели системы. Далее БЛВ по заданной стратегии, например, стратегии максимальной достоверности, выбирает правило из БЦ и пытается доопределить переменные модели внешнего мира и исполнительной системы с объектом управления. На основе этого активизируются новые правила БЗ и начинается логический вывод в системе продукций (правил). Эта процедура заканчивается, как только решение будет найдено, либо когда будет исчерпана БЦ. Найденное решение из внутреннего представления интерпретируется Блоком Вывода информации во внешний язык подсистемы управления низшего уровня и объекта управления.

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

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

В 1954 году А. Ньюэлл задумал создать программу для игры в шахматы. Дж. Шоу и Г. Саймон объединились в работе по проекту Ньюэлла и в 1956 году они создали язык программирования IPL-I (предшественник LISPa) для работы с символьной информацией. Их первыми программами стала программа LT (Logic Theorist) для доказательства теорем и исчисления высказываний (1956 год), а также программа NSS (Newell, Shaw, Simon) для игры в шахматы (1957 год). LT и NSS привели к созданию А. Ньюэллом, Дж. Шоу и Г. Саймоном программы GPS (General Problem Solver) в 1957—1972 годах Программа GPS моделировала используемые человеком общие стратегии решения задач и могла применяться для решения шахматных и логических задач, доказательства теорем, грамматического разбора предложений, математического интегрирования, головоломок типа «Ханойская башня» и т.д. Процесс работы GPS воспроизводит методы решения задач, применяемые человеком: выдвигаются подцели, приближающие к решению, применяется эвристический метод (один, другой и т.д.), пока не будет получено решение. Попытки прекращаются, если получить решение не удается. Программа GPS могла решать только относительно простые задачи. Ее универсальность достигалась за счет эффективности. Специализированные «решатели задач» — STUDENT (Bobrov, 1964) и др. лучше проявляли себя при поиске решения в своих предметных областях. GPS оказалась первой программой (написана на языке IPL-V), в которой предусматривалось планирование стратегии решения задач.

Для решения трудно формализуемых задач и, в частности, для работы со знаниями были созданы языки программирования для задач ИИ: LISP (1960 год, J. MacCatthy), Пролог (1975-79 годы, D.Warren, F. Pereira), HHTepLISP, FRL, KRL, SMALLTALK, OPS5, PLANNER, QA4, MACSYMA, REDUCE, РЕФАЛ, CLIPS. К числу наиболее популярных традиционных языков программирования для создания ИС следует также отнести С++ и Паскаль.

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

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

П. Уинстон в начале 80-х годов обратил внимание на необходимость реализации целенаправленного процесса машинного восприятия. Цель должна управлять работой всех процедур, в том числе и процедур нижнего уровня, т. е. процедур предварительной обработки и выделения признаков. Должна иметься возможность на любой стадии процесса в зависимости-от получаемого результата возвращаться к его началу для уточнения результатов работы процедур предшествующих уровней. У П. Уин-стона, так же как и у других исследователей, до решения практических задач дело не дошло, хотя в 80-е годы вычислительные мощности больших машин позволяли начать решение подобных задач. Таким образом, ранние традиционные системы распознавания, основывающиеся на последовательной организации процесса распознавания и классификации объектов, эффективно решать задачи восприятия сложной зрительной информации не могли.

Машинный перевод и понимание текстов на естественном языке.
Началом работ по машинному переводу следует считать 1954 год, когда в США с помощью ЭВМ было переведено шестьдесят фраз. Этот известный «Джорджтаунский эксперимент» произвел неизгладимое впечатление на специалистов. Тогда казалось, что достаточно создать большие хранилища словарей для перевода с одного языка на другой, разработать правила перевода — и проблема будет решена. Когда выяснилось, что проблема не так проста, был создан язык-посредник, облегчающий сопоставление фраз на разных языках. Во второй половине семидесятых годов этот язык-посредник превратился в семантическую модель представления смысла переводимых текстов. Таким образом, достижения в области машинного перевода оказались очень полезными для ИИ, так как они показали, что анализ естественно-языковых конструкций невозможен без создания семантической модели, в которой интерпретируется смысл слов. Создание семантической модели привело к пониманию необходимости создания языка для внутреннего представления знаний. И, наконец, важным достижением явилось понимание того, что анализ текстов на естественном языке (ЕЯ) состоит из четырех основных этапов: морфологический анализ, синтаксический анализ, семантический анализ, прагматический анализ.

Задача разбора предложения на естественном языке даже с ограниченным словарем в сотню слов является типичной задачей ИИ. Для достаточно формальных предметных областей и конкретных наборов предметов, обладающих однозначными, недвусмысленными характеристиками и названиями, такая система была создана Т. Виноградом в 1971 году. Его знаменитая программа SHRDLU работает в абстрактном мире, состоящем из разноцветных кубиков и пирамид. В этом мире функционирует «однорукий» робот Робби, способный общаться с человеком на естественном (разговорном) языке и совершать манипуляции с объектами этого мира. Этот робот также способен понимать достаточно сложные выражения и самостоятельно планировать свою деятельность и объяснять мотивы тех или иных действий.

Вот небольшой пример — фрагмент реального диалога с этой системой:
- Найди блок, который выше, чем тот, что в твоей руке, и положи его в коробку.
- ОК.
- Поставь, пожалуйста, один из красных блоков на другой, а сверху либо зеленый блок, либо пирамиду.
- ОК.
- Служит ли самая короткая вещь, которая опирается на опору самой высокой пирамиды, опорой для чего-то еще?
- Да, для зеленой пирамиды.
- Когда ты брался за зеленую пирамиду?
- В то время, когда я строил башенку из красного куба, большого красного блока и большого зеленого куба.
- Почему?
- Чтобы от нее избавиться.
- Почему?
- Чтобы освободить красный куб.

Многократное повторение вопроса «Почему?» в итоге приведет к ответу: «Потому что вы меня об этом попросили». Самым интересным здесь является то, что программа не отвечает на заранее заданные типовые фразы. SHRDLU, можно сказать, «понимает», о чем ее спрашивают, и отвечает достаточно разумно. Сам алгоритм Винограда настолько элегантен, что занимает всего несколько сотен строк кода на языке LISP, любимом языке разработчиков ИИ, занимающихся анализом ЕЯ.

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

Научить компьютер играть в шахматы — одна из интереснейших задач в сфере игровых программ, использующих методы ИИ. Она была поставлена уже на заре вычислительной техники, в конце 50-х годов. В шахматах существуют определенные уровни мастерства, степени качества игры, которые могут дать четкие критерии интеллектуального роста машины. Поэтому компьютерными шахматами активно занимались ученые умы во всем мире. Но шахматы — игра, соревнование, и чтобы продемонстрировать свои логические способности, компьютеру необходим непосредственный противник. В 1974 году впервые прошел чемпионат мира среди шахматных программ в рамках очередного конгресса IFIP (International Federation of Information Processing) в Стокгольме. Победителем этого состязания стала советская шахматная программа «Каисса» (Каисса — богиня, покровительница шахмат). Эта программа была создана в Москве, в Институте проблем управления Академии наук в команде разработчиков программы-чемпиона, лидерами которой были Владимир Арлазаров, Михаил Донской и Георгий Адельсон—Вельский. «Каисса» показала всему миру способности русских специалистов в области эвристического программирования.

Машинное творчество.
В 1957 году американские исследователи М. Мэтьюз и Н. Гутман посетили концерт одного малоизвестного пианиста. Концерт им обоим не понравился, и, придя домой, М. Мэтьюз тут же стал писать программу, играющую музыку. Идея Мэтьюза, развиваясь, породила целый класс музыкальных языков программирования, которые вначале назывались MUSIC с номером версии. Язык C-Sound произошел как раз из этих программ. А отделение Стэндфордского института исследований, где работал тогда М. Мэтьюз, выросло в музыкальный исследовательский центр под названием CCRMA.

В 1959 году советский математик Рудольф Зарипов начал «сочинять» одноголосные музыкальные пьесы на машине «Урал». Они назывались «Уральские напевы» и носили характер эксперимента. При их сочинении использовались случайные процессы для различных элементов музыкальной фактуры (форма, ритм, звуковысотность и т.д.). С тех пор появилось очень много программ для алгоритмической композиции. Для различных музыкальных задач было создано специальное программное обеспечение: системы многоканального сведения; системы обработки звука; системы синтеза звука; системы интерактивной композиции; программы алгоритмической композиции и др.

В 1975—1976 годах были проведены эксперименты по сравнению машинной и «человеческой» музыки. Для эксперимента были выбраны мелодии песен известных советских композиторов, опубликованные в сборниках избранных песен, и мелодии, сочиненные на вычислительной машине «Урал-2» по программе Р. Зарипова. Результаты экспериментов таковы: машинные сочинения жюри признало в большинстве случаев наиболее интересными и, «без сомнения, написанными человеком». Таким образом, деятельность машины удовлетворяла критерию Тьюринга — слушатели-эксперты не узнали ее.

Д. А. Поспелов в своем интервью «Литературной газете» [№ 1, 1976] слегка иронизирует над методом Р. Зарипова, вспоминая, что примерно такой же способ «творчества» предложил еще Остап Бендер в «Золотом теленке», продав журналисту Ухудшанскому свое «Незаменимое пособие для сочинения юбилейных статей, табельных фельетонов, а также парадных стихотворений, од и тропарей», избавляющее от «необходимости ждать, покуда вас окатит потный вал вдохновенья». Из раздела первого (словарь) берутся нужные существительные, прилагательные, глаголы, смешиваются по образцам раздела второго (творческая часть) и получается «шедевр». Такой метод можно запрограммировать и можно написать повести, рассказы, стихи. Но вряд ли это можно назвать творчеством. Практически очевидно, что таким образом не будет создано гениальное в общечеловеческом смысле произведение.

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

Нейрокибернетика
На сегодняшний день - одно из наиважнейших направлений в области ИИ. Это область в разработке машин, демонстрирующих «разумное» поведение, на основе архитектур, напоминающих устройство мозга и называемых нейронными сетями (НС). В 1942 году, когда Н. Винер определил концепции кибернетики, В. Мак Каллок и В. Питc опубликовали первый фундаментальный труд по НС, где говорилось о том, что любое хорошо заданное отношение вход-выход может быть представлено в виде формальной НС. Одна из ключевых особенностей нейронных сетей состоит в том, что они способны обучаться на основе опыта, полученного в обучающей среде. В 1957 году Ф. Розенблат изобрел устройство для распознавания на основе НС — персептрон, который успешно различал буквы алфавита, хотя и отличался высокой чувствительностью к их написанию.

Читателю, возможно, интересно узнать, что у рядовых муравьев и пчел примерно 80 нейронов на особь (у царицы — 200—300 нейронов), у тараканов — 300 нейронов и эти существа показывают отличные адаптационные свойства в процессе эволюции. У человека число нейронов более 1010.

Пик интереса к НС приходится на 60-е и 70-е годы, но в последние десять лет наблюдается резко возросший объем исследований и разработок НС. Это стало возможным в связи с появлением нового аппаратного обеспечения, повысившего производительность вычислений в НС (ней-ропроцессоры, транспьютеры и т. п.). НС хорошо подходят для распознавания образов и решения задач классификации, оптимизации и прогнозирования. Поэтому основными областями применения НС являются:

Заканчивая исторический обзор работ в области ИИ, следует вернуться в 1981 год. В это время японские специалисты, объединившие свои усилия под эгидой научно-исследовательского центра по обработке информации JIPDEC, опубликовали программу НИОКР с целью создания к 1991 году прототипа ЭВМ нового поколения. Эта программа, получившая на Западе название «японский вызов», была представлена как попытка построить интеллектуальный компьютер, к которому можно было бы обращаться на естественном языке и вести беседу.

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

В литературе того времени достаточно подробно описываются все эти вопросы. Здесь отметим только основные компоненты программного обеспечения (ПО), планируемые для систем пятого поколения: