Курс лекций по предмету "основы проектирования систем с искусственным интеллектом"


Содержание

Сотник С.Л. Основы проектирования систем искусственного интеллекта — файл gl1-4.doc

Доступные файлы (3):

gl1-4.doc 892kb. 03.09.1998 05:25 скачать
n2.doc 225kb. 24.02.1999 20:38 скачать
n3.doc 317kb. 07.07.1999 16:26 скачать

gl1-4.doc

Конспект лекций по курсу «основы проектирования систем искусственного интеллекта»

© Сотник С. Л., 1997-1998.

Лекция 1-2: Базовые понятия ИИ

Терминология. Философские аспекты проблемы систем ИИ (возможность существования, безопасность, полезность). История развития систем ИИ.

Лекционные занятия — 4 ч.

Цель преподавания дисциплины

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

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

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

Терминология

Термин интеллект (intelligence) происходит от латинского intellectus — что означает ум, рассудок, разум; мыслительные способности человека. Соответственно искусственный интеллект (artificial intelligence) — ИИ (AI) обычно толкуется как свойство автоматических систем брать на себя отдельные функции интеллекта человека, например, выбирать и принимать оптимальные решения на основе ранее полученного опыта и рационального анализа внешних воздействий.

Мы, в нашем курсе, интеллектом будем называть способность мозга решать (интеллектуальные) задачи путем приобретения, запоминания и целенаправленного преобразования знаний в процессе обучения на опыте и адаптации к разнообразным обстоятельствам.

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

Мы употребили термин интеллектуальная задача. Для того, чтобы пояснить, чем отличается интеллектуальная задача от просто задачи, необходимо ввести термин «алгоритм» — один из краеугольных терминов кибернетики.

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

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

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

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

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

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

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

Кстати интересен план имитации мышления, предложенный А. Тьюрингом. «Пытаясь имитировать интеллект взрослого человека, — пишет Тьюринг, — мы вынуждены много размышлять о том процессе, в результате которого человеческий мозг достиг своего настоящего состояния… Почему бы нам вместо того, чтобы пытаться создать программу, имитирующую интеллект взрослого человека, не попытаться создать программу, которая имитировала бы интеллект ребенка? Ведь если интеллект ребенка получает соответствующее воспитание, он становится интеллектом взрослого человека… Наш расчет состоит в том, что устройство, ему подобное, может быть легко запрограммировано… Таким образом, мы расчленим нашу проблему на две части: на задачу построения «программы-ребенка» и задачу «воспитания» этой программы».

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

Системы искусственного интеллекта (курс лекций, Д.В.Михайлов)

Материал из MachineLearning.

Дисциплина «Системы искусственного интеллекта» для специальности 230105 важную роль в подготовке студентов к самостоятельной профессиональной деятельности в области интеллектуальных информационных технологий. Дисциплина «Системы искусственного интеллекта» для специальности 230105 относится к числу дисциплин специализации и читается в 9-м семестре. Она включает в себя рассмотрение основных вопросов современной теории и практики построения интеллектуальных систем (в первую очередь) символьной обработки и опирается на учебные курсы :«Дискретная математика», «Функциональное и логическое программирование», «Объектно-ориентированное программирование», «Базы данных», «Теория вычислительных процессов и структур», «Компьютерное моделирование», «Распознавание образов и обработка изображений» и «Человеко-машинное взаимодействие». Особое внимание уделяется моделированию языкового поведения человека при работе с базами знаний интеллектуальных информационно-поисковых систем.

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

Научный консультант — д.т.н., профессор Емельянов Геннадий Мартинович

Практический курс по дисциплине «Системы искусственного интеллекта» (стр. 1 )

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ВОЛГОГРАДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

КАМЫШИНСКИЙ ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ (ФИЛИАЛ)

ГОУ ВПО «ВОЛГОГРАДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

ПРАКТИЧЕСКИЙ КУРС ПО ДИСЦИПЛИНЕ «СИСТЕМЫ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА»

Учебное электронное издание

Рецензенты: коллектив кафедры «Системотехника» Саратовского государственного технического университета; заведующий кафедрой «Информационные системы и математическое моделирование» Волгоградского государственного архитектурно-строительного университета, д. т. н., профессор

Электронный аналог печатного издания:

Степанченко, курс по дисциплине «Системы искуственного интеллекта»: учеб. пособие / , ; ВолгГТУ, Волгоград, 2010. – 104 с.

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

Предназначено для студентов специальности 220200 «Автоматизированные системы обработки информации и управления» всех форм обучения.

Ил. 42. Табл. 5. Библиогр.: 15 назв.

ISBN 0388-2 © Волгоградский

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

1.1. Происхождение теории искусственного интеллекта.

1.2. Архитектура систем искусственного интеллекта.

1.3. Проблема представления знаний в СИИ.

1.4. Организация знаний в СИИ.

1.5. Продукционная модель представления знаний.

1.6. Сетевые модели.

1.7. Фреймовые сети.

1.8. Логические модели.

1.9. Алгоритмические модели.

2. Элементы теории распознавания образов.

2.1. Основные понятия теории распознавания образов.

2.2. Классификация методов распознавания символов.

2.3. Методы детерминистской классификации .

2.4. Обучение в линейных классификаторах.

2.5. Функции сходства. . .

2.6. Реализация алгоритмов распознавания методом дискриминантных функций.

3. Введение в теорию нейронных сетей.

3.1. Общие понятия искусственных нейронных сетей.

3.2. Обучение нейронных сетей.

3.3. Сети встречного распространения.

3.4. Реализация алгоритмов обучения нейронных сетей.

4. Генетические алгоритмы.

4.1. Генетические операторы.

4.2. Модели генетических алгоритмов.

4.3. Алгоритм работы генетического алгоритма.

4.4. Сходимость генетического алгоритма.

4.5. Реализация моделей генетического алгоритма.

5. Список использованной литературы.

БЗ – базы знаний

ГА – генетический алгоритм

ГО – генетический оператор

ЕЯ – естественный язык

ИИ – искусственный интеллект

ЛП – логика предикатов

ЛПР – лицо, принимающее решение

МТ – машина Тьюринга

ПГА – простой генетический алгоритм

ППФ – правильно построенная формула

ПРО – примитивный рекурсивный оператор

ПРФ – примитивно-рекурсивная функция

РФ – рекурсивная функция

СНИ – система искусственного интеллекта

ФП – функция пригодности

ЦФ – целевая функция

ЭС – экспертная система

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

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

1.1. Происхождение теории искусственного интеллекта

1.1.1. Понятие искусственного интеллекта

Термин интеллект (intelligence) происходит от латинского intellectus, что означает ум, рассудок, разум, мыслительные способности человека. Соответственно искусственный интеллект (ИИ, в английском эквиваленте: artificial intelligence, AI) есть свойство автоматических систем брать на себя отдельные функции интеллекта человека.

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

1.1.2. Искусственный интеллект в контуре автоматизации

Большинство объектов в автоматизированных системах управления (АСУ) слабо структурированы, плохо определены и имеют ряд «неожиданных» свойств для традиционной АСУ:

− отсутствие формализуемой цели,

В таких системах в контур управления вводят лицо, принимающее решение (ЛПР).


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

ИИ – научно-исследовательское направление, создающее модели и соответствующие программные средства, позволяющие с помощью ЭВМ решать задачи творческого, невычислительного характера, которые в процессе решения требуют обращения к семантике (проблеме смысла).

ИИ – программная система, имитирующая на компьютере мышление человека. Для создания такой системы необходимо изучить процесс мышления ЛПР, выделить основные шаги этого процесса, разработать программное обеспечение, воспроизводящее эти шаги на ЭВМ.

1.1.3. Понятие интеллектуальной задачи и деятельности

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

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

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

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

1.1.4. Первые шаги истории искусственного интеллекта

Первые программы, реализующие особенности интеллектуальной деятельности:

1. Машинный перевод (1947 г.). В СССР с 1955 года работы в области машинного перевода связаны с , , . Задача машинного перевода потребовала отделение знаний от кода. Появление языка-посредника знаменовало собой первую попытку создания языка внутреннего представления знаний.

2. Автоматизированное реферирование и информационный поиск (1957 г., США). Идея вычленения системы связей-отношений между отдельными фактами, воплощенная в понятии тезауруса.

3. Доказательство теорем (1956 г., США). Появление программы доказательства теорем логики высказываний: «Логик-Теоретик». В 1965 г. появился метод резолюций (Дж. Робинсон, США), в 1967 г. – обратный метод (, СССР). Методы реализуют идею использования эвристик – опытных правил для сокращения перебора вариантов при выводе решения.

4. Распознавание образов (начало 60-х годов). Идеи теории распознавания, связанные с обучением нахождению решающего правила на множе­стве положительных и отрицательных примеров.

В 1956 г. К. Шеннон, М. Минский и Дж. Маккарти организуют конференцию в Дартмуте (США) для обобщения практического опыта разработки интеллектуальных программ.

1.1.5. Создание теоретической базы

В 1969 году в Вашингтоне состоялась Первая международная конференция по искусственному интеллекту (IJCAI). В 1976 г. начал издаваться международный журнал «Искус­ственный интеллект». В течение 70-х годов сложились основные теоретические направления исследо­ваний в области интеллектуальных систем:

представление знаний, формализация знаний о внешней среде, создание внутренней модели внешнего мира;

− общение, создание языков взаимодействия системы и пользователя;

− рассуждение и планирование, принятие решений в альтернативных ситуациях;

− восприятие (машинное зрение), получение данных из внешней среды;

− обучение, извлечение знаний из опыта функционирования системы;

− деятельность, активное поведение системы на основе собственных целей функционирования.

