Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Базы знаний и базы данных в Турбо-Прологе




Турбо-Пролог (ТП) позволяет работать с БД и БЗ. База данных в ТП понимается как совокупность файлов. Факты, расположенные в разделе clauses непосредственно в теле программы, образуют внутреннюю (в терминологии ТП - статическую) базу данных. Информация в этой области не может изменяться в процессе выполнения программы. Факты, описанные предикатами из области database, образуют внешнюю (по отношению к телу программы) базу данных, которая в ТП называется динамической. Турбо-Пролог обеспечивает работу с БД, находящимися в файлах на внешних носителях. Для взаимодействия с такими данными ТП имеет ряд стандартных предикатов для чтения и сохранения БД в файле, для добавления и удаления фактов БД и т.д. Динамическое формирование правил в ТП не предусмотрено. ТП работает с БД, находящимися в оперативной памяти. Такие БД называются резидентными. Совокупность правил (разделы predicates и clauses) может быть вынесена в отдельный фаул, которому присвоим расширение RUL. Совместно с DBA-файлами, RUL-файлы будут образовывать базу знаний Пролог-программы. Используемая версия языка Пролог (Turbo Prolog version 2.0), не поддерживает изменение правил в ходе выполнения программы и, строго говоря, не обеспечивает работу с базами знаний. Однако, ограничиваясь статическими правилами, можно говорить об организации базы знаний с использованием Турбо-Пролога. Для работы в БД в Турбо-Прологе существуют следующие предикаты.

1. Загрузка файла БД в оперативную память:

consult (DosFileName),

где DosFileName - Dos-имя файла БД, имеющее тип string.

2. Сохранение фактов БД в внешнем файле:

save (DosFileName),

где DosFileName - Dos - имя файла БД в формате string.

3. Занесение новых фактов в резидентную БД осуществляетсяпри помощи следующих предикатов:

assert(<факт>),

asserta(<факт>),

assertz(<факт>).

Предикаты assert и assertz заносят указанный файл в конец БД, а предикат assertа - в начало.

Удаление файлов их резидентной БД осуществляется при помощи предикатов

retract(<факт>), retractall(<факт>).

Предикат retract удаляет первый из совпавших с указанным факт резидентной БД. Для удаления последующих фактов необходимо использовать откат(file). Предикат retractall удаляет все факты, совпадающие с заданным. Примеры использования:

