Сайт о телевидении

Сайт о телевидении

» » Специальный программный инструментарий. Основные этапы разработки экспертных систем

Специальный программный инструментарий. Основные этапы разработки экспертных систем

Транскрипт

2 Е. В. Боровская Н. А. Давыдова ОСНОВЫ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА Учебное пособие 3-е издание (электронное) Москва Лаборатория знаний 2016

3 УДК ББК Б83 С е р и я о с н о в а н а в 2007 г. Боровская Е. В. Б83 Основы искусственного интеллекта [Электронный ресурс] : учебное пособие / Е. В. Боровская, Н. А. Давыдова. 3-е изд. (эл.). Электрон. текстовые дан. (1 файл pdf: 130 с.). М. : Лаборатория знаний, (Педагогическое образование). Систем. требования: Adobe Reader XI ; экран 10". ISBN Учебное пособие знакомит читателей с историей искусственного интеллекта, моделями представления знаний, экспертными системами и нейронными сетями. Описаны основные направления и методы, применяемые при анализе, разработке и реализации интеллектуальных систем. Рассмотрены модели представления знаний и методы работы с ними, методы разработки и создания экспертных систем. Книга поможет читателю овладеть навыками логического проектирования баз данных предметной области и программирования на языке ProLog. Для студентов и преподавателей педагогических вузов, учителей общеобразовательных школ, гимназий, лицеев. УДК ББК Деривативное электронное издание на основе печатного аналога: Основы искусственного интеллекта: учебное пособие / Е. В. Боровская, Н. А. Давыдова. М. : БИНОМ. Лаборатория знаний, с. : ил. (Педагогическое образование). ISBN В соответствии со ст и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации ISBN c Лаборатория знаний, 2015

4 ОГЛАВЛЕНИЕ Глава 1. Искусственный интеллект Введение в системы искусственного интеллекта Понятие об искусственном интеллекте Искусственный интеллект в России Функциональная структура системы искусственного интеллекта Направления развития искусственного интеллекта Данные и знания. Представление знаний в интеллектуальныхсистемах Данные и знания. Основные определения Модели представления знаний Экспертные системы Структура экспертной системы Разработка и использование экспертныхсистем Классификация экспертныхсистем Представление знаний в экспертныхсистемах Инструментальные средства построения экспертныхсистем Технология разработки экспертной системы Контрольные вопросы и задания к главе Литература к главе Глава 2. Логическое программирование Методологии программирования Методология императивного программирования Методология объектно-ориентированного программирования Методология функционального программирования Методология логического программирования Методология программирования в ограничениях Методология нейросетевого программирования Краткое введение в исчисление предикатов и доказательство теорем Процесс логического вывода в языке Prolog... 58

5 4 Оглавление 2.4. Структура программы на языке Prolog Использование составных объектов Использование альтернативных доменов Организация повторений в языке Prolog Метод отката после неудачи Метод отсечения и отката Простая рекурсия Метод обобщенного правила рекурсии (ОПР) Списки в языке Prolog Операции над списками Строки в языке Prolog Операции над строками Файлы в языке Prolog Предикаты Prolog для работы с файлами Описание файлового домена Запись в файл Чтение из файла Модификация существующего файла Дозапись в конец уже существующего файла Создание динамических баз данных в языке Prolog Базы данных на Prolog Предикаты динамической базы данных в языке Prolog Создание экспертных систем Структура экспертной системы Представление знаний Методы вывода Система пользовательского интерфейса Экспертная система, базирующаяся на правилах Контрольные вопросы и задания к главе Литература к главе Глава 3. Нейронные сети Введение в нейронные сети Искусственная модель нейрона Применение нейронных сетей Обучение нейросети Контрольные вопросы и задания к главе Литература к главе

6 ГЛАВА 1 ИСКУССТВЕННЫЙИНТЕЛЛЕКТ 1.1. Введение в системы искусственного интеллекта Понятие об искусственном интеллекте Система искусственного интеллекта (ИИ) это программная система, имитирующая на компьютере процесс мышления человека. Для создания такой системы необходимо изучить сам процесс мышления человека, решающего определенные задачи или принимающего решения в конкретной области, выделить основные шаги этого процесса и разработать программные средства, воспроизводящие их на компьютере. Следовательно, методы ИИ предполагают простой структурный подход к разработке сложных программных систем принятия решений . Искусственный интеллект это направление информатики, целью которого является разработка аппаратно-программных средств, позволяющих пользователю-непрограммисту ставить и решать свои традиционно считающиеся интеллектуальными задачи, общаясь с ЭВМ на ограниченном подмножестве естественного языка. Идея создания искусственного подобия человека для решения сложных задач и моделирования человеческого разума, что называется, «витала в воздухе» еще в древнейшие времена. Родоначальником искусственного интеллекта считается средневековый испанский философ, математик и поэт Раймонд Луллий, который еще в XIII в. пытался создать механическое устройство для решения различных задач на основе разработанной им всеобщей классификации понятий.

7 6 Глава 1 Позже Лейбниц и Декарт независимо друг от друга продолжили эту идею, предложив универсальные языки классификации для всех наук. Эти работы можно считать первыми теоретическими работами в области искусственного интеллекта. Однако окончательное рождение искусственного интеллекта как научного направления произошло только после создания ЭВМ в 1940-х гг., когда Норберт Винер создал свои основополагающие работы по новой науке кибернетике. Термин «искусственный интеллект» (ИИ; англ. AI «Artificial Intelligence») был предложен в 1956 г. на семинаре с аналогичным названием в Дартмутском колледже (США). Этот семинар был посвящен разработке методов решения логических (а не вычислительных) задач. Заметим, что в английском языке данное словосочетание не имеет той слегка фантастической антропоморфной окраски, которую оно приобрело в довольно неудачном русском переводе. Слово «intelligence» означает всего лишь «умение рассуждать разумно», а вовсе не «интеллект» (для которого есть отдельный английский аналог «intellect»). Вскоре после признания искусственного интеллекта особой областью науки произошло его разделение на два направления: нейрокибернетику и кибернетику «черного ящика». Эти направления развивались практически независимо, существенно различаясь как в методологии, так и технологически. И только в настоящее время стали заметны тенденции к объединению этих частей вновь в единое целое. Нейрокибернетика Основную идею этого направления можно сформулировать следующим образом: «Единственный объект, способный мыслить, это человеческий мозг, поэтому любое мыслящее устройство должно так или иначе воспроизводить его структуру». Таким образом, нейрокибернетика ориентирована на программно-аппаратное моделирование структур, подобных структуре мозга. Усилия нейрокибернетики были сосредоточены на создании элементов, аналогичных нейронам, и на их объединении в функционирующие системы нейронные сети .

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

9 8 Глава 1 го теоретического вклада, объясняющего (хотя бы приблизительно), как протекают интеллектуальные процессы у человека, как устроена его память и как человек познает окружающий мир . Это направление искусственного интеллекта было ориентировано на поиск алгоритмов решения интеллектуальных задач на существующих моделях компьютеров. Существенный вклад в становление новой науки внесли такие ее пионеры, как Маккарти, Минский, Ньюэлл, Саймон, Шоу, Хант и др. В х гг. велись интенсивные поиски моделей и алгоритмов человеческого мышления и разработка первых программ на их основе. Представители гуманитарных наук философы, психологи, лингвисты ни тогда, ни сейчас не смогли предложить такие алгоритмы, тогда кибернетики начали создавать собственные модели. Так последовательно были созданы и опробованы различные подходы. В конце 1950-х гг. появилась модель лабиринтного поиска. Этот подход представляет задачу как некоторое пространство состояний в форме графа, после чего в этом графе производится поиск оптимального пути от входных данных к результирующим. Была проделана большая работа по созданию такой модели, но для решения практических задач эта идея все же не нашла широкого применения. Начало 1960-х гг. стало эпохой эвристического программирования. Эвристика это некоторое правило, теоретически не обоснованное, но позволяющее сократить количество переборов в пространстве поиска. Эвристическое программирование это разработка стратегии действий на основе известных, заранее заданных эвристик. В х гг. к решению задач стали подключать методы математической логики. Робинсон разработал метод резолюций, который позволяет автоматически доказывать теоремы при наличии набора исходных аксиом. Примерно в это же время выдающийся отечественный математик Ю. С. Маслов предложил так называемый обратный вывод (впоследствии названный его именем), решающий аналогичную задачу другим способом. На основе метода резолюций

10 Искусственный интеллект 9 француз Альбер Кольмероэ в 1973 г. создал язык логического программирования Prolog. Большой резонанс в научном сообществе вызвала программа «Логик-теоретик», созданная Ньюэллом, Саймоном и Шоу, которая доказывала школьные теоремы. Однако большинство реальных задач не сводится к набору аксиом, а человек, решая производственные задачи, далеко не всегда использует классическую логику, поэтому логические модели при всех своих преимуществах имеют существенные ограничения по классам решаемых задач. История искусственного интеллекта полна драматических событий, одним из которых стал в 1973 г. так называемый «доклад Лайтхилла», который был подготовлен в Великобритании по заказу Британского совета научных исследований. Известный математик Лайтхилл, никак с искусственным интеллектом профессионально не связанный, подготовил обзор состояния дел в этой области. В докладе были признаны определенные достижения, однако их уровень определялся как «разочаровывающий», а общая оценка была отрицательной с позиций практической значимости. Этот отчет отбросил европейских исследователей примерно на пять лет назад, так как финансирование работ существенно сократилось. Примерно в это же время существенный прорыв в развитии практических приложений искусственного интеллекта произошел в США, когда в середине 1970-х гг. на смену поиску универсального алгоритма мышления пришла идея моделировать конкретные знания специалистов-экспертов. В США появились первые коммерческие системы, основанные на знаниях, или экспертные системы (ЭС). Стал применяться и новый подход к решению задач искусственного интеллекта представление знаний. Были созданы две первые экспертные системы для медицины и химии Mycin и Dendral, ставшие классическими. Существенный финансовый вклад внес и Пентагон, предлагая базировать новую программу министерства обороны США на принципах искусственного интеллекта. Уже вдогонку упущенных возможностей Европейский союз в начале 1980-х гг. объявил о глобальной программе развития новых технологий ESPRIT,

11 10 Глава 1 в которую была включена проблематика искусственного интеллекта. В конце 1970-х гг. в гонку включается Япония, объявив о начале проекта машин пятого поколения, основанных на знаниях. Проект был рассчитан на десять лет и объединял лучших молодых специалистов крупнейших японских компьютерных корпораций. Для этих специалистов был специально создан новый институт ICOT и предоставлена полная свобода действий (правда, без права публикации предварительных результатов). В результате они создали достаточно громоздкий и дорогой символьный процессор, программно реализующий пролого-подобный язык, но не получивший широкого признания. Однако положительный эффект от этого проекта был очевиден. В Японии появилась значительная группа высококвалифицированных специалистов в области искусственного интеллекта, которая добилась существенных результатов в различных прикладных задачах. К середине 1990-х гг. японская ассоциация искусственного интеллекта насчитывала уже 40 тыс. человек. Начиная с середины 1980-х гг. повсеместно происходила коммерциализация искусственного интеллекта. Росли ежегодные капиталовложения, создавались промышленные экспертные системы. Рос интерес к самообучающимся системам. Издавались десятки научных журналов, ежегодно собирались международные и национальные конференции по различным направлениям искусственного интеллекта, который становился одной из наиболее перспективных и престижных областей информатики. В настоящее время различают два основных подхода к моделированию искусственного интеллекта: машинный интеллект, заключающийся в строгом задании результата функционирования, и искусственный разум, направленный на моделирование внутренней структуры системы. Моделирование систем первой группы достигается за счет использования законов формальной логики, теории множеств, графов, семантических сетей и других достижений науки в области дискретных вычислений, а основные результаты заключаются в создании экспертных систем, систем разбора

12 Искусственный интеллект 11 естественного языка и простейших систем управления вида «стимул реакция». Системы же второй группы базируются на математической интерпретации деятельности нервной системы (прежде всего мозга человека) и реализуются в виде нейроподобных сетей на базе нейроподобного элемента аналога нейрона Искусственный интеллект в России В 1954 г. в МГУ начал работу семинар «Автоматы и мышление» под руководством академика А. А. Ляпунова (), одного из основателей российской кибернетики. В этом семинаре принимали участие физиологи, лингвисты, психологи, математики. Принято считать, что именно в это время родился искусственный интеллект в России. Как и за рубежом, в нем выделились два основных направления нейрокибернетика и кибернетика «черного ящика». В х гг. создавались отдельные программы и проводились исследования в области поиска решения логических задач. В ЛОМИ (Ленинградском отделении Математического института им. Стеклова) была создана программа АЛПЕВ ЛОМИ, автоматически доказывающая теоремы, которая основана на оригинальном обратном выводе Маслова, аналогичном методу резолюций Робинсона. Среди наиболее значимых результатов, полученных отечественными учеными в 1960-е гг., следует отметить алгоритм «Кора» М. М. Бонгарда, моделирующий деятельность человеческого мозга при распознавании образов. Большой вклад в становление российской школы искусственного интеллекта внесли и такие выдающиеся ученые, как М. Л. Цетлин, В. Н. Пушкин, М. А. Гаврилов, чьи ученики стали пионерами этой науки в России. В х гг. родилось новое направление ИИ ситуационное (соответствующее представлению знаний в западной терминологии). Основателем этой научной школы стал профессор Д. А. Поспелов. Были разработаны и специальные модели представления ситуаций (представления знаний). При том, что отношение к новым наукам в советской России всегда было настороженным, наука с таким «вызы-

13 12 Глава 1 вающим» названием тоже не избежала этой участи и была встречена в Академии наук «в штыки». К счастью, среди членов Академии наук СССР нашлись люди, не испугавшиеся столь необычного словосочетания в качестве названия нового научного направления. Однако только в 1974 г. при Комитете по системному анализу при президиуме АН СССР был создан научный совет по проблеме «Искусственный интеллект», его возглавил Д. А. Поспелов. По инициативе этого совета было организовано пять комплексных научных проектов, возглавляемых ведущими специалистами в данной области: «Диалог» (работы по пониманию естественного языка), «Ситуация» (ситуационное управление), «Банк» (банки данных), «Конструктор» (поисковое конструирование) и «Интеллект робота». В х гг. в нашей стране проводились активные исследования в области представления знаний, разрабатывались языки представления знаний и экспертные системы; в МГУ был создан язык Рефал. В 1988 г. была сформирована Ассоциация искусственного интеллекта (АИИ), президентом которой единогласно был избран Д. А. Поспелов. В рамках этой ассоциации проводилось большое количество исследований, были организованы школы для молодых специалистов, семинары, симпозиумы, раз в два года проводились объединенные конференции, издавался научный журнал. Следует отметить, что уровень теоретических исследований по искусственному интеллекту в России всегда был ничуть не ниже общемирового. Однако, к сожалению, начиная с 1980-х гг. на прикладных работах начинало сказываться постепенное отставание в технологии. На данный момент отставание в области разработки промышленных интеллектуальных систем составляет примерно 3 5 лет. Основные области применения систем ИИ: доказательство теорем, игры, распознавание образов, принятие решений, адаптивное программирование, сочинение машинной музыки, обработка данных на естественном языке, обучающиеся сети (нейросети), вербальное концептуальное обучение.

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

15 [...]

16 Минимальные системные требования определяются соответствующими требованиями программы Adobe Reader версии не ниже 11-й для платформ Windows, Mac OS, Android, ios, Windows Phone и BlackBerry; экран 10" Учебное электронное издание Серия: «Педагогическое образование» ОСНОВЫ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА Учебное пособие Ведущий редактор Д. Усенков Художники Н. Новак, С. Инфантэ Технический редактор Е. Денюкова Корректор Л. Макарова Компьютерная верстка: С. Янковая Подписано к использованию Формат мм Издательство «Лаборатория знаний» , Москва, проезд Аэропорта, д. 3 Телефон: (499)

17 БОРОВСКАЯ ЕЛЕНА ВЛАДИМИРОВНА Старший преподаватель кафедры информатики и методики преподавания информатики Челябинского государственного педагогического университета. Область интересов: проблемы модульно-рейтинговой системы контроля и оценки учебных достижений студентов в условиях управления качеством в вузе. ДАВЫДОВА НАДЕЖДА АЛЕКСЕЕВНА Кандидат педагогических наук по специальности «Теория и методика обучения и воспитания (информатика, уровень общего образования)», доцент кафедры информатики и методики преподавания информатики Челябинского государственного педагогического университета. Области интересов: технология формирования содержания образования по информатике в профильных классах общеобразовательных школ, интеллектуальные обучающие системы. Учебное пособие знакомит читателей с историей искусственного интеллекта, моделями представления знаний, экспертными системами и нейронными сетями. Описаны основные направления и методы, применяемые при анализе, разработке и реализации интеллектуальных систем. Рассмотрены модели представления знаний и методы работы с ними, методы разработки и создания экспертных систем. Книга поможет читателю овладеть навыками логического проектирования баз данных предметной области и программирования на языке Prolog. Книга предназначена для студентов и преподавателей педагогических вузов, учителей общеобразовательных школ, гимназий и лицеев.


Искусственный интеллект Преподаватель: Брагилевский В.Н. Докладчик: Банарь О.В. План Философские аспекты ИИ История развития ИИ Подходы к построению систем ИИ Структурный подход. Системы идентификации

К 100-летию со дня рождения Гермогена Сергеевича Поспелова 25 мая 2014 г. исполнилось 100 лет со дня рождения выдающегося ученого, академика АН СССР и Российской академии наук, лауреата Государственной

1. ЦЕЛЬ И ЗАДАЧИ ДИСЦИПЛИНЫ История ЭВМ не только история развития понятий, но и одна из частей истории человеческой деятельности, в которой отражается жизнь человека и как биологического вида, и как члена

ПОСОБИЕ для подготовки к ЕГЭ ИНФОРМАТИКА ИНФОРМАТИКА ПОСОБИЕ для подготовки к ЕГЭ 3-е издание, исправленное и дополненное (электронное) Под редакцией Е. T. Вовк Москва БИНОМ. Лаборатория знаний 2015 УДК

Информатика Лекция 1 Основные определения Доцент кафедры РЭС (2302) Кузнецов Игорь Ростиславович Определение Информатика наука, изучающая все аспекты получения, хранения, преобразования, передачи и использования

Направление 09.03.03 Информатика 1.2 Лекция «Человеко-машинное взаимодействие. ППО» Лектор Молнина Елена Владимировна Старший преподаватель кафедры Информационных систем, ауд.9, гл.корпус. mail: [email protected]

УДК 004.89 ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ В ОБРАЗОВАНИИ Р.В. Стрельцов, ст. гр. ТП08 Л.В.Славинская, ст. препод. каф. ВМиП Донецкий национальный технический университет Процесс вхождения высшей школы в мировое

Нормативные документы Аннотация к рабочей программе по информатике 8 класс Рабочая программа по информатике и ИКТ составлена на основе авторской программы Угриновича Н.Д. с учетом примерной программы основного

МОДЕЛИ РЕШЕНИЯ ФУНКЦИОНАЛЬНЫХ И ВЫЧИСЛИТЕЛЬНЫХ ЗАДАЧ Л Е К Т О Р А З А Р Ч Е Н К О В А. А. ОСНОВНЫЕ ПОНЯТИЯ Задачи: вычислительные задачи - определение некоторой величины, функциональные задачи - создания

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

Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования «Новосибирский государственный университет» (НГУ) Факультет информационных технологий