1.1.6. Философские проблемы теории искусственного интеллекта

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

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

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

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

1.1.7. Области применения

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

2. Нанотехнологии, проблемы самосборки, самоконфигурирования и самовосстановления систем, состоящих из множества одновременно функционирующих узлов, многоагентные системы и робототехника (направление – эволюционные вычисления).

3. Гибридные управляющие системы, обработка изображений, средства поиска, индексирования и анализа смысла изображений, распознавания и классификации образов (направление – нечеткая логика).

4. Медицинская диагностика, обучение, консультирование, автоматическое программирование, проверка и анализ качества программ, проектирование сверхбольших интегральных схем, техническая диагностика и выработка рекомендаций по ремонту оборудования, планирование в различных предметных областях и анализ данных (направление – экспертные системы (ЭС)).

5. Транспортные задачи, распределенные вычисления, оптимальная загрузка ресурсов (направление – методы сокращения перебора).

6. Разработка крупных программных систем проектирования, кодогенерация, верификация, тестирование, оценка качества, выявление возможности повторного использования, решение задач на параллельных системах (направление – интеллектуальная инженерия).

7. Создание полностью автоматизированных киберзаводов.

8. Игры, социальное поведение человеческих эмоций, творчества.

9. Военные технологии.

1.2. Архитектура систем искусственного интеллекта

1.2.1. Элементы архитектуры СИИ

Архитектура системы искусственного интеллекта (СИИ) – организация структуры, в рамках которой происходит принятие решений и применение знаний в конкретной области. Наиболее общая схема СИИ представлена на рис. 1. В такой форме не существует ни одна реальная СИИ, те или иные блоки могут отсутствовать. В СИИ всегда присутствуют лишь два блока: база знаний и механизм вывода.

Рассмотрим основные типы СИИ в автоматизированных системах обработки информации и управления:

− СИИ управления технологическим процессом;

− СИИ планирования и диспетчеризации;

Рис. 1. Обобщенная схема СИИ

1.2.2. СИИ управления технологическим процессом

Архитектура СИИ управления технологическим процессом представлена на рис. 2.

Особенности этой системы:

− использование технологической информации для управления (измеренные характеристики продукта о параметрах и структуре оборудования);

− механизм вывода применяется для модификации данных и выработки рекомендаций и управляющих решений;

− необходимость работы в реальном времени;

− необходимость реализации темпоральных рассуждений (учет изменяющихся условий).

Работа системы организуется на трех уровнях:

− база знаний (БЗ) включает в себя правила решения проблем, процедуры решения проблем, данные о проблемной области, то есть на уровне баз знаний организуется сама технология и вся стратегия управления технологическим процессом;

− рабочая память содержит информацию о заданных характеристиках и данные о рассматриваемом процессе (БД);

− механизм вывода (в обычной системе – это регулятор) содержит в себе общий механизм управления для достижения конечной цели (приемлемого решения).

Решения носят характер рекомендаций пользователю.

Важным компонентом являются блоки связи между технологическим процессом с БД и БЗ (блоки «Анализ данных» и «Данные о процессе»). Они обеспечивают пользователю верхний уровень доступа к производственной информации о технологическом процессе с объектов нижнего уровня, т. е. поддерживают содержание БД и БЗ в актуальном состоянии путем обновления. Блоки также обеспечивают функции мониторинга с целью предупреждения критических ситуаций.

Обоснование и объяснение взвешенности и адекватности реакции системы на развитие производственной ситуации обеспечивают блоки «Диалоговый интерфейс» и «Управляющие данные».

Рис. 2. Структура СИИ управления технологическим процессом

1.2.3. СИИ диагностирования

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

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

Рис. 3. СИИ роботизированных линий и гибких производственных систем

Система восприятия состояния среды включает в себя:

− сенсоры, непосредственно связанные с внешней средой;

− подсистему предварительной обработки;

− блок сегментации характерных особенностей;

− символическое описание состояния среды;

− семантическое описание состояния среды;

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

Механизм вывода или система планирования поведения определяет действия робота во внешней среде в результате сложившейся ситуации и согласно глобальной цели. Состоит из:

− системы вывода решений;

− блока планирования движения исполнительных механизмов.

Система исполнения действий включает в себя:

− подсистему управления приводом;

1.2.5. СИИ планирования и диспетчеризации

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

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

Особенность данных систем – действие в реальном времени, связь с распределенной БД интегрированной системы управления. Такая система необходима, так как данные СИИ входят в состав систем управления.

Рис. 4. СИИ планирования и диспетчеризации

1.3. Проблема представления знаний в СИИ

1.3.1. Знания и данные

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

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

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

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

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

1.3.2. Идея саморазвивающихся машин

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

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

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

1.3.3. Рефлексия как составляющая интеллектуальной деятельности

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

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

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

Таким образом, считать интеллектуальную систему полноценной без умения оценивать, «понимать» свои действия, то есть рефлексировать, нельзя. Более того, рефлексию следует считать одним из главных инструментов построения поведения систем. Говоря языком математики, рефлексия является необходимым условием существования интеллектуальной системы.

1.3.4. Языки представления знаний

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

− как манипулировать языковыми конструкциями используемого языка программирования;

− как добиться высокой производительности программы;

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

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


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

Переход от описания знаний о предметной области на всем понятном «человеческом» языке к их представлению в виде какого-либо формализма, воспринимаемого компьютером, требует определенного искусства, поскольку невозможно (по крайней мере на сегодняшний день) описать, как механически выполнить такое преобразование. Так как возможности логического вывода, которые может реализовать программа, напрямую связаны с выбором способа представления знаний, то именно представление знаний, а не их извлечение является самым узким местом в практике проектирования ЭС.

ОСНОВЫ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА — Курс лекций

2.1. Конспекты лекций

Лекция 1. Искусственный интеллект. Современное состояние и тенденции развития. 3

Лекция 2. Инженерия знаний и представление знаний. 13

Лекция 3. Языки представления знаний и основные модели. 22

Лекция 4. Теория экспертных систем. Инструментальные средства разработки экспертных систем. 32

Лекция 5. Логическое программирование на языке Prolog. 39

Лекция 6. Функциональное программирование на языке Lisp. 51

Определение рекурсивных функций 62

2.2. Методические указания и рекомендации

2.2.1. Методические указания и рекомендации к проведению семинарских занятий,

2.2.2. Методические указания и рекомендации к выполнению лабораторных и практических работ,

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

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

2.1. КОНСПЕКТЫ ЛЕКЦИЙ ПО ДИСЦИПЛИНЕ

«ОСНОВЫ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА»

Лекция 1. Искусственный интеллект. Современное состояние и тенденции развития.

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

Появление предпосылок искусственного интеллекта (период с 1943 года по 1955 год)

Первая работа, которая теперь по общему признанию считается относящейся к искусственному интеллекту, была выполнена Уорреном Мак-Каллоком и Уолтером Питтсом. Мак-Каллок и Питтс предложили модель, состоящую из искусственных нейронов. Дональд Хебб продемонстрировал простое правило обновления для модификации количества соединений между нейронами. Предложенное им правило, называемое теперь правилом хеббовского обучения, продолжает служить основой для моделей, широко используемых и в наши дни. Два аспиранта факультета математики Принстонского университета, Марвин Минский и Дин Эдмондс, в 1951 году создали первый сетевой компьютер на основе нейронной сети. Кроме того, можно привести большое количество примеров других ранних работ, которые можно охарактеризовать как относящиеся к искусственному интеллекту, но именно Алан Тьюринг впервые выразил полное представление об искусственном интеллекте в своей статье Computing Machinery and Intelligence, которая была опубликована в 1950 году.

Рождение искусственного интеллекта (1956 год)

В Принстонском университете проводил свои исследования еще один авторитетный специалист в области искусственного интеллекта, Джон Маккарти. После получения ученой степени Маккарти перешел в Дартмутский колледж, который и стал официальным местом рождения этой области знаний. Они организовывали двухмесячный семинар в Дартмуте летом 1956 года. Всего на этом семинаре присутствовали 10 участников, включая Тренчарда Мура из Принстонского университета, Артура Самюэла из компании IBM, а также Рея Соломонова и Оливера Селфриджа из Массачусетского технологического института (Massachussets Institute of Technlogies — MIT). Два исследователя из технологического института Карнеги, Аллеи Ньюэлл и Герберт Саймон, буквально монополизировали все это представление. Тогда как другие могли лишь поделиться своими идеями и в некоторых случаях показать программы для таких конкретных приложений, как шашки, Ньюэлл и Саймон уже мог ли продемонстрировать программу, проводящую рассуждения, Logic Theorist (LT). Вскоре после этого семинара программа показала свою способность доказать большинство теорем из главы 2 труда Рассела и Уайтхеда Principia Mathematica. Дартмутский семинар не привел к появлению каких-либо новых крупных открытий, но позволил познакомиться всем наиболее важным деятелям в этой научной области. Они, а также их студенты и коллеги из Массачусетсского технологического института, Университета Карнеги—Меллона, Станфордского университета и компании IBM занимали ведущее положение в этой области в течение следующих 20 лет. Возможно, дольше всего сохранившимся результатом данного семинара было соглашение принять новое название для этой области, предложенное Маккарти, — искусственный интеллект.

Ранний энтузиазм, большие ожидания (период с 1952 года по 1969 год)

