Системы искусственного интеллекта. Тематический план
Скачать 1.4 Mb.
|
ТЕМАТИЧЕСКИЙ ПЛАН Тем а № п/п Наименование темы Кол-во и формат учебных занятий с преподавателем Контро льные меропр иятия Лекц ии Практи ческие заняти я Лабора торные работы Глава 1. Искусственный интеллект 1.1 Введение в системы искусственного интеллекта 1.2 Направления развития искусственного интеллекта 1.3 Данные и знания. Представление знаний в интеллектуальных системах 1.4 Экспертные системы Глава 2. Логическое программирование 2.1 Методологии программирования 2.2 Краткое введение в исчисление предикатов и доказательство теорем 2.3 Процесс логического вывода в языке Prolog 2.4 Структура программы на языке Prolog 2.5 Организация повторений в языке Prolog 2.6 Списки в языке Prolog Т 2.7 Строки в языке Prolog 2.8 Файлы в языке Prolog 2.9 Создание динамических баз данных в языке Prolog 2.10 Создание экспертных систем Глава 3. Нейронные сети 3.1 Введение в нейронные сети 3.2 Искусственная модель нейрона 3.3 Применение нейронных сетей 3.4 Обучение нейросети Итого: ПК ИК Зачет Т Обозначения видов учебной деятельности студента: ВБ – вебинар (онлайн занятие); ВЛ – видеолекция; Ф - форум (офлайн занятие); Т - итоговое тестирование; П – письменная/контрольная/курсовая/зачетная/экзаменационная работа; ПК - промежуточный контроль; ИК – итоговый контроль. ГЛАВА 1. ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ ТЕМА 1.1 ВВЕДЕНИЕ В СИСТЕМЫ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА План лекции: 1.1.1 Понятие об искусственном интеллекте 1.1.2 Искусственный интеллект в России 1.1.3 Функциональная структура системы искусственного интеллекта 1.1.1 Понятие об искусственном интеллекте Система искусственного интеллекта (ИИ) — это программная система, имитирующая на компьютере процесс мышления человека. Для создания такой системы необходимо изучить сам процесс мышления человека, решающего определенные задачи или принимающего решения в конкретной области, выделить основные шаги этого процесса и разработать программные средства, воспроизводящие их на компьютере. Следовательно, методы ИИ предполагают простой структурный подход к разработке сложных программных систем принятия решений. Искусственный интеллект — это направление информатики, целью которого является разработка аппаратно-программных средств, позволяющих пользователю-непрограммисту ставить и решать свои традиционно считающиеся интеллектуальными задачи, общаясь с ЭВМ на ограниченном подмножестве естественного языка. Идея создания искусственного подобия человека для решения сложных задач и моделирования человеческого разума, что называется, «витала в воздухе» еще в древнейшие времена. Родоначальником искусственного интеллекта считается средневековый испанский философ, математик и поэт Раймонд Луллий, который еще в XIII в. пытался создать механическое устройство для решения различных задач на основе разработанной им всеобщей классификации понятий. Позже Лейбниц и Декарт независимо друг от друга продолжили эту идею, предложив универсальные языки классификации для всех наук. Эти работы можно считать первыми теоретическими работами в области искусственного интеллекта. Однако окончательное рождение искусственного интеллекта как научного направления произошло только после создания ЭВМ в 1940-х гг., когда Норберт Винер создал свои основополагающие работы по новой науке — кибернетике. Термин «искусственный интеллект» (ИИ; англ. AI — «Artificial Intelligence») был предложен в 1956 г. на семинаре с аналогичным названием в Дартмутском колледже (США). Этот семинар был посвящен разработке методов решения логических (а не вычислительных) задач. Заметим, что в английском языке данное словосочетание не имеет той слегка фантастической антропоморфной окраски, которую оно приобрело в довольно неудачном русском переводе. Слово «intelligence» означает всего лишь «умение рассуждать разумно», а вовсе не «интеллект» (для которого есть отдельный английский аналог «intellect»). Вскоре после признания искусственного интеллекта особой областью науки произошло его разделение на два направления: нейрокибернетику и кибернетику «черного ящика». Эти направления развивались практически независимо, существенно различаясь как в методологии, так и технологически. И только в настоящее время стали заметны тенденции к объединению этих частей вновь в единое целое. Нейрокибернетика Основную идею этого направления можно сформулировать следующим образом: «Единственный объект, способный мыслить, — это человеческий мозг, поэтому любое мыслящее устройство должно так или иначе воспроизводить его структуру». Таким образом, нейрокибернетика ориентирована на программно-аппаратное моделирование структур, подобных структуре мозга. Усилия нейрокибернетики были сосредоточены на создании элементов, аналогичных нейронам, и на их объединении в функционирующие системы — нейронные сети. Первые нейросети были созданы в 1956 – 1965-х гг. Это были не очень удачные попытки создать системы, моделирующие человеческий глаз и его взаимодействие с мозгом. Постепенно в 1970 – 1980-х гг. количество работ по этому направлению искусственного интеллекта стало снижаться, — слишком уж неутешительными были первые результаты. Обычно авторы разработок объясняли свои неудачи малой памятью и низким быстродействием существующих в то время компьютеров. Первый нейрокомпьютер был создан в Японии в рамках проекта «ЭВМ пятого поколения». К этому времени ограничения по памяти и быстродействию ЭВМ были практически сняты. Появились транспьютеры — компьютеры с большим количеством процессоров, реализующих параллельные вычисления. Транспьютерная технология — это один из десятка новых подходов к аппаратной реализации нейросетей, которые моделируют иерархическую структуру мозга человека. В целом сегодня можно выделить три основных разновидности подходов к созданию нейросетей: аппаратный (создание специальных компьютеров, нейрочипов, плат расширения, наборов микросхем), программный (создание программ и программных инструментариев, рассчитанных на высокопроизводительные компьютеры; такие сети создаются «виртуально», в памяти компьютера, тогда как всю работу выполняют его собственные процессоры) и гибридный (комбинация первых двух способов). Кибернетика «черного ящика» и искусственный интеллект В основу этого подхода заложен принцип, противоположный нейрокибернетике. Здесь уже не имеет значения, как именно устроено «мыслящее» устройство, — главное, чтобы на заданные входные воздействия оно реагировало так же, как и человеческий мозг. Сторонники этого направления мотивировали свой подход тем, что человек не должен слепо следовать природе в своих научных и технологических поисках. К тому же пограничные науки о человеке не смогли внести существенного теоретического вклада, объясняющего (хотя бы приблизительно), как протекают интеллектуальные процессы у человека, как устроена его память и как человек познает окружающий мир. Это направление искусственного интеллекта было ориентировано на поиск алгоритмов решения интеллектуальных задач на существующих моделях компьютеров. Существенный вклад в становление новой науки внесли такие ее пионеры, как Маккарти, Минский, Ньюэлл, Саймон, Шоу, Хант и др. В 1956 – 1963-х гг. велись интенсивные поиски моделей и алгоритмов человеческого мышления и разработка первых программ на их основе. Представители гуманитарных наук — философы, психологи, лингвисты — ни тогда, ни сейчас не смогли предложить такие алгоритмы, тогда кибернетики начали создавать собственные модели. Так последовательно были созданы и опробованы различные подходы. В конце 1950-х гг. появилась модель лабиринтного поиска. Этот подход представляет задачу как некоторое пространство состояний в форме графа, после чего в этом графе производится поиск оптимального пути от входных данных к результирующим. Была проделана большая работа по созданию такой модели, но для решения практических задач эта идея все же не нашла широкого применения. Начало 1960-х гг. стало эпохой эвристического программирования. Эвристика — это некоторое правило, теоретически не обоснованное, но позволяющее сократить количество переборов в пространстве поиска. Эвристическое программирование — это разработка стратегии действий на основе известных, заранее заданных эвристик. В 1963 – 1970-х гг. к решению задач стали подключать методы математической логики. Робинсон разработал метод резолюций, который позволяет автоматически доказывать теоремы при наличии набора исходных аксиом. Примерно в это же время выдающийся отечественный математик Ю. С. Маслов предложил так называемый обратный вывод (впоследствии названный его именем), решающий аналогичную задачу другим способом. На основе метода резолюций француз Альбер Кольмероэ в 1973 г. создал язык логического программирования Prolog. Большой резонанс в научном сообществе вызвала программа «Логик-теоретик», созданная Ньюэллом, Саймоном и Шоу, которая доказывала школьные теоремы. Однако большинство реальных задач не сводится к набору аксиом, а человек, решая производственные задачи, далеко не всегда использует классическую логику, поэтому логические модели при всех своих преимуществах имеют существенные ограничения по классам решаемых задач. История искусственного интеллекта полна драматических событий, одним из которых стал в 1973 г. так называемый «доклад Лайтхилла», который был подготовлен в Великобритании по заказу Британского совета научных исследований. Известный математик Лайтхилл, никак с искусственным интеллектом профессионально не связанный, подготовил обзор состояния дел в этой области. В докладе были признаны определенные достижения, однако их уровень определялся как «разочаровывающий», а общая оценка была отрицательной с позиций практической значимости. Этот отчет отбросил европейских исследователей примерно на пять лет назад, так как финансирование работ существенно сократилось. Примерно в это же время существенный прорыв в развитии практических приложений искусственного интеллекта произошел в США, когда в середине 1970-х гг. на смену поиску универсального алгоритма мышления пришла идея моделировать конкретные знания специалистов- экспертов. В США появились первые коммерческие системы, основанные на знаниях, или экспертные системы (ЭС). Стал применяться и новый подход к решению задач искусственного интеллекта — представление знаний. Были созданы две первые экспертные системы для медицины и химии — Mycin и Dendral, ставшие классическими. Существенный финансовый вклад внес и Пентагон, предлагая базировать новую программу министерства обороны США на принципах искусственного интеллекта. Уже вдогонку упущенных возможностей Европейский союз в начале 1980-х гг. объявил о глобальной программе развития новых технологий ESPRIT, в которую была включена проблематика искусственного интеллекта. В конце 1970-х гг. в гонку включается Япония, объявив о начале проекта машин пятого поколения, основанных на знаниях. Проект был рассчитан на десять лет и объединял лучших молодых специалистов крупнейших японских компьютерных корпораций. Для этих специалистов был специально создан новый институт ICOT и предоставлена полная свобода действий (правда, без права публикации предварительных результатов). В результате они создали достаточно громоздкий и дорогой символьный процессор, программно реализующий пролого-подобный язык, но не получивший широкого признания. Однако положительный эффект от этого проекта был очевиден. В Японии появилась значительная группа высококвалифицированных специалистов в области искусственного интеллекта, которая добилась существенных результатов в различных прикладных задачах. К середине 1990-х гг. японская ассоциация искусственного интеллекта насчитывала уже 40 тыс. человек. Начиная с середины 1980-х гг. повсеместно происходила коммерциализация искусственного интеллекта. Росли ежегодные капиталовложения, создавались промышленные экспертные системы. Рос интерес к самообучающимся системам. Издавались десятки научных журналов, ежегодно собирались международные и национальные конференции по различным направлениям искусственного интеллекта, который становился одной из наиболее перспективных и престижных областей информатики. В настоящее время различают два основных подхода к моделированию искусственного интеллекта: машинный интеллект, заключающийся в строгом задании результата функционирования, и искусственный разум, направленный на моделирование внутренней структуры системы. Моделирование систем первой группы достигается за счет использования законов формальной логики, теории множеств, графов, семантических сетей и других достижений науки в области дискретных вычислений, а основные результаты заключаются в создании экспертных систем, систем разбора естественного языка и простейших систем управления вида «стимул — реакция». Системы же второй группы базируются на математической интерпретации деятельности нервной системы (прежде всего мозга человека) и реализуются в виде нейроподобных сетей на базе нейроподобного элемента — аналога нейрона. 1.1.2 Искусственный интеллект в России В 1954 г. в МГУ начал работу семинар «Автоматы и мышление» под руководством академика А. А. Ляпунова (1911 – 1973), одного из основателей российской кибернетики. В этом семинаре принимали участие физиологи, лингвисты, психологи, математики. Принято считать, что именно в это время родился искусственный интеллект в России. Как и за рубежом, в нем выделились два основных направления — нейрокибернетика и кибернетика «черного ящика». В 1954 – 1964-х гг. создавались отдельные программы и проводились исследования в области поиска решения логических задач. В ЛОМИ (Ленинградском отделении Математического института им. Стеклова) была создана программа АЛПЕВ ЛОМИ, автоматически доказывающая теоремы, которая основана на оригинальном обратном выводе Маслова, аналогичном методу резолюций Робинсона. Среди наиболее значимых результатов, полученных отечественными учеными в 1960-е гг., следует отметить алгоритм «Кора» М. М. Бонгарда, моделирующий деятельность человеческого мозга при распознавании образов. Большой вклад в становление российской школы искусственного интеллекта внесли и такие выдающиеся ученые, как М. Л. Цетлин, В. Н. Пушкин, М. А. Гаврилов, чьи ученики стали пионерами этой науки в России. В 1965 – 1980-х гг. родилось новое направление ИИ — ситуационное (соответствующее представлению знаний в западной терминологии). Основателем этой научной школы стал профессор Д. А. Поспелов. Были разработаны и специальные модели представления ситуаций (представления знаний). При том, что отношение к новым наукам в советской России всегда было настороженным, наука с таким «вызывающим» названием тоже не избежала этой участи и была встречена в Академии наук «в штыки». К счастью, среди членов Академии наук СССР нашлись люди, не испугавшиеся столь необычного словосочетания в качестве названия нового научного направления. Однако только в 1974 г. при Комитете по системному анализу при президиуме АН СССР был создан научный совет по проблеме «Искусственный интеллект», его возглавил Д. А. Поспелов. По инициативе этого совета было организовано пять комплексных научных проектов, возглавляемых ведущими специалистами в данной области: «Диалог» (работы по пониманию естественного языка), «Ситуация» (ситуационное управление), «Банк» (банки данных), «Конструктор» (поисковое конструирование) и «Интеллект робота». В 1980 – 1990-х гг. в нашей стране проводились активные исследования в области представления знаний, разрабатывались языки представления знаний и экспертные системы; в МГУ был создан язык Рефал. В 1988 г. была сформирована Ассоциация искусственного интеллекта (АИИ), президентом которой единогласно был избран Д. А. Поспелов. В рамках этой ассоциации проводилось большое количество исследований, были организованы школы для молодых специалистов, семинары, симпозиумы, раз в два года проводились объединенные конференции, издавался научный журнал. Следует отметить, что уровень теоретических исследований по искусственному интеллекту в России всегда был ничуть не ниже общемирового. Однако, к сожалению, начиная с 1980-х гг. на прикладных работах начинало сказываться постепенное отставание в технологии. На данный момент отставание в области разработки промышленных интеллектуальных систем составляет примерно 3 – 5 лет. Основные области применения систем ИИ: доказательство теорем, игры, распознавание образов, принятие решений, адаптивное программирование, сочинение машинной музыки, обработка данных на естественном языке, обучающиеся сети (нейросети), вербальное концептуальное обучение. 1.1.3 Функциональная структура системы искусственного интеллекта Функциональная структура системы ИИ (рис. 1.1) состоит из трех комплексов вычислительных средств. Первый из них представляет собой исполнительную систему (ИС) — совокупность средств, выполняющих программы и спроектированных с позиций эффективного решения задач; этот комплекс имеет в ряде случаев проблемную ориентацию. Второй комплекс — это совокупность средств интеллектуального интерфейса, имеющих гибкую структуру, которая обеспечивает возможность адаптации в широком спектре интересов конечных пользователей. Третьим комплексом средств, с помощью которых организуется взаимодействие первых двух комплексов, является база знаний, обеспечивающая использование вычислительными средствами первых двух комплексов целостной и независимой от обрабатывающих программ системы знаний о проблемной среде. Исполнительная система при этом объединяет всю совокупность средств, обеспечивающих выполнение сформированной программы; интеллектуальный интерфейс представляет собой систему программных и аппаратных средств, обеспечивающих для конечного пользователя возможность работы с компьютером для решения задач, возникающих в его профессиональной деятельности, без посредников или с незначительной их помощью; база знаний (БЗ) же занимает центральное положение по отношению к остальным компонентам вычислительной системы в целом, через нее осуществляется интеграция средств вычислительной системы, участвующих в решении задач. Рисунок 1.1 - Функциональная структура системы ИИ |