ПЕРВОЕ ВЫСШЕЕ ТЕХНИЧЕСКОЕ УЧЕБНОЕ ЗАВЕДЕНИЕ РОССИИ МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

Моделирование познавательных способностей человека в искусственном интеллекте Наталья Андреевна Ястреб ВГПУ, 2010 zagoskina_natali@ mail.ru 1 Понятие интеллекта Термин «интеллект» неоднозначный, имеют

Аннотация программы учебной дисциплины «Методы исследования и моделирования информационных процессов и технологий» Цель дисциплины: 1. ЦЕЛИ И ЗАДАЧИ ДИСЦИПЛИНЫ Дисциплина «Методы исследования и моделирования

О разработке инструментальных систем, ориентированных на решение информационно-логических задач Р. Г. Бухараев, А. И. Еникеев, И. И. Макаров Практика использования вычислительных машин для автоматизации

Муниципальное бюджетное общеобразовательное учреждение «Средняя школа 9» Аннотация к рабочей программе по информатике и ИКТ в параллели 6-х классов г. Вилючинск 2016-2017 учебный год 1 Количество часов

Информатика Информатика устанавливает законы преобразования информации в условиях функционирования автоматизированных систем, разрабатывает методы еѐ алгоритмизации, формирования языковых средств общения

КАЗАНСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ ИНСТИТУТ ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКИ И ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ Кафедра системного анализа и информационных технологий А.М. ЮРИН ЭКСПЕРТНЫЕ СИСТЕМЫ Учебно-методическое

83 УДК 004.822 РАЗРАБОТКА СИСТЕМЫ АВТОМАТИЗИРОВАННОГО РЕШЕНИЯ ВЫЧИСЛИТЕЛЬНЫХ ЗАДАЧ В САПР, ОСНОВАННОЙ НА МЕТОДЕ ПРОГРАММИРОВАНИЯ В ОГРАНИЧЕНИЯХ Крилевич С.Д., Григорьев А.В. Донецкий национальный технический

À. À. åðíÿê, Æ. À. åðíÿê, Þ. Ì. Ìåòåëüñêèé, Ñ. À. Áîãäàíîâè ÌÅÒÎÄÛ ÎÏÒÈÌÈÇÀÖÈÈ: ÒÅÎÐÈß È ÀËÃÎÐÈÒÌÛ УЧЕБНОЕ ПОСОБИЕ ДЛЯ АКАДЕМИЧЕСКОГО БАКАЛАВРИАТА 2-е издание, исправленное и дополненное Ðåêîìåíäîâàíî

Н. А. Давыдова Е. В. Боровская ПРОГРАММИРОВАНИЕ Учебное пособие Москва БИНОМ. Лаборатория знаний 2009 УДК 004.4 ББК 32.973-018 Д13 Д13 Давыдова Н. А. Программирование: учебное пособие / Н. А. Давыдова,

Аннотация к дисциплине «интелектуальные информационные системы» 1. ЦЕЛИ И ЗАДАЧИ ДИСЦИПЛИНЫ 1.1. Цели дисциплины Цель преподавания дисциплины состоит в содействии формированию у обучающихся способности

Муниципальное бюджетное общеобразовательное учреждение средняя общеобразовательная школа 83 РАБОЧАЯ ПРОГРАММА по информатике и ИКТ уровня среднего общего образования учителя Кауровой Галины Владимировны

Тестовые задания по дисциплине ИИС Тема: 1. Искусственный интеллект 1 вопрос: Искусственный интеллект это - направление, которое позволяет решать сложные математические задачи на языках программирования;

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА Рабочая программа кружка по информатике «Юный информатик» для 5-7 классов разработана на основе авторской программы Н.В.Макаровой для 5-9 классов, рекомендованной Министерством образования

Искусственный нейронные сети и возможность создания на их основе искусственного интеллекта Сулейманов К.Б. ФГБОУ ВО «Дагестанский государственный университет» Махачкала, Россия. Artificial neural networks

Аннотация к дисциплине «Основы программирования и алгоритмизации» Направление подготовки (специальность) 09.03.02 «Информационные системы и технологии» Профиль Информационные системы и технологии в строительстве

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

Интеллектуальные системы машиностроении Лекция 2.1. Методы представления знаний. 1 Представление знаний в системах искусственного интеллекта Основной особенностью интеллектуальных систем является то, что

Марчук 14 г. ОТЗЫВ ведущей организации на диссертационную работу Крылова Дмитрия Александровича «Модели и методы реализации облачной платформы для разработки и использования интеллектуальных сер висов»,

ТЕХНОЛОГИИ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА Лекция 5. Экспертные системы Продолжение Технологии ИИ 1 СЕМИОТИЧЕСКИЕ МОДЕЛИ Классические задачи управления. В их фундаменте лежит тезис о том, что нам известны: назначение

8. ФОНД ОЦЕНОЧНЫХ СРЕДСТВ ДЛЯ ПРОВЕДЕНИЯ ПРОМЕЖУТОЧНОЙ АТТЕСТАЦИИ ОБУЧАЮЩИХСЯ ПО ДИСЦИПЛИНЕ (МОДУЛЮ) Информатики, вычислительной техники и 1. Кафедра информационной безопасности 09.03.02 «Информационные

АННОТАЦИЯ рабочей программы «Информационные технологии в управлении» по направлению подготовки/ специальности 38.03.04 «Государственное и муниципальное управление» код и наименование направления/ специальности

МИНОБРНАУКИ РОССИИ федеральное государственное бюджетное образовательное учреждение высшего образования «Московский государственный технологический университет «СТАНКИН» (ФГБОУ ВО «МГТУ «СТАНКИН») АННОТАЦИЯ

1. Российская педагогическая энциклопедия. В 2 т. / Гл. ред. В.В. Давыдов. М.: Большая российская энциклопедия, 1993. Т. 2. 608 с. 2. Селевко Г.К. Современные образовательные технологии: Учеб. пособ. М.:

Г. В. Алексеев, С. А. Бредихин, И. И. Холявин СИСТЕМНЫЙ ПОДХОД В ПИЩЕВОЙ ИНЖЕНЕРИИ Общие определения и некоторые приложения Рекомендовано Федеральным учебно-методическим объединением в системе высшего

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

Аннотация к рабочим программам по информатике и ИКТ на 2016-2017 7 класс (основное общее образование) Изучение информатики и ИКТ в VII классах направлено на достижение следующих целей: - формирование общеучебных

УДК 004.514.6 ОЦЕНКА КАЧЕСТВА ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА ОБУЧАЮЩИХ ПРОГРАММ Горецкий А.А. Донецкий Национальный Технический Университет Кафедра прикладной математики и информатики E-mail: [email protected]

АННОТАЦИЯ РАБОЧЕЙ ПРОГРАММЫ ДИСЦИПЛИНЫ Интеллектуальные системы и технологии по направлению/специальности 09.03.02 - "Информационные системы и технологии" 1. Цели и задачи освоения дисциплины Целью освоения

АДАПТИВНЫЕ И ИНТЕЛЛЕКТУАЛЬНЫЕ СИСТЕМЫ Т. Кохонен Самоорганизующиеся карты Перевод 3-го английского издания В. Н. Агеева под редакцией Ю. В. Тюменцева Москва БИНОМ. Лаборатория знаний 2008 УДК 517.11+519.92

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ Государственное образовательное учреждение высшего профессионального образования «Мурманский государственный гуманитарный университет» (МГГУ) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ ТЕХНИЧЕСКИЙ

Системы управления базами данных (СУБД) 1. Общие сведения о СУБД 2. Модели данных 3. СУБД Microsoft Access 1. Общие сведения о системах управления базами данных Два основных направления использования компьютеров:

СОСТАВИТЕЛИ: Рябый В.В., старший преподаватель кафедры математического обеспечения электронно-вычислительных машин Белорусского государственного университета; Побегайло А.П., доцент кафедры технологии

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ федеральное государственное автономное образовательное учреждение высшего профессионального образования НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ЯДЕРНЫЙ УНИВЕРСИТЕТ

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ "ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ - УЧЕБНО-НАУЧНО-ПРОИЗВОДСТВЕННЫЙ

ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ГОРОДА МОСКВЫ СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА 382 Рассмотрено на заседании МО Руководитель МО Н.В. Павленко Протокол от 2014г. СОГЛАСОВАНО Заместитель

УДК 372.851.046.14 ББК 74.262.21 Г15 Р е ц е н з е н т ы: канд. пед. наук, доц. каф. математики и методики преподавания математики УО «Мозырский гос. пед. ун-т им. И. П. Шамякина» Л. A. Иваненко; учитель

ЮРИЮ МИХАЙЛОВИЧУ ЗАБРОДИНУ 70 ЛЕТ В октябре 2010 г. исполнилось 70 лет Юрию Михайловичу Забродину крупному ученому и организатору отечественной психологической науки. В историю советской и российской психологии

ТАМБОВСКОЕ ОБЛАСТНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ АВТОНОМНОЕ УЧРЕЖДЕНИЕ ДОПОЛНИТЕЛЬНОГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «ИНСТИТУТ ПОВЫШЕНИЯ КВАЛИФИКАЦИИ РАБОТНИКОВ ОБРАЗОВАНИЯ» Преподавание учебного предмета

Пособие для руководителей, их заместителей, педагогов учреждений общего среднего образования М о з ы р ь «Белый Ветер» 2 0 1 4 УДК 371 ББК 74.200.58 Б59 Серия основана в 2007 году С о с т а в и т е л и:

Учебная программа составлена на основе учебного плана учреждения высшего образования по специальности 1-40 05 01 «Информационные системы и технологии (по направлениям)» и учебной программы «Основы информационных

Содержание Название раздела Стр. раздела 1. Пояснительная записка 3-4 2. Содержание учебного предмета 4-5 3. Требование к уровню подготовки учащихся 5-7 4. Литература 7 5. Календарно-тематическое планирование

Основная образовательная программа высшего образования утверждена Ученым советом университета (протокол Ученого совета университета 3 от 16 марта 2016 г) 2 СОДЕРЖАНИЕ 1. Общая характеристика основной профессиональной

Å. Ï. Ãîëóáêîâ ÌÅÒÎÄÛ ÏÐÈÍßÒÈß ÓÏÐÀÂËÅÍ ÅÑÊÈÕ ÐÅØÅÍÈÉ àñòü 1 Ó ÅÁÍÈÊ È ÏÐÀÊÒÈÊÓÌ ÄËß ÀÊÀÄÅÌÈ ÅÑÊÎÃÎ ÁÀÊÀËÀÂÐÈÀÒÀ 3-å èçäàíèå, èñïðàâëåííîå è äîïîëíåííîå Ðåêîìåíäîâàíî Ó åáíî-ìåòîäè åñêèì îòäåëîì âûñøåãî

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

Нам пишут РОССИХИНА Лариса Витальевна - кандидат технических наук, капитан внутренней службы, старший преподаватель цикла радиотехнических систем Воронежского колледжа Федеральной службы исполнения наказаний

1 Учебник: Информатика. 11 класс. Углубленный уровень. В 2 ч. Авторы: К.Ю. Поляков, Е.А. Еремин М.: БИНОМ, Лаборатория знаний, 2013. Планируемые результаты изучения информатики Программа по предмету «Информатика»

Роль логического программирования в изучении информатики. Н. Пелин Государственный университет Тирасполь(UST) Резюме В работе проводится анализ мнений ряда ученых и специалистов о значении и роли логического

Муниципальное образование - городской округ город Рязань Рязанской области РАБОЧАЯ ПРОГРАММА по информатике и ИКТ Уровень образования - 10-11 классы гуманитарного профиля Количество часов: 2 часа в неделю,

ПРИКЛАДНОЕ ПРИМЕНЕНИЕ СРЕДСТВ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА В РАЗРАБОТКЕ КОМПЬЮТЕРНЫХ ИГР Казиев А.Б., Прокопюк С.Ю. Томский политехнический университет Томск, Россия APPLICATION OF ARTIFICIAL INTELLIGENCE

Управление, вычислительная техника и информатика УДК 004.032.26:612.825 ОДНОРОДНАЯ МНОГОСЛОЙНАЯ НЕЙРОННАЯ СЕТЬ ПРЯМОГО РАСПРОСТРАНЕНИЯ С ЛОКАЛЬНЫМИ СВЯЗЯМИ С УСЛОВНО-РЕФЛЕКТОРНЫМ МЕХАНИЗМОМ ОБУЧЕНИЯ НА

МОДЕЛИРОВАНИЕ ИНТЕГРАЛЬНЫХ РОБОТОВ В MATLAB С.Т. Садыкова ЕНУ им. Л.Н. Гумилева, г. Астана, ул. Мунайтпасова, 5, 001008. E-mail: [email protected] Введение. Ро бот (чеш. robot) автоматическое устройство

Масленникова О.Е. , Попова И.В.

Учебное пособие. Магнитогорск: МаГУ, 2008. 282 c.В учебном пособии излагаются модели представления знаний, теория экспертных систем, основы логического и функционального программирования. Большое внимание уделено истории развития искусственного интеллекта. Изложение материала сопровождается большим количеством иллюстраций, предлагаются упражнения и вопросы для самоконтроля.
Работа ориентирована на студентов очного и заочного отделений, обучающихся по направлениям «Информатика», «Физико-математическое образование (Профиль – информатика)».Введение в искусственный интеллект.
История развития искусственного интеллекта как научного направления.
Основные направления исследований в области искусственного интеллекта.
Философские аспекты проблемы искусственного интеллекта.
Вопросы для самоконтроля.
Литература.
Модели представления знаний.
Знания.
Логическая модель представления знаний.
Семантические сети.
Фреймы.
Продукционная модель.
Другие модели представления знаний.
Упражнения.
Вопросы для самоконтроля.
Литература.
Экспертные системы.
Понятие об экспертной системе.
Виды экспертных систем и типы решаемых задач.
Структура и режимы работы экспертной системы.
Технология разработки экспертных систем.
Инструментальные средства экспертной системы.
Интеллектуальные информационные системы.
Упражнения.
Вопросы для самоконтроля.
Литература.
Пролог как язык логического программирования.
Представление о логическом программировании.
Представление знаний о предметной области виде фактов и правил базы знаний Пролога.
Дескриптивный, процедурный и машинный смысл программы на Прологе.
Основные приёмы программирования в Прологе.
Среда Visual Prolog.
Упражнения.
Литература.
Представление о функциональном программировании.
История функционального программирования.
Свойства языков функционального программирования.
Задачи функционального программирования.
Упражнения.
Ответы для самопроверки.
Литература.
ссарий.
Приложение 1.
Приложение 2.
Приложение 3.

The file will be sent to selected email address. It may takes up to 1-5 minutes before you received it.

The file will be sent to your Kindle account. It may takes up to 1-5 minutes before you received it.
Please note you"ve to add our email [email protected] to approved e-mail addresses. Read more .

You can write a book review and share your experiences. Other readers will always be interested in your opinion of the books you"ve read. Whether you"ve loved the book or not, if you give your honest and detailed thoughts then people will find new books that are right for them.

