Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






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

Искусственный интеллект занимает исключительное положение. Это связано со следующим:

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

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

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

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

Системы, относящиеся к системам ИИ в настоящее время:

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

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

Системы речевого общения. Состоят из двух частей:

· системы восприятия речи

· системы воспроизведения речи.

 

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

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

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

Средства создания систем ИИ:

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

Использование языков традиционного программирования и рабочих станций. Переход от систем, основанных на языках искусственного интеллекта (Lisp, Prolog и т.п.), к языкам традиционного программирования (С, С++ и т.п.) упростил " интегрированность" и снизил требования приложений к быстродействию и емкости памяти. Использование рабочих станций вместо ПК резко увеличило круг возможных приложений методов искусственного интеллекта.

Интегрированность. Разработаны инструментальные средства искусственного интеллекта, легко интегрирующиеся с другими информационными технологиями и средствами (с CASE, СУБД, контроллерами, концентраторами данных и т.п.).

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

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

 

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

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

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

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

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

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

Известны три основные разновидности исполнения экспертных систем:

 

- Экспертные системы, выполненные в виде отдельных программ, на некотором алгоритмическом языке, база знаний которых является непосредственно частью этой программы. Как правило, такие системы предназначены для решения задач в одной фиксированной предметной области. При построении таких систем применяются как традиционные процедурные языки PASCAL, C и др., так и специализированные языки искусственного интеллекта LISP, PROLOG.

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

- Генераторы экспертных систем - мощные программные продукты, предназначенные для получения оболочек, ориентированных на то или иное представление знаний в зависимости от рассматриваемой предметной области. Примеры этой разновидности - системы KEE, ART и др..

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

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

В списке наиболее распространенных в настоящее время за рубежом экспертных систем и их оболочек можно выделить следующие наименования: INSIGT, LOGIAN, NEXPERT, RULE MASTER, KDS, PICON, KNOWLEDGE CRAFT, KESII, S1, TIMM и др.

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

 

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

- Наличие экспертов, компетентных в избранном круге вопросов, которые согласны сотрудничать при создании ЭС.

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

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

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

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

 

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

Ценность использования ЭС проявляется в следующих аспектах:

- В сборе, оперативном уточнении, кодировании и распространении экспертных знаний.

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

- В сохранении наиболее уязвимой ценности коллектива - коллективной памяти.

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

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

Экспертная система VP-Expert представляет собой " пустую" оболочку, хорошо зарекомендовавшую и получившую достаточно широкое распространение. ее применение возможно на IBM совместимых персональных компьютерах с операционной системой MS DOS, имеющих не менее 256 К оперативной памяти и адаптеры графических дисплеев подобные CGA, EGA или HERKULES. Важной особенностью оболочки, существенно расширяющей ее возможности, является совместимость с файлами созданными dBASE II, dBASE III и dBASE III+.

MatLab

Зарождение системы MATLAB относится к концу 70-х годов, когда первая версия этой системы была использована в Университете Нью Мехико и Станфордском университете для преподавания курсов теории матриц, линейной алгебры и численного анализа. В это время активно разрабатывались пакеты прикладных программ по линейной алгебре LINPACK и EISPACK на языке FORTRAN, и авторы системы MATLAB искали способы использовать эти пакеты, не программируя на языке FORTRAN.

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

математика и вычисления;

разработка алгоритмов;

вычислительный эксперимент, имитационное моделирование, макетирование;

анализ данных, исследование и визуализация результатов;

научная и инженерная графика;

разработка приложений, включая графический интерфейс пользователя.

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

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

Фирма The MathWorks, Inc. поддерживает тесные связи с университетским миром и предлагает для образовательных версий значительные скидки. В настоящее время студенческая версия Student Edition of MATLAB ничем не отличается от коммерческой версии, но имеет невысокую цену и предназначена для студентов, работающих на персональном компьютере дома или в общежитии.

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

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

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

PROLOG

Пролог (Prolog) — язык логического программирования, основанный на логике дизъюнктов Хорна, представляющей собой подмножество логики предикатов первого порядка.

Разработка языка Prolog началась в 1970 г. Аланом Кулмероэ и Филиппом Русселом. Будучи декларативным языком программирования, Пролог воспринимает в качестве программы некоторое описание задачи, и сам производит поиск решения, пользуясь механизмом бэктрекинга и унификацией. Целью разработки языка Prolog было предоставить возможность задания спецификаций решения и позволить компьютеру вывести из них последовательность выполнения для этого решения, а не задание алгоритма решения задачи, как в большинстве языков.

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

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

Пролог реализован практически для всех известных операционных систем и платформ (в том числе для Java и.NET). В число операционных систем входят OS для мэйнфреймов, всё семейство Unix, Windows, OS для мобильных платформ.

Многие современные реализации языка имеют внутреннее расширение за счет ООП-архитектуры. Кроме проприетарных решений также существуют реализации Пролог на условиях open source. Важно, что для языка существует стандарт ISO принятый как ISO/IEC JTC1/SC22/WG17.

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

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

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

Перспектива развития всемирной Сети, известной как проект Веб 2.0 поддерживает особый интерес к семантике распределенных данных и их обработке декларативными методами. В связи с этим появились концепции языка OWL основанного на концепции First-Order Logic(FOL) реализацию которой, в свою очередь, можно рассматривать как значительно более расширенную технику классического Prolog.

Программные средства создания систем естественно-языкового общения

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

Язык программирования Лисп.

Самое популярное средство для программирования систем ИИ. Создан в 60-х годах американским ученым Дж. Маккарти и его учениками. Наиболее известными диалектами этого языка являются InterLisp, QLisp, CommonLisp. На языке Лисп написаны многие ЭС (Mycin, Internist, Kee), системы естественно-языкового общения (Margie, Shrdlu, Дилос), интеллектуальные ОС (Flex).

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

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

Язык программирования FRL (Frame Representation Language).

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

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

Язык программирования Пролог.

Наиболее известные Пролог - системы: MProlog, CProlog, Prolog-2, Arity Prolog, Turbo Prolog, Strawberry Prolog. Пролог все чаще в последнее время стал привлекаться к разработке ЭС. Математической основой этого языка являютсяисчисление предикатов преимущественно первого порядка, метод резолюций Робинсона, теория рекурсивных функций. За счет наличия большого набора встроенных предикатов язык Пролог можно отнести к универсальным языкам программирования и даже к языкам системного программирования. Важнейшей особенностью языка является наличие реляционной базы данных.

Язык программирования OPS.

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

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

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

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






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.