retract(parent(tom,bob)), retractall(parent(tom,_)). В первом случае удаляется единственный факт parent(tom,bob, а во втором происходит удаление всех фактов для предиката parent, первый аргумент которых имеет значение tom.

 

12.Нечеткая логика в принятии решений

Нечёткая логика (англ. fuzzy logic) и теория нечётких множеств — раздел математики, являющийся обобщением классической логики и теории множеств. Понятие нечёткой логики было впервые введено профессором Лотфи Заде в 1965 году. В его статье понятие множества было расширено допущением, что функция принадлежности элемента к множеству может принимать любые значения в интервале [0...1], а не только 0 или 1. Такие множества были названы нечёткими. Также автором были предложены различные логические операции над нечёткими множествами и предложено понятие лингвистической переменной, в качестве значений которой выступают нечёткие множества.

 

13.Принятие решений в условиях неопределенности и риска

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

Основные критерии, используемые в процессе принятия решений в условиях неопределенности, представлены ниже.

1. критерий Вальда (критерий «максимина»)

2. критерий «максимакса»

3. критерий Гурвица (критерий «оптимизма-пессимизма» или «альфа-критерий»)

4. критерий Сэвиджа (критерий потерь от «минимакса»)

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

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

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

5. А i=а *Э MAXi+ (1 - а) * Э MINi,

где A i — средневзвешенная эффективность по критерию Гурвица для конкретной альтернативы;

а — альфа-коэффициент, принимаемый с учетом рискового предпочтения в поле от 0 до 1 (значения, приближающиеся к нулю, характерны для субъекта, не склонного к риску; значение равное 0,5 характерно для субъекта, нейтрального к риску; значения, приближающиеся к единице, характерны для субъекта, склонного к риску);

Э MAXi — максимальное значение эффективности по конкретной альтернативе;

Э MINi — минимальное значение эффективности по конкретной инициативе.

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

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

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

 

14.Метод экспоненциального сглаживания

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

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

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

фактическое значение Ai в данной точке ряда i, прогноз в точке ряда Fi некоторый заранее заданный коэффициент сглаживания W, постоянный по всему ряду.

Новый прогноз можно записать формулой:

15.Особенности реализации динамических экспертных систем управления бизнес-процессами

 

16.Логическое программирование

Логи́ческое программи́рование — парадигма программирования, основанная на автоматическом доказательстве теорем, а также раздел дискретной математики, изучающий принципы логического вывода информации на основе заданных фактов и правил вывода. Логическое программирование основано на теории и аппарате математической логики с использованием математических принципов резолюций.

Самым известным языком логического программирования является Prolog.

Первым языком логического программирования был язык Planner (см. обзор Шапиро (Ehud Shapiro) [1989]), в котором была заложена возможность автоматического вывода результата из данных и заданных правил перебора вариантов (совокупность которых называлась планом). Planner использовался для того, чтобы понизить требования к вычислительным ресурсам (с помощью метода backtracking) и обеспечить возможность вывода фактов, без активного использования стека. Затем был разработан язык Prolog, который не требовал плана перебора вариантов и был, в этом смысле, упрощением языка Planner.

От языка Planner также произошли логические языки программирования QA-4, Popler, Conniver и QLISP. Языки программирования Mercury, Visual Prolog, Oz и Fril произошли уже от языка Prolog. На базе языка Planner было разработано также несколько альтернативных языков логического программирования, не основанных на методе поиска с возвратами (backtracking), например, Ether.

 

17.Логические модели знаний

В основе логических моделей представления знаний лежит понятие формальной системы в виде четверки:

M = <T,P,A,F>,

где T – множество базовых символов теории M (например, буквы алфавита);

P – множество синтаксических правил, посредством которых из базовых символов строятся формулы;
A – множество построенных формул, состоящих из аксиом;

F – правила вывода, определяющие множество отношений между правильно построенными формулами.

 

18.Основные задачи, решаемые на логических моделях, их суть.

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

^ Основные задачи, решаемые с помощью логического моделирования

1. Проверка правильности функционирования дискретного устройства

2. Проверка временных характеристик работы дискретного устройства

3. Анализ состязаний сигналов и рисков сбоев

4. Разработка обнаруживающих и диагностических тестов для проверки неисправности возникающих в дискретных устройствах

5. Анализ полноты тестов

 

 

19.Фреймы. Примеры систем, основанных на фреймах.

Фреймы. Развитием семантических сетей являются фреймовые

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

отношения) объектов собираются в одну структуру данных,

называемую фреймом. Причем в качестве значений слотов (атрибутов)

могут выступать как обычные значения данных, так и действия,

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

реализуются в виде присоединенных процедур или процедур-демонов, вызываемых по определенным условиям. В этом плане фреймовый

метод представления знаний в большей степени операционно-

ориентирован по сравнению с семантической сетью.

В качестве примера рассмотрим фрейм <выбор скорости>:

 

{<выбор скорости>

<состояние дороги>: 0.6

<состояние машины>: 0.8

<состояние водителя>: 0.5

}

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

 

20.Семантические сети: основные определения.