Министерство образования и науки Российской Федерации ГОУ ВПО «Магнитогорский государственный университет» О.Е. Масленникова, И.В. Попова Основы искусственного интеллекта Учебное пособие Магнитогорск 2008 УДК 681.142.1.01 ББК З97 М Рецензенты: Доктор физико-математических наук, профессор С.И. Кадченко Доктор технических наук, профессор А,С. Сарваров М Масленникова О.Е., Попова И.В. Основы искусственного интеллекта: учеб. пособие / О.Е. Масленникова, И.В. Попова. - Магнитогорск: МаГУ, 2008. - 282 c. ISBN 978-5.86781-609-4 В учебном пособии излагаются модели представления знаний, теория экспертных систем, основы логического и функционального программирования. Большое внимание уделено истории развития искусственного интеллекта. Изложение материала сопровождается большим количеством иллюстраций, предлагаются упражнения и вопросы для самоконтроля. Работа ориентирована на студентов очного и заочного отделений, обучающихся по направлениям «Информатика», «Физико-математическое образование (Профиль – информатика)». УДК 681.142.1.01 ББК З97 ISBN 978-5.86781-609-4  Масленникова О.Е., Попова И.В., 2008  Магнитогорский государственный университет, 2008 -2- ОГЛАВЛЕНИЕ ГЛАВА 1. ВВЕДЕНИЕ В ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ................... 5 1.1. ИСТОРИЯ РАЗВИТИЯ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА КАК НАУЧНОГО НАПРАВЛЕНИЯ........................................................................................................ 9 1.2. ОСНОВНЫЕ НАПРАВЛЕНИЯ ИССЛЕДОВАНИЙ В ОБЛАСТИ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА......................................................................................................... 13 1.3. ФИЛОСОФСКИЕ АСПЕКТЫ ПРОБЛЕМЫ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА....... 16 ВОПРОСЫ ДЛЯ САМОКОНТРОЛЯ............................................................................ 21 ЛИТЕРАТУРА......................................................................................................... 21 ГЛАВА 2. МОДЕЛИ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ................................... 22 2.1. ЗНАНИЯ.......................................................................................................... 22 2.2. ЛОГИЧЕСКАЯ МОДЕЛЬ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ.......................................... 25 2.3. СЕМАНТИЧЕСКИЕ СЕТИ.................................................................................. 58 2.4. ФРЕЙМЫ......................................................................................................... 59 2.5. ПРОДУКЦИОННАЯ МОДЕЛЬ............................................................................ 62 2.6. ДРУГИЕ МОДЕЛИ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ.................................................. 64 УПРАЖНЕНИЯ....................................................................................................... 78 ВОПРОСЫ ДЛЯ САМОКОНТРОЛЯ............................................................................ 83 ЛИТЕРАТУРА......................................................................................................... 84 ГЛАВА 3. ЭКСПЕРТНЫЕ СИСТЕМЫ.......................................................... 86 3.1. ПОНЯТИЕ ОБ ЭКСПЕРТНОЙ СИСТЕМЕ............................................................. 86 3.2. ВИДЫ ЭКСПЕРТНЫХ СИСТЕМ И ТИПЫ РЕШАЕМЫХ ЗАДАЧ............................. 89 3.3. СТРУКТУРА И РЕЖИМЫ РАБОТЫ ЭКСПЕРТНОЙ СИСТЕМЫ.............................. 99 3.4. ТЕХНОЛОГИЯ РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ...................................... 102 3.5. ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА ЭКСПЕРТНОЙ СИСТЕМЫ.......................... 113 3.6. ИНТЕЛЛЕКТУАЛЬНЫЕ ИНФОРМАЦИОННЫЕ СИСТЕМЫ................................. 129 УПРАЖНЕНИЯ..................................................................................................... 135 ВОПРОСЫ ДЛЯ САМОКОНТРОЛЯ.......................................................................... 136 ЛИТЕРАТУРА....................................................................................................... 138 ГЛАВА 4. ПРОЛОГ КАК ЯЗЫК ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ................................................................................ 139 4.1. ПРЕДСТАВЛЕНИЕ О ЛОГИЧЕСКОМ ПРОГРАММИРОВАНИИ............................ 139 4.2. ПРЕДСТАВЛЕНИЕ ЗНАНИЙ О ПРЕДМЕТНОЙ ОБЛАСТИ ВИДЕ ФАКТОВ И ПРАВИЛ БАЗЫ ЗНАНИЙ ПРОЛОГА...................................................................................... 140 4.3. ДЕСКРИПТИВНЫЙ, ПРОЦЕДУРНЫЙ И МАШИННЫЙ СМЫСЛ ПРОГРАММЫ НА ПРОЛОГЕ....................................................................................................... 148 4.4. ОСНОВНЫЕ ПРИЁМЫ ПРОГРАММИРОВАНИЯ В ПРОЛОГЕ............................. 151 4.5. СРЕДА VISUAL PROLOG................................................................................ 154 УПРАЖНЕНИЯ..................................................................................................... 194 ЛИТЕРАТУРА....................................................................................................... 197 -3- ГЛАВА 5. ПРЕДСТАВЛЕНИЕ О ФУНКЦИОНАЛЬНОМ ПРОГРАММИРОВАНИИ................................................................................ 199 5.1. ИСТОРИЯ ФУНКЦИОНАЛЬНОГО ПРОГРАММИРОВАНИЯ................................ 200 5.2. СВОЙСТВА ЯЗЫКОВ ФУНКЦИОНАЛЬНОГО ПРОГРАММИРОВАНИЯ................ 203 5.3. ЗАДАЧИ ФУНКЦИОНАЛЬНОГО ПРОГРАММИРОВАНИЯ.................................. 207 УПРАЖНЕНИЯ..................................................................................................... 210 ОТВЕТЫ ДЛЯ САМОПРОВЕРКИ............................................................................. 210 ЛИТЕРАТУРА....................................................................................................... 211 ГЛОССАРИЙ..................................................................................................... 213 ПРИЛОЖЕНИЕ 1 .............................................................................................. 221 ПРИЛОЖЕНИЕ 2 .............................................................................................. 252 ПРИЛОЖЕНИЕ 3 .............................................................................................. 265 -4- ПРЕДИСЛОВИЕ В последнее время наблюдается возрастание интереса к искусственному интеллекту, вызванное повышением требований к информационным системам. Человечество неуклонно движется к новой информационной революции, сравнимой по масштабам с развитием Интернета. Искуственный интеллект – направление информатики, целью которого является разработка аппаратно-программных средств, позволяющих пользователю-непрограммисту ставить и решать свои, традиционно считающиеся интеллектуальными задачи, общаясь с ЭВМ на ограниченном подмножестве естественного языка. История искусственного интеллекта как нового научного направления начинается в середине XX века. К этому времени уже было сформировано множество предпосылок его зарождения: среди философов давно шли споры о природе человека и процессе познания мира, нейрофизиологи и психологи разработали ряд теорий относительно работы человеческого мозга и мышления, экономисты и математики задавались вопросами оптимальных расчѐтов и представления знаний о мире в формализованном виде; наконец, зародился фундамент математической теории вычислений - теории алгоритмов - и были созданы первые компьютеры. Целью настоящего пособия является изложение основных направлений и методов, применяемых в искусственном интеллекте, а также определение возможности их использования в профессиональной педагогической деятельности. В данное учебное пособие состоит из пяти глав. В первой приводится краткое введение в искусственный интеллект: рассматривается история его развития как научного направления, выделяются основные области искусственного интлеекта, рассматриваются такие философские аспекты проблемы как возможность существования, безопасность, полезность искусственного интлеекта. Вторая глава посвящена описанию классических моделей представления знаний: логической, семантической, фреймовой, продукционной и нейросетевой. В третьей главе рассматриваются теоретические и практические вопросы разработки экспертных систем; приводится описание оболочки XpertRule. В чѐтвѐртой главе излагаются основные принципы программирования на языке Пролог, описывается среда Visual Prolog. Пятая глава описывает основы функционального программирования с примерами на языке LISP. Пособие содержит большое количество иллюстраций, упражнения и вопросы для самоконтроля. Для удобства изучения материала предусмотрен глоссарий. -5- ГЛАВА 1. ВВЕДЕНИЕ В ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ Искусственный интеллект (ИИ) - это новое направление информатики, предметом изучения которого является любая интеллектуальная деятельность человека, подчиняющаяся заранее известным законам. Образно это направление называют «старшим сыном информатики», так как многие нерешенные ею задачи постепенно находят свое решение в рамках искусственного интеллекта. Известно, что предметом информатики является обработка информации. К области же ИИ относятся такие случаи (задачи) из этой обработки, которые не могут быть выполнены с помощью простых и точных алгоритмических методов, и которых насчитывается великое множество. ИИ опирается на знания о процессе человеческого мышления. При этом точно не известно, как работает человеческий мозг, однако для разработки эффективно работающих программ с элементами ИИ уже достаточно тех знаний об особенностях человеческого интеллекта, которыми располагает наука сегодня. При этом ИИ не пытается копировать в точности работу человеческого мозга, а пытается моделировать его функции с помощью средств вычислительной техники. С самого момента своего рождения ИИ развивается как междисциплинарное направление, взаимодействующее с информатикой и кибернетикой, когнитивными науками, логикой и математикой, лингвистикой и психологией, биологией и медициной (рис. 1). Информатика и кибернетика. Многие специалисты пришли в ИИ из информатики и кибернетики. Также многие комбинаторные задачи, не решаемые традиционными методами в информатики, перекочевали в область ИИ. Кроме того, результаты, полученные в ИИ, заимствуются при создании программного обеспечения и становятся частью Computer Science (информатики). Когнитивные науки. Когнитивные науки - это науки о знаниях. ИИ также занимается знаниями. Но когнитивные науки используют при этом не только информационный и нейробиологический подходы, но также рассматривают социальные и психолингвистические аспекты использования знаний. Логика и математика. Логика лежит в основе всех известных формализмов представления знаний, а также таких языков программирования, как Lisp и Prolog. Для решения задач ИИ используются методы дискретной математики, теории игр, теории операций. В свою очередь ИИ может применяться для доказательства теорем, решения задач в различных областях математики: геометрии, интегрального исчисления. Психология и лингвистика. В последнее время специалисты по ИИ заинтересовались психологическими аспектами поведения людей с целью его моделирования. Психология помогает строить модели ценностных оценок, принятия субъективных решений. Представляет интерес психология общения -6- «человек-компьютер», психолингвистика. Компьютерная лингвистика - это часть ИИ, которая базируется на математических методах обработки естественного и искусственных языков, с одной стороны, и на феноменологии языка с другой стороны. Биология и медицина позволяет лучше изучить и понять работу мозга, систем зрения, слуха и других естественных датчиков и дать новый импульс в области моделирования их работы. Рис. 1. Взаимодействие ИИ с другими дисциплинами Не существует единого определения ИИ так же, как не существует единого определения естественного интеллекта. Среди многих точек зрения на эту научную область сейчас доминируют три. 1. Исследования в области ИИ являются фундаментальными исследованиями, в рамках которых разрабатываются модели и методы решения задач, традиционно считавшиеся интеллектуальными и неподдающиеся ранее формализации и автоматизации. 2. ИИ - это новое направление информатики, связанное с новыми идеями решения задач на ЭВМ, с разработкой принципиально иной технологии программирования, с переходом к архитектуре ЭВМ, отвергающей классическую архитектуру, которая восходит еще к первым ЭВМ. 3. В результате работ в области ИИ рождается множество прикладных систем, решающих задачи, для которых ранее создаваемые системы были не пригодны. -7- Для иллюстрации первого подхода можно привести пример с калькулятором. В начале века арифметические вычисления с многозначными цифрами были уделом немногих одаренных личностей и способность производить в уме такие арифметические действия по праву считалась уникальным даром природы и являлась объектом научных исследований. В наше время изобретение калькулятора сделало эту способность доступной даже третьекласснику. То же самое и в ИИ: он усиливает интеллектуальные возможности человека, беря на себя решение ранее не формализуемых задач. Для иллюстрации второго подхода можно рассмотреть историю с попыткой создания ЭВМ пятого поколения. В середине 80-х годов Япония объявила о начале амбициозного проекта по созданию ЭВМ пятого поколения. В основе проекта была положена идея аппаратной реализации языка ПРОЛОГ. Однако проект окончился неудачей, хотя и имел сильное влияние на развитие и распространение языка ПРОЛОГ как языка программирования. Причиной неудачи было поспешное заключение о том, что один язык (пусть и достаточно универсальный) может обеспечить единственное решение для всех задач. Практика показала, что пока универсальной парадигмы программирования для решения всех задач не придумано и вряд ли она появится. Это связано с тем, что каждая задача - это часть предметной области, требующая тщательного изучения и специфического подхода. Попытки создания новых архитектур ЭВМ продолжаются и связаны с параллельными и распределенными вычислениями, нейрокомпьютерами, вероятностными и нечеткими процессорами. Работы в области создание экспертных систем (ЭС) можно отнести к третьему, наиболее прагматическому направлению в ИИ. Экспертные системы - это программные комплексы, заменяющие человека-специалиста в узких областях интеллектуальной деятельности, требующих применения специальных знаний. Создание ЭС в области медицины (типа MYCIN) позволяет распространять знания в самые отдаленные районы. Таким образом в сочетании с телекоммуникационным доступом любой сельский врач может получить консультацию у такой системы, заменяющей ему общение со специалистом по узкому вопросу. В России ИИ нашел своих сторонников практически с момента своего появления. Однако официальное признание эта дисциплина получила далеко не сразу. ИИ подвергался критике как под-отрасль кибернетики, считавшейся «лженаукой». До какого-то момента времени играло отрицательную роль и эпатирующее название «искусственный интеллект». Так, в Президиуме АН ходила шутка о том, что «искусственным интеллектом занимаются те, кому не хватает естественного». Однако сегодня ИИ - это официально признанное в России научное направление, выпускаются журналы «Управляющие системы и машины» и «Новости ИИ», проводятся научные конференции и семинары. Существует Российская Ассоциация ИИ, насчитывающая около 200 членов, президентом которой является доктор техн.наук Д.А.Поспелов, а -8- почетным президентом академик РАН Г.С.Поспелов. Существует Российский Институт Искусственного Интеллекта при Совете Президента Российской Федерации по информатике и ВТ. В рамках РАН существует Научный Совет по проблеме «Искусственный интеллект». При участии этого Совета издано немало книг по тематике ИИ, переводов. Хорошо известны работы Д.А.Поспелова, Литвинцевой и Кандрашиной - в области представления и обработки знаний, Э.В. Попова и Хорошевского - в области обработки естественного языка и экспертных систем, Аверкина и Мелихова в области нечеткой логики и нечетких множеств, Стефанюка - в области обучающихся систем, Кузнецова, Финна и Вагина - в области логики и представления знаний. В России существует традиционно сильная компьютерная лингвистическая школа, которая берет начало от работ по модели «СмыслТекст» Мельчука. Среди известных компьютерных лингвистов можно назвать Апресяна, Городецкого, Падучеву, Нариньяни, Леонтьеву, Шаляпину, Зализняка-старшего, Кибрика-старшего, Баранова и мн. др. 1.1. История развития искусственного интеллекта как научного направления Идея создания искусственного подобия человеческого разума для решения сложных задач и моделирования мыслительной способности витала в воздухе с древнейших времен. В древнем Египте была создана «оживающая» механическая статуя бога Амона. У Гомера в «Илиаде» бог Гефест ковал человекоподобные существаавтоматы. В литературе эта идея обыгрывалась многократно: от Галатеи Пигмалиона до Буратино папы Карло. Однако родоначальником искусственного интеллекта считается средневековый испанский философ, математик и поэт Р. Луллий (ок.1235-ок.1315), который в XIV в. пытался создать машину для решения различных задач на основе всеобщей классификации понятий. В XVIII в. Г. Лейбниц (1646 - 1716) и Р. Декарт (1596 - 1650) независимо друг от друга развили эту идею, предложив универсальные языки классификации всех наук. Эти идеи легли в основу теоретических разработок в области создания искусственного интеллекта (рис. 2). Развитие искусственного интеллекта как научного направления стало возможным только после создания ЭВМ. Это произошло в 40-х гг. XX в. В это же время Н. Винер (1894 - 1964) создал свои основополагающие работы по новой науке - кибернетике. Термин искусственный интеллект (artificial intelligence) предложен в 1956 г. на семинаре с аналогичным названием в Станфордском университете (США). Семинар был посвящен разработке логических, а не вычислительных задач. Вскоре после признания искусственного интеллекта самостоятельной отраслью науки произошло разделение на два основных направления: нейрокибернетику и кибернетику «черного ящика». И только в настоящее -9- время стали заметны тенденции к объединению этих частей вновь в единое целое. В СССР в 1954 г. в МГУ под руководством профессора А.А.Ляпунова (1911 - 1973) начал свою работу семинар «Автоматы и мышление» . В этом семинаре принимали участие крупнейшие физиологи, лингвисты, психологи, математики. Принято считать, что именно в это время родился искусственный интеллект в России. Как и за рубежом, выделились направления нейрокибернетики и кибернетики «черного ящика». В 1956 -1963 гг. велись интенсивные поиски моделей и алгоритма человеческого мышления и разработка первых программ. Оказалось, что ни одна из существующих наук - философия, психология, лингвистика - не может предложить такого алгоритма. Тогда кибернетики предложили создать собственные модели. Были созданы и опробованы различные подходы. Первые исследования в области ИИ связаны с созданием программы для игры в шахматы, так как считалось, что способность играть в шахматы является показателем высокого интеллекта. В 1954 году американский ученый Ньюэлл задумал создать такую программу. Шеннон предложил, а Тьюринг уточнил метод создания такой программы. Американцы Шоу и Саймон в содружестве с группой голландских психологов из Амстердама под руководством де Гроота создали такую программу. Попутно был создан специальный язык ИПЛ1 (1956), предназначенный для манипулирования информацией в символьной форме, который явился предшественником языка Лисп (MacCarthy, 1960). Однако первой программой искусственного интеллекта была программа Логик-теоретик, предназначенная для доказательства теорем в исчислении высказываний (9 августа 1956). Программа для игры в шахматы была создана в 1957 году (NSS - Newell, Shaw, Simon). Ее структура и структура программы Логик-теоретик легли в основу создания программы Универсального Решателя Задач (GPS-General Problem Solving). Эта программа, анализируя различия между ситуациями и конструируя цели, хорошо решает головоломки типа «Ханойская башня» или вычисляет неопределенные интегралы. Программа EPAM (Elementary Perceiving and Memorizing Program) - элементарная программа для восприятия и запоминания, задумана Фейгенбаумом. В 1957 году появилась статья Хомского, одного из основателей компьютерной лингвистики, по трансформационным грамматикам. В конце 50-х гг. родилась модель лабиринтного поиска. Этот подход представляет задачу как некоторый граф, отражающий пространство состояний1, и в этом графе проводится поиск оптимального пути от входных данных к результирующим. Была проделана большая работа по разработке этой модели, но в решении практических задач идея большого распространения не получила. 1 Пространство состояний - это граф, вершины которого соответствуют ситуациям, встречающимся в задаче (―проблемные ситуации‖), а решение задачи сводится к поиску пути в этом графе. - 10 - Начало 60-х гг. - эпоха эвристического программирования. Эвристика правило, теоретически не обоснованное, но позволяющее сократить количество переборов в пространстве поиска. Эвристическое программирование - разработка стратегии действий на основе известных, заранее заданных эвристик. В 60-х годах создаются первые программы, работающие с запросами на естественном языке. Программа БЕЙСБОЛ (Green и др.,1961) отвечала на запросы о результатах прошедших бейсбольных матчей, программе STUDENT (Bobrow,1964) было доступно решение алгебраических задач, сформулированных на английском языке. Рис. 2. Вехи в становлении ИИ как научного направления Большие надежды возлагались на работы в области машинного перевода, начало которых связывают с именем отечественного лингвиста Бельской. Однако исследователям потребовалось много лет на то, чтобы понять, что автоматический перевод не является изолированной проблемой и требует для успешного осуществления наличия такого необходимого этапа, как понимание. Среди наиболее значимых результатов, полученных отечественными учеными в 60-е гг., следует отметить алгоритм «Кора» М.Бонгарда, моделирующий деятельность человеческого мозга при распознавании образов. В 1963 - 1970 гг. к решению задач стали подключать методы математической логики. Новый подход к формальной логике, основанный на приведении рассуждений к противоречию, появился в 1965 г. - 11 - (Дж. Робинсон). На основе метода резолюций, позволившего автоматически доказывать теоремы при наличии набора исходных аксиом, в 1973 г. создается язык Пролог. В СССР в 1954 - 1964 гг. создаются отдельные программы и исследуется поиск решения логических задач. В Ленинграде (ЛОМИ - Ленинградское отделение математического института им. В.А.Стеклова) создается программа, автоматически доказывающая теоремы (АЛПЕВ ЛОМИ). Она основана на оригинальном обратном выводе С.Ю.Маслова, аналогичном методу резолюций Робинсона. В 1965-1980 гг. получает развитие новая наука - ситуационное управление (соответствует представлению знаний в западной терминологии). Основоположник этой научной школы - профессор Д.А. Поспелов. Разработаны специальные модели представления ситуаций - представления знаний. За рубежом исследования в области ИИ сопровождаются разработкой языков программирования нового поколения и созданием все более изощренных систем программирования (Lisp, Prolog, Plannar, QA4, Macsyma, Reduce, Refal, ATNL, TMS). Полученные результаты начинают использоваться в робототехнике, при управлении роботами, неподвижными или мобильными, действующими в реальном трехмерном пространстве. При этом возникает проблема создания искусственных органов восприятия. До 1968 г. исследователи работали в основном с отдельными «микропространствами», они создавали системы, пригодные для таких специфических и ограниченных сфер приложения, как игры, евклидова геометрия, интегральное исчисление, «мир кубиков», обработка простых и коротких фраз с небольшим словарным запасом. Почти во всех этих системах использовался один и тот же подход - упрощение комбинаторики, базирующийся на уменьшении необходимого перебора альтернатив на основе здравого смысла, применении числовых функций оценивания и различных эвристик. В начале 70-х произошел качественный скачок в исследованиях по искусственному интеллекту. Это объясняется двумя причинами.  Во-первых. Все исследователи постепенно осознали, что всем ранее созданным программам не хватает самого важного - глубоких знаний в соответствующей области. Различие между экспертом и обыкновенным человеком состоит в том, что у эксперта имеется опыт в данной области, т.е. годами накопленные знания.  Во-вторых. Возникает конкретная проблема: как передать эти знания программе, если ее непосредственный создатель этими знаниями не обладает. Ответ ясен: сама программа должна их выделить из данных, получаемых от эксперта. Исследования по решению задач и пониманию естественного языка объединяет одна общая проблема - представление знаний. К 1970 г. было - 12 - создано множество программ, основанных на этих идеях. Первая из них программа DENDRAL. Она предназначена для порождения структурных формул химических соединений на основе информации, поступающей от масс-спектрометра. Программа была разработана в Стенфорде при участии нобелевского лауреата Д. Ледерберга. Она набиралась опыта в процессе собственного функционирования. Экспертом в нее было заложено много тысяч элементарных фактов, представленных в виде отдельных правил. Рассматриваемая система явилась одной из первых экспертных систем и результаты ее работы поразительны. В настоящее время система поставляется потребителям вместе со спектрометром. В 1971 г. Терри Виноград разработал систему SHRDLU, которая моделирует робота, манипулирующего кубиками. С роботом можно говорить по-английски. Система интересуется не только синтаксисом фраз, но и правильно понимает их смысл благодаря семантическим и прагматическим знаниям о своем «мире кубиков». Начиная с середины 80-х гг., за рубежом происходит коммерциализация искусственного интеллекта. Растут ежегодные капиталовложения, создаются промышленные экспертные системы. Растет интерес к самообучающимся системам. В нашей стране 1980-1990 гг. проводятся активные исследования в области представления знаний, разрабатываются языки представления знаний, экспертные системы (более 300). В Московском государственном университете создается язык РЕФАЛ. В 1988 г. создается АИИ - Ассоциация искусственного интеллекта. Ее членами являются более 300 исследователей. Президент Ассоциации - Д.А. Поспелов. Крупнейшие центры - в Москве, Петербурге, Переславле-Залесском, Новосибирске. 1.2. Основные направления исследований в области искусственного интеллекта В настоящее время ИИ - это бурно развивающаяся и сильно разветвленная научная область. Только по компьютерной лингвистике в мире ежегодно проводится более 40 конференций. Почти в каждой европейской стране, а также США, Канаде, Японии, России, Юго-Восточной Азии регулярно проводятся национальные конференции по ИИ. В России это мероприятие осуществляется раз в два года под эгидой Российской Ассоциации по ИИ (РАИИ). Кроме того, раз в два года проводится международная объединенная конференция по ИИ (IJCAI). Более 3 тысяч периодических изданий публикуют научные результаты в этой области. Полной и строгой классификации всех направлений ИИ не существует, попытка классификации задач, которые решает ИИ, представлена на рис. 3. По классификации Д.А. Поспелова в ИИ существуют два доминирующих подхода к исследованиям в области ИИ: нейробионический и информационный (рис. 4 и 5). - 13 - задачи Общие Формальные Экспертные Восприятие Игры (Шахматы, го, головоломки) Инжиниринг Обработка естественного языка Математика Научный анализ Рассуждение на основе здравого смысла геометрия Финансовый анализ Управление роботом проверка программ Медицинская диагностика Рис. 3. Задачи ИИ Сторонники первого ставят перед собой цель воспроизвести искусственным образом те процессы, которые протекают в мозгу человека. Этот направление находится на пересечении медицины, биологии и кибернетики. При этом изучают мозг человека, выявляют способы его работы, создают технические средства для повторения биологических структур и протекающих в них процессов. Область ИИ можно условно разделить на пять крупных разделов: − нейроподобные структур; − программы решения интеллектуальных задач; − системы, основанные на знаниях; − интеллектуальное программирование; − интеллектуальные системы. Каждый из разделов может быть представлен следующим образом (см. рис. 4-9). - 14 - Рис. 4. Нейроподобные структуры Рис. 5. Программы решения интеллектуальных задач Рис. 6. Системы, основанные на знаниях - 15 - Рис. 7. Интеллектуальное программирование Рис. 8. Интеллектуальные системы 1.3. Философские аспекты проблемы искусственного интеллекта Основная философская проблема в области искусственного интеллекта связана с поиском ответа на вопрос: возможно или нет моделирование мышления человека. В случае, если когда-либо будет получен отрицательный ответ на этот вопрос, то все остальные вопросы в области ИИ не будут иметь ни малейшего смысла. Следовательно, начиная исследование искусственного интеллекта, заранее предполагается положительный ответ. Доказательства возможности моделирования мышления человека. 1. Схоластическое: непротиворечивость искусственного интеллекта и Библии. По-видимому, даже те, кто далек от религии, знают слова священного писания: «И создал Господь человека по образу и подобию своему …». Исходя из этих слов, можно заключить, что, поскольку Господь, во-первых, создал людей, и во-вторых, они по своей сути подобны ему, то люди вполне способны создать кого-то по образу и подобию человека. 2. Биологическое. Создание нового разума биологическим путем для человека дело вполне привычное. Наблюдая за детьми, мы видим, что - 16 - большую часть знаний они приобретают путем обучения, а не как заложенную в них заранее. Данное утверждение на современном уровне не доказано, но по внешним признакам все выглядит именно так. 3. Эмпирическое. То, что раньше казалось вершиной человеческого творчества - игра в шахматы, шашки, распознавание зрительных и звуковых образов, синтез новых технических решений, на практике оказалось не такой уж сложной задачей. Сейчас работа ведется не на уровне возможности или невозможности реализации перечисленного, а о нахождении наиболее оптимального алгоритма - зачастую данные проблемы даже не относят к проблемам искусственного интеллекта. Есть надежда, что полное моделирование мышления человека также возможно. 4. Возможность самовоспроизведения. Способность к самовоспроизведению долгое время считалась прерогативой живых организмов. Однако некоторые явления, происходящие в неживой природе (например, рост кристаллов, синтез сложных молекул копированием), очень похожи на самовоспроизведение. В начале 50-х годов Дж. фон Нейман занялся основательным изучением самовоспроизведения и заложил основы математической теории «самовоспроизводящихся автоматов». Также он доказал теоретически возможность их создания. Существуют также различные неформальные доказательства возможности самовоспроизведения, но для программистов самым ярким доказательством, пожалуй, будет существование компьютерных вирусов. 5. Алгоритмическое. Принципиальная возможность автоматизации решения интеллектуальных задач с помощью ЭВМ обеспечивается свойством алгоритмической универсальности. Данное свойство ЭВМ означает, что на них можно программно реализовывать (т. е. представить в виде машинной программы) любые алгоритмы преобразования информации. При этом процессы, порождаемые этими алгоритмами, являются потенциально осуществимыми, т. е. что они осуществимы в результате конечного числа элементарных операций. Практическая осуществимость алгоритмов зависит от имеющихся средств, которые могут меняться с развитием техники. Так, в связи с появлением быстродействующих ЭВМ стали практически осуществимыми и такие алгоритмы, которые ранее были только потенциально осуществимыми. Кроме того, содержание этого свойства имеет прогностический характер: всякий раз, когда в будущем какое-либо предписание будет признано алгоритмом, то независимо от того, в какой форме и какими средствами оно будет первоначально выражено, его можно будет задать также в виде машинной программы. Однако не следует думать, что вычислительные машины и роботы могут в принципе решать любые задачи. Анализ разнообразных задач привел математиков к замечательному открытию. Было строго доказано существование таких типов задач, для которых невозможен единый эффективный алгоритм, решающий все задачи данного типа; в этом смысле невозможно решение задач такого типа и с помощью вычислительных - 17 - машин. Этот факт способствует лучшему пониманию того, что могут делать машины и чего они не могут сделать. В самом деле, утверждение об алгоритмической неразрешимости некоторого класса задач является не просто признанием того, что такой алгоритм неизвестен и никем еще не найден. Такое утверждение представляет собой одновременно и прогноз на все будущие времена о том, что подобного рода алгоритм нам не известен и никем не будет указан или, и иными словами, что он не существует. ИИ можно рассматривать в ряду инструментальных средств (интеллектуальных и неинтеллектуальных), которые были созданы и освоены человечеством на пути его исторического развития. К ним относятся:  ручной инструмент;  станки и машины;  язык и речь;  счетные аппараты;  средства ВТ и телекоммуникации. Философы утверждают, что производство инструментария (в широком смысле слова) - наиболее важный вид деятельности, отличающий наших предков от других приматов. Человеческие существа выделяются среди животных по своей способности производить знания и инструменты. Никакое другое технологическое или социо- политическое изобретение не вызвало такого гигантского отрыва в развитии вида homo sapience от остальных видов живой природы. Развитие компьютерных технологий может быть в общем разбито на два направления: цифровая обработка и символьная обработка. Первое направление сделало информацию гораздо более удобной для хранения, обработки и передачи, чем все предыдущие улучшения бумажной технологии. Компьютер превзошел все вычислительные орудия прошлого (абакус, счеты, арифмометр) в скорости, разнообразии функций, легкости использования. Последовательно расширяя сферу автоматизации в области монотонного умственного труда, цифровая обработка информации расширила рамки печатного станка и индустриальной революции до новых границ. Второе направление компьютерных технологий, обработка знаков (термин Ньюэлла и Саймона) или искусственный интеллект, позволило компьютеру имитировать процессы чувственного восприятия и ориентации, рассуждения и решения проблем, обработку естественного языка и другие человеческие способности. Другими словами, ИИ представляет собой новый вид инструментария, альтернативный по отношению к уже существующим. Эта реальность заставила философов в области ИИ перейти от вопроса «Возможно ли создание разумной машины?» к проблеме влияния интеллектуальных инструментов на общество. В том числе рассматривается возможный социальный эффект от развития ИИ, а именно: - 18 - повышение уровня интеллекта всего общества, которое даст новые открытия, изобретения и новое понимание человечеством самого себя.  изменение ситуации, когда большинство людей является средством и орудием производства. Следующим философским вопросом ИИ является цель создания. В принципе все, что мы делаем в практической жизни, обычно направлено на то, чтобы больше ничего не делать. Однако при достаточно высоком уровне жизни (большом количестве потенциальной энергии) человека на первые роли выступает уже не лень (в смысле желания экономить энергию), а поисковые инстинкты. Допустим, что человек сумел создать интеллект, превышающий свой собственный (пусть не качеством, так количеством). Что теперь будет с человечеством? Какую роль будет играть человек? Для чего он теперь нужен? И вообще, нужно ли в принципе создание ИИ? По-видимому, самым приемлемым ответом на эти вопросы является концепция «усилителя интеллекта» (УИ). По мнению С.Л. Сотника, здесь уместна аналогия с президентом государства - он не обязан знать валентности ванадия или языка программирования Java для принятия решения о развитии ванадиевой промышленности. Каждый занимается своим делом - химик описывает технологический процесс, программист пишет программу; экономист говорит президенту, что вложив деньги в промышленный шпионаж, страна получит 20 %, а в ванадиевую промышленность - 30 % годовых. Думаю, что при такой постановке вопроса любой сможет сделать правильный выбор. В данном примере президент использует биологический УИ - группу специалистов с их белковыми мозгами. Но уже сейчас используются и неживые УИ - например, компьютеры, бортовые счетно-решающие устройства. Кроме того, человек уже давно использует усилители силы (УС) - понятие, во многом аналогичное УИ. В качестве усилителей силы ему служат автомобили, краны, электродвигатели, прессы, пушки, самолеты и многое-многое другое. Основным отличием УИ от УС является наличие воли: первый может иметь свои «желания», и поступать не так, как от него ожидают. Таким образом, возникает проблема безопасности систем ИИ. Как избежать тех отрицательных последствий, которые сопутствуют любому новому достижению НТР? Данная проблема будоражит умы человечества еще со времен Карела Чапека, впервые употребившего термин «робот». Большую лепту в еѐ обсуждение внесли и другие писатели-фантасты. Самые известные - серии рассказов писателя-фантаста и ученого Айзека Азимова, у которого можно найти самое проработанное и принятое большинством людей решение проблемы безопасности. Речь идет о трех законах роботехники. 1. Робот не может причинить вред человеку или своим бездействием допустить, чтобы человеку был причинен вред.  - 19 - 2. Робот должен повиноваться командам, которые ему дает человек, кроме тех случаев, когда эти команды противоречат первому закону. 3. Робот должен заботиться о своей безопасности, насколько это не противоречит первому и второму законам. Впоследствии Азимов добавляет в этот список «Нулевой Закон»: «Робот не может причинить вред человечеству или своим бездействием допустить, чтобы человечеству был причинѐн вред». На первый взгляд, подобные законы при их полном соблюдении должны обеспечить безопасность человечества. Однако при внимательном рассмотрении возникают некоторые вопросы. Во-первых, законы сформулированы на человеческом языке, который не допускает простого их перевода в алгоритмическую форму. Предположим, данная задача решена. Теперь, что будет подразумевать система ИИ под термином «вред»? Не решит ли она, что само существование человека - это сплошной вред? Ведь он курит, пьет, с годами стареет и теряет здоровье, страдает. Не будет ли меньшим злом быстро прекратить эту цепь страданий? Конечно, можно ввести некоторые дополнения, связанные с ценностью жизни, свободой волеизъявления. Но это уже будут не те простые три закона, которые были в оригинале. Далее: что решит система ИИ в ситуации, когда спасение одной жизни возможно только за счет другой? Особенно интересны те случаи, когда система не имеет полной информации о том, кто есть кто. Однако несмотря на перечисленные проблемы, данные законы являются довольно неплохим неформальным базисом проверки надежности системы безопасности для систем ИИ. Так что же, неужели нет надежной системы безопасности? Если отталкиваться от концепции УИ, то можно предложить следующий вариант. Согласно многочисленным опытам, несмотря на отсутствие достоверных данных о том, за что отвечает каждый отдельный нейрон в человеческом мозге, многим из эмоций обычно соответствует возбуждение группы нейронов (нейронный ансамбль) во вполне предсказуемой области. Были также проведены обратные эксперименты, когда раздражение определенной области вызывало желаемый результат. Это могли быть эмоции радости, угнетения, страха, агрессивности. Таким образом, представляется возможным в качестве целевой функции принять степень удовлетворенности мозга человека-хозяина. Если принять меры, чтобы исключить самодеструктивную деятельность в состоянии депрессии, а также предусмотреть другие особые состояния психики, то получится следующее. Поскольку предполагается, что нормальный человек не будет наносить вред самому себе и, без особой на то причины, другим, а УИ теперь является частью данного индивидуума (не обязательно физическая общность), то автоматически выполняются все три закона роботехники. При этом вопросы безопасности смещаются в область психологии и правоохранения, поскольку - 20 - система (обученная) не будет делать ничего такого, чего бы не хотел ее владелец. Вопросы для самоконтроля 1. Что такое искусственный интеллект? 2. С какими научными направлениями взаимодействует искусственный интеллект? 3. Охарактеризуйте подходы к пониманию предмета искусственного интеллекта как научной дисциплины. 4. Охарактеризуйте современное состояние ИИ в России. 5. Охарактеризуйте «докомпьютерный» этап развития искусственного интеллекта 6. Охарактеризуйте развитие искусственного интеллекта в 40-е гг. ХХ в. 7. Охарактеризуйте развитие искусственного интеллекта в 50-е гг. ХХ в. 8. Охарактеризуйте развитие искусственного интеллекта в 60-е гг. ХХ в. 9. Охарактеризуйте развитие искусственного интеллекта в 70-е гг. ХХ в. 10.Охарактеризуйте развитие искусственного интеллекта в 80-е гг. ХХ в. 11.Опишите основные задачи искусственного интеллекта. 12.Какие разделы выделяют в области искусственного интеллекта? 13.Приведите доказательства возможности моделирования мышления человека. 14. Чем обоснован переход к проблеме влияния интеллектуальных инструментов на общество? 15.Чем обусловлена и как может быть решена проблема безопасности систем искусственного интеллекта? Литература 1. Люгер, Дж, Ф. Искусственный интеллект: стратегии и методы решения сложных проблем: пер. с англ / Джордж Ф. Люгер.- М.: Издательский дом «Вильямс», 2003. – 864 с. 2. Основы искусственного интеллекта / Б.В. Костров, В.Н. Ручкин, В.А. Фулин. – М.: «ДЕСС», «Техбук», 2007. – 192 с. 3. Сайт Российской ассоциации искусственного интеллекта. – Режим доступа: http://www.raai.org/ 4. Сотник, С.Л. Основы проектирования систем искусственного интеллекта: лекции. – Режим доступа: http://newasp.omskreg.ru/intellect/f25.htm 5. Рассел, С. Искуственный интеллект: современный подход / Стюарт Рассел, Питер Норвиг. – М.: Издательский дом «Вильямс», 2006. – 1408 с. - 21 - ГЛАВА 2. МОДЕЛИ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ 2.1. Знания Какие виды знаний необходимы для того, чтобы обеспечить "интеллектуальное" поведение? "Секрет" феноменологии модели знаний заключается в окружающем нас мире. В общем случае модель представления знаний должна обеспечивать различное описание объектов и явлений, составляющих ту предметную область, в которой приходится работать интеллектуальному агенту. Предметная область - часть действительности, связанная с решением задачи. Интеллектуальный агент - система (человек, программа), обладающая интеллектуальными способностями. Знания - это выявленные закономерности предметной области (принципы, связи, законы). Знания имеют более сложную структуру, чем данные (метаданные). При этом знания задаются как экстенсионально (т. е. через набор конкретных фактов, соответствующих данному понятию и касающихся предметной области), так и интенсионально (т.е. через свойства, соответствующие данному понятию, и схему связей между атрибутами). Типы знаний Объекты. Обычно, человек представляет знания в терминах фактов об окружающих его объектах. По этой причине должны быть способы представления объектов, классов (категорий, типов) объектов, описания свойств и взаимодействия объектов. Одним из способов классификации объектов является иерархия классов. Кроме того необходимо различать абстрактные объекты, которые используются для обозначения групп (множеств, классов) индивидов. Пример «Птицы имеют крылья» «Голуби - это птицы» «Снег – белый» «Эта книга новая» - индивидный объект Ситуации – все виды взаимодействий между объектами. Пример «Вчера шел дождь» «Поезд опоздал на 10 минут» Пример классификации ситуаций, предложенной Падучевой показан на рис. 9. Кроме того, чтобы иметь возможность описания ситуаций самих по - 22 - себе, модель представления должна позволять описывать расположение событий на временной оси, а также их причинно-следственную связь. Ситуации Статические Состояния Постоянные свойства и отношения Динамические Процессы Устойчивые Происшествия Временные Результаты События Рис. 9. Пример классификации ситуаций, предложенной Падучевой При представлении иерархии объектов и отношений основную трудность составляет выбор основания, т.е. свойства (признака), по которому происходит деление. Обычно, если даже человек легко различает разные виды объектов и ситуаций в жизни, попытка вербальной классификации представляет большую проблему. Процедуры. Поведение (например: езда на велосипеде) требует знаний, которые находятся за пределами декларативных знаний об объектах и отношений между ними. Это знания о том, как надо делать то или иное действие, которые называются процедурные знания, или опыт (навык). Подобно езде на велосипеде, большинство видов сознательного поведения, (например: общение, понимание или доказательство теорем), включают процедурные знания, и зачастую трудно четко разграничить знания о процедуре и знания об объекте. Пример Термин "начетничество" - описывает ситуацию отсутствия процедурных знаний у человека, который выдает себя за специалиста Мета-знания - знания о знаниях: об объеме и происхождении знаний о частном объекте, о надежности конкретной информации или об относительной важности отдельных фактов. Мета-знания также включают - 23 - то, что люди знают о собственной способности как процессора по обработке знаний: силу, слабость, уровень опыта в различных областях, и ощущение прогресса при решении задач. Классификация знаний По глубине:  Поверхностные знания (совокупность эмпирических ассоциаций и причинно-следственных отношений между понятиями предметной области).  Глубинные знания (абстракции, образы, аналогии, в которых отражается понимание структуры предметной области и взаимосвязь отдельных понятий). По способу существования:  Факты (хорошо известные обстоятельства).  Эвристики (знания из опыта экспертов). По жесткости:  Жесткие знания (позволяют получать однозначные четкие рекомендации при заданных начальных условиях).  Мягкие знания (допускают множественные, расплывчатые решения и различные варианты рекомендаций). По формам представления:  Декларативные знания (факты в виде наборов структурированных данных).  Процедурные знания (алгоритмы в виде процедур обработки фактов). По способу приобретения:  Научные знания (полученные в ходе систематического обучения и/или изучения).  Житейские, бытовые знания (полученные в ходе жизни). Для размещения базы знаний с целью ее использования для решения прикладных задач, необходимо ее формальное описание с помощью математических моделей. Как уже упоминалось, представление знаний возможно с помощью декларативных и процедурных моделей. К типовым декларативным моделям обычно относят сетевую и фреймовую модели; к процедурным – логическую и продукционную. С точки зрения подхода к представлению знаний в ЭВМ модели представления знании можно классифицировать следующим образом: На основе эвристического подхода: «тройкой», продукционная, фреймовая, сетевая модели На основе теоретического подхода: на базе формальной логики и на базе «человеческой логики» - модальной и многозначной. - 24 - 2.2. Логическая модель представления знаний Основные понятия логики Большинство людей считают, что слово «логичный» означает «обоснованный». Таким образом, если человек рассуждает логично, то его рассуждения обоснованны, поэтому он не допускает поспешных выводов. Логика – это наука о формах и методах правильного мышления. Это означает, что при наличии необходимого количества истинных фактов вывод всегда должен быть истинным. С другой стороны, если логический вывод недействителен, это означает, что на основании истинных фактов получено ложное заключение. Необходимо развести понятия формальной логики и неформальной. Отличительная особенность неформальной логики состоит в том, что ею пользуются в обычной жизни. Сложное логическое доказательство представляет собой цепь логических выводов, в которой одно заключение ведет к другому, и т.д. В формальной логике, называемой также символической логикой, важным является то, как осуществляется логический вывод, как учитываются другие факторы, которые обеспечивают доказательство истинности или ложности окончательного заключения допустимым способом. Логика нуждается также в семантике, позволяющей придать смысл символам. В формальной логике используется семантика, основанная не на применении слов, несущих эмоциональную нагрузку, а на выборе осмысленных имен для переменных, подобно программированию. Как и математика, логика непосредственно изучает не эмпирические, а абстрактные объекты. В связи с этим возникает вопрос: Какова природа или онтологический статус абстрактных объектов? О каких именно абстрактных объектах идет речь? В логике (классической) различают две основополагающие разновидности абстрактных объектов: − понятия (свойства); − отношения. Понятия могут быть как простыми, так и сложными. Сложные понятия представляют собой совокупность относительно более простых понятий (простых свойств), связанных между собой теми или иными отношениями. Более сложными абстрактными объектами являются суждения, структурными элементами которых являются также понятия и определенные отношения. Суждения в свою очередь являются структурными элементами умозаключений (систем суждений), а умозаключения структурными элементами концепций и теорий (систем умозаключений). На Рис. 10 показана иерархия типов абстрактных объектов в классической логике. Специфика логики заключается в том, что она изучает наиболее общие, универсальные отношения, или взаимосвязи, между абстрактными объектами. В соответствии с этим существует следующее объектное - 25 - определение логики: «Логика – это наука об универсальных (общезначимых) взаимосвязях между понятиями, суждениями, умозаключениями и другими абстрактными объектами». Концепции и теории (системы умозаключений) Умозаключения (система суждений) Суждения Понятия (свойства) Отношения Рис. 10. Иерархия типов абстрактных объектов в классической логике Пример «Студент» – понятие. «Прилежание» – свойство. «Прилежный студент», «Студент 4-го курса» – отношения. «Человек учится в университете» – суждение. «Если человек учится в институте, то он, либо студент, либо аспирант» – умозаключение. «Теория исчисления предикатов первого порядка» – это концепция. Понятие Понятия - суть абстрактные объекты, доступные пониманию человека в качестве простых и сложных свойств (признаков) эмпирических объектов. Понятие противопоставляется таким сущностям как: «слово», «перцепция», «эмпирический объект». Понятие является универсальной единицей мышления и основой интеллектуальной деятельности. Важнейшими характеристиками понятия являются содержание и объѐм. Все логические характеристики и логические операции являются результатом выводных знаний из закона обратно пропорциональной зависимости между содержанием и объѐмом понятия. Всякое понятие имеет объѐм понятия (понятийный объѐм) и дополнение к объѐму понятия (рис. 11, 12). Объем понятия – это совокупность (множество) всех тех эмпирических (индивидных объектов), которым присуще данное понятие (в качестве свойства, признака). - 26 - Дополнение к объему – совокупность всех тех эмпирических объектов, которым не присуще данное понятие. Понятие Х а1 а2 V Объѐм а3 Рис. 11. Понятие X, объѐм понятия X, элемент объѐма (a1, a2, a3) Х Не Х Рис. 12. Объем и его дополнение Пример Понятие: фактографическая модель данных. Объѐм понятия: реляционная, сетевая, иерархическая модели данных Дополнение объѐма: документальные модели данных (дескрипторные, тезаурусные, модели данных, ориентированные на формат документа) Понятия могут быть следующих видов: 1) по объему: a. единые (U =1 элемент, Камаз); b. общие (U>1 элемента, Московский автозавод); 2) по существованию элементов: a. непустое (студент); b. пустое (колобок); 3) по структуре элементов: a. несобирательные (Северный Полюс); b. собирательные (должник); 4) по содержанию: a. безотносительные(аудитория); b. соотносительные (родители); 5) по наличию качеств, свойств, отношений a. положительные (добродетель); b. отрицательные (правонарушение); 6) по качеству элементов: a. регистрируемые (журнал «Открытые системы», 1/ 2008); b. нерегистрируемые (интеллигенция), абстрактные; 7) по характеру объекта: a. конкретные (ручка); - 27 - b. абстрактные (модель). На основе перечисленных видов, можно дать логическую характеристику любому понятию, то есть показать употребление понятия во всех семи смыслах. Например, понятие должник является общим, непустым, собирательным, соотносительным, положительным, нерегистрируемым и конкретным. Основные приѐмы постижения понятий К числу основных приѐмов постижения понятия относятся: − абстрагирование; − сравнение; − обобщение; − анализ; − синтез. Абстрагирование – есть мысленное выделение (понимание) некоторого свойства или отношения путем отвлечения от других свойств или отношений эмпирического объекта. Сравнение – установление сходства или различия между объектами. Обобщение – мысленное выделение некоторого понятия путем сравнения каких-либо других понятий. Абстрагирование, сравнение и обобщение – приемы, тесно связанные друг с другом. Их можно назвать «когнитивные процедуры». Сравнение невозможно безотносительно к абстрагированию. Обобщение предполагает сравнение и вместе с тем есть не что иное, как разновидность сложного абстрагирования и т.д. Анализ – мысленное разделение эмпирического или абстрактного объекта на составляющие его структурные компоненты (части, свойства, отношения). Синтез – мысленное объединение различных объектов в некоторый целостный объект. Примеры 1. Сравнение людей по росту предполагает абстрагирование для выделения свойства «рост» понятия «человек». 2. Обобщение: «стул» и «стол» – «мебель». Соотношение понятий Для пояснения соотношений между понятиями можно использовать диаграммы в виде кругов Эйлера (рис. 13). Примеры Равномерные (равнообъѐмные): Казань – столица. Независимые (пересечение): пассажир– студент. Подчинение: дерево – береза. Противоположность (контрарность): белый и черный. - 28 - Конрадикторные: белый – не белый. Соподчинение (субконтрарность): офицеры (майор-капитан). Логическое деление понятия есть разделение объѐма понятия на непересекающиеся части на основании какого-либо признака. Понятия X, Y Несовместимые M(X)M(Y)= Совместимые M(X)M(Y) Независимые Контрадикторные Y=Не-X Х Y X M(X)M(Y); M(X)M(Y)M(X); M(X)M(Y)M(Y) M(X)M(Y)=U Контрарные Тождественные (равномерные) X, Y X Y M(X)= M(Y) M(X)M(Y)U X подчинено Y X Y M(X)M(Y)=M(X) Рис. 13. Соотношение понятий При этом существуют: − родовое понятие X; − члены деления (видовые понятия A и B); − основание деления (т.е. признак). - 29 - Три правила логического деления. 1. Правило несовместимости. Объемы видовых понятий не должны пересекаться, (т.е. члены деления не должны быть несовместимыми друг с другом); 2. Правило последовательности. Нельзя делить сразу по нескольким основаниям; 3. Правило соразмерности. Сумма объѐмов видовых понятий должна быть равна объѐму родового понятия. Дихотомическое деление (наиболее строгий вид) – деление понятий по принципу контрадикторности (A, не-А). Классификации – определенные системы (упорядоченные совокупности) видовых понятий. Классификации используются с целью поиска новых взаимосвязей между понятиями, а также с целью систематизации уже имеющихся знаний. Пример 1. Таблица Менделеева – пример научной классификации химических элементов. 2. Пример классификации информационных систем (ИС) представлен на рисунке ниже. Основания деления: функциональное назначение. А, В, С – примеры информационных систем по этой классификации. ИС Фактографические системы Системы искусственного интеллекта Документальные системы ИС «Университет» Lingvo «Консультант Плюс» А В С Рис. 14. Пример классификации Приѐмы постижения понятий (абстрагирование, сравнение, обобщение, анализ, синтез, деление) – это универсальные и фундаментальные когнитивные процедуры, которые не научились пока успешно моделировать в рамках искусственного интеллекта. Это один из основополагающих разделов классической логики, который должен быть интегрирован в теорию баз знаний. После этого станут доступными задачи моделирования таких мыслительных актов, как выдвижение гипотез, обучение декларативным знаниям, более емкими станут процедуры умозаключения. - 30 - Суждение Суждение – это структурно-сложный объект, отражающий объективную связь между объектом и его свойством. Суждению противопоставляются такие сущности, как: «предложение», «перцепции», «сцены из реального мира». Пример. Следующие предложения выражают одно и то же суждение: − «Акула есть хищная рыба»; − «Все акулы - хищные рыбы». − «Хищными рыбами являются акулы». Классическая логика рассматривает структуру простого суждения в несколько иной интерпретации, чем это принято в современных логиколингвистических исследованиях. Так, в соответствии с понятиями классической логики о структуре суждения, простое суждение есть абстрактный объект, основными структурными элементами которого являются: − индивидный концепт (ИК); − предикатный концепт (ПК); − отношение предикации (ОП). Примеры Дано предложение: «Платон является философом». В этом предложении, выражающем суждение S: «Платон» – это логический субъект, т.е. символ, обозначающий индивидный концепт суждения S. «Философ» – это логический предикат, т.е. символ, обозначающий предикатный концепт суждения S. «Являться» – субъектно-предикатная связка, т.е. символ, обозначающий отношение предикации. Таким образом, можно сделать следующий промежуточный вывод: − индивидный концепт – это система понятий, рассматриваемая в качестве понятийной сущности, некоторого эмпирического объекта; − предикатный концепт – понятие, рассматриваемое в качестве свойства того или иного конкретного эмпирического объекта; − отношение предикации – отношение, связывающее индивидный и предикатный концепты некоторого эмпирического объекта в целостный абстрактный объект. Кроме того, можно выделить несколько типов простых суждений (См рис. 15). Существует несколько способов формализации элементарных суждений. - 31 - 1-й способ. Естественный язык, который традиционно считается громоздким и неточным, однако формального способа, который мог бы сравниться по своей универсальности с естественным языком, до сих пор не придумано. Простые суждения Атрибутивные Об отношениях Существования Монахи, как правило, скромны Магнитогорск южнее Челябинска Существуют голубые ели Рис. 15. Виды простых суждений 2-й способ. Традиционная аристотелевская логика. 3-й способ. Современная символическая логика. Основные виды сложных суждений Кроме суждений, выражаемых в аристотелевской логике высказываниями вида A, E, I, O (см. п. Логика Аристотеля), имеются и различного рода сложные суждения. Чем сложнее суждение, тем труднее точно формализовать его средствами традиционной аристотеловской логики, а в ряде случаев такая формализация просто невозможна. Поэтому анализ логической структуры сложных суждений целесообразно проводить средствами современной символической логики и в том числе средствами логики высказываний и логики предикатов (см. соответствующие пункты параграфа). К основным видам сложных суждений относятся − конъюнктивные; − дизъюнктивные; − импликативные; − модальные: o алетические (необходимо, возможно, случайно); o эпистемические (знаю, верю, полагаю, считаю); o деонтические (решено, запрешено); o аксиологические (хорошо, плохо); o темпоральные (в прошлом, раньше, вчера, завтра, в будущем); − вопросы: o ли- вопросы; o что- вопросы. Здесь также наблюдается преемственность классов логики и методов искусственного интеллекта. - 32 - Умозаключения Под умозаключением (в традиционной логике) понимается некая форма мышления, посредством которой осуществляется умственный переход (называемый «выводом») от одного или нескольких суждений (называемых «посылкой») к какому-нибудь другому суждению (называемому «заключением»). Таким образом, умозаключение – сложный абстрактный объект, в котором с помощью определенных отношений объединяется в единое целое одно или несколько суждений. Для обозначения умозаключения в логике используется термин силлогизм. Силлогизмы бывают формальные и неформальные. Первые формальные силлогизмы использовал Аристотель. Разработанная им силлогистика (теория формальных силлогизмов, т.е. умозаключений) оказала существенное влияние на развитие античной и схоластичной логики, послужила основой для создания современной логической теории умозаключений. Для закрепления понятий логики необходимо выполнить упражнения на стр. 78. Законы логики К числу наиболее важных логических законов относятся: − тождества (любой объект тождественен лишь самому себе); − не противоречивости (контрадикторные друг другу высказывания не могут быть одновременно истинными); − исключенного третьего (из двух кондрадикторных друг другу высказываний одно истинно, другое ложно, а третьего не дано); − достаточного основания (любое истинное высказывание имеет достаточное основание, в силу которого оно истинно, а не ложно). Рассмотрим более подробно каждую из обозначенных позиций. I. Закон тождества Закон тождества доказывает то, что всякая мысль тождественна самой себе, «А есть А» (А → А), где А – любая мысль. Например: «Поваренная соль NaCl состоит из Na и Cl». При нарушении этого закона возможны ошибки, перечисленные ниже. Амфиболия (от греческого amphibolos – двусмысленность, двойственность) – логическая ошибка, в основе которой лежит двусмысленность языковых выражений. Другое название этой ошибки – «подмена тезиса». Пример «Правильно говорят, что язык до Киева доведет. А я купил вчера копченый язык. Теперь смело могу идти в Киев». - 33 - Эквивокация – логическая ошибка, в основе которой лежит использование одного и того же слова в разных значениях. Эквивокация часто используется как художественный риторический прием. В логике этот прием еще называют «подмена понятия». Пример «Старый морской волк – это действительно волк. Все волки живут в лесу». Здесь ошибка обусловлена тем, что в первом суждении слово «волк» используется в качестве метафоры, а во второй посылке – в прямом значении. Логомахия – спор о словах, когда в процессе дискуссии участники не могут прийти к единой точке зрения в силу того, что не уточнили исходные понятия. Таким образом, закон тождества выражает одно из важнейших требований логического мышления – определенность. II. Закон не противоречия Данный закон выражает требование непротиворечивости мышления. Закон не противоречия гласит: два суждения, из которых в одном утверждается нечто о предмете мысли («А есть В»), а в другом тоже самое отрицается об этом же предмете мысли («А не есть В»), не могут быть одновременно истинными, если при этом признак В утверждается или отрицается о предмете мысли А, рассматриваемом в одно и то же время и в одном и том же отношении. Например, суждения «Кама – приток Волги» и «Кама не является притоком Волги» не могут быть одновременно истинными, если эти суждения относятся к одной и той же реке. Противоречия не будет, если мы что-либо утверждаем и то же самое отрицаем относительно одного и того же лица, которое, однако, рассматривается в разное время. Так, суждения «Данный человек – студент МаГУ» и «Данный человек – не является студентом МаГУ» могут быть одновременно истинными, если в первом из них имеется в виду одно время (когда данный человек учится в МаГУ), а во втором – другое (когда он закончил университет). Закон не противоречия указывает на то, что из двух противоположных суждений одно необходимо ложно. Но поскольку он распространяется и на противные, и на противоречащие суждения, вопрос о втором суждении остается открытым: оно не может быть как истинным, так и ложным: бумага не может быть белой и небелой. III. Закон исключенного третьего Закон исключенного третьего утверждает, что два противоречащих суждения не могут быть одновременно ложными: одно из них необходимо истинно; другое – необходимо ложно; третье суждение исключено, т.е. истинно либо А, либо не-А. - 34 - Закон исключенного третьего формулирует важное требование к вашему мышлению: нельзя отклоняться от признания истинным одно из двух противоречащих друг другу высказываний и искать нечто третье между ними. Если одно из них признано истинным, то другое необходимо признать ложным и не искать третье. Пример: животные могут быть либо позвоночные, либо не позвоночные, третьего ничего не может быть. IV. Закон достаточного основания Содержание данного закона можно выразить следующим образом: для того, чтобы считаться вполне достоверным, всякое положение должно быть доказано, т.е. должны быть известны достаточные основания, в силу которых оно считается истинным. Достаточным основанием может быть другая, уже проверенная практикой, признанная истинной мысль, необходимым результатом которой является истинность доказываемого положения. Пример. Логическим обоснованием суждения «В комнате стало теплее» является факт расширения ртути термометра. В науке достаточными основаниями считаются: а) положения об удостоверенных фактах действительности, б) научные определения, в) ранее доказанные научные положения, г) аксиомы, а также д) личный опыт. Логический вывод Логический вывод - это получение некоторой формулы исходя из множества других логических формул путѐм применения правил вывода. Интерпретатор логических выражений, пользуясь логическим выводом, сам строит необходимую цепочку вычислений на основе исходного описания. Значение логического подхода заключается в возможности построения интерпретатора, работа которого не зависит от логических формул. Правила в логическом представлении имеют вид: P0←P1, …, Pn. Р0 называют целью, а Р1, Р2, ..., Рn - телом правила. Предикаты Р1, Р2, ..., Рn условия, которые должны быть выполнены, чтобы достижение цели Р0 стало успешным. Разберѐм основы логического вывода на примере выполнения процедуры определения правильности рассуждения. Определение логически правильного рассуждения Когда мы говорим, что одно предложение D логически следует из другого Р, то имеем в виду следующее: всякий раз, когда предложение Р истинно, то истинно и предложение D. В логике высказываний мы имеем дело с формулами Р и D, зависящими от некоторых переменных X1, X2,.., Хn. Определение. Будем говорить, что из формулы Р(Х1, Х2,...,Хn) логически следует формула D(Х1, Х2,...,Хn) и обозначать Р├ D, если для - 35 - любых наборов значений Х1, Х2,...,Хn при условии Р(Х1, Х2,...,Хn) = И2 выполняется условие D(Х1, Х2,...,Хn) = И. Формула Р называется посылкой, a D - заключением логического рассуждения. Обычно в логических рассуждениях используется не одна посылка Р, а несколько; в этом случае рассуждение будет логически правильным из конъюнкции посылок логически следует заключение. Проверка правильности логического рассуждения Первый способ – по определению: a) записать все посылки и заключения в виде формул логики высказываний; b) составить конъюнкцию формализованных посылок Р1& P2&…& Рn,; c) проверить по таблице истинности, следует ли заключение D из формулы Р1&Р2&...&Рn. Второй способ основан на следующем признаке логического следования: «Формула D логически следует из формулы Р тогда и только тогда, когда формула Р |- D является тавтологией». Тогда проверка правильности логического рассуждения сводится к ответу на вопрос: является ли формула тавтологией? На этот вопрос можно ответить, построив таблицу истинности для формулы, или сведя эту формулу с помощью равносильных преобразований к известной тавтологии. Третий способ проверки правильности логического рассуждения назовем сокращенным, т.к. он не требует полного перебора значений переменных для построения таблицы истинности. Для обоснования этого способа сформулируем условие, при котором логическое рассуждение является неправильным. Рассуждение является неправильным, если найдется набор значений переменных X01, X02,.., Х0n такой, что посылка D(X01, X02,.., Х0n)=Л 3, а заключение P(X01, X02,.., Х0n)=И. Пример. Дано рассуждение: «Если идет дождь, то кошка в комнате или в подвале. Мышка в комнате или в норке. Если кошка в подвале, то мышка в комнате. Если кошка в комнате, то мышка в норке, а сыр в холодильнике. Сейчас идет дождь, а сыр лежит на столе. Где кошка и где мышка?». Введѐм следующие обозначения: Д – «идет дождь»; К – «кошка в комнате»; Р – «кошка в подвале»; М – «мышка в комнате»; Н – «мышка в норке»; Х – «"сыр в холодильнике»; ¬Х – «сыр на столе». Получаем следующую схему рассуждения: Д→К|Р М|Н К→Н&Х 2 3 Истинно Ложно - 36 - Р→М Д&¬Х ----? Воспользуемся правилами вывода 1) Д&¬Х├Д; 2) Д&¬Х├¬Х; 3) Д→К|Р, Д├ К|Р. Далее рассмотрим два варианта. Вариант А. Пусть имеет место К. Тогда 4а) К, К→Н&Х, К├ Н&Х; 5а) Н&Х ├ Х; 6а) ¬Х,Х├Х&¬Х – получили противоречие, значит, предположение было ошибочно и этот вариант невозможен. Вариант Б, Пусть имеет место Р. Тогда 4б) Р, Р →М├М; 5б) Р,М├Р&М Получено заключение Р&М, т.е. «кошка в подвале, а мышка в комнате» Пример Проверить правильность рассуждения сокращенным способом. Какими еще способами можно решить эту задачу? Дано рассуждение: «Если сегодня будет мороз, то я пойду на каток. Если сегодня будет оттепель, то я пойду на дискотеку. Сегодня будет мороз или оттепель. Следовательно, я пойду на дискотеку». Решение. Формализуем условие задачи, введя обозначения: М – «сегодня будет мороз»; К – «я пойду на каток»; О – «сегодня будет оттепель»; Д – «я пойду на дискотеку». Схема рассуждения имеет вид: M→K O→Д M|O ---Д Рассуждение является логически правильным, если при любых наборах значений переменных (M, К, О, Д), дня которых все посылки, истинны, заключение также истинно. Предположим противное: есть набор (M0,K0,O0.Д0) такой, что посылки истинны, а заключение ложно. Применяя определения логических операций, попытаемся найти этот набор. Убеждаемся, что предположение справедливо при значениях переменных - 37 - М0 =И, К0 =И, О0 = Л, Д0 = Л (табл. 1). Следовательно, рассуждение не является логически правильным. Таблица 1 Схема решения логической задачи № 1 2 3 4 5 6 7 Истина M0 →K0 O0 →Д0 M0 ˅ O0 M0 К0 Ложь Примечания предполагаем, что посылки истинны, Д0 О0 а заключение ложно из 2,4 и определения импликации из 3, 5 и определения дизъюнкции из 1, 6 и определения импликации Другой способ решения задачи: построить таблицу истинности для формулы (М→К)&(О→Д)&(M˅O) →Д и убедиться, что она не является тавтологией. Тогда по признаку логического следования рассуждение не является логически правильным. Так как в рассуждении участвуют четыре высказывательные переменные (M, К, О, Д), то таблица истинности будет содержать 16 строк, и этот способ является трудоѐмким. С помощью правил вывода можно построить логически правильное рассуждение, но не всегда можно доказать неправильность логического рассуждения. Поэтому для данной задачи наиболее удобным является сокращенный способ проверки правильности логического рассуждения. Для закрепления правил логического вывода необходимо выполнить упражнения на стр. 78. Основные разделы современной символической логики В развитии классической логики выделяют три следующих основных этапа: античная логика (около 500 до н.э. - нач. н. э.), схоластическая логика (нач. н. э. - первая пол. XIX века), современная символическая логика (сер. XIX-XX вв.) Современная символическая логика подразделяется на основные разделы, суть которых раскрыта ниже. Логика высказываний (исчисление высказываний). Изучает простые суждения, рассматриваемые без учета их внутренней структуры, а также элементарные умозаключения наиболее доступные человеческому пониманию. В естественном языке такие простые суждения представлены предложениями, которые рассматриваются лишь с точки зрения их истинности или ложности, а умозаключения - соответствующими системами высказываний. - 38 - Логика предикатов (исчисление предикатов). Более сложными объектами исследования являются суждения, рассматриваемые с учетом их внутренней структуры. Раздел логики, в котором изучаются не только связи между суждениями, но и внутренняя понятийная структура суждений, получил название «логика предикатов». Металогика. Металогика представляет собой расширение логики предикатов. Предметом ее изучения является вся сфера отношений в целом, все те универсальные отношения, которые могут иметь место между понятиями, суждениями, умозаключениями, а также символами, их обозначающими. В следующих пунктах параграфа представлены ключевые позиции логики высказываний и предикатов первого порядка. В целях лучшего понимания современных логик, необходимо рассмотреть основные положения, определяемые силлогизмами Аристотеля. Логика Аристотеля В логике Аристотеля строение элементарных суждений выражают структуры: − S есть P (1); − S не есть P (2) , где S – некоторый логический субъект (от лат. Subjectum); P - некоторый логический предикат (от лат. Predicatum). Виды суждений логики Аристотеля перечислены ниже. 1. Общеутвердительные суждения – А «Все S есть Р» – Все поэты впечатлительные люди. Слова «есть», «не есть» выполняют роль субъектно-предикатной связки. Из высказываний (1) и (2) с помощью слов «все» и «некоторые» строятся высказывания вида: − все S есть P: Тип A (Affirmo); − некоторые S есть P: Тип I (AffIrmo); − все S не есть P: Тип N (Nego); − некоторые S не есть P: Тип O (NegO). 2. Общеотрицательные суждения – Е (N) «Ни одно S не есть Р» - Ни один человек не всеведущ. 3. Частноутвердительное суждение – I «Некоторые S есть Р» – Некоторые люди имеют курчавые волосы. 4. Частноотрицательное суждение – О «Некоторые S не есть Р» – Некоторые люди не умеют слушать. Высказывания типа A, E, I, O суть простые категорические высказывания, образующие фундамент всей аристотелевской логики. Между истинностью и ложностью высказываний типа A, E, I, O имеет место функционально-целостные отношения, которые обычно изображают в виде логического квадрата (рис. 16, табл. 2). - 39 - При использовании логического квадрата важно учитывать следующую тонкость: слово «некоторые» при этом понимается в широком смысле – как «некоторые, а может быть и все». Таблица 2 Таблица истинности для суждений логики Аристотеля A И Л Л E Л Л И I И И Л O Л И И Рис. 16. Логический квадрат Пояснения к логическому квадрату Аристотеля В левом верхнем углу логического квадрата располагаются высказывания типа A (общеутвердительные). В правом верхнем углу – высказывания типа E (общеотрицательные). В левом нижнем углу (под A) – высказывания типа I (частноутвердительные). В правом нижнем углу (под E) – высказывания типа O (частноотрицательные). Высказывания типов А и О, а также высказывания типов Е и I находятся между собой в отношении контрадикторности, или противоречия (диагональные отношения). Высказывания типов А и Е находятся в отношении контрарности, или противоположности. - 40 - Высказывания типа I подчинены (следовательно, подразумевают) высказываниям типа А. Высказывания типа О подчинены высказываниям типа Е. В то время как контрадикторные высказывания имеют противоположные истинностные значения (одно истинно, другое ложно), контрарные высказывания не могут быть одновременно истинными, но могут быть одновременно ложными. При помощи логического квадрата можно вывести противоположные, противоречащие и подчиненные данным суждения, установив их истинность или ложность. Пример 1. Всякое суждение выражается в предложении А →1. 2. Ни одно суждение не выражается в предложении Е→ 0. 3. Некоторые суждения не выражаются в предложении О → 0. 4. Некоторые суждения выражаются в предложении I → 1. Кроме того, с помощью логического квадрата Аристотеля, можно устанавливать типы отношений между суждениями: 1) получения выводных знаний; 2) сопоставления разных точек зрения по дискуссионным вопросам; 3) редактирования текстов и в других случаях. Формализмы исчисления высказываний В основе многих моделей представления знаний лежат формализмы исчисления высказываний и предикатов. Строгое изложение этих теорий с точки зрения классической математической логики содержится в работах Шенфилда и Тейза, у Поспелова можно найти популярное изложение этих теорий, которое можно рекомендовать как начальное введение. По определению Тейза логические высказывания - это класс предложений естественного языка, которые могут быть истинными или ложными, а исчисление высказываний это раздел логики, который изучает такие предложения. Возникает естественный вопрос: А как быть с предложениями языка, об истинности которых нельзя сказать ничего определенного? Пример. «Если завтра пойдет дождь, то я останусь дома». Пока просто будем считать, что все предложения, с которыми нам приходится иметь дело, относятся к классу логических высказываний. Высказывания будем обозначать прописными буквами латинского алфавита и индексом, если этого потребует изложение. Образцы обозначения высказываний: S, S1, S2, H, H1, H2. Как уже отмечалось, логическое высказывание либо истинно, либо ложно. Истинному высказыванию присваивается логическое значение - 41 - ИСТИНА (или И), ложному - логическое значение ЛОЖЬ (или Л). Таким образом, значение истинности образует множество {И,Л}. В исчислении высказываний вводится пять логических связок (табл. 3), с помощью которых в соответствии с правилами построения составляются логические формулы. Таблица 3 Логические связки Обычное Название Тип Другие обозначения обозначение Отрицание Унарный -, ~, NOT, НЕ  Конъюнкция ^ Бинарный & , ., AND , И * Дизъюнкция  Бинарный OR ИЛИ Импликация  Бинарный => -> Эквивалентность  Бинарный <=> <-> ~ * Примечание: не путать со значением истинности И. Совокупность правил построения логических формул на основе высказываний включает три компонента: − базис: всякое высказывание является формулой; − индукционный шаг: если X и Y - формулы, то X, (X ^ Y), (X  Y), X Y и X  Y – формулы; − ограничение: формула однозначно получается с помощью правил, описанных в базисе и индукционном шаге. Формулы обозначаются прописными буквами латинского алфавита с индексами. Образцы логических формул приведены в примере. Примеры а) T = S1 ^ S2; б) N = H1H2. Выражение а) можно прочитать так: «Логическая формула T есть конъюнкция (логическая связка И) логических высказываний S1 и S2». Интерпретация же выражения б) следующая: «Логическая формула N есть дизъюнкция (логическая связка ИЛИ) отрицания (НЕ) логического высказывания H1 и логического высказывания H2». Значение истинности логической формулы является функцией значений истинности составляющих ее высказываний и может быть определено однозначно с помощью таблиц истинности. Ниже приводятся таблицы истинности для отрицания и бинарных связок (табл. 4, 5) Таким образом, если известны значения истинности для высказываний из примера а), например S1 = И, S2 = Л, то значение истинности для формулы - 42 - T можно найти на пересечении второй строки и третьего столбца в табл.5, то есть T = Л. Таблица 4 Таблица истинности для отрицания ¬X И Л Л И Таблица 5 Таблица истинности для бинарных связок X Y X^Y X Y XY XY И И И И И И И Л Л И Л Л Л И Л И И Л Л Л Л Л И И Логика предикатов первого порядка Отношения между объектами описываются с помощью специальных математических понятий, названных логическими предикатами, а исчисление предикатов - это раздел логики, который занимается их изучением. Любая логика есть формальная система, для которой должны быть определены: − алфавит системы - счетное множество символов; − формулы системы - некоторое подмножество всех слов, которые можно образовать из символов, входящих в алфавит (обычно задается процедура, позволяющая составлять формулы из символов алфавита системы); − аксиомы системы - выделенное множество формул системы; − правила вывода системы - конечное множество отношений между формулами системы. Словарь исчисления предикатов в стандартном изложении включает следующие понятия: − переменные (будем обозначать их последними буквами английского алфавита u, v, x, y, z); − константы (будем обозначать их первыми буквами английского алфавита a, b, c, d): o индивидные константы; o функциональные константы; o предикатные константы; − высказывания; - 43 - − логические связки(¬ (отрицание), конъюнкция, дизъюнкция, импликация); − кванторы: (существования, всеобщности); − термы; − функциональные формы; − предикатные формы; − атомы; − формулы. Индивидные константы и индивидные переменные Они подобны константам и переменным из математического анализа, с той лишь разницей, что область их изменения представляет собой индивиды, а не действительные числа. В теории искусственного интеллекта именованные константы и переменные в памяти агента, соответствующие объектам и понятием в реальном мире принято называть концептами. В языках первого порядка, переменные бывают только индивидные, поэтому их называют просто переменные. Как будет показано далее, применение языков первого порядка и отказ от использования языков высокого порядка накладывает дополнительные ограничения на класс рассматриваемых предложений естественного языка. Индивидные константы будут обозначаться строчными буквами a, b, c, u, v, w латинского алфавита с индексами или мнемоническими именами, взятыми из текста. Для обозначения переменных будут использоваться строчные буквы x,y,z, латинского алфавита с индексами. Пример. Индивидные константы: a1, b1, c, u, v1, продавец_w, k22, покупка_l, m10, книга_a1 . Переменные: x, y2, z33. Предикатные константы Предикатные константы служат обозначением отношения, которое описывает предикат. Предикатная константа не меняет своего значения истинности. Она связана с подходящим числом аргументов или параметров, называемых термами, образуя предикатную форму. Обозначением предикатной константы служат мнемонические имена или буква латинского алфавита Р с индексами. В языке предикатов содержится язык высказываний, так как высказывание - не что иное, как предикатная константа без аргументов, или нуль-местная предикатная форма. Семантическая область предикатной формы совпадает с областью изменения высказывания, т.е. {И,Л}. Функциональные константы Функциональная константа (f, g, h) так же как предикатная константа, соединяясь с подходящим числом термов, образует функциональную форму. Отличие функциональной формы от предикатной формы заключается в том, - 44 - что ее семантическую область составляет множество индивидных констант. Нуль-местная функциональная константа - просто индивидная константа. логические связки в исчислении предикатов служат для образования формул. Кванторы. В исчислении предикатов используются два квантора: квантор общности () и квантор существования (). Выражение xP читается как «для всякого х P истинно». Выражение xP читается как «существует такой x, для которого P истинно». Термом называется выражение, образованное из переменных и констант, возможно, с применением функций. Термы, формы, атомы и формулы в исчислении предикатов строятся с помощью нижеследующих правил: − всякая переменная или константа есть терм; − если t1,...,tn - термы, а f - n-местный функциональный символ, то f(t1,...,tn) - терм; − других термов нет. По сути дела, все объекты в логике предикатов первого порядка представляются именно в виде термов. Если терм не содержит переменных, то он называется основным или константным термом. Термом (t1,t2 ...tn) является всякая переменная и всякая функциональная форма. Функциональная форма – это функциональная константа, соединенная с подходящим числом термов. Если f - функциональная nместная константа и t1 ..., tn - термы, то соответствующая форма обычно обозначается через f(t1, ...,tn). Если n=0, то пишется просто f. Предикатная форма – это предикатная константа, соединенная с подходящим числом термов. Если p соответствующая m -местная константа и t1, ..., tn - термы, то соответствующая форма обозначается через p(t1,...,tm). Атом – это предикатная форма или некоторое равенство, т.е. выражение типа (s=t), где s и t - термы. Атомная или элементарная формула получается путѐм применения предиката к термам, точнее, это выражение p(t1,...,tn), где p - n-местный предикатный символ (формула), а t1,...,tn - термы. Понятие формулы определяется рекурсивно (индуктивно) следующими правилами: - атом есть формула; - если A - формула, A -формула; - если A и B - формулы, то (A ^ B), (A  B), (A  B) и (A  B) формулы; - если A - формула и x - переменная, то xA и xA - формулы. Представим алфавит логики предикатов через понятия. Константы. Они служат именами индивидуумов (в отличие от имен совокупностей): объектов, людей или событий. Константы представляются - 45 - символами вроде Жак_2 (добавление 2 к слову Жак указывает на вполне определенного человека среди людей с таким именем), Книга_22, Посылка_8. Переменные. Обозначают имена совокупностей, таких как человек, книга, посылка, событие. Символ Книга_22 представляет вполне определенный экземпляр, а символ книга указывает либо множество «всех книг», либо «понятие книги». Символами x, y, z представлены имена совокупностей (определенных множеств или понятий). Предикатные имена (предикатные константы). Они задают правила соединения констант и переменных, например правила грамматики, процедуры, математические операции. Для предикативных имен используются символы наподобие следующих фраз: Посылать, Писать, Плюс, Разделить. Функциональные имена (функциональные константы) представляют такие же правила, как и предикаты. Чтобы не спутать с предикатными именами, функциональные имена пишут одними строчными буквами: фраза, посылать, писать, плюс, разделить. Символы, которые применяются для представления констант, переменных, предикатов и функций, не являются «словами русского языка». Они суть символы некоторого представления - слова «объектного языка» (в нашем случае языка предикатов). Представление должно исключать всякую двусмысленность языка. Поэтому имена индивидуумов содержат цифры, приписываемые к именам совокупностей. Жак_1 и Жак_2 представляют двух людей с одинаковыми именами. Эти представления суть конкретизации имени совокупности «Жак». Предикат – это предикатное имя вместе с подходящим числом термов. Предикат называют также предикатной формой. Пример. По-русски: Жак посылает книгу Мари, логически: Посылка (Жак_2, Мари_4, Книга_22). Нечѐткая логика Появление нечетких логик, теории нечетких множеств и других «нечетких» теорий связано с работой американского ученого Заде. Основная идея Заде состояла в том, что человеческий способ рассуждений, опирающийся на естественный язык, не может быть описан в рамках традиционных математических формализмов. Этим формализмам присуща строгая однозначность интерпретации, а все, что связано с использованием естественного языка, имеет многозначную интерпретацию. Цель Заде состояла в построении новой математической дисциплины, в основе которой лежала бы не классическая теория множеств, а теория нечетких множеств. Последовательно проводя идею нечеткости, по мнению Заде, можно построить нечеткие аналогии всех основных математических понятий и создать необходимый формальный аппарат для моделирования человеческих рассуждений и человеческого способа решения задач (рис. 17). - 46 - Создание теории нечетких множеств - Решение Математическая теория нечетких множеств - Основа механизма Формализация рассуждений человеческого способа - Задача Тезис – человек в своей повседневной жизни - Проблема мыслит и принимает решения на основе нечетких понятий Рис. 17. Логика возникновения теории нечѐтких множеств В настоящее время теория нечѐтких множеств и нечѐткой логики (fuzzy set & fuzzy logic) занимает прочное место среди ведущих направлений искусственного интеллекта. Понятие «нечѐткости», примененное изначально к множествам, а затем в логике, было успешно распространено в другие области математики и информатики и сейчас уже существуют: - теория нечетких отношений; - теория нечетких множеств; - теория нечетких мер и интегралов; - теория нечетких чисел и уравнений: - теория нечеткой логики и приближенных рассуждений: - теория нечетких языков; - теория нечетких алгоритмов; - теория нечетких моделей оптимизации и принятия решений. Наиболее популярны у российских заказчиков следующие пакеты: 1) CubiCalc 2.0 RTC – одна из наиболее мощных коммерческих экспертных систем на основе нечеткой логики, позволяющая создавать собственные прикладные экспертные системы; 2) CubiQuick – академическая версия пакета CubiCalc; 3) RuleMaker – программа автоматического извлечения нечетких правил из входных данных; 4) FuziCalc – электронная таблица с нечеткими полями, позволяющая делать быстрые оценки при неточно известных данных без накопления ошибки; 5) OWL – пакет, содержащий исходные тексты всех известных видов нейронных сетей, нечеткой ассоциативной памяти и т.д. Основными «потребителями» нечѐткой логики на рынке России являются: банкиры, финансисты и специалисты в области политического и экономического анализа. - 47 - В большинстве решаемых человеком задач не требуется высокая точность. Часто приходится находить разумный компромисс между понятиями «точность» и «важность» при общении с реальным миром. Например: для принятия решения о переходе улицы человек не оценивает скорость приближающегося автомобиля с точностью до десятых долей метров в секунду. Он определяет для себя скорость автомобиля как «очень быструю», «быструю», «медленную» и т.д., т.е. использует для обозначения скорости лингвистические переменные. В теории нечѐтких множеств предлагаются следующие способы формализации нечѐтких понятий. Первый способ (основан на работах Заде) предполагает отказ от основного утверждения классической теории множеств о том, что некоторый элемент может либо принадлежать, либо не принадлежать множеству. При этом вводится специальная характеристическая функция множества - так называемая функция принадлежности, которая принимает значения из интервала . Этот способ приводит к континуальной логике. При втором более общем способе формализации нечеткости предполагается, что характеристические функции множества принимают значение не из интервала , а в конечной или бесконечной дистрибутивной решетке. Это обобщение называется нечеткими множествами в смысле Гогена. Третий способ – P-нечеткие множества. При этом обобщении каждый элемент универсального множества связан не с точкой в интервале , а с подмножеством или частью этого интервала. Алгебра P-нечетких множеств может быть сведена к алгебре классов. Четвертый способ – гетерогенные нечеткие множества. Здесь в общем случае элементам универсального множества ставятся в соответствие значения в различных дистрибутивных решетках. Каждый элемент может быть связан с наиболее подходящей к нему оценкой. Более того, сами значения оценок могут быть нечеткими и задаваться в виде функций. Общее представление о нечѐткой логике получено. Теперь обо всѐм подробней. Рассмотрим понятийный аппарат, в основе которого лежит понятие «лингвистической переменной». Определение лингвистической переменной (интуитивное)4 Если переменная может принимать значения слов в естественном языке (например, «маленький», «быстрый» и т.п.), то эта переменная определяется как лингвистическая переменная. Слова, значения которых принимает лингвистическая переменная, обычно обозначают собой нечѐткие множества. 4 Интеллектуальные информационные системы: Методические указания к лабораторному практикуму по курсу "Интеллектуальные информационные системы" для студентов специальности 071900 -Информационные системы в экономике / Уфимск. гос. авиац. техн. ун-т; сост.: Г.Г.Куликов, Т.В.Брейкин, Л.З.Камалова. - Уфа, 1999. -40 с. - 48 - Лингвистическая переменная может принимать своими значениями либо слова, либо числа. Определение лингвистической переменной (формальное) Лингвистической переменной называется пятерка (х, Т(х), Х, G, M), где х – имя переменной; Т(х) – множество имен лингвистических значений переменной х, каждое из которых является нечетким множеством на множестве Х; G – синтаксическое правило для образования имен значений х; М – семантическое правило для ассоциирования каждой величины значения с ее понятием. Цель концепции лингвистической переменной состоит в том, чтобы формальным образом сказать, что переменная может принимать в качестве значений слова из естественного языка. Другим словами, каждая лингвистическая переменная состоит из: − названия; − множества своих значений, которое также называется базовым терммножеством T. Элементы базового терм-множества представляют собой названия нечетких переменных; − универсального множества X; − синтаксического правила G, по которому генерируются новые термы с применением слов естественного или формального языка; − семантического правила P, которое каждому значению лингвистической переменной ставит в соответствие нечеткое подмножество множества X. Например, если мы говорим «быстрая скорость», то переменная «скорость» должна пониматься как лингвистическая переменная, но это не означает, что переменная «скорость» не может принимать реальные значения Нечѐткая переменная описывается набором (N,X,A), где N – это название переменной, X – универсальное множество (область рассуждений), A – нечѐткое множество на X. Значениями лингвистической переменной могут быть нечѐткие переменные, т.е. лингвистическая переменная находится на более высоком уровне, чем нечѐткая переменная. Основной подход к формализации нечѐткости состоит в следующем. Нечѐткое множество образуется путем введения обобщенного понятия принадлежности, т.е. расширения двухэлементного множества значений характеристической функции {0,1} до континуума . Это означает, что переход от полной принадлежности объекта классу к полной его непринадлежности происходит не скачком, а плавно, постепенно, причѐм принадлежность элемента множеству выражается числом из интервала . - 49 - Нечёткое множество (НМ) , определяется математически как совокупность упорядоченных пар, составленных из элементов x универсального множества X и соответствующих степеней принадлежности μа(x) или (поскольку функция принадлежности является исчерпывающей характеристикой НМ) непосредственно в виде функции Универсальным множеством X нечѐткого множества A называется область определения функции принадлежности μа. На рис. 18 представлены основные разновидности функций принадлежности. Рис. 18. Вид функций принадлежности По виду функций принадлежности их различают на: − субмодальные (Рис 1. c); − амодальные(Рис 1. a); − многомодальные(Рис 1. m); − унимодальные (Рис 1. u). − Пример. 1) A ={(x1,0.2),(x2,0.6),(x3,1),(x4,0.8)}; 2) A = 0.2|x1 + 0.6|x2 + 1|x3 + 0.8|x4. 3) Этот же пример можно представить в виде таблицы. Таблица 6 A= Таблица описания функции принадлежности x1 x2 x3 х4 0.2 0.6 1 0.8 Пример «Множество высоких людей» В реальной жизни такое понятие, как «рост высокого человека», является субъективным. Одни считают, что высокий человек должен быть ростом более 170 см, другие - более 180 см, третьи - более 190 см. Нечѐткие множества позволяют учесть такую размытость оценок. - 50 - Пусть х есть лингвистическая переменная, обозначающая «рост человека», еѐ функция принадлежности к множеству высоких людей A:X{0,1}, где Х - множество, включающее в себя все возможные значения роста человека, задана следующим образом: Тогда множество «высоких людей» задается выражением A={x| A(x)=1}, х ϲ X. Графически это представлено на рис. 19 (сплошная линия), т.е. зависит от индивидуума, делающего оценку. Пусть функция принадлежности A:X{0,1} имеет вид, представленный на рисунке пунктирной линией. Рис. 19. Нечѐткое множество высоких людей Таким образом, человек ростом 145 см будет принадлежать множеству А со степенью принадлежности A(145)=0, человек ростом 165 см - A(165) = 0,3, ростом 185 см -A (185)= 0,9, a ростом 205 см - A(205)=1. Пример. «Холодно ли Вам сейчас?» Температуру в +60oF (+12oC) человек воспринимает как холод, а в +80oF (+27oC) – как жару. Температура в +65oF (+15oC) одним кажется низкой, другим – достаточно комфортной. Мы называем эту группу определений функцией принадлежности к множествам, описывающим субъективное восприятие температуры человеком. Машины не способны проводить такую тонкую градацию. Если стандартом определения холода будет «температура ниже +15oC», то +14,99oC будет расцениваться как холод, а +15oC – не будет. На рис. 20. представлен график, помогающий понять то, как человек воспринимает температуру. Так же просто можно создать дополнительные множества, описывающие восприятие температуры человеком. Например, можно добавить такие множества, как «очень холодно» и «очень жарко». Можно описать подобные функции для других концепций, например, для состояний «открыто» и «закрыто», температуры в охладителе - 51 - или температуры в башенном охладителе. Рис. 20. Нечѐткое множество «Температура» Таким образом, можно сделать следующие выводы по сути понятия «нечѐткое множество»: 1) нечеткие множества описывают неопределенные понятия (быстрый бегун, горячая вода, жаркая погода); 2) нечеткие множества допускают возможность частичной принадлежности к ним (пятница – частично выходной день (укороченный), погода скорее жаркая); 3) степень принадлежности объекта к нечеткому множеству определяется соответствующим значением функции принадлежности на интервале (пятница принадлежит к выходным дням со степенью принадлежности 0,3); 4) функция принадлежности ставит в соответствие объекту (или логической переменной) значение степени его принадлежности к нечеткому множеству. Формы кривых для задания функций принадлежности Существует свыше десятка типовых кривых для задания функций принадлежности. Наибольшее распространение получили: треугольная, трапецеидальная и гауссова функции принадлежности. Треугольная функция принадлежности определяется тройкой чисел (a,b,c), и ее значение в точке x вычисляется согласно выражению (1).  bx 1  b  a , a  x  b;  c  x MF (x)   , b  x  c; c  b  0, во всех остальных случаях   - 52 - (1) При (b-a)=(c-b) имеем случай симметричной треугольной функции принадлежности(рис.21), которая может быть однозначно задана двумя параметрами из тройки (a,b,c). Рис. 21. Треугольная функция принадлежности Аналогично для задания трапецеидальной функции принадлежности необходима четверка чисел (a,b,c,d).  bx 1  b  a , a  x  b;  1, b  x  c; MF (x)   d  x , c  x  d; d c 0, во всех остальных случаях  (2) При (b-a)=(d-c) трапецеидальная функция принадлежности принимает симметричный вид (рис. 22). Рис. 22. Трапецеидальная функция принадлежности Совокупность функций принадлежности для каждого терма из базового терм-множества T обычно изображаются вместе на одном графике. На рис. 23 представлена формализация неточного понятия "Возраст человека". Так, для человека 48 лет степень принадлежности к множеству "Молодой" равна 0, "Средний" – 0,47, "Выше среднего" – 0,20. - 53 - Рис. 23. Описание лингвистической переменной «Возраст человека» Основные операции над нечёткими множествами Основные операции над НМ из класса всех НМ F(X)={ | :X  } универсального множества X представлены ниже. 1. Дополнение5  2 =   = 1-  1,  x  X Рис. 24. График операции «Дополнение» над функцией М 2. Пересечение I (минимум: невзаимодействующие переменные).  3 = ( 1   2) (x)= min( 1(x),  2(x)) ,  x  X 3. Объединение I (максимум: невзаимодействующие переменные).  3 = ( 1   2) (x)= max( 1(x),  2(x)) ,  x  X 4. Пересечение II (ограниченное произведение).  3 = ( 1   2) (x)= max{0,  1(x) +  2(x)-1} , x  X 5. Объединение II (максимум: ограниченная сумма).  3 = ( 1   2) (x)= min{1,  1(x) +  2(x)} ,  x  X 6. Пересечение III (алгебраическое произведение). 5 Здесь и далее на жѐлтом фоне отображают операции, одинаковые для всех трѐх базисов. - 54 -  3 = ( 1   2) (x)=  1(x) *  2(x) ,  x  X 7. Объединение III (алгебраическая сумма).  3 = ( 1   2) (x)=  1(x) +  2(x)-  1(x)   2(x) ,  x  X А В Рис. 25. График операции пересечения I (А) объединения I (В) функций М и М1 А В Рис. 26. График операции пересечения II (А) объединения II (В) функций М и М1 А В Рис. 27. График операции пересечения III (А) объединения III (В) функций М и М1 - 55 - 8. Разность.  3 =  1(x) -  2(x) = max{0,  1(x) -  2(x)} ,  x  X 9. Концентрирование.  3 =  2(x) ,  x  X Рис. 28. График разности функций М и М1 Рис. 29. График концентрирования функции М1 В отличие от булевой алгебры, в F(X) законы исключения третьего не выполняются. При построении операций объединения или пересечения в F(X) надо отбросить либо законы исключения третьего, либо свойство дистрибутивности и идемпотентности. Нечѐткие объекты можно классифицировать по виду области значений функции принадлежности. И здесь различают варианты X: - решетка; - полугруппа; - кольцо; - категория. Важным для практических приложений в плане выражения качественных представлений и оценок человека в процессе принятия решения задачи является случай S-нечетких множеств, задаваемых парой (X, ), где - 56 - :XS - отображение из X в линейно упорядоченное множество S. На S естественно наложить требования конечности и полноты. Пример конечного линейно упорядоченного множества - набор лингвистических значений лингвистической переменной «КАЧЕСТВО» = {плохое, среднее, хорошее, отличное}. N 1 2 3 4 5 6 7 8 9 Таблица 7 Таблица соответствия операций над нечѐткими множествами и логическими функциями Наименование операции Модификатор/связка Дополнение НЕ Пересечение (минимум: И (И, ...,И) невзаимодействующие переменные) Объединение I (максимум: ИЛИ невзаимодействующие переменные) (ЛИБО, ... , ЛИБО) Пересечение II (ограниченное И произведение) Объединение II (ограниченная сумма) ИЛИ Пересечение III (алгебраическое И произведение) Объединение III (алгебраическая сумма) ИЛИ Разность Концентрирование ОЧЕНЬ Как было показано, в зависимости от способов введения операций объединения и пересечения НМ существуют три основных теории НМ. В соответствии с аналогичными критериями разделяют: − нечеткую логику с максиминными операциями (операции 1,2,3,8,9); − нечеткую логику с ограниченными операциями (операции 1,4,5,8,9); − вероятностную нечеткую логику (операции 1,6,7,8,9). Трактовка истинности как лингвистической переменной приводит к нечеткой логике со значениями «истинный», «очень истинный», «совершенно истинный», «более или менее истинный», «не очень истинный», «ложный» и т.д. , т.е. к нечѐткозначной логике, на которой основана теория приближенных рассуждений. Области применения теории нечетких множеств в различных областях человеческих знаний В философском плане теория НМ примечательна тем, что открывает

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

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

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