Первые годы развития искусственного интеллекта были полны успехов, хотя и достаточно скромных. За первыми успешными разработками Ньюэлла и Саймона последовало создание программы общего решателя задач (General Problem Solver— GPS). Работая в компании IBM, Натаниэль Рочестер и его коллеги создали некоторые из самых первых программ искусственного интеллекта. Герберт Гелернтер сконструировал программу Geometry Theorem Prover (программа автоматического доказательства геометрических теорем), которая была способна доказывать такие теоремы, которые показались бы весьма сложными многим студентам-математикам. Начиная с 1952 года Артур Самюэл написал ряд программ для игры в шашки, которые в конечном итоге научились играть на уровне хорошо подготовленного любителя. В ходе этих исследований Самюэл опроверг утверждение, что компьютеры способны выполнять только то, чему их учили: одна из его программ быстро научилась играть лучше, чем ее создатель. Джон Маккарти перешел из Дартмутского университета в Массачусетский технологический институт и здесь в течение одного исторического 1958 года внес три крайне важных вклада в развитие искусственного интеллекта. Джон Маккарти привел определение нового языка высокого уровня. Lisp, которому суждено было стать доминирующим языком программирования для искусственного интеллекта. В том же 1958 году Маккарти опубликовал статью под названием Рrograms with Соттоп Sense, в которой он описал гипотетическую программу Аdvice Такеr, которая может рассматриваться как первая полная система искусственного интеллекта. Знаменитый 1958 год отмечен также тем, что именно в этот год Марвин Минский перешел в Массачусетсский технологический институт. В 1963 году Маккарти открыл лабораторию искусственного интеллекта в Станфордском университете. Минский руководил работой ряда студентов, выбравших для себя задачи ограниченных масштабов, для решения которых, как в то время казалось, требовалась интеллектуальность. Эти ограниченные проблемные области получили название микромиров.

Илон Маск рекомендует:  Разрабатываем парсер математических выражений

Столкновение с реальностью (период с 1966 года по 1973 год)

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

Системы, основанные на знаниях: могут ли они стать ключом к успеху

(период с 1969 года по 1979 год)

Основной подход к решению задач, сформированный в течение первого десятилетия исследований в области искусственного интеллекта, представлял собой механизм поиска общего назначения, с помощью которого предпринимались попытки связать в единую цепочку элементарные этапы проведения рассуждений для формирования полных решений. Подобные подходы получили название слабых методов, поскольку они не позволяли увеличить масштабы своего применения до уровня более крупных иди более сложных экземпляров задач, несмотря на то, что были общими. Альтернативным по сравнению со слабыми методами стал подход, предусматривающий использование более содержательных знаний, относящихся к проблемной области, который позволяет создавать более длинные цепочки шагов логического вывода и дает возможность проще справиться с теми проблемными ситуациями, которые обычно возникают в специализированных областях знаний. Одним из первых примеров реализации такого подхода была программа Dendral. Она была разработана в Станфордском университете группой ученых, в которую вошли Эд Фейгенбаум (бывший студент Герберта Саймона), Брюс Бьюкенен (философ, который сменил специальность и стал заниматься компьютерными науками) и Джошуа Ледерберг (лауреат Нобелевской премии в области генетики). Руководствуясь этим опытом, Фейгенбаум и другие специалисты из Станфордского университета приступили к разработке проекта эвристического программирования (Heuristic Programming Project — НРР), целью которого было исследование того, в какой степени созданная ими новая методология экспертных систем может быть применена в других областях интеллектуальной деятельности человека. На очередном этапе основные усилия были сосредоточены в области медицинской диагностики. Фейгенбаум, Бьюкенен и доктор Эдвард Шортлифф разработали программу Мусin для диагностики инфекционных заболеваний кровеносной системы.

Превращение искусственного интеллекта в индустрию

(период с 1980 года по настоящее время)

Первая успешно действующая коммерческая экспертная система, К.1, появилась в компании DEC (Digatal Equipment Corporation). Эта программа помогала составлять конфигурации для выполнения заказов на новые компьютерные системы; к 1986 году она позволяла компании DЕС экономить примерно 40 миллионов долларов в год. К 1988 году группой искусственного интеллекта компании DЕС было развернуто 40 экспертных систем. В компании Du Роnt применялось 100 систем, в разработке находилось еще 500, а достигнутая экономия составляла примерно 10 миллионов долларов в год. В 1981 году в Японии было объявлено о развертывании проекта создания компьютера «пятого поколения» — 10-летнего плана по разработке интеллектуальных компьютеров, работающих под управлением языка Рго1оg. В ответ на это в Соединенных Штатах была сформирована корпорация Мicroelectronics and Соmputег Тесhnologу Сorporation (МСС) как научно-исследовательский консорциум. В целом в индустрии искусственного интеллекта произошел бурный рост, начиная с нескольких миллионов долларов в 1980 году и заканчивая миллиардами долларов в 1988 году. Однако вскоре после этого наступил период, получивший название «зимы искусственного интеллекта».

Возвращение к нейронным сетям (период с 1986 года по настоящее время)

Хотя основная часть специалистов по компьютерным наукам прекратила исследования в области нейронных сетей в конце 1970-х годов, работу в этой области продолжили специалисты из других научных направлений. Такие физики, как Джон Хопфилд, использовали методы из статистической механики для анализа свойств хранения данных и оптимизации сетей, рассматривая коллекции узлов как коллекции атомов. Психологи, включая Дэвида Румельхарта и Джефа Хинтона, продолжали исследовать модели памяти на основе нейронных сетей. Настоящий прорыв произошел в середине 1980-х годов, когда по меньшей мере четыре разные группы снова открыли алгоритм обучения путем обратного распространения, впервые предложенный в 1969 году Брайсоном и Хо. Эти так называемые коннекционистские (основанные на соединениях) модели интеллектуальных систем многими рассматривались как непосредственно конкурирующие и с символическими моделями, разрабатываемыми Ньюэллом и Саймоном, и с логицистским подходом, предложенным Маккарти и другими.

Превращение искусственного интеллекта в науку

(период с 1987 года по настоящее время)

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

Появление подхода, основанного на использовании интеллектуальных агентов (период с 1995 года по настоящее время)

Вдохновленные успехами в решении указанных проблем искусственного интеллекта, исследователи также вновь приступили к решению проблемы «целостного агента». Наиболее широко известным примером создания полной архитектуры агента является работа Аллена Ньюэлла, Джона Лэрда и Пола Розенблума, над проектом Soar. Одним из следствий попыток создания полных агентов стало понимание того, что ранее изолированные подобласти искусственного интеллекта могут потребовать определенной реорганизации, когда возникнет необходимость снова связать воедино накопленные в них результаты.

Современное состояние разработок

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

• Автономное планирование и составление расписаний. Работающая на удалении в сотни миллионов километров от Земли программа Remote Agent агентства NASA стала первой бортовой автономной программой планирования, предназначенной для управления процессами составления расписания операций длякосмического аппарата [744]. Программа Кетохе А§ет вырабатывала планына основе целей высокого уровня, задаваемых с Земли, а также контролировала работу космического аппарата в ходе выполнения планов: обнаруживала,диагностировала и устраняла неполадки по мере их возникновения.

• Ведение игр. Программа Dеер В1uе компании IВМ стала первой компьютернойпрограммой, которой удалось победить чемпиона мира в шахматном матче,после того как она обыграла Гарри Каспарова со счетом 3,5:2,5 в показательном матче. Каспаров заявил, что ощущал напротив себя за шахматной доской присутствие «интеллекта нового типа». Журнал Newsweek описал этот матч под заголовком «Последний оборонительный рубеж мозга». Стоимость акций IВМ выросла на 18 миллиардов долларов.

• Автономное управление. Система компьютерного зрения Alvin была обучена вождению автомобиля, придерживаясь определенной полосы движения. В университете СМU эта система была размещена в микроавтобусе, управляемом компьютером NavLаЬ, и использовалось для проезда по Соединенным Штатам; на протяжении 2850 миль (4586,6 км) система обеспечивала рулевое управление автомобилем в течение 98% времени. Человек брал на себя управление лишь в течение остальных 2%, главным образом на выездных пандусах. Компьютер NavLаЬ был оборудован видеокамерами, которые передавали изображения дороги в систему Alvinn, а затем эта система вычисляла наилучшее направление движения, основываясь на опыте, полученном в предыдущих учебных пробегах.

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

• Планирование снабжения. Во время кризиса в Персидском заливе в 1991 году в армии США была развернута система DАRТ (Dynamic Аnalysis and Replanning) для обеспечения автоматизированного планирования поставок и составления графиков перевозок. Работа этой системы охватывала одновременно до 50 000 автомобилей, единиц груза и людей; в ней приходилось учитывать пункты отправления и назначения, маршруты, а также устранять конфликты между всеми параметрами. Методы планирования на основе искусственного интеллекта позволяли вырабатывать в течение считанных часов такие планы, для составления которых старыми методами потребовались бы недели. Представители агентстваDАRРА (Defense Advadcend Research Project Agency — управление перспективных исследовательских программ) заявили, что одно лишь это приложение сторицей окупило тридцатилетние инвестиции в искусственный интеллект, сделанные этим агентством.

• Робототехника. Многие хирурги теперь используют роботов-ассистентов в микрохирургии. Например, HipNav — это система, в которой используются методы компьютерного зрения для создания трехмерной модели анатомии внутренних органов пациента, а затем применяется робототехническое управление для руководства процессом вставки протеза, заменяющего тазобедренный сустав.

• Понимание естественного языка и решение задач. Программа Ргоvегb это компьютерная программа, которая решает кроссворды намного лучше, ем большинство людей; в ней используются ограничения, определяющие состав возможных заполнителей слов, большая база с данными о встречавшихся ранее кроссвордах, а также множество различных источников информации, включая словари и оперативные базы данных, таких как списки кинофильмов и актеров, которые играли в этих фильмах. Например, эта программа способна определить, что одним из решений, подходящих для ключа «Nice Story», является слово «ЕТАGЕ», поскольку ее база данных содержит пару ключ—решение «Story in France/ETAGE», а сама программараспознает, что шаблоны «Nice X» и “X in France” часто имеют одно и то жерешение. Программа не знает, что Niсе (Ницца) — город во Франции, но способна разгадать эту головоломку.

