Автор работы: Пользователь скрыл имя, 27 Февраля 2013 в 11:33, курс лекций
Термин интеллект (intelligence) происходит от латинского intellectus — что означает ум, рассудок, разум; мыслительные способности человека. Соответственно искусственный интеллект (artificial intelligence) — ИИ (AI) обычно трактуется как свойство автоматических систем осуществлять отдельные функции интеллекта человека, например, выбирать и принимать оптимальные решения на основе ранее полученного опыта и рационального анализа внешних воздействий.
КРАТКИЙ КУРС ЛЕКЦИЙ ПО ДИСЦИПЛИНЕ «ИНТЕЛЛЕКТУАЛЬНЫЕ ИНФОРМАЦИОННЫЕ СИСТЕМЫ»
Лекция “Предмет и метод”
Задачей изучения дисциплины является приобретение знаний о способах мышления человека, а так же о методах их реализации на компьютере. Основным предметом изучения дисциплины являются мыслительные способности человека и способы их реализации техническими средствами.
Термин интеллект (intelligence
Ясно, что для того, чтобы осуществлять в окружающей среде интеллектуальную деятельность (или хотя бы просто существовать), необходимо иметь в системе знаний модель этого мира. В этой информационной модели окружающей среды реальные объекты, их свойства и отношения между ними не только отображаются и запоминаются, но и, как это отмечено в данном определении интеллекта, могут мысленно "целенаправленно преобразовываться". При этом существенно то, что формирование модели внешней среды происходит "в процессе обучения на опыте и адаптации к разнообразным обстоятельствам".
Мы употребили термин интеллектуальная задача. Для того, чтобы пояснить, чем отличается интеллектуальная задача от просто задачи, необходимо ввести термин "алгоритм" — один из краеугольных терминов кибернетики.
Под алгоритмом понимают точное предписание о выполнении в определенном порядке системы операций для решения любой задачи из некоторого данного класса (множества) задач. Термин "алгоритм" происходит от имени узбекского математика Аль-Хорезми, который еще в IX веке предложил простейшие арифметические алгоритмы. В математике и кибернетике класс задач определенного типа считается решенным, когда для ее решения установлен алгоритм. Нахождение алгоритмов является естественной целью человека при решении им разнообразных классов задач. Отыскание алгоритма для задач некоторого данного типа связано с тонкими и сложными рассуждениями, требующими большой изобретательности и высокой квалификации. Принято считать, что подобного рода деятельность требует участия интеллекта человека. Задачи, связанные с отысканием алгоритма решения класса задач определенного типа, будем называть интеллектуальными.
Что же касается задач, алгоритмы решения которых уже установлены, то, как отмечает известный специалист в области искусственного интеллекта М. Минский, "излишне приписывать им такое мистическое свойства, как "интеллектуальность". В самом деле, после того, как такой алгоритм уже найден, процесс решения соответствующих задач становится таким, что его могут в точности выполнить человек, вычислительная машина (должным образом запрограммированная) или робот, не имеющие ни малейшего представления о сущность самой задачи. Требуется только, чтобы лицо, решающее задачу, было способно выполнять те элементарные операции, их которых складывается процесс, и, кроме того, чтобы оно педантично и аккуратно руководствовалось предложенным алгоритмом. Такое лицо, действуя, как говорят в таких случаях, чисто машинально, может успешно решать любую задачу рассматриваемого типа.
Поэтому представляется совершенно естественным исключить их класса интеллектуальных такие задачи, для которых существуют стандартные методы решения. Примерами таких задач могут служить чисто вычислительные задачи: решение системы линейных алгебраических уравнений, численное интегрирование дифференциальных уравнений и т. д. Для решения подобного рода задач имеются стандартные алгоритмы, представляющие собой определенную последовательность элементарных операций, которая может быть легко реализована в виде программы для вычислительной машины. В противоположность этому для широкого класса интеллектуальных задач, таких, как распознавание образов, игра в шахматы, доказательство теорем и т. п., напротив это формальное разбиение процесса поиска решения на отдельные элементарные шаги часто оказывается весьма затруднительным, даже если само их решение несложно.
Таким образом,
мы можем перефразировать
Деятельность мозга (обладающего интеллектом), направленную на решение интеллектуальных задач, будем называть мышлением, или интеллектуальной деятельностью. Интеллект и мышление органически связаны с решением таких задач, как доказательство теорем, логический анализ, распознавание ситуаций, планирование поведения, игры и управление в условиях неопределенности. Характерными чертами интеллекта, проявляющимися в процессе решения задач, являются способность к обучению, обобщению, накоплению опыта (знаний и навыков) и адаптации к изменяющимся условиям в процессе решения задач. Благодаря этим качествам интеллекта мозг может решать разнообразные задачи, а также легко перестраиваться с решения одной задачи на другую. Таким образом, мозг, наделенный интеллектом, является универсальным средством решения широкого круга задач (в том числе неформализованных) для которых нет стандартных, заранее известных методов решения.
Примером поведенческой трактовки интеллекта может служить известное определение А. Тьюринга. Его смысл заключается в следующем. В разных комнатах находится люди и машина. Они не могут видеть друг друга, но имеют возможность обмениваться информацией (например, с помощью электронной почты). Если в процессе диалога между участниками игры людям не удается установить, что один из участников — машина, то такую машину можно считать обладающей интеллектом.
Кстати интересен план имитации мышления, предложенный А. Тьюрингом. "Пытаясь имитировать интеллект взрослого человека, — пишет Тьюринг, — мы вынуждены много размышлять о том процессе, в результате которого человеческий мозг достиг своего настоящего состояния… Почему бы нам вместо того, чтобы пытаться создать программу, имитирующую интеллект взрослого человека, не попытаться создать программу, которая имитировала бы интеллект ребенка? Ведь если интеллект ребенка получает соответствующее воспитание, он становится интеллектом взрослого человека… Наш расчет состоит в том, что устройство, ему подобное, может быть легко запрограммировано… Таким образом, мы расчленим нашу проблему на две части: на задачу построения "программы-ребенка" и задачу "воспитания" этой программы".
Забегая вперед, можно сказать, что именно этот путь используют практически все системы искусственного интеллекта. Ведь понятно, что практически невозможно заложить все знания в достаточно сложную систему. Кроме того, только на этом пути проявятся перечисленные выше признаки интеллектуальной деятельности (накопление опыта, адаптация и т. д.).
Лекция “ Логическое программирование ”
Характерные
идеи и методы программирования даже
не связанные с конкретным языком
и существующим образом мышления
образует так называемою модель или
парадигму программирования.
Логическое программирование представляет
собой нетрадиционную технологию программирования.
Оно основано на идеи описания задачи
совокупных утверждений, в некотором формальном
логическом языке и получение решения
задачи построением вывода в формальной
дедуктивной системе.
Пролог
- язык пятого поколения, открывающий
новое измерение для программирования.
На Прологе, являющимся декларативным
языком, можно писать программы для решения
реальных задач. Программист задает необходимые
правила и факты, а Пролог использует дедуктивный
вывод для решения задачи. В языках Бейсик,
Паскаль, Алгол и других основным методом
программирования является разбиение
задачи на дискретные шаги и их последовательное
выполнение.
Последовательность шагов отображается
в машинные команды, выполняемые компьютером.
Отменить ранее выполненные команды невозможно,
так как содержимое памяти постоянно обновляется.
Языки такого вида называются алгоритмическими.
Пролог же относится к языкам логического
программирования применяемым для создания
экспертных систем.
В области экспертных систем Пролог применяется
для моделирования экспертизы в различных
областях, таких как медицина, законодательства
и автоматизация производства. Свое название
Пролог получил от слов "Logic” и “Programming”.
Он был принят в качестве базового языка
в японской программе создания ЭВМ пятого
поколения, ориентированный на исследование
методов логического программирования
и искусственного интеллекта, а также
на разработку нового поколения компьютеров,
специально предназначенных для реализации
данных методов. На Прологе удобно описывать
такие структуры данных, как списки и деревья.
Логическая
программа требует описания мира
задачи, т.е. множества объектов устроенных
определенным образом и отношений
определенных на этих объектах.
Логическая программа - это множество
аксиом и правил задающих отношения между объектами,
вычислением логических программ является
вывод следствий из программы.
Теоретическая основой Prolog является исчисление
предикатов.
Существуют 3 вида основных конструкций
языка Prolog.
1.факт
2.правило
3. запрос
Факт
используется для констатации того,
что выполнено некоторое отношение между
объектами.
Отношения в Prolog называются предикатами,
объекты - термами.
Переменные в Prolog не рассматриваются как
выделенный участок памяти, она служит
для обозначения объекта, на который нельзя
сослаться по имени. Переменную можно
считать локальным именем объекта.
Запрос - конкретному примеру логического
программирования соответствует понятие
запроса(цели). Вычисление ответа на запрос
соответствует доказательству существования
объекта делающего цель истинной.
predicates
goal_task.
clauses
goal_task.
Запрос:Goal:gaol_task.
yes
Каждый
простой запрос входящий в составной
называется подцелью, для того, чтобы
составной запрос оказался истинным
необходимо, чтобы каждая из его
подцелей была истинной. Конъюнктивные вопросы
представляют собой интерес в тех случаях,
когда имеются одна или более общие переменные
входящую в каждую из подцелей.
Domains (диапазон-значений)
фамилия=string
улица=string
дом=string
квартира=string
номер_участка=integer
predicates
пациент(фамилия,улица,дом,
clauses
пациент("Иванов", "Рабиновича",
"25", 178, 4)
Goal:пациент(X,_,_,_,4).
Goal:пациент(X,_,_,_,N),N>=4.
Goal: пациент(X, Y, Z, _, _), пациент(K, Y, Z, _, _),
X<>K.
Получить запрос (цель для доказательства) механизм логического вывода может найти все объекты, который на основе информации в базе знаний (совокупность фактов и правил) обладает указанными характеристиками. Эти объекты предъявляются в виде термов и списков, которые при подстановке вместо переменных запроса преобразуют это выражение в логическое следствие утверждений базы знаний.
Правило
- это факт, значение истинности, которое
зависит от истинности значений условий
образующих тело правила.
Заголовок правила имеет такую же структуру
как и факт. Каждое условие, входящее
в тело называется подцелью. Заголовок
правила является истинным тогда, когда
истинна каждая подцель, входящая в тело
правила.
Лекция “ Экспертные системы как класс ИИС”
Для очень краткого обзора рассмотрим примеры крупномасштабных экспертных систем.
MICIN — экспертная система для медицинской диагностики. Разработана группой по инфекционным заболеваниям Стенфордского университета. Ставит соответствующий диагноз, исходя из представленных ей симптомов, и рекомендует курс медикаментозного лечения любой из диагностированных инфекций. База данных состоит из 450 правил.
PUFF — анализ нарушения дыхания. Данная система представляет собой MICIN, из которой удалили данные по инфекциям и вставили данные о легочных заболеваниях.
DENDRAL — распознавание химических структур. Данная система старейшая, из имеющих звание экспертных. Первые версии данной системы появились еще в 1965 году во все том же Стенфордском университете. Пользователь дает системе DENDRAL некоторую информацию о веществе, а также данные спектрометрии (инфракрасной, ядерного магнитного резонанса и масс-спектрометрии), и та в свою очередь выдает диагноз в виде соответствующей химической структуры.
PROSPECTOR — экспертная система, созданная для содействия поиску коммерчески оправданных месторождений полезных ископаемых.
….
В этой лекции я расскажу об исследованиях в области нейронных сетей. Эта область теоретических исследований чрезвычайно интересна, активно развивается, здесь есть множество различных подходов, концепций и моделей. Наиболее значимые теоретические направления и модели принято называть нейросетевыми парадигмами.Большинство моделей основывается на схеме формального нейрона У.С.Мак-Каллока и У.Питтса (1943 год), согласно которой нейрон представляет собой пороговый элемент (Рис.1). На входах нейрона имеются возбуждающие и тормозящие синапсы, в нейроне определяется взвешенная сумма (с учетом весов синапсов) входных сигналов, при превышении этой суммой порога нейрона вырабатывается выходной сигнал.
Рис. 1. Схема формального нейрона. Xi – входные сигналы, Y – выходной сигнал нейрона.
Активационная функция характеризует реакцию нейрона на входное воздействие, она может быть пороговой:
или некоторой непрерывной, например, линейной:
F(a) = ka
или логистической:
F(a) = 1/[1+exp(-a)] .
В зависимости от реализуемого алгоритма на допустимые значения входов и выходов нейрона накладываются определенные ограничения: значения Xi и Yj могут бинарными (т.е. равными 0 или 1), бинарными биполярными (+1 или -1), принадлежащими интервалу (0,1), неотрицательными или действительными. Аналогичные ограничения накладываются на веса синапсов нейронов wij .
Отметим, что в основополагающей работе Мак-Каллока и Питтса входы и выходы нейронов предполагались бинарными, веса синапсов считались бинарными биполярными, а активационная функция – пороговой. Исследования нейросетей в проводились с точки зрения анализа логических исчислений, которые могут быть построены на базе формальных нейронов. В частности было показано, что "для всякого логического выражения, удовлетворяющего некоторым условиям, можно найти сеть, имеющую описываемое этим выражением поведение"