ОГЛАВЛЕНИЕ
Глава 1. Искусственный интеллект
1.1. Введение в системы искусственного интеллекта
1.1.1. Понятие об искусственном интеллекте
1.1.2. Искусственный интеллект в России
1.1.3. Функциональная структура системы искусственного интеллекта
1.2. Направления развития искусственного интеллекта
1.3. Данные и знания. Представление знаний в интеллектуальных системах
1.3.1. Данные и знания. Основные определения
1.3.2. Модели представления знаний
1.4. Экспертные системы
1.4.1. Структура экспертной системы
1.4.2. Разработка и использование экспертных систем
1.4.3. Классификация экспертных систем
1.4.4. Представление знаний в экспертных системах
1.4.5. Инструментальные средства построения экспертных систем
1.4.6. Технология разработки экспертной системы
Контрольные вопросы и задания к главе 1
Литература к главе 1
Глава 2. Логическое программирование
2.1. Методологии программирования
2.1.1. Методология императивного программирования
2.1.2. Методология объектно-ориентированного программирования
2.1.3. Методология функционального программирования
2.1.4. Методология логического программирования
2.1.5. Методология программирования в ограничениях
2.1.6. Методология нейросетевого программирования
2.2. Краткое введение в исчисление предикатов и доказательство теорем
2.3. Процесс логического вывода в языке Prolog
2.4. Структура программы на языке Prolog
2.4.1. Использование составных объектов
2.4.2. Использование альтернативных доменов
2.5. Организация повторений в языке Prolog
2.5.1. Метод отката после неудачи
2.5.2. Метод отсечения и отката
2.5.3. Простая рекурсия
2.5.4. Метод обобщенного правила рекурсии (ОПР)
2.6. Списки в языке Prolog
2.6.1. Операции над списками
2.7. Строки в языке Prolog
2.7.1. Операции над строками
2.8. Файлы в языке Prolog
2.8.1. Предикаты Prolog для работы с файлами
2.8.2. Описание файлового домена
2.8.3. Запись в файл
2.8.4. Чтение из файла
2.8.5. Модификация существующего файла
2.8.6. Дозапись в конец уже существующего файла
2.9. Создание динамических баз данных в языке Prolog
2.9.1. Базы данных на Prolog
2.9.2. Предикаты динамической базы данных в языке Prolog
2.10. Создание экспертных систем
2.10.1. Структура экспертной системы
2.10.2. Представление знаний
2.10.3. Методы вывода
2.10.4. Система пользовательского интерфейса
2.10.5. Экспертная система, базирующаяся на правилах
Контрольные вопросы и задания к главе 2
Литература к главе 2
Глава 3. Нейронные сети
3.1. Введение в нейронные сети
3.2. Искусственная модель нейрона
3.3. Применение нейронных сетей
3.4. Обучение нейросети
Контрольные вопросы и задания к главе 3
Литература к главе 3.

