Научное направление, связанное с
машинным моделированием человеческих интеллектуальных функций – искусственный
интеллект (ИИ) – возникло в середине 60-х годов XX столетия.
60-е – начало 70-х годов XX века
- исследования по «общему интеллекту», попытки смоделировать общие
интеллектуальные процессы, свойственные человеку: свободный диалог, решение
разнообразных задач, доказательство теорем, различные игры, сочинение стихов и
музыки и т.д.;
70-е годы – исследования и
разработка подходов к формальному представлению знаний и умозаключений, попытки
свести интеллектуальную деятельность к формальным преобразованиям символов,
строк и т.д.;
с конца 70-х годов – разработка
специализированных на определенных предметных областях интеллектуальных систем,
имеющих прикладное практическое значение (экспертных систем);
90-е годы – фронтальные работы по
созданию ЭВМ 5-го поколения, построенных на иных принципах, чем обычные
универсальные ЭВМ, и программного обеспечения для них.
Любая задача, для которой не
известен алгоритм решения, может быть отнесена к сфере искусственного
интеллекта.
Примеры:
-игра в
шахматы;
-медицинская
диагностика;
-составление
резюме текста или перевода его на иностранный язык.
Две характерные особенности задач
искусственного интеллекта:
-
преобладающее использование информации в символьной (а не в числовой) форме;
-наличие
выбора между многими вариантами в условиях неопределенности.
Направления, где применяются
методы ИИ:
1.Восприятие и распознавание образов (задача,
упоминавшаяся ранее, как одно из направлений кибернетики). Теперь под этим
понимаются не просто технические системы, воспринимающие визуальную и звуковую
информацию, кодирующие и размещающие ее в памяти, а также проблемы понимания и
логического рассуждения в процессе обработки визуальной и речевой информации.
2.Математика и автоматическое доказательство теорем.
3.Решение задач. В данном случае понятие «решение»
используется в широком смысле, относится к постановке, анализу и представлению
конкретных ситуаций, а рассматриваемые задачи - те, которые встречаются в
повседневной жизни, для решения которых требуется изобретательность и
способность к обобщению.
4.Игры. Как и формальные системы в математике, игры,
характеризующиеся конечным числом ситуаций и четко определенными правилами, с
самого начала исследований по искусственному интеллекту привлекли к себе
внимание как предпочтительные объекты исследования, полигон для применения новых
методов.
Интеллектуальными системами был
быстро достигнут и превзойден уровень человека средних способностей, однако
уровень лучших специалистов не достигнут до сих пор. Возникшие трудности
оказались характерными и для многих других ситуаций, так как в своих «локальных»
действиях человек использует весь объем знаний, который он накопил за всю свою
жизнь.
Первый матч Гарри Каспарова
против шахматного компьютера Deep Blue состоялся в 1996 году. Каспаров
выиграл со счётом 4:2, но при этом проиграл первую партию. Это был первый случай
в истории, когда компьютер выиграл партию у чемпиона мира.
Второй матч, в 1997 году, против
усовершенствованной версии компьютера «Дип Блю» Каспаров проиграл со счётом
2,5:3,5. Впервые в истории компьютер выиграл матч у чемпиона мира.
«Дип Блю» (Deep Blue) —
суперкомпьютер IBM,
состоящий из 256 процессоров.
5.Понимание естественного языка. Здесь ставится
задача анализа и генерации текстов, их внутреннего представления, выявление
знаний, необходимых для понимания текстов. Трудности связаны, в частности, с
тем, что значительная часть информации в обычном диалоге не выражается
определенно и ясно.
Предложениям естественного языка
присуща:
-неполнота;
-неточность;
-нечеткость;
-
грамматическая некорректность;
-
избыточность;
-зависимость
от контекста;
-
неоднозначность.
Однако такие свойства языка,
являющегося результатом многовекового исторического развития, служат условием
функционирования языка, как универсального средства общения.
Вместе с тем, понимание
предложений естественного языка техническими системами с трудом поддается
моделированию из-за- этих особенностей языка.
В технических системах должен
использоваться формальный язык, смысл предложений которого однозначно
определяется их формой. Перевод с естественного языка на формальный является
нетривиальной задачей.
6.Выявление и представление знаний экспертов в
экспертных системах. Экспертные системы – интеллектуальные системы,
вобравшие в себя знания специалистов в конкретных видах деятельности - имеют
большое практическое значение, с успехом применяются во многих областях, таких
как автоматизированное проектирование, медицинская диагностика, химический
анализ и синтез и т.д.
Экспертные системы
рассматриваются как модели поведения экспертов в определенной области знаний с
использованием процедур логического вывода и принятия решений.
6. Типичные применения экспертных
систем включают в себя такие задачи, как медицинская диагностика, локализация
неисправностей в оборудовании и интерпретация результатов измерений.
Экспертные системы должны решать
задачи, требующие для своего решения экспертных знаний в некоторой конкретной
области. В той или иной форме экспертные системы должны обладать этими знаниями.
Поэтому их также называют
системами, основанными на знаниях.
Однако, не всякую систему,
основанную на знаниях, можно рассматривать как экспертную. Экспертная система
должна также уметь каким-то образом объяснять свои решения и своё поведение
пользователям, также как это делает эксперт-человек.
Представление знаний в
системах искусственного интеллекта
Основной особенностью
интеллектуальных систем
является то, что они основаны на знаниях, а вернее, на некотором их
представлении.
Знания
здесь понимаются как хранимая информация, формализованная в соответствии с
некоторыми правилами, которую ЭВМ может использовать при логическом выводе по
определенным алгоритмам.
Наиболее фундаментальной и важной
проблемой является описание смыслового содержания проблем самого широкого
диапазона, т.е. должна использоваться такая форма описания знаний, которая
гарантировала бы правильную обработку их содержимого по некоторым формальным
правилам. Эта проблема называется проблемой представления знаний.
В настоящее время наиболее
известны три подхода к представлению знаний в обсуждаемых системах:
-
продукционная и логическая модели;
-
семантические сети;
-фреймы.
Продукционные правила
– наиболее простой способ, представления знаний. Он основан на представлении
знаний в форме правил, структурированных в соответствии с образцом «ЕСЛИ - ТО».
Часть правила «ЕСЛИ» называется посылкой, а «ТО» - выводом или действием.
Правило в общем виде записывается так:
ЕСЛИ A1, A2,
...,An,
ТО В.
Такая запись означает, что «если
все условия от A1
до Аn являются истинными, то В также истинно» или
«когда все условия от А1 до Аn выполняются,
то следует выполнить действие В».
Рассмотрим правило
ЕСЛИ (1)
у является отцом х
(2)
z
является братом у
ТО z
является дядей х
Знания, представленные в
интеллектуальной системе, образуют базу знаний.
В интеллектуальную систему входит
также механизм выводов, который позволяет на основе знаний, имеющихся в
базе знаний, получать новые знания.
Положим, что в базе знаний вместе
с описанным выше правилом содержатся и такие знания:
ЕСЛИ (1)
z
является отцом х
(2) z является
отцом у
(3) х и у
не являются одним и тем же человеком
ТО х и у
являются братьями
Иван является отцом Сергея
Иван является отцом Павла
Сергей является отцом Николая
Следовательно è
Павел является дядей Николая
Пролог - язык
рекурсивно-логического программирования.
Типы предложений в Прологе:
-Факты –
содержат утверждения, являющиеся всегда безусловно верными.
-Правила –
содержат утверждения, истинность которых зависит от начальных условий.
-Вопросы –
пользователь может спрашивать систему о том, какие утверждения являются
истинными.
Рисунок 146 – Генеалогическое
древо
родитель (катя, вася).
родитель (петя, вася).
родитель (петя, таня).
родитель (вася, наташа).
родитель (вася, аня).
родитель (аня, иван).
женщина (катя).
женщина (наташа).
женщина (аня).
женщина (таня).
мужчина (вася).
мужчина (петя).
мужчина (иван).
Вопрос – это средство извлечения
информации из логической программы.
родитель(вася, аня).
True
1 Solution
родитель(таня, аня).
No solutions
родитель(X, аня).
X= вася
1 Solution
Правила позволяются определять
новые отношения в терминах уже существующих отношений.
отпрыск (Y, X) :- родитель (X,Y).
мать (X, Y):-
родитель (X,Y),
женщина (X).
родительродителя(X, Z):-
родитель(X,Y),
родитель(Y,Z).
предок (X,Z):- родитель (X,Z).
Рекурсия –
способ общего определения объекта или действия через себя, с использованием
ранее заданных частных определений.
предок(X,
Z):-
родитель(X, Z).
предок(X, Z):-
родитель(X, Y),
предок(Y, Z).
Лисп – язык функционального
программирования.
Пример 1.
Характеристика героя комиксов Zippy the Pinhead:
Семантическая сеть
– иной подход к представлению знаний, который основан на изображении понятий
(сущностей) с помощью точек (узлов) и отношений между ними с помощью дуг на
плоскости.
Семантические сети способны
отображать структуру знаний во всей сложности их взаимосвязей, увязать в единое
целое объекты и их свойства.
В качестве примера может быть
приведена часть семантической сети, относящейся к понятию «фрукты».
Рисунок 147 – Пример
семантической сети
Теза́урус
(от греч. сокровище) - особая разновидность словарей общей или специальной
лексики, в которых указаны семантические отношения (синонимы, антонимы,
паронимы, гипонимы, гиперонимы и т. п.) между лексическими единицами. Таким
образом, тезаурусы, особенно в электронном формате, являются одним из
действенных инструментов для описания отдельных предметных областей.
В отличие от толкового словаря,
тезаурус позволяет выявить смысл не только с помощью определения, но и
посредством соотнесения слова с другими понятиями и их группами, благодаря чему
может использоваться в системах искусственного интеллекта.
Фреймовая система
имеет все свойства, присущие языку представления знаний, и одновременно являет
собой новый способ обработки информации.
Слово «фрейм» в переводе с
английского языка означает «рамка». Фрейм является единицей
представления знаний об объекте, которую можно описать некоторой совокупностью
понятий и сущностей.
Фрейм имеет определенную
внутреннюю структуру, состоящую из множества элементов, называемых слотами.
Каждый слот, в свою очередь,
представляется определенной структурой данных, процедурой, или может быть связан
с другим фреймом.
Фрейм: человек
Класс
:
Животное
Структурный элемент
:
Голова,
шея, руки, ноги.
Рост
:
30-220
см
Масса
:
1 - 200
кг
Хвост
:
Нет
Фрейм
аналогии
:
Обезьяна
В настоящее время наиболее
известны три подхода к представлению знаний в обсуждаемых системах:
-
продукционная и логическая модели;
-
семантические сети;
-фреймы.
Эти подходы не являются
единственными существуют и другие.
Особенности машинного
представления данных:
1.
Внутренняя интерпретируемость.
Обеспечивается наличием у каждой информационной единицы своего уникального
имени, по которому система находит ее для ответа на запросы, в которых это имя
упомянуто.
2.
Структурированность.
Информационные единицы должны обладать гибкой структурой, для них должен
выполняться «принцип матрешки», т.е. вложенности одних информационных единиц в
другие, должна существовать возможность установления соотношений типа «часть -
целое», «род - вид», «элемент - класс» между отдельными информационными
единицами.
3.
Связность.
Должна быть предусмотрена возможность установления связей различного типа между
информационными единицами, которые бы характеризовали отношения между
информационными единицами. Эти отношения могут быть как декларативными
(описательными), так и процедурными (функциональными).
4.
Семантическая метрика.
Позволяет устанавливать ситуационную близость информационных единиц, т.е.
величину ассоциативной связи между ними. Такая близость позволяет выделять в
знаниях некоторые типовые ситуации, строить аналогии.
5.
Активность.
Выполнение действий в интеллектуальной системе должно инициироваться не
какими-либо внешними причинами, а текущим состоянием представленных в системе
знаний. Появление новых фактов или описание событий, установление связей должны
стать источником активности системы.
Моделирование рассуждений
Рассуждение
- один из важнейших видов мыслительной деятельности человека, в результате
которого он формулирует на основе некоторых предложений, высказываний, суждений
новые предложения, высказывания, суждения.
Действительный механизм
рассуждений человека остается пока недостаточно исследованным.
Человеческим рассуждениям
присущи:
-
неформальность,
-нечеткость,
-
нелогичность,
-широкое
использование образов, эмоций и чувств, что делает чрезвычайно трудными их
исследование и моделирование.
К настоящему времени лучше всего
изучены логические рассуждения и разработано много механизмов дедуктивных
выводов, реализованных в различных интеллектуальных системах, основанных на
представлении знаний с помощью логики предикатов 1-го порядка
Логика предикатов 1-го порядка
Предикат
– это конструкция вида P(t1,t2,...,tn),
выражающая какую-то связь между некоторыми объектами или свойствами объектов.
Обозначение этой связи или свойства, Р, называют «предикатным
символом»; t1,t2,...,tn
обозначают объекты, связанные свойством (предикатом) Р и называют
термами.
Термы могут быть только трех
следующих типов:
1.константа (обозначает индивидуальный объект или
понятие);
2.переменная (обозначает в разное время различные
объекты);
3.составной терм – функция f(t1,t2,...,tn),
имеющая в качестве своих аргументов m
термов t1,t2,...,tn.
Пример
1. Предложение «Волга впадает в
Каспийское море» можно записать в виде предиката
впадает (Волга, Каспийское море).
«Впадает» - предикатный символ;
«Волга» и «Каспийское море» - термы-константы. Мы могли обозначить отношение
«впадает» и объекты «Волга» и «Каспийское море» символами.
Вместо термов-констант можно
рассматривать переменные:
впадает (Х, Каспийское море)
или
впадает (X,Y).
Это тоже предикаты.
2. Отношение х + 1 < у можно
записать в виде предиката А(х,у). Предикатный символ А здесь обозначает то, что
останется от x + 1 < у, если выбросить из этой записи
переменные х и у.
Нейронные сети
Искусственные нейронные сети
представляют собой устройства параллельных вычислений, состоящие из множества
взаимодействующих простых процессоров.
Такие процессоры обычно
исключительно просты. Каждый процессор подобной сети имеет дело только с
сигналами, которые он периодически получает, и сигналами, которые он
периодически посылает другим процессорам
Будучи соединенными в достаточно
большую сеть с управляемым взаимодействием, такие локально простые процессоры
вместе способны выполнять довольно сложные задачи.
Хотя нейронные сети могут быть
реализованы в виде быстрых аппаратных устройств (и такие реализации
действительно существуют), большинство исследований выполняется с использованием
программного моделирования на обычных компьютерах.
Задачи, решаемые с помощью
аппарата НС:
-
Классификация образов.
-
Кластеризация/категоризация.
-
Аппроксимация функций.
-
Предсказание/прогноз.
-Оптимизация.
-Память,
адресуемая по содержанию.
-Управление.
Нейронная сеть является
совокупностью элементов, соединенных некоторым образом так. чтобы между
ними обеспечивалось взаимодействие.
Рисунок 148 – Искусственный
нейрон
Эти элементы, называемые также
нейронами или узлами, представляют собой простые процессоры,
вычислительные возможности которых обычно ограничиваются некоторым правилом
комбинирования входных сигналов и правилом активизации, позволяющим вычислить
выходной сигнал по совокупности входных сигналов.
Выходной сигнал элемента может
посылаться другим элементам по взвешенным связям, с каждой из которых
связан весовой коэффициент или вес. В зависимости от значения
весового коэффициента передаваемый сигнал или усиливается, или подавляется.
Структура связей отражает детали
конструкции сети, а именно то, какие элементы соединены, в каком направлении
работают соединения и каков уровень значимости (т.е. вес) каждого из соединений.
Задача, которую понимает сеть (или ее программа), описывается в терминах
весовых значений связей, связывающих элементы.
Существует множество различных
типов НС, но все сети обладают рядом общих характеристик, которые можно
представить с помощью следующих абстракций.
-Множество
простых процессоров
-Структура
связей
-Правило
распространения сигналов в сети
-Правило
комбинирования входящих сигналов
-Правило
вычисления сигнала активности
-Правило
обучения, корректирующее связи
Рисунок 149 – Схема применения
нейронной сети для контроля технического состояния авиалайнера. Связи элементов
показаны стрелками. Входные элементы получают информацию непосредственно от
датчиков, установленных на борту самолета
Перцептро́н,
или персептрон (англ. perceptron от лат. perceptio — восприятие;
нем. perzeptron) —
математическая и компьютерная модель восприятия информации мозгом
(кибернетическая модель мозга), предложенная Фрэнком Розенблаттом в 1957
году и реализованная в виде электронной машины «Марк-1» в 1960 году.
Перцептрон – одна из первых
искусственных сетей, способных к перцепции (восприятию) и формированию реакции
на воспринятый стимул. Персептрон рассматривался его автором не как конкретное
техническое вычислительное устройство, а как модель работы мозга.
Рисунок 150 – Перцептрон
Рисунок 151 – Многослойная НС
Обучение:
1.
“с
учителем”
2.
“без
учителя”
3.смешанное
Интеллектуальный интерфейс ИС
Анализ развития средств
вычислительной техники позволяет утверждать, что она постоянно эволюционирует в
двух направлениях.
1.Улучшение параметров существующих компьютеров,
повышение их быстродействия, увеличение объемов их оперативной и дисковой
памяти, а также с совершенствованием и модификацией программных средств,
ориентированными на повышение эффективности выполнения ими своих функций. Это
можно назвать развитием по горизонтали.
2.изменение технологии обработки информации,
приводящие к улучшению использования компьютерных систем. Развитие в этом
направлении связано с появлением новых типов компьютеров и качественно новых
программных средств, дополняющих уже существующие. Такое развитие можно назвать
развитием по вертикали.
Развитие программных средств идет
по пути увеличения их дружественности, т.e.
такого упрощения управления ими, что от пользователя не требуется специальной
подготовки, и система создает максимально комфортные условия для его работы.
Основной ориентир в
совершенствовании вычислительных систем - превращение их в удобного партнера
конечного пользователя при решении задач в ходе его профессиональной
деятельности.
Для обеспечения наибольшей
дружественности интерфейса программного средства с пользователем первый должен
стать интеллектуальным.
Интеллектуальный интерфейс,
обеспечивающий непосредственное взаимодействие конечного пользователя и
компьютера при решении задачи в составе человеко-машинной системы, должен
выполнять три группы функций:
-обеспечение
для пользователя возможности постановки задачи для ЭВМ путем сообщения только ее
условия (без задания программы решения);
-обеспечение
для пользователя возможности формирования сред решения задачи с использованием
только терминов и понятий из области профессиональной деятельности пользователя,
естественных форм представления информации;
-обеспечение
гибкого диалога с использованием разнообразных средств, в том числе не
регламентируемых заранее, с коррекцией возможных ошибок пользователя.
Структура системы,
удовлетворяющей требованиям новой технологии решения задач, состоит из трех
компонент:
-
исполнительной системы,
представляющей собой совокупность средств, обеспечивающих выполнение программ;
-базы
знаний,
содержащей систему знаний о проблемной среде;
-
интеллектуального интерфейса,
обеспечивающего возможность адаптации вычислительной системы к пользователю
Разработки систем искусственного
интеллекта шли сначала по пути моделирования общих интеллектуальных функций
индивидуального сознания. Однако, развитие вычислительной техники и программного
обеспечения в 90-х годах опровергает прогнозы предыдущих десятилетий о скором
переходе к ЭВМ 5-го поколения.
Интеллектуальные функции основной
массы программных систем общения на естественном языке пока не находят широкого
внедрения в промышленных масштабах.
Столкнувшись с непреодолимыми
проблемами, разработчики систем, обладающих «общим» искусственным интеллектом,
пошли по пути все большей и большей специализации, вначале по направлению к
экспертным системам, затем - к отдельным очень специфичным интеллектуальным
функциям, встроенным в инструментальные программные средства, не считавшиеся до
настоящего времени сферой разработок по искусственному интеллекту.
Например, такие системы сейчас
часто обладают возможностями аналитических математических вычислений, перевода
технических и деловых текстов, распознавания текста при вводе сканером,
синтаксического анализа фраз и предложений, самонастраиваемостью и т.д.
Парадигма исследований и
разработок в области искусственного интеллекта постепенно пересматривается.
По-видимому, возможности скорого
развития программных систем, моделирующих интеллектуальные функции
индивидуального сознания, в значительной мере исчерпаны.
Развитие вычислительных систем и
сетей ведет, по-видимому, к созданию нового типа общественного сознания, в
которое информационные средства будут органично встроены как технологическая
среда обработки и передачи информации. После этого человечество получит
гибридный человеко-машинный интеллект не столько в масштабе индивидуального
сознания, сколько в сфере социальной практики.