Семанти́ческая сеть — информационная модель предметной области, имеющая вид ориентированного графа, вершины которого соответствуют объектам предметной области, а дуги (рёбра) задают отношения между ними. Объектами могут быть понятия, события, свойства, процессы[1]. Таким образом, семантическая сеть является одним из способов представления знаний. В названии соединены термины из двух наук: семантика в языкознании изучает смысл единиц языка, а сеть в математике представляет собой разновидность графа — набора вершин, соединённых дугами (рёбрами), которым присвоено некоторое число. В семантической сети роль вершин выполняют понятия базы знаний, а дуги (причем направленные) задают отношения между ними. Таким образом, семантическая сеть отражает семантику предметной области в виде понятий и отношений.

 

21.Понятие машины вывода. Правила вывода.

22.Выводимость одних знаний из других. Алгоритм вывода в системе формул F ® (a v b v …v c).

23.Доказательство теорем в логике предикатов.

24.Байесовский статистический метод.

 

25.Построение диагностического классифицирующего дерева.

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

Цель построения деревьев классификации заключается в предсказании (или объяснении) значений категориальной зависимой переменной, и поэтому используемые методы тесно связаны с более традиционными методами Дискриминантного анализа, Кластерного анализа, Непараметрической статистики и Нелинейного оценивания. Широкая сфера применимости деревьев классификации делает их весьма привлекательным инструментом анализа данных, но не следует поэтому полагать, что его рекомендуется использовать вместо традиционных методов статистики. Напротив, если выполнены более строгие теоретические предположения, налагаемые традиционными методами, и выборочное распределение обладает некоторыми специальными свойствами, то более результативным будет использование именно традиционных методов. Однако, как метод разведочного анализа, или как последнее средство, когда отказывают все традиционные методы, деревья классификации, по мнению многих исследователей, не знают себе равных.

Что же такое деревья классификации? Представьте, что вам нужно придумать устройство, которое отсортирует коллекцию монет по их достоинству (например, 1, 2, 3 и 5 копеек). Предположим, что какое-то из измерений монет, например - диаметр, известен и, поэтому, может быть использован для построения иерархического устройства сортировки монет. Заставим монеты катиться по узкому желобу, в котором прорезана щель размером с однокопеечную монету. Если монета провалилась в щель, то это 1 копейка; в противном случае она продолжает катиться дальше по желобу и натыкается на щель для двухкопеечной монеты; если она туда провалится, то это 2 копейки, если нет (значит это 3 или 5 копеек) - покатится дальше, и так далее. Таким образом, мы построили дерево классификации. Решающее правило, реализованное в этом дереве классификации, позволяет эффективно рассортировать горсть монет, а в общем случае применимо к широкому спектру задач классификации.

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

 

 

26.Обработка событий в системе Visual Prolog.

События

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

 

 

27.Определение функции нечеткой меры.

Теория нечёткой меры рассматривает ряд специальных классов мер, каждая из которых характеризуется специальным свойством. Некоторые из мер, используемых в этой теории — это меры уверенности и правдоподобности из теории возможностей, функция принадлежности, а также классические вероятностные меры. В теории нечёткой меры условия точно определены, но информации об отдельных элементах недостаточно, чтобы определить, какие специальные классы мер надо использовать. Центральное понятие теории нечёткой меры — нечёткая мера, было введено Мичио Сугэно

28.Проверка статистических решений по критерию Фишера.

 

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

Термин интеллект (intelligence) происходит от латинского intellectus — что означает ум, рассудок, разум; мыслительные способности человека. Соответственно искусственный интеллект (artificial intelligence) — ИИ (AI) обычно толкуется как свойство автоматических систем брать на себя отдельные функции интеллекта человека, например, выбирать и принимать оптимальные решения на основе ранее полученного опыта и рационального анализа внешних воздействий.

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

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

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

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

 

30.Представление отношений формулами (предикатами), фреймами и семантическими таблицами.

Предикат - логическая функция, определенная на некотором множестве M, то есть такая n -местная функция p, которая каждому упорядоченному набору (x1,..., x1) из множества M сопоставляет некоторое высказывание, обозначаемое p(x1,..., x1). В этом случае p называется n - местным предикатом на множестве M.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...