Бесплатно скачать электронную книгу в удобном формате, смотреть и читать:
Скачать книгу Основы искусственного интеллекта, Боровская Е.В., Давыдова Н.А., 2016 - fileskachat.com, быстрое и бесплатное скачивание.

Коломенский институт (филиал)

Государственного образовательного учреждения высшего

профессионального образования

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

Кафедра информатики и информационных технологий

«УТВЕРЖДЕНО»

Учебно-методическим

Советом КИ (ф) МГОУ

Председатель совета

профессор

А.М. Липатов

«___» ____________ 2010 г.

П.С. Романов

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

Учебное пособие по дисциплинам направления

«Информатика и вычислительная техника»

Для студентов высших учебных заведений

Коломна – 2010

У

Печатается в соответствии с решением учебно-методического совета Коломенского института (филиала) ГОУ ВПО «МГОУ» от __________ 2010 г. № ________

ДК 519.6

Р69 Романов П.С.

Основы искусственного интеллекта. Учебное пособие. – Коломна: КИ (ф) МГОУ, 2010. – 164 с.

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

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

Рецензент: доктор технических наук, профессор В.Г. Новиков

©Романов П.С.

©КИ(ф) МГОУ, 2010

Введение………………………………............……………………………………...5

Глава 1. Основные понятия искусственного интеллекта................................6

