Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
все билеты.docx
Скачиваний:
0
Добавлен:
27.12.2019
Размер:
1.86 Mб
Скачать

3. Подход теории возможностей

Теория возможностей — математическая теория, имеющая дело с особым типом неопределенности, альтернативна теории вероятностей. Профессор Лотфи Заде впервые ввел теорию возможностей в 1978 в качестве расширения его теорий нечетких множеств и нечеткой логики.

В его статье понятие множества было расширено допущением, что функция принадлежности элемента к множеству может принимать любые значения в интервале [0...1], а не только 0 или 1. Такие множества были названы нечёткими.

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

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

29. Инструментальные средства иис. Выбор инструментария.

[Тоскин, 140]

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

Выше уже говорилось, что ИИС представляют собой некоторый программ­ный комплекс, позволяющий решать производственный и экономические за­дачи на уровне человека - оператора или управленца (эксперта). Однако оче­видно, что любую программу можно написать на машинно - ориентирован­ном языке (ассемблере) или на универсальном языке высокого уровня (ПЛ/1, Си, Бейсик, Алгол, Ада, Фортран, Паскаль и т.д.). В этой связи возникает вполне справедливый вопрос: зачем рассматривать специализированные сред­ства, для изучения которых требуется определенное время, если универсаль­ным языком высокого уровня (либо языком ассемблера) владеет практически любой программист? Ответ на этот вопрос взят из практики: процесс про­граммирования систем ИИ на специализированных средствах занимает в 2-3 раза меньше времени, чем на универсальных. Однако следует всегда помнить, что параметры эффективности (объем памяти и быстродействие) ИИС, реали­зованных на базе специализированных средств, в большинстве случаев ниже, чем при реализации ИИС на универсальных средствах.

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

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

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

Анализ традиционных языков программирования и представления знаний

Специализированный язык LISP

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

Язык LISP имеет очень простой синтаксис, поскольку возможны только две его конструкции: атом и список.

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

LISP - функциональный язык.

LISP - это рекурсивный язык

Рекурсивность LISP удобна при решении очень популярной в искусственном интеллекте задачи «поиска по дереву», которая является довольно обобщенной и охватывает широкий класс конкретных задач, начиная шахматными и кончая за­дачами «принятия решений» или управления сложными объектами.

Язык логического программирования PROLOG

В последнее время к разработке ЭС все чаще стал привлекаться язык про­граммирования Пролог. Свое наименование Пролог получил от сокращения «Программирование логики» (PRogramming in LOGic). Математической осно­вой Пролога являются исчисление предикатов преимущественно первого по­рядка, метод резолюции Робинсона, теория рекурсивных функций.

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

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

Современные программные средства построения интеллектуальных систем

Объектно-ориентированный язык Visual Basic

Visual Basic язык поддерживающий событийно-управляемое программиро­вание (event-driven programming): визуальное проектирование и элементы объектно-ориентированного программирования,

Возможности языка Visual Basic для создания ЭС

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

В Visual Basic реализовано «управление от событий», как уже отмечалось ранее, что позволяет разработчику спроектировать интерфейс пользователя максимально удобно для пользователя. После этапа визуального проектирова­ния программист просто пишет программный код для обработки связанных с объектом событий, VB предоставляет удобную среду для разработки прило­жений, тестирования их работы и нахождения и исправления ошибок.

Язык логического программирования Visual Prolog

Visual Prolog — объектно-ориентированное расширение языка программирования PDC Prolog, развивавшегося из Turbo Prolog (Borland), семейства Prolog, а также система визуального программирования датской фирмы Prolog Development Center.

Prolog Development Center затратил более трех лет на разработку системы Visual Prolog с поэтапным бета-тестированием, поставки коммерческой версии которой начались с февраля 1996.

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

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

Интегрированная инструментальная среда GURU

В инструментальной среде построения ЭС GURU, разработанной фирмой Micro Data Base Systems, Inc., методы экспертных систем сочетаются с такими средствами обработки данных, как составление электронных ведомостей, управление базой данных и деловой графикой, и таким образом формируется уникальная среда для поддержки принятия решений и разработки прикладных интеллектуальных систем.

Система GURU легка в употреблении для новичков и в то же время является достаточно эффективной и гибкой системой для профессионалов - разработчиков.

В обычных «интегрированных» программных продуктах или несколько от­дельных программ помещены в операционную среду, или несколько, второ­степенных компонентов вкладываются в главный компонент (как, например, программа обработки электронных ведомостей или текстовый редактор).