1. Опишите период развития ИИ с 1943 года по 1955 год.

2. Опишите период появления ИИ (1956 год).

3. Опишите период с 1952 года по 1969 год в истории ИИ.

4. Опишите период с 1966 года по 1973 год в истории ИИ.

5. Опишите период с 1969 года по 1979 год в истории ИИ.

6. Опишите период с 1980 года по настоящее время в истории ИИ.

7. Опишите период с 1986 года по настоящее время в истории ИИ.

8. Опишите период становления ИИ как научного направления.

9. Опишите период появления интеллектуальных агентов.

10. Опишите современное состояние разработок в области ИИ.

Лекция 2. Инженерия знаний и представление знаний.

Данные и знания

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

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

При обработке на ЭВМ данные трансформируются, условно проходя следующие этапы:

1. D1 — данные как результат измерений и наблюдений;

2. D2 — данные на материальных носителях информации (таблицы, протоколы, справочники);

3. D3 — модели (структуры) данных в виде диаграмм, графиков, функций;

4. D4 — данные в компьютере на языке описания данных;

5. D5 — базы данных на машинных носителях информации.

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

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

При обработке на ЭВМ знания трансформируются аналогично данным.

1. Z1 — знания в памяти человека как результат мышления;

2. Z2 — материальные носители знаний (учебники, методические пособия);

3. Z3 — поле знаний — условное описание основных объектов предметной области, их атрибутов и закономерностей, их связывающих;

4. Z4 — знания, описанные на языках представления знаний (продукционные языки, семантические сети, фреймы — см. далее);

5. Z5 — база знаний на машинных носителях информации.

Часто используется такое определение знаний.

Знания — это хорошо структурированные данные, или данные о данных, или метаданные.

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

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

Знания могут быть классифицированы по следующим категориям:

Поверхностные — знания о видимых взаимосвязях между отдельными событиями и фактами в предметной области.

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

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

Классификация методов практического извлечения знаний

Подробно рассмотрев теоретические аспекты инженерии знаний, в явном виде никак не определить, каким практическим методом эти знания будут получены. В неявном виде предполагается, что это некоторое взаимодействие инженера по знаниям и эксперта в форме непосредственного живого общения. Однако это не единственная форма извлечения знаний, хотя и довольно распространенная. Существуют около 15 ручных (неавтоматизированных) методов извлечения и более 20 автоматизированных методов приобретения и формирования знаний. Рисунок 3.1 иллюстрирует предлагаемую классификацию методов извлечения знаний, в которой используются наиболее употребительные термины, что позволит инженерам по знаниям в зависимости от конкретной задачи и ситуации выбрать подходящий метод. Из предложенной схемы классификации видно, что основной принцип деления cвязан с источником знаний.

Рис. 3. 1. Классификация методов извлечения знаний

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

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

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

Одна из возможных классификаций людей по психологическим характеристикам делит всех на три типа:

• мыслитель (познавательный тип);

• собеседник (эмоционально-коммуникативный тип);

• практик (практический тип).

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

Для характеристики предметных областей можно предложить следующую классификацию (Рис. 3.2.):

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

Рис. 3.2. Классификация предметных областей

• хорошо структурированными — с четкой аксиоматизацией, широким применением математического аппарата, устоявшейся терминологией;

• средне структурированными — с определившейся терминологией, развивающейся теорией, явными взаимосвязями между явлениями;

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

Разработка моделей на Lisp


Задача 1. Решить задачу упорядочивания элементов по возрастанию в одномерной последовательности с применением продукционных правил.

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

Рис. 4.1. Пространство состояний для задачи упорядочивания.

Таким образом, модель знаний предметной области с учетом определения продукционных правил будет иметь вид:

Ясно, что, применяя эти правила в определенном порядке можно прийти к упорядоченному виду исходной последовательности. Механизм извлечения знаний должен позволять получать эти решения. Разработаем механизм извлечения этих правил и их применения. Для этого необходимо разработать терминологию для описания состояния исследуемого объекта и произведения необходимого действия над ним. Роль исследуемого объекта в программе будет играть список sp. Конечное состояние этого объекта представлено списком end. Переменная pos предназначена для хранения начала подпоследовательности, которая в дальнейшем будет подвержена обмену элементами.

(setf pos nil) (setf sp ‘(c b a c a)) (setf end ‘(a a b c c))

Функция poisk возвращает в переменную pos начало подпоследовательности,

состоящей из элементов el1 и el2:

(defun poisk (el1 el2) (progn (setf len (length sp))

(setf pos nil) (setf flag t) (dotimes (i (- len 1))

(if (and flag (equal el1 (nth i sp)) (equal el2 (nth (+ i 1) sp)))

(progn (setf pos i) (setf flag nil)))) (if flag nil t)))

Функция zamena производит обмен пары элементов в последовательности с учетом его начала в переменной pos.

(defun zamena (el1 el2) (progn (setf buf nil) (if (or

(and (equal el1 ‘b) (equal el2 ‘a)) (and (equal el1 ‘c) (equal el2 ‘a))

(and (equal el1 ‘c) (equal el2 ‘b))) (progn (setf buf (nth pos sp))

(setf (nth pos sp) (nth (+ pos 1) sp)) (setf (nth (+ pos 1) sp) buf)))))

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

(setf rule (list ‘(if (poisk ‘b ‘a) (zamena ‘b ‘a))

‘(if (poisk ‘c ‘a) (zamena ‘c ‘a)) ‘(if (poisk ‘c ‘b) (zamena ‘c ‘b))))

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

1. выбрать третье правило через команду (nth 2 rule)

2. вычислить выбранное правило через команду (eval (nth 2 rule))

В этом случае объект перейдет из исходного состояния в следующее

Таким образом, программа, в общем, будет выглядеть так:

;установка начальной позиции

;установка описания предметной области — списка

(setf sp ‘(a b a c c b a c a)) (setf end ‘(a a a a b b c c c))

;функция нахождения подсписка в списке;

(defun poisk (el1 el2) (progn (setf len (length sp))

(setf pos nil) (setf flag t) (dotimes (i (- len 1))

(if (and flag (equal el1 (nth i sp)) (equal el2 (nth (+ i 1) sp)))

(progn (setf pos i) (setf flag nil)))) (if flag nil t)))

(defun zamena (el1 el2) (progn (setf buf nil) (if (or

(and (equal el1 ‘b) (equal el2 ‘a)) (and (equal el1 ‘c) (equal el2 ‘a))

(and (equal el1 ‘c) (equal el2 ‘b))) (progn (setf buf (nth pos sp))

(setf (nth pos sp) (nth (+ pos 1) sp)) (setf (nth (+ pos 1) sp) buf)))))

‘(if (poisk ‘b ‘a) (zamena ‘b ‘a)) ‘(if (poisk ‘c ‘a) (zamena ‘c ‘a))

‘(if (poisk ‘c ‘b) (zamena ‘c ‘b)))) ;механизм сопоставления с образцом

(setf len (length sp)) (do () ((equal sp end) sp) (setf mkp nil)

(dotimes (i (length rule)) (if (eval (nth 1 (nth i rule)))

(setf mkp (cons i mkp)))) (setf mkp (reverse mkp))

(princ (+ (car mkp) 1)) (princ «:») (princ sp) (princ «->»)

(eval (nth (car mkp) rule)) (print sp))

Задача 2. Разработать семантическую модель и механизм извлечения знаний на Lisp.

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

Тогда семантическая сеть, описывающая знания из предметной области будет представлена в следующей форме (Рис. 4.2.):

Рис. 4.2. Семантическая сеть предметной области.

В качестве подхода при разработке этой семантической сети на языке программирования Common Lisp выберем тройки «символ – атрибут — значение». Для разработанной семантической сети программное представление будет иметь вид:

(setf (get ‘animal ‘covering) ‘skin) (setf (get ‘bird ‘covering) ‘feathers)

(setf (get ‘bird ‘travel) ‘flies) (setf (get ‘bird ‘isa) ‘animal)

(setf (get ‘fish ‘isa) ‘animal) (setf (get ‘ fish ‘travel) ‘swim)

(setf (get ‘ostrich ‘isa) ‘bird) (setf (get ‘ostrich ‘travel) ‘walk)

(setf (get ‘penguin ‘isa) ‘bird) (setf (get ‘penguin ‘travel) ‘walk)

(setf (get ‘penguin ‘color) ‘brown) (setf (get ‘opus ‘isa) ‘penguin)

(setf (get ‘canary ‘isa) ‘bird) (setf (get ‘canary ‘color) ‘yellow)

(setf (get ‘canary ‘sound) ‘sing) (setf (get ‘tweety ‘isa) ‘canary)

(setf (get ‘tweety ‘color) ‘white) (setf (get ‘robin ‘isa) ‘bird)

(setf (get ‘robin ‘sound) ‘sings) (setf (get ‘robin ‘color) ‘red)

В этом представлении семантической сети уже определена иерархия наследования. Если выполнить поиск по связи isa, то можно определить родительский объект по заданному свойству. Для нахождения родительских объектов используется поиск в глубину, который прекращается при нахождении экземпляра заданного свойства. В качестве стратегии поиска можно также использовать поиск в ширину. Функция inherit-get — это вариация функции get, которая сначала пытается получить свойство данного символа. Если это свойство отсутствует, функция inherit-get вызывает функцию get-from-parents для реализации поиска.