§ 1.1. Основные термины и определения...................................................6

§ 1.2. История развития систем ИИ...........................................................12

§ 1.4. Основные направления развития и применения

интеллектуальных систем................................................................25

Глава 2. Положения теории нечетких множеств...........................................32

§ 2.1. Нечеткое множество. Операции над нечеткими множествами…..32

§ 2.1.1. Основные операции над нечеткими множествами....................35

§ 2.2. Построение функции принадлежности...........................................38

§ 2.2.1. Некоторые методы построения функции принадлежности......39

§ 2.3. Нечеткие числа.................................................................................44

§ 2.4. Операции с нечеткими числами (L-R)-типа....................................46

§ 2.5. Нечеткая и лингвистическая переменные........................................47

§ 2.6. Нечеткие отношения........................................................................50

§ 2.7. Нечеткая логика................................................................................51

§ 2.8. Нечеткие выводы..............................................................................53

§ 2.9. Автоматизация обработки информации с использованием

нечетких систем..................................................................................59

Глава 3. Основные интеллектуальные системы...........................................64

§ 3.1. Данные и знания...............................................................................64

§ 3.2. Модели представления знаний........................................................66

§ 3.3.1. Продукционные правила...............................................................69

§ 3.3.2. Фреймы..........................................................................................72

§ 3.3.3. Семантические сети......................................................................74

§ 3.4. Экспертные системы. Предметные области...................................76

§ 3.5. Назначение и область применения экспертных систем.................77

§ 3.6. Методология разработки экспертных систем.................................81

§ 3.7. Основные экспертные системы........................................................86

§ 3.8. Трудности в разработке экспертных систем и пути их

преодоления......................................................................................90

§ 3.9. Назначение, классификация роботов..............................................94

§ 3.10. Примеры роботов и робототехнических систем..........................97

§ 3.10.1. Домашние (бытовые) роботы.................................................97

§ 3.10.2. Роботы спасатели и исследовательские роботы...................99

§ 3.10.3. Роботы для промышленности и медицины...........................100

§ 3.10.4. Военные роботы и робототехнические системы..................101

§ 3.10.5. Мозг как аналого-цифровое устройство................................104

§ 3.10.6. Роботы – игрушки...................................................................104

§ 3.11. Проблемы технической реализации роботов...............................105

§ 3.12. Адаптивные промышленные роботы..........................................114

§ 3.12.1. Адаптация и обучение............................................................114

§ 3.12.2. Классификация адаптивных систем управления

промышленными роботами...................................................117

§ 3.12.3. Примеры адаптивных систем управления роботами............123

§ 3.12.4. Проблемы в создании промышленных роботов...................128