(defun inherit-get (obj property)

(or (get obj property) (get-from-parents (get obj ‘isa) property)))

(defun get-from-parents (parents property) (cond ((null parents) nil)

((atom parents) (inherit-get parents property)) (t (or (get-from-parents (car parents) property)

(get-from-parents (cdr parents) property)))))

2.2. МЕТОДИЧЕСКИЕ УКАЗАНИЯ И РЕКОМЕНДАЦИИ

ПО ДИСЦИПЛИНЕ «ОСНОВЫ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА»

2.2.1. Методические указания и рекомендации к проведению семинарских занятий по дисциплине «Основы искусственного интеллекта»

2.2.2. Методические указания и рекомендации к выполнению лабораторных и практических работ по дисциплине «Основы искусственного интеллекта»

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

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

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

2.2.3. Методические указания и рекомендации к организации самостоятельной работы студентов по дисциплине «Основы искусственного интеллекта»

Выписка из ГОС содержит не все нужные разделы классического искусственного интеллекта. Одним из таких разделов является обязательная тема «Пространство состояний и методы поиска». К тому же в дальнейшем при изучении раздела «Языки представления знаний и модели» происходит обращение к материалам данной темы. Поэтому предполагается целесообразным оставить студентам раздел «Пространство состояний и методы поиска» на самостоятельное изучение. Для большей понятности приведем достаточный перечень тем, которые обязательно нужно изучить в порядке их следования:

• представление задачи в пространстве состояний;

• классы сложности пространства состояний;

• поиск в пространстве состояний;

• стратегии и методы поиска в пространстве состояний;

• классификация методов поиска;

• решение интеллектуальных задач посредством поиска.

2.2.4. Методические указания и рекомендации к организации научно-исследовательской работы студентов по дисциплине «Основы искусственного интеллекта»

Организационными формами НИРС могут являться:

• учебно-исследовательская работа в рамках выполнения учебных заданий по дисциплине;

• индивидуальные научно-исследовательские работы студентов по проблемам, изучаемым в рамках дисциплины; участие студентов в разработке определенной проблемы под руководством научного руководителя из числа профессорско-преподавательского состава, в том числе и в рамках курсовых и выпускных квалификационных работ;

• участие студентов в студенческих научных мероприятиях различного уровня (кафедральные, институтские, межвузовские, городские, региональные, всероссийские, международные), стимулирующих индивидуальное научное творчество студентов.

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

Работа проходит антиплагиат Форматы: Word.

Информация о работе

Тип: Курс лекций
Страниц: 73
Год: 2015
900 p.

Не подошла эта работа?

Узнайте стоимость написания
работы по Вашему заданию.
ПОСМОТРЕТЬ ЦЕНЫ
Оформление заявки БЕСПЛАТНО и
ни к чему не обязывает.

Сотник С.Л. Курс лекций по предмету «Основы проектирования систем с искусственным интеллектом». — Днепродзержинск, 2000

    Ирина Симолина 2 лет назад Просмотров:

1 Интеллектуальные информационные системы Д.А. Назаров (ред. Октябрь 2012) Тема 3.1 Экспертные системы Сотник С.Л. Курс лекций по предмету «Основы проектирования систем с искусственным интеллектом». — Днепродзержинск, 2000 Балдин К.В., Уткин В.Б. Уткин В.Б. Информационные системы в экономике: Учебник 5-е изд. — М.: Издательско-торговая корпорация «Дашков и К о», 2008

2 Базовые понятия Экспертная система (ЭС) это программа (на современном уровне развития человечества), которая заменяет эксперта в той или иной области знаний. ЭС предназначены, главным образом, для решения практических задач, возникающих в слабо структурированной и трудно формализуемой предметной области. ЭС были первыми системами, которые привлекли внимание потенциальных потребителей продукции искусственного интеллекта. 2

3 С разработкой ЭС связаны некоторые распространенные заблуждения. Заблуждение первое: ЭС будут делать не более (а скорее даже менее) того, чем может эксперт, создавший данную систему. Для опровержения данного постулата можно построить самообучающуюся ЭС в области, в которой вообще нет экспертов, либо объединить в одной ЭС знания нескольких экспертов, и получить в результате систему, которая может то, чего ни один из ее создателей не может. Заблуждение второе: ЭС никогда не заменит человека-эксперта. Уже заменяет, иначе зачем бы их создавали? 3

4 Подход к построению ЭС в общем случае может быть представлен следующей диаграммой [Балдин К.В., Уткин В.Б. Уткин В.Б., 2008] Эксперты Знания о ПО Носители информации Анализ и приобретение знаний «Искусство» Формализация знаний Модели знаний БЗ Разработка образца ЭС Оболочки ЭС «Наука» ЭС 4

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

6 Переформулирование Перепроектирование Как охарактеризовать важные аспекты знания? Идентификация Требования Какие понятия необходимы для решения? Концептуализация Понятия Как формально представить знания? Формализация Структура Какие правила воплощают знания? Уточнение Правила Как подтвердить правила? Реализация Тестирование Рис Этапы разработки ЭС [Балдин К.В., Уткин В.Б. Уткин В.Б., 2008] 6

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

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


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

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

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

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

Илон Маск рекомендует:  Как сделать иконку

13 Разработчик инструмента Предметный эксперт эксперт создаёт Средства Средства Построения ЭС ЭС использует опрашивает Инженер Инженер знаний знаний Разрабатывает, уточняет, тестирует ЭС ЭС применяет Добавляет информацию Конечный Конечный пользователь Технический персонал персонал Рис Схема взаимодействия разработчиков ЭС [Балдин К.В., Уткин В.Б. Уткин В.Б., 2008] 13

Лекция 12. Системы искусственного интеллекта. Основные понятия

1. Направления использования систем искусственного ин­теллекта (ИИ): системы понимания естественного языка, распознавание образов, системы символьных вычислений, системы с нечеткой логикой, генетические алгоритмы, тео­рия игр и т.д.

2. Математические модели и аппаратно-программная реа­лизация систем ИИ. Модель нейрона, алгоритм ее работы. Искусственные нейронные сети. Примеры применения нейронных сетей для решения экономических задач.

3. Использование ИИ в экономике. Интеллектуальный ана­лиз данных. Управление знаниями

1. Направления использования систем искусственного ин­теллекта (ИИ): системы понимания естественного языка, распознавание образов, системы символьных вычислений, системы с нечеткой логикой, генетические алгоритмы, тео­рия игр и т.д.

«Интеллект – совокупность всех познавательных функций индивида: от ощущений и восприятия до мышления и воображения; в более узком смысле – мышление. И. – основная форма познания человеком действительности. Существуют три разновидности в понимании функции И.: 1) способности к обучению; 2) оперирование символами; 3) способность к активному овладению закономерностей окружающей нас действительности» (Рапацевич Е.С. Словарь-справочник по научно-техническому творчеству. – Мн.: ООО «Этоним», 1995. – 384 с. – С. 51-52.). (Сл 2)

«Интеллект искусственный – 1) условное обозначение кибернетических систем и их логико-математического обеспечения, предназначенных для решения нек-рых задач, обычно требующих использования интеллектуальных способностей человека; 2) совокупность функциональных возможностей электронно-вычислительной машины (ЭВМ) решать задачи, ранее требовавшие обязательного участия человека» (Там же, с. 54). (Сл 3)

Искусственный интеллект – одна из новейших наук, появившихся в середине 60-х г.г. ХХ в. на базе вычислительной техники, математической логики, программирования, психологии, лингвистики, нейрофизиологии и других отраслей знаний. Искусственный интеллект – это образец междисциплинарных исследований, где соединяются профессиональные интересы специалистов разного профиля. Само название новой науки возникло в конце 60-х гг,. а в1969 г. в Вашингтоне (США) состоялась первая Всемирная конференция по искусственному интеллекту.

Когда в конце 40-х – начале 50-х гг. появились ЭВМ, стало ясно, что инженеры и математики создали не просто быстро работающее устройство для вычислений, а нечто более значительное. Оказалось, что с помощью ЭИМ можно решать различные головоломки, логические задачи, играть в шахматы, создавать игровые программы. ЭВМ стали принимать участие в творческих процессах: сочинять музыкальные мелодии, стихотворения и даже сказки (см. Машинная музыка, Синтез текстов). Появились программы для перевода с одного языка на другой, для распознавания образов, доказательства теорем. Это свидетельствовало о том, что с помощью ЭВМ и соответствующих программ можно автоматизировать такие виды человеческой деятельности, которые называются интеллектуальными и считаются доступными лишь человеку. Несмотря на большое разнообразие невычислительных программ, созданных к началу 60-хгг., программирование в сфере интеллектуальной деятельности находилось в гораздо худшем положении, чем решение расчетных задач. Причина очевидна. Программирование для задач расчетного характера опиралось на соответствующую теорию – вычислительную математику. На основе этой теории было разработано много методов решения задач. Эти методы стали основой для соответствующих программ. Ничего подобного для невычислительных задач не было. Любая программа была здесь уникальной, как произведение искусства. Опыт создания таких программ никак не обобщался, умение их создавать не формализовалось.

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

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

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

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

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

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

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

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

Существуют несколько основных проблем, изучаемых в искусственном интеллекте.

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

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

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

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

5. Обучение интеллектуальных систем в процессе их деятельности, создание комплекса средств для накопления и обобщения умений и навыков, накапливаемых в таких системах.

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

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

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

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

ИНТЕГРАЛЬНЫЕ ОБУЧАЮЩИЕ СИСТЕМЫ (Сл 6)

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

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

-интерфейс между двумя учащимися и микромиром;

-интерфейс между двумя учащимися;

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

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

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

Система реализует модель преподавания, основанную на трех режимах:

— режим вопросов (обучаемый расспрашивает компьютер с целью получения ответов на задачи и их объяснений);

— режим исследования (решение задачи совместными усилиями обучаемого с компьютером, обучаемый поставляет требуемую информацию для решения задачи);

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

Система диагностики представляет стратегию решения задач студентом в виде одного из следующих стилей:

— дефектный стиль (студент, зная материал, допускает одну или более концептуальных ошибок);

— стиль «вокруг да около» (студент пытается найти решение многими неверными путями, задает много не относящихся к делу вопросов);

— рефлексивный стиль (когда студент знает материал, но решает задачу постепенно, иногда проходя через множество промежуточных этапов);

— импульсивный стиль (когда студент спешит прийти к заключению без достаточных оснований);

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

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

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

Обучающая система должна:

— определять мотивационное состояние обучаемого

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

Примеры мотивационной тактики:

— если менее уверенный ученик правильно решает задачу, система может предложить ему подобную задачу для закрепления;

— внимание рассеянных или неактивных обучаемых может быть привлечено неожиданными эффектами или вводными комментариями;

— интерес может быть повышен головоломками, вопросами или знакомством с новыми темами.

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

Новейший российский истребитель оснастят системами искусственного интеллекта (Сл 10).

Гораздо более радикальные изменения будут внесены в бортовые электронные системы самолета. В результате введения многоканальной цифровой электродистанционной системы управления самолетом, включающей системы искусственного интеллекта, Су-37, по сравнению с Су-35, получит дополнительные беспрецедентные возможности:

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

Компания Panasonic объявляет о начале поставок нового проектора pt AE500E с искусственным интеллектом (Сл 11)

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

1. Системы символьных вычислений

2. Системы с нечеткой логикой

3. Понимание естественного языка – анализ и генерация текстов, их внутреннего представления.

Предложения на естественном языке:

— зависимость от контекста

4. Экспертные системы – системы, использующие знания специалистов в конкретных видах деятельности.

5. Интеллектуальные системы (машинный перевод).

6. Интеллектуальные роботы.

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

8. Решение задач – постановка, анализ и представление конкретных жизненных ситуаций, для решения которых требуется изобретательность, способность обобщать.

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

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

Программные системы, основанные на естественно-научных теориях о природных процессах и математических методах, не относятся к ИИ.

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

Задачи ИИ – это такие задачи, в которых формализуется не процесс решения, а процесс поиска решения.

3. Связь ИИ с другими науками. Использование в сфере экономики

• Биология – устройство и деятельность мозга

• Информатика – программные модели и средства, эксперимент на ЭВМ

• Лингвистика – восприятие языка, выражение мысли посредством языка

• Математика – математический аппарат и методы решения задач, логика

• Психология – модели мышления (ассоциативная, модельная гипотеза)

• Робототехника – возможности построения систем управления поведением

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

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

Знания, хранящиеся в базе знаний, записываются в специальной формализованной форме (см. Представление знаний). В базе знаний могут реализоваться процедуры обобщения корректировки хранимых знаний, а также процедуры, создающие новые знания на основании тех, которые уже там имеются (см. Моделирование рассуждений). Знания, хранимые в базе, отличаются от данных, хранящихся в базе данных, несколькими особенностями. Во-первых, структуры данных (см. Семантические сети, Продукция Фрейм). Во-вторых, знания обладают свойством внутренней активности.

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

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

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

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

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

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

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

Уровень машинного интеллекта отражается и на том, как внутри ЭВМ организован процесс поиска решения задачи.

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

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

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

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

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

Пусть имеется некая формальная система F = . Множество Т может быть конечным или счетным. Его элементы имеют произвольную природу. Это могут быть числа, символы, слова, предметы реального мира и т.д. Все они называются базовыми элементами формальной системы и попарно различимы между собой. Множество Т обладает разрешимостью, т.е. о любом элементе из некоторого универсума всех возможных элементов всегда можно однозначно сказать, является он базовым или нет.


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

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

Множество АРМ есть произвольное подмножество синтаксически правильных элементов. Элементы множества АРМ называются аксиомами. Они характеризуют изначально заданные синтаксически правильные элементы формальной системы. Применительно к шахматам из всех позиций шахматной игры имеется лишь одна изначально заданная – это начальная позиция, она и является аксиомой.

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

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

Заданная таким образом формальная система обладает свойством автоматически порождать из системы аксиом все выводимые из них элементы формальной системы.

С понятием формальной системы связано важное понятие интерпретации. Для интерпретации задается специальное множество Н, элементы которого называются оценками. Это могут быть например, значения истинности (истинно, правдоподобно, сомнительно, полезно, бесполезно, вредно), оценки доверия ( абсолютное доверие, вера на 50%, невозможно поверить) и многие другие.

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

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

Кроме того исчисления высказываний в классической логики изучается исчисление предикатов. В этом исчислении утверждения содержат свободные переменные. Поэтому их истинность или ложность зависит от того, как означены эти переменные. Примером утверждения, содержашего две независимые переменные, может служить фраза; «Х старше У». Эта фраза не является высказыванием. Ей нельзя априорно приписать какое-либо значение истинности. Она становится высказыванием только тогда, когда вместо Х и У будут подставлены конкретные значения. Например, фраза «Ломоносов старше Петра Великого» уже является высказыванием, правда ложным.

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

1. «Молнией – один только голый вывод без посылок (предпосылок я не знаю и сейчас): «Нельзя ни за что – чтобы он меня увидел» (Е.Замятин. «Мы»).

2. «Нет, не из-за фамилии погиб Лазик. Всему виной вздох. АРМ может быть, и не вздох, но режим экономии, или жаркая погода, или даже какие-нибудь высокие проблемы. Кто знает, отчего гибнут гомельские портные?» (И.Эренбург. Бурная жизнь Лазика Ройтшванеца»).

3. «Не сомневайся, мудрый правитель, ты достигнешь согласия с собой и будешь во всем прав» (Ч.Айтматов. «Плаха»).

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

Что лежит в основе таких псевдовыводов?

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

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

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

Все лебеди белые.

Эта птица – лебедь.

Следовательно: эта птица – белая.

И пока не были известны австралийские черные лебеди, никто не сомневался в верности этого рассуждения. Но лишь появилось новое утверждение: «В Австралии водятся черные лебеди», как монотонность нарушилась и факт: «Все лебеди белые» — перестал быть истинным.

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

Классы немонотонных и правдоподобные рассуждений пересекаются. Большинство правдоподобных рассуждений принадлежат к немонотонным, но не все.

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

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

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

Я часто хожу гулять вечером, если нет дождя.

К сожалению, в последнее время дожди идут очень часто.

В последнее время я редко выхожу вечером гулять

Два высказывания, написанные над чертой, отражают посылки, на которых основывается вывод, написанный под чертой. Три словосочетания важны в этом переводе: «часто», «очень часто» и «редко». Если отвлечься от содержательной части нашего примера, то вывод можно представить схемой: «Если Х часто, когда нет У, и У очень часто, то Х редко». Эта схема – пример нечеткого вывода.

Вместо двух сов: «истина» и «ложь», используемых в традиционном выводе и отражающих значения переменной «истина», в нечетком выводе используются переменные, принимающие ряд значений. В нашем примере мы имели дело с переменной «частота». Приведем еще один пример, в котором используется переменная «расстояние».

Дом стоит недалеко от озера.

Озеро примыкает своей дальней стороной к лесу.

Дом находится не очень далеко от леса.

Используемая здесь схема имеет вид: «Если Х недалеко от У и У примыкает к Z, то Х не очень далеко от Z».

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

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

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

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

Приведем пример. На рис. 1 показано исходное положение робота и цель, которую он должен достичь. Но датчики робота сигнализируют, что его аккумуляторы нуждаются в подзарядке, без чего достичь цели невозможно. В базе знаний робота хранится план помещений, из которого он узнает координаты, определяющие местоположение зарядного устройства. Зная свои исходные координаты, робот по довольно простым алгоритмам (предлагаем читателю самому их построить, для этого вполне достаточно знаний из школьного курса геометрии) прокладывает свой путь из комнаты АРМ через комнату Б в комнату В, где находится зарядное устройство (этот план-маршрут показан на рисунке пунктирной линией). Но план этот нереализуем, так как дверь из комнаты Б в комнату В загородили шкафом. Вероятно, это случилось недавно. По данным, которыми пользовался робот при составлении траектории своего движения, эта дверь была свободной. Находясь же в комнате АРМ, робот даже с прекрасным зрением за стенами помещения не может увидеть возникшее препятствие.

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

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

Из описанного примера следуют два важных вывода.

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

Илон Маск рекомендует:  Что такое код create trigger

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

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

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

Более сложная задача планирования – организация человекоподобного поведения. Эта задача возникает при совместной деятельности людей и искусственных систем. Частный аспект этой проблемы, связанный с организацией человекоподобного диалога, описан в статье «Диалоговая система».

Одна из психологических проблем общения человека с искусственными системами (с теми же роботами) – это их излишняя рациональность, логичность, непредсказуемость поведения на основе опыта общения, накопленного в человеческом обществе. Общение с интеллектуальными системами вызывает в людях настороженность и боязнь, и поэтому надо, чтобы искусственные системы вали себя «по-человечески».

В области планирования поведения все большее внимание уделяют проблемам формализации таких понятий, связанных с человеческим поведением, как мотив, поступок, принятая норма и т.п. Создается новая область исследований – теория поведения, которая, возможно, скоро станет одной из центральных в искусственном интеллекте. Чтобы хоть немного рассказать, об этом направлении, приведем пример. В любом естественном языке существует определенное множество слов для обозначения поступков людей. Примерами их могут служить такие слова, как смелый, коварный, добрый и многие другие. Возникают вопросы: что понимают под этими словами люди, когда употребляют их для оценки поведения какого-нибудь человека? Одинаково ли они понимают их? И как должна вести себя интеллектуальная система (например, робот), чтобы заслужить такую ее оценку своего поступка? На рис 3 показано, как можно формализовать понятие «смелый поступок». На этом рисунке сплошные дуги соответствуют положительным действиям, а пунктирные – отрицательным воздействиям. Исследователи установили, что, сохраняя все вершины этого графо, соответствующего смелому поступку, и меняя дуги и веса на них, можно описать все множество поступков, имеющих словесные оценки.

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

ПОИСК ПО ОБРАЗЦУ

Одна из основных операций в базах данных и знаний – это поиск информации по запросу. Запрос к базе знаний оформляется в виде некоторого стандартного образца.

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

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

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

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

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

2. Математические модели и аппаратно-программная реа­лизация систем ИИ. Модель нейрона, алгоритм ее работы. Искусственные нейронные сети. Примеры применения нейронных сетей для решения экономических задач

«Научное направление, основная задача которого – изучение организации и функционирования нервной системы живых организмов, которая управляет всеми процессами, протекающими в них, чтобы использовать эти знания для построения технических интеллектуальных систем» — нейрокибернетика (Информатика: Энциклопедический словарь для начинающих / Сост. Д.А. Поспелов. – М.: Педагогика-Пресс, 1994 – 352 с. – С. 193). Выделяют три направления:

1) Изучение реальных нейронных структур с целью полного описания их функций, чтобы затем формализовать эти описания. В 50-х гг. 20 в. исследования в этом направлении привели к появлению понятия формальный нейрон, моделируюший основные свойства реальных нейронов.

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

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

Нервная система и мозг, как ее часть, состоят в основном из особых нервных клеток – нейронов, значительно отличающихся от других клеток живых организмов. В конце 50-х гг. 20 в. американские ученые У. Маккалок и У. Питс предложили формальную модель нейрона, отображающую основные свойства реальных нейронов и названную формальным нейроном. Формальный нейрон – элемент с n входами, имитирующими синаптические контакты на теле реального нейрона, и одним выходом, сигнал на котором задается функцией. Каждый вход характеризуется целым числом – весом входа (могут быть положительные – возбуждающий вход и отрицательные – тормозящий вход).

Алгоритм работы нейрона

Работа нейрона (наличие или отсутствие сигнала на выходе) задается функцией (называется пороговая функция):

То есть, это пороговый элемент.

Искусственные нейронные сети

Соединяя выходы одних нейронов с входами других, формируют нейронные сети.

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

Нейронная сеть – «образованная совокупностью взаимосвязанных нейронов или их моделей – формальных нейронов» (Там же, с. 124). Рассматривают два типа сетей:

1) нейроны объединяются посредством соединения выходов нейронов с входами других нейронов при условии, что на каждый вход нейрона поступает не более 1 сигнала.

Х1
Х2

Формальный нейрон – пороговый элемент. Если сумма значений входных сигналов, взвешенных весами входов, больше или равна пороговому значению, то на выходе возникает выходной сигнал. Будем считать все входные сигналы 0 или 1. Тогда сеть1 выдает сигнал, когда:

обязательно присутствует х3 или х4 (или оба вместе).

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

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

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

3. Использование ИИ в экономике. Интеллектуальный ана­лиз данных. Управление знаниями

В последнее десятилетие наблюдается устойчивый рост популярности технического анализа — набора эмпирических правил, основанных на различного рода индикаторах поведения рынка. Технический анализ сосредотачивается на индивидуальном поведении данного финансового инструмента, вне его связи с остальными ценными бумагами (Pring, 1991).

Такой подход психологически обоснован сосредоточенностью брокеров именно на том инструменте, с которым они в данный момент работают. Согласно Александру Элдеру (A.Elder), известному специалисту по техническому анализу (по своей предыдущей специальности — психотерапевту), поведение рыночного сообщества имеет много аналогий с поведением толпы, характеризующимся особыми законами массовой психологии. Влияние толпы упрощает мышление, нивелирует индивидуальные особенности и рождает формы коллективного, стадного поведения, более примитивного, чем индивидуальное. В частности, стадные инстинкты повышают роль лидера, вожака. Ценовая кривая, по Элдеру, как раз и является таким лидером, фокусируя на себе коллективное сознание рынка. Такая психологическая трактовка поведения рыночной цены обосновывает применение теории динамического хаоса. Частичная предсказуемость рынка обусловлена относительно примитивным коллективным поведением игроков, которые образуют единую хаотическую динамическую систему с относительно небольшим числом внутренних степеней свободы.

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

Следуя этой логике, почему бы не использовать компьютер и на этапе разработки стратегии, причем не в качестве ассистента, рассчитывающего известные рыночные индикаторы и тестирующего заданные стратегии, а для извлечения оптимальных индикаторов и нахождения оптимальных стратегий по найденным индикаторам. Такой подход — с привлечением технологии нейронных сетей — завоевывает с начала 90-х годов все больше приверженцев (Beltratti, 1995, Бэстенс, 1997), т.к. обладает рядом неоспоримых достоинств.

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

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

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

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

Не нашли то, что искали? Воспользуйтесь поиском:

Лекции — Искусственный интеллект — файл 1.doc

Доступные файлы (1):

1.doc 7513kb. 19.11.2011 13:57 скачать

содержание

    Смотрите также:
  • по системам искуственного интеллекта[ лекция ]
  • по системам искуственного интеллекта[ лекция ]
  • по искуственному интеллекту[ лекция ]
  • по системам искуственного интеллекта (V1.1)[ лекция ]
  • Поспелов Д.А. Моделирование рассуждений. Опыт анализа мыслительных актов[ документ ]
  • Представление знаний в информационных системах[ лекция ]
  • Искусственный интеллект[ документ ]
  • Кибернетика и кибертехнологии[ реферат ]

  • Системы искусственного интеллекта[ лекция ]
  • Амосов Н.М. Алгоритмы разума[ документ ]
  • Фогель Л., Оуэнс А., Уолш М. Искусственный интеллект и эволюционное моделирование[ документ ]
  • Ответы к экзамену (МАИ 2008)[ документ ]
Контрольные вопросы

1. Докажите предложенную тавтологию семантическим (синтакси­ческим) методом.

2. Расскажите о теоремах логики и их использовании в ИИС. При­ведите примеры.

3. Опишите возможности применения в логическом выводе опера­ции эквивалентности. Приведите примеры тавтологий с эквивалентностями.

4. Опишите стратегию доказательства с введением допущения. Приведите пример.

5. Рассмотрите пример доказательства путем приведения к проти­воречию.

6. Расскажите о стратегии доказательства методом резолюции. Приведите пример.

7. Опишите функционирование механизма вывода продукционной ЭС и охарактеризуйте его составляющие: компоненту вывода и управляющую компоненту.

8. Сформулируйте собственные примеры прямого и обратного вы­вода в ЭС продукционного типа.

9. Приведите пример представления знаний в виде И-ИЛИ-графа.

10. Опишите и представьте в графическом виде стратегии поиска ре­шений: в глубину, ширину, разбиением на подзадачи, на основе --алгоритма.

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

12. Разработайте программную реализацию интеллектуальной сис­темы с продукционным представлением знаний и механизмом вывода на базе правила Modus Ponendo Ponens.
^ 7. ЭТАПЫ ПРОЕКТИРОВАНИЯ БАЗ ЗНАНИЙ
Многие созданные к настоящему времени экспертные системы ориентированы на решение конкретных задач, имеют специфическую структуру, сконструированы с использованием самых разнообразных инструментальных средств. Однако к настоящему времени уже выделены основные принципы их построения, создаются технологии их построения.

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

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

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

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

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

Можно указать следующие основные технологические этапы разработки экспертной системы:

  1. Этап взаимодействия инженеров по знания и экспертов. На этом этапе формируется модель ПО. Модель может включать в себя неформализованные компоненты, однако в ней должны быть специфицированы:

все основные понятия ПО;

атрибуты, их описывающие;

отношения, существующие между ними;

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

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

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

на входном языке системы описываются понятия ПО (их атрибуты, отношения, существующие между ними), а также (если необходимо) операционная семантика отношений в виде процедур;

реализация соответствующих действий;

на входном языке системы формируется множество продукций;

создается требуемая конфигурация инструментальных средств для реализации проектируемой экспертной системы;

создается макет экспертной системы и выполняется его тестирование.

  1. Этап взаимодействия инженеров по знаниям, экспертов и конструкторов. На этом этапе создается промышленный образец экспертной системы.
  2. Этап сопровождения и модификации экспертной системы. Необходимость сопровождения и модификации экспертной системы при ее функционировании вызвано тем, что с течением времени правила базы знаний эволюционируют по мере накопления опыта их применения, может изменяться со временем их достоверность, может изменяться со временем операционная семантика отношений и т.п.

От стадии макетирования до получения промышленного образца экспертная система проходит через следующие стадии:

  1. Демонстрационный прототип (база знаний содержит 50. 100 правил). Система решает часть задач, демонстрируя жизнеспособность подхода.
  2. Исследовательский прототип (200. 500 правил на базе знаний). Система решает все задачи, но неустойчива в работе.
  3. Действующий прототип (база знаний содержит 500. 1000 правил). Система надежно решает все задачи на реальных примерах, но для сложных задач требуется много времени и памяти.
  4. Промышленный образец (в базе знаний имеется 500. 1500 и даже до 3000 правил). Система обеспечивает высокое качество решений при минимизации требуемого времени памяти.