§ 3.13. Нейросетевые и нейрокомпьютерные технологии......................132

§ 3.13.1. Общая характеристика направления....................................132

§ 3.13.2. Нейропакеты..........................................................................140

§ 3.14. Нейронные сети............................................................................147

§ 3.14.1. Персептрон и его развитие...................................................147

3.14.1.1. Математический нейрон Мак-Каллока-Питтса................147

3.14.1.2. Персептрон Розенблатта и правило Хебба......................148

3.14.1.3. Дельта-правило и распознавание букв.............................150

3.14.1.4. Адалайн, мадалайн и обобщенное дельта-правило..........152

§ 3.14.2. Многослойный персептрон и алгоритм обратного

распространения ошибки.....................................................155

§ 3.14.3. Виды активационных функций.............................................160

Введение

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

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

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

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

Армавирский государственный

педагогический университет

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

для студентов, обучающихся по специальности «Информатика»

Армавир 2004

Печатается по решению УМС АГПУ

Рецензент: , кандидат физико-математических наук, доцент, начальник Интернет-центра Кабардино-Балкарской ГСХА

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

Рассматриваются базовые понятия искусственного интеллекта, направления и перспективы развития исследований в области искусственного интеллекта, основы языка логического программирования ПРОЛОГ.

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

Введение………………………………………………..……………………... 4

1. Искусственный интеллект: предмет, история
развития, направления исследований ……..………………….. 5

1.1. Направления исследований в области
искусственного интеллекта…..…………………………………………….. 5


искусственного интеллекта….…………………………..………………..... 6

2. Система знаний……………………………………………………….. 8

3. Модели представления знаний…………………………………. 9

3.1. Семантические сети……………………………………………………..9

3.2. Фреймовая модель ………………………………………….…………10

3.3. Продукционная модель………………………………………………..11

3.4. Логическая модель……………………………………………………. .12

4. Экспертные системы………………………………………………...12

4.1. Назначение экспертных систем……………………………………….12

4.2. Типы задач, решаемых с помощью экспертных систем…………….14

4.3. Структура экспертных систем………………………………………...15

4.4. Основные этапы разработки экспертных систем……………………16

4.5. Инструментальные средства разработки экспертных систем………18

5. ПРОЛОГ - язык логического программирования ……….19

5.1. Общие сведения о ПРОЛОГе…………………………………………19

5.2. Предложения: факты и правила………………………………………20

5.4. Переменные в ПРОЛОГе……………………………………………...22

5.5. Объекты и типы данных в ПРОЛОГе………………………………...23

5.6. Основные разделы ПРОЛОГ-программы…………………………….23

5.7. Поиск с возвратом……………………………………………………...24

5.8. Управление поиском с возвратом: предикаты fail и отсечения ……26

5.9. Арифметические вычисления…………………………………………27

5.10. Рекурсия……………………………………………………………… .28

5.11. Списки…………………………………………………………………30

5.12. Стандартные задачи обработки списка………………………….….31

Литература………………………………………………................................35

Введение

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

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

Учебно-методическое пособие “Основы искусственного интеллекта” поможет расширить представления будущего учителя информатики об областях применения теории искусственного интеллекта, об имеющихся и перспективных языках программирования и аппаратных структурах для создания систем искусственного интеллекта.

1. Искусственный интеллект: предмет, история развития, направления исследований.

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

Начало исследований в области ИИ (конец 50-х годов 20 в.) связывают с работами Ньюэлла, Саймана и Шоу, исследовавших процессы решения различных задач. Результатами их работ явились такие программы как "ЛОГИК-ТЕОРЕТИК", предназначенная для доказательства теорем в исчислении высказываний, и "ОБЩИЙ РЕШАТЕЛЬ ЗАДАЧ". Эти работы положили начало первому этапу исследований в области ИИ, связанному с разработкой программ, решающих задачи на основе применения разнообразных эвристических методов.

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

А. Нейрокибернетика .

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

В настоящее время используются три подхода к созданию нейросетей:

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

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

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

Б. Кибернетика «черного ящика».

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

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

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

1.2. Основные задачи, решаемые в области
искусственного интеллекта

Представление знаний и разработка систем, основанных на знаниях

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

Игры и творчество.

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

Разработка естественноязыковых интерфейсов и машинный перевод

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

Язык, использующий продукционную модель – ПРОЛОГ.

3.4. Логическая модель

В основе их описания лежит формальная система с четырьмя элементами:

М=<Т, Р, А, В > , где

Т – множество базовых элементов различной природы с соответствующими процедурами;

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

А - подмножество множества Р, называемых аксиомами . Процедура П(А) дает ответ на вопрос о принадлежности к множеству А;

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

4. Экспертные системы

4.1. Назначение экспертных систем

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

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

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

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

Нехватка специалистов, расходующих значительное время для оказания помощи другим;

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

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

Наличие конкурентов, имеющих преимущество в том, что они лучше справляются с поставленной задачей.

По функциональному назначению экспертные системы можно разделить на следующие типы:

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

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

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

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

Использование экспертных систем и нейронных сетей приносит значительный экономический эффект. Так, например: - American Express сократила свои потери на 27 млн. долларов в год благодаря экспертной системе, определяющей целесообразность выдачи или отказа в кредите той или иной фирме; - DEC ежегодно экономит 70 млн. долларов в год благодаря системе XCON/XSEL, которая по заказу покупателя составляет конфигурацию вычислительной системы VAX. Ее использование сократило число ошибок от 30% до 1%; - Sira сократила затраты на строительство трубопровода в Австралии на 40 млн. долларов за счет управляющей трубопроводом экспертной системы.

4.2. Типы задач, решаемых с помощью
экспертных систем

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

Обнаружение и идентификация различных типов океанских судов - SIAP;

Определение основных свойств личности по результатам психодиагностического тестирования в системах АВТАНТЕСТ и МИКРОЛЮШЕР и др.

Диагностика . Под диагностикой понимается обнаружение неисправности в некоторой системе. Примеры ЭС:

Диагностика и терапия сужения коронарных сосудов - ANGY;

Диагностика ошибок в аппаратуре и математическом обеспечении ЭВМ - система CRIB и др.

Мониторинг . Основная задача мониторинга - непрерывная интерпретация данных в реальном масштабе времени и сигнализация о выходе тех или иных параметров за допустимые пределы. Главные проблемы - "пропуск" тревожной ситуации и инверсная задача "ложного" срабатывания. Примеры ЭС:

Контроль за работой электростанций СПРИНТ, помощь диспетчерам атомного реактора - REACTOR:

Контроль аварийных датчиков на химическом заводе - FALCON и др.

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

Проектирование конфигураций ЭВМ VAX ― 1/780 в системе XCON (или R1),

Проектирование БИС - CADHELP;

Синтез электрических цепей - SYN и др.

Прогнозирование . Прогнозирующие системы логически выводят вероятные следствия из заданных ситуаций. Примеры ЭС:

Предсказание погоды - система WILLARD:

Оценки будущего урожая - PI. ANT;

Прогнозы в экономике - ЕСОN и др.

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

Планирование поведения робота - STRIPS,

Планирование промышленных заказов - 1SIS,

Планирование эксперимента - MOLGEN и др.

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

Обучение языку программирования Лисп в системе "Учитель Лиспа";

Система PROUST - обучение языку Паскаль и др.

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

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

4.3. Структура экспертных систем

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

База знаний – ядро ЭС, совокупность знаний предметной области, записанная на машинный носитель в форме, понятной эксперту и пользователю (обычно на некотором языке, приближенном к естественному). Параллельно такому "человеческому" представлению существует БЗ во внутреннем "машинном" представлении. Она состоит из набора фактов и правил.

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

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

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

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

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

Подсистема приобретения знаний – программа, представляющая инженеру по знаниям возможность создавать БЗ в диалоговом режиме . Включает в себя систему вложенных меню, шаблонов языка представления знаний, подсказок ("help" - режим) и других сервисных средств, облегчающих работу с базой.

Экспертная система работает в двух режимах:

Приобретения знаний (определение, модификация, дополнение);

Решения задач.

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

4.4. Основные этапы разработки экспертных систем

Технологический процесс разработки промышленной экспертной системы можно разделить на шесть основных этапов:

1. Выбор подходящей проблемы

Деятельность, предшествующая решению начать разрабатывать конкретную ЭС, включает:

Определение проблемной области и задачи;

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

Определение предварительного подхода к решению проблемы;

Анализ расходов и прибыли от разработки;

Подготовку подробного плана разработки.

2. Разработка прототипной системы

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

Прототип должен удовлетворять двум требованиям:

Прототипная система должна решать наиболее типичные задачи, но и не должна бать большой.

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

Оценивается и проверяется работа программ прототипа с целью приведения в соответствие с реальными запросами пользователей. Прототип проверяется на:

Удобство и адекватность интерфейсов ввода-вывода (характер вопросов в диалоге, связность выводимого текста результата и др.)

Эффективность стратегии управления (порядок перебора, использование нечеткого вывода и др.);

Качество проверочных примеров;

Корректность базы знаний (полнота и непротиворечивость правил).

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

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

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

3. Развитие прототипа до промышленной экспертной системы.

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

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

4. Оценка системы

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

Критерии пользователей (понятность и "прозрачность" работы системы, удобство интерфейсов и др.);

Критерии приглашенных экспертов (оценка советов-решений, предлагаемых системой, сравнение ее с собственными решениями, оценка подсистемы объяснений и др.);

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

5. Стыковка системы

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

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

6. Поддержка системы

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

Языки искусственного интеллекта

Лисп (LISP) и Пролог (Prolog) - наиболее распространенные языки, предназначенные для решения задач искусственного интеллекта. Есть и менее распространенные языки искусственного интеллекта, например РЕФАЛ, разработанный в России. Универсальность этих языков меньшая, нежели традиционных языков, но ее потерю языки искусственного интеллекта компенсируют богатыми возможностями по работе с символьными и логическими данными, что крайне важно для задач искусственного интеллекта. На основе языков искусственного интеллекта создаются специализированные компьютеры (например, Лисп-машины), предназначенные для решения задач искусственного интеллекта. Недостаток этих языков - неприменимость для создания гибридных экспертных систем.

Специальный программный инструментарий

Библиотеки и надстройки над языком искусственного интеллекта Лисп: KEE (Knowledge Engineering Environment), FRL (Frame Representation Language), KRL (Knowledge Represantation Language), ARTS и др., позволяющие пользователям работать с заготовками экспертных систем на более высоком уровне, нежели это возможно в обычных языках искусственного интеллекта.

"Оболочки"

"Оболочки" – это пустые" версии существующих экспертных систем, т. е. готовые экспертные системы без базы знаний. Примером такой оболочки может служить EMYCIN (Empty MYCIN - пустой MYC1N), которая представляет собой незаполненную экспертную систему MYCIN. Достоинство оболочек в том, что они вообще не требуют работы программистов для создания готовой экспертной системы. Требуется только специалисты в предметной области для заполнения базы знаний. Однако если некоторая предметная область плохо укладывается в модель, используемую в некоторой оболочке, заполнить базу знаний в этом случае весьма не просто.

5. ПРОЛОГ - язык логического
программирования

5.1. Общие сведения о ПРОЛОГе.

ПРОЛОГ(ПРОграммирование в ЛОГике) - язык логического программирования, предназначен для решения задач из области искусственного интеллекта (создание ЭС, программы-переводчики, обработка естественного языка). Он используется для обработки естественного языка и обладает мощными средствами, позволяющими извлекать информацию из баз данных, причем методы поиска, используемые в нем, принципиально отличаются от традиционных.

Основные конструкции ПРОЛОГа заимствованы из логики. ПРОЛОГ относится не к процедурным, а к декларативным языкам программирования. Он ориентирован не на разработку решений, а на систематизированное и формализованное описание задачи с тем, чтобы решение следовало из составленного описания.

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

Фундаментальные свойства ПРОЛОГа:

1) механизм вывода с поиском и возвратом

2) встроенный механизм сопоставления с образцом

3) простая и легко изменяемая структура данных

4) отсутствие указателей, операторов присваивания и перехода

5) естественность рекурсии

Этапы программирования на ПРОЛОГе:

1) объявление фактов об объектах и отношениях между ними;

2) определение правил взаимосвязи объектов и отношений между ними;

3) формулировка вопроса об объектах и отношениях между ними.

Теоретической основой ПРОЛОГа является раздел символьной ло­гики, называемый исчислением предикатов.

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

<имя_предиката>(t1, t2, ..., tn)), t1,t2,...,tn – аргументы

Например, факт black(cat) записан с использованием предиката black, имеющего один аргумент. Факт написал(шолохов, "ТИХИЙ ДОН") записан с использованием предиката написал , имеющего два аргумента.

Число аргументов предиката называется арностью предиката и обозначается black/1 (предикат black имеет один аргумент, его арность равна единице). Предикаты могут не иметь аргументов, арность таких предикатов равна 0.

Язык Пролог вырос из работ Алана Колмерауэра (A. Colmerauer) по обработке естественного языка и независимых работ Роберта Ковалького (R. Kowalski) по приложениям логики к программированию (1973 г.).

Наиболее известна в России система программирования Turbo Prolog - коммерческая реализация языка для IBM-совместимых ПК. В 1988 г. вышла значительно более мощная версия Turbo Prolog 2.0, включающая усовершенствованную интегрированную среду разработки программ, быстрый компилятор и средства низкоуровневого программирования. Фирма Borland распространяла эту версию до 1990 г., а затем компания PDC приобрела монопольное право на использование исходных текстов компилятора и дальнейшее продвижение системы программирования на рынок под названием PDC Prolog.

В 1996 г. Prolog Development Center выпускает на рынок систему Visual Prolog 4.0. В среде Visual Prolog используется подход, получивший название «визуальное программирование», при котором внешний вид и поведение программ определяются с помощью специальных графических средств проектирования без традиционного программирования на алгоритмическом языке.

В Visual Prolog входят интерактивная среда визуальной разработки (VDE - Visual Develop Environment), которая включает текстовый и различные графические редакторы, инструментальные средства генерации кода, конструирующие управляющую логику (Experts), а также являющийся расширением языка интерфейс визуального программирования (VPI - Visual Programming Interface), Пролог-компилятор, набор различных подключаемых файлов и библиотек, редактор связей, файлы, содержащие примеры и помощь.

5.2. Предложения: факты и правила

Программа на ПРОЛОГе состоит из предложений, которые могут быть фактами, правилами или запросами.

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

Структура факта:

<имя_отношения>(t1,t2,...,tn)), t1,t2,...,tn– объекты

Примеры фактов:

учится (ира, университет). % Ира учится в университете

родитель(иван, алексей). % Иван является родителем Алексея

язык_программирования (пролог). % Пролог – это язык программирования

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

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

Структура правила:

<имя_правила> :- <тело правила> или

<имя_правила > if <тело правила>

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

Примеры правил:

мать (Х, У) :- родитель (Х, У), женщина(Х).

студент (X) :- учится (X, институт); учится (X, университет).

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

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

Запросы с константами позволяют получить один из двух ответов: “да” или “нет”

Например, имеются факты:

знает (лена, таня).

знает (лена, саша).

знает (саша, таня).

а) Знает ли Лена Сашу?

запрос: знает (лена, саша).

Результат: yes

б) Знает ли Таня Лену?

запрос знает (таня, лена).

Результат: no

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

а) Кого знает Лена?

запрос: знает (лена, Х).

Результат:

Х = таня

Х = саша

б) Кто знает Сашу?

запрос: знает (Х, саша).

Результат: Х = лена

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

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

Для ответа, есть ли общие знакомые у Лены и Саши, следует составить запрос:

знает (лена, Х), знает (саша, Х).

Результат:

Х = Таня

5.4. Переменные в ПРОЛОГе

Переменная в ПРОЛОГе не рассматривается как выделенный участок памяти. Она служит для обозначения объекта, на который нельзя сослаться по имени. Переменную можно считать локальным именем для некоторого объекта.

Имя переменной должно начинаться с прописной буквы или символа подчеркивания и содержать только символы букв, цифр и подчеркивания: Х, _у, АВ, Х1. Переменная, не имеющая значения, называется свободной , переменная, имеющая значение – конкретизированной .

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

родитель (ира, таня).

родитель (миша, таня).

родитель (оля, ира).

Требуется определить всех родителей

Запрос: родитель(Х, _)

Результат:

Х = Ира

Х = Миша

Х = Оля

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

В ПРОЛОГе нет оператора присваивания, его роль выполняет оператор равенства =. Цель X=5 может рассматриваться как сравнение (если переменная X имеет значение) или как присваивание (если переменная X свободна).

В ПРОЛОГе нельзя для увеличения значения переменной записать X=X+5. Следует использовать новую переменную: Y=X+5.

5.5. Объекты и типы данных в ПРОЛОГе

Объекты данных в ПРОЛОГе называются термами . Терм может быть константой, переменной или составным термом (структурой). Константами являются целые и действительные числа (0, - l, 123.4, 0.23E-5), а также атомы.

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

abcd, “a+b”, “студент Иванов”, пролог, “Пролог”.

Структура позволяет объединить несколько объектов в единое целое. Она состоит из функтора (имя) и последовательности термов.

Число компонент в структуре называется арностью структуры: data/3.

Структура может содержать другую структуру в качестве одного из своих объектов.

день_рождения (person(“Маша”,”Иванова”), data(15 апрель ,1983))

Доменом в ПРОЛОГе называют тип данных. Стандартными доменами являются:

integer – целые числа.

real – вещественные числа.

string – строки (любая последовательность символов, заключенная в кавычки).

char – одиночный символ, заключенный в апострофы.

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

5.6. Основные разделы ПРОЛОГ-программы

Как правило, программа на ПРОЛОГе состоит из четырех разделов.

DOMAINS – секция описания доменов (типов). Секция применяется, если в программе используются нестандартные домены.

Например:

PREDICATES – секция описания предикатов. Секция применяется, если в программе используются нестандартные предикаты.

Например:

знает (name, name)

студент (name)

CLAUSES – секция предложений. Именно в этой секции записываются предложения: факты и правила вывода.

Например:

знает (лена, иван).

студент (иван).

знаком_студент(X, Y):- знает (X, Y), студент (Y).

GOAL – секция цели. В этой секции записывается запрос.

Например:

знаком_студент(лена, X).

Простейшая программа может содержать только раздел GOAL, например:

write (“Введите Ваше имя: ”), readln (Name),

write (“Здравствуйте, ”, Name, “!”).