^ 8. МЕТОДЫ ПРОЕКТИРОВАНИЯ БАЗ ЗНАНИЙ
В настоящее время основным «узким местом» при проектирова­нии баз знаний экспертных систем является приобретение необхо­димых знаний для экспертной системы. Знания о ПО можно взять из разных источников (научные отчеты, монографии, статьи, базы данных, опытные данные и т. п., а также личный опыт эксперта-профессионала). Работа по сбору и обработке знаний выполняется специалистом — инженером по знаниям. Обычно большую часть профессиональных знаний инженер по знаниям получает в резуль­тате взаимодействия с экспертом. К настоящему времени уже сформировался ряд методов проектирования баз знаний, ориенти­рованных на получение информации от экспертов. Рассмотрим их.

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

При наблюдательном подходе следят за работой эксперта, стараясь не сделать ничего, что могло бы повлиять на работу эксперта при решении задачи. За наблюдением следует этап уточнения. На этапе уточнения инженер по знаниям совмест­но с экспертом анализируют запись сеанса работы эксперта, выполненную наблюдателем. Такой подход еще называют «анали­зом протоколов».

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

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

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

Описание задачи. Эксперт подготавливает описание типичных задач по ПО. Это метод очень хорошо работает на задачах диаг­ностического типа.

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

Оценивание системы. Эксперт анализирует и критически оце­нивает правила, введенные в базу знаний экспертной системы. Анализирует стратегии выбора правил системой при решении за­дач, рассматривает обоснованность их применения, постоянно сравнивая их со своими методами решения задач.

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

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

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

1. Цели и задачи разрабатываемой экспертной системы.

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

Специфицировать объекты (события) ПО, отношения и атри­буты.

Специфицировать причинно-следственные, родовидовые от­ношения, отношения типа «часть — целое».

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

Отметим, что процесс концептуализации знаний — итерацион­ный процесс.

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

Однако полученная на этом этапе база знаний не гарантирует работоспособность системы (первый вариант является макетом будущей системы), поскольку обязательно будут иметь место различные несоответствия: между какими-либо правилами и стра­тегией управления процессом получения решения, между структурами данных. Эти противоречия и несоответствия должны быть устранены.

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

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

Если окажется, что многократные внесения изменений и усо­вершенствований не приводят к улучшению работы экспертной системы, то это служит сигналом о необходимости пересмотра структуры и состава знаний в базе, стратегий управления процес­сом решения задач.
ЗАКЛЮЧЕНИЕ
Представленное учебное пособие не претендует на полноту рассмотрения всех направлений развивающейся в настоящее время математической логики и теории алгоритмов. Авторы лишь хотели ознакомить читателя, в рамках выделенного на изучение курса времени, с основными понятиями и подходами дисциплины. Предложенный материал может служить фундаментом для дальнейшего изучения как теоретических и прикладных вопросов математической логики и теории алгоритмов в целом, так и отдельных ее направлений при изучении специальных дисциплин.

^ БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Искусственный интеллект: справочник. В 3 кн. Кн. 1. Систе­мы общения и экспертные системы / под ред. Э.В. Попова. — М.: Радио и связь, 1990.

2. Искусственный интеллект: справочник. В 3 кн. Кн. 2. Модели и методы / под ред. Д.А. Поспелова. — М.: Радио и связь, 1990.

3. Искусственный интеллект: справочник. В 3 кн. Кн. 3. Про­граммные и аппаратные средства / под ред. В.А. Захарова, В.Ф. Хорошевского. — М.: Радио и связь, 1990.

4. Гаврилова Т.А. Базы знаний интеллектуальных систем / Т.А. Гаврилова, В.Ф. Хорошевский. СПб.: Питер, 2000.

5. Андрейчиков А.В. Интеллектуальные информационные системы: учебник / А.В. Андрейчиков, О.Н. Андрейчикова. М.: Финансы и статистика, 2006. 424 с.

  1. Люггер Д. Искусственный интеллект / Д. Люггер. М.: Мир, 2003. 690 с.

7. Гаскаров Д.В. Интеллектуальные информационные системы: учеб. для вузов / Д.В. Гаскаров. М.: Высш. шк., 413с.

8. Костров Б.В. Основы искусственного интеллекта / Б.В. Костров, В.Н. Ручкин, В.А. Фулин. М.: ДЕСС, ТехБук, 2007. 192 с.
ОГЛАВЛЕНИЕ

Конспект лекций по предмету Основы проектирования систем с искусственным интеллектом

Published on
08-Dec-2020

(intelligence) intellectus , , ; . (artificial intelligence) (AI) , , .

» «? , , , , , , , . , , IBM, , 256 , 4 128 . 100’000’000 . , , , . , .

— NEAC-3100 ( 32000 , 273000 ), , . .

, — . 64*64 . , . , 4096 . , «», , , . , . 400000 .

DENDRAL . , . 1965 . DENDRAL , (, -), .

. , . wi i- (, ) , Ni , wi, m i , wi ( [m i i- ), a q ( wl, wm ) wl wm

. 1. wl wm: 1 , 2 , 3

. , wl w(m, n) wm wn qmn = q(wm, wn) qln = q(wl, wn) . wl w(m, n):

ql(m, n) = q (wl, w(m, n)) = a qlm + b qln + g qmn + d | qlm — qln | a, b , g d , . , a = b = -d = g = 0, , . a = b = d = g = 0, , . , ,

(. 1) () (S-), . S- (-), , S-, -. — (R-) , (v) . R- , . , R-, . , R-, A-:

Rj j- R-; xi i- A-; vij i- A- j- R ; Qj j- R-.

yk , : 0 1. S- — , — S-. , V1 V2. , R-, V1, V2. , R1 R2, V1, . R-. V1 R-, V2 .

Конспект лекций по предмету Основы проектирования систем с искусственным интеллектом

Published on
08-Dec-2020

(intelligence) intellectus , , ; . (artificial intelligence) (AI) , , .

» «? , , , , , , , . , , IBM, , 256 , 4 128 . 100’000’000 . , , , . , .

— NEAC-3100 ( 32000 , 273000 ), , . .

, — . 64*64 . , . , 4096 . , «», , , . , . 400000 .

DENDRAL . , . 1965 . DENDRAL , (, -), .

. , . wi i- (, ) , Ni , wi, m i , wi ( [m i i- ), a q ( wl, wm ) wl wm

. 1. wl wm: 1 , 2 , 3

. , wl w(m, n) wm wn qmn = q(wm, wn) qln = q(wl, wn) . wl w(m, n):

ql(m, n) = q (wl, w(m, n)) = a qlm + b qln + g qmn + d | qlm — qln | a, b , g d , . , a = b = -d = g = 0, , . a = b = d = g = 0, , . , ,

(. 1) () (S-), . S- (-), , S-, -. — (R-) , (v) . R- , . , R-, . , R-, A-:

Rj j- R-; xi i- A-; vij i- A- j- R ; Qj j- R-.

yk , : 0 1. S- — , — S-. , V1 V2. , R-, V1, V2. , R1 R2, V1, . R-. V1 R-, V2 .

Сотник С.Л. Основы проектирования систем искусственного интеллекта — файл gl1-4.doc

Доступные файлы (3):

gl1-4.doc 892kb. 03.09.1998 05:25 скачать
n2.doc 225kb. 24.02.1999 20:38 скачать
n3.doc 317kb. 07.07.1999 16:26 скачать

gl1-4.doc

Конспект лекций по курсу «основы проектирования систем искусственного интеллекта»

© Сотник С. Л., 1997-1998.

Лекция 1-2: Базовые понятия ИИ

Терминология. Философские аспекты проблемы систем ИИ (возможность существования, безопасность, полезность). История развития систем ИИ.

Лекционные занятия — 4 ч.

Цель преподавания дисциплины

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

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

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

Терминология

Термин интеллект (intelligence) происходит от латинского intellectus — что означает ум, рассудок, разум; мыслительные способности человека. Соответственно искусственный интеллект (artificial intelligence) — ИИ (AI) обычно толкуется как свойство автоматических систем брать на себя отдельные функции интеллекта человека, например, выбирать и принимать оптимальные решения на основе ранее полученного опыта и рационального анализа внешних воздействий.

Мы, в нашем курсе, интеллектом будем называть способность мозга решать (интеллектуальные) задачи путем приобретения, запоминания и целенаправленного преобразования знаний в процессе обучения на опыте и адаптации к разнообразным обстоятельствам.

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

Мы употребили термин интеллектуальная задача. Для того, чтобы пояснить, чем отличается интеллектуальная задача от просто задачи, необходимо ввести термин «алгоритм» — один из краеугольных терминов кибернетики.

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

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

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

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

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

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

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

Кстати интересен план имитации мышления, предложенный А. Тьюрингом. «Пытаясь имитировать интеллект взрослого человека, — пишет Тьюринг, — мы вынуждены много размышлять о том процессе, в результате которого человеческий мозг достиг своего настоящего состояния… Почему бы нам вместо того, чтобы пытаться создать программу, имитирующую интеллект взрослого человека, не попытаться создать программу, которая имитировала бы интеллект ребенка? Ведь если интеллект ребенка получает соответствующее воспитание, он становится интеллектом взрослого человека… Наш расчет состоит в том, что устройство, ему подобное, может быть легко запрограммировано… Таким образом, мы расчленим нашу проблему на две части: на задачу построения «программы-ребенка» и задачу «воспитания» этой программы».

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

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL