Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Основная перспектива развития механизмов поиска информации в Интернет и баз данных на ЭВМ — создание более универсальных языков запросов, все более приближающихся к обычным естественным языкам по выразительным возможностям. Эта идея лежала в основе японского проекта ЭВМ пятого поколения.
Одним из основных в японском проекте ЭВМ являлось понятие баз знаний, принятых в языке Пролог, а также экспертных систем, моделирующих поведение экспертов в некоторой предметной области знаний или профессиональной деятельности.
База знаний в ЭВМ — это совокупность фактов и правил вывода, хранящихся в памяти ЭВМ. С математической точки зрения базы знаний могут описываться в форме наборов предикатов и правил логического вывода.
Содержание баз знаний составляют конкретные и обобщенные факты и сведения об определенной предметной области или сфере деятельности. Примеры предметных областей — семья, школа, вуз, магазин, рынок, ферма, фирма, завод, офис, банк и т. п.
Любая база данных в ЭВМ может быть описана набором предикатов, описывающих имеющиеся в ней сведения. Примеры записи конкретных фактов в форме предикатов:
мама (Люба, Оля) — Люба — мама Оли
папа (Вова, Лена) — Вова — папа Лены
оценка (Вова, физика, 5) — Вова имеет 5 по физике
оценка (Лена, русский, 5) — У Лены 5 по русскому языку
любит (Лена, музыка) — Лена любит музыку
Перечисленные предикаты в языке Пролог называются фактами. Факты в Прологе — это конкретные предикаты с конкретными значениями. В качестве значений предикатов могут выступать слова, числа и словосочетания, в которых слова соединяются знаком подчеркивания.
Вопросы в языке Пролог — это запросы к базам данных и базам знаний в ЭВМ. С точки зрения математики любой вопрос на Прологе — это некоторое суждение об объектах, хранящихся в базе знаний.
Эти суждения могут быть истинными или ложными. Задача системы Пролог состоит в том, чтобы найти такие конкретные значения, которые дают положительные ответы на указанные вопросы.
Примеры простых вопросов на языке Пролог и ответов на них ЭВМ, в памяти которой содержится указанная выше группа фактов (предикатов):
? папа (х, Лена) — Кто папа Лены?
х = Вова
? мама (х, Лена) — Кто мама Лены?
Нет
? мама (х, у) — Кто у кого — мама?
х = Люба
у = Оля
? оценка (х, _, 5) — Кто имеет оценки 5?
х = Лена
х = Вова
Здесь буквы х, у — обозначения переменных, а числа и слова — конкретные значения аргументов в соответствующих предикатах. Знак подчеркивания «_» представляет неопределенное значение, которое несущественно для ответа на вопросы.
Запись вопросов в языке Пролог начинается со знака?, за которым записывается предикат либо группа предикатов, разделяемых запятыми. Запятая в сложносоставных вопросах на языке Пролог играет роль логической связки «И» («AND»).
Примеры сложносоставных вопросов на языке Пролог:
? мама (х,у), мама (у, Оля) — Кто мама у мамы Оли?
х = Зина
у = Люба
? мама (х,у), папа (у, Оля) — Кто мама у папы Оли?
НЕТ
Правила в Прологе — это правила логического вывода. Слева в правилах записывается следствие, а справа — предусловие. Предусловие может состоять из одного или нескольких предикатов, разделяемых запятыми. Примеры записи правил вывода на Прологе:
студент(х) <— занятие(х,учеба) — студент — тот, кто занят учебой;
нумизмат(х) <— собирает(х,монеты) — нумизмат — тот, кто собирает монеты.
Примеры вопросов на использование этих правил:
? студент(х) — Кто — студент?
х = Алеша
х = Лена
? нумизмат(у) — Кто — нумизмат?
у = Алеша
В правилах со сложносоставными определениями запятая также играет роль логической связки и объединяет условия, образующие определение. Такого рода правила позволяют создавать сложные базы знаний по различным предметным областям и применениям.
Базы знаний на ЭВМ могут содержать правила вывода следующих видов:
— правила определения понятий;
— правила принятия решений;
— способы решения задач;
— правила поведения и т. п.
Обобщенные сведения в базах знаний записываются в форме правил вывода, выражающих определения понятий. Примеры обобщенных сведений:
бабушка (x,z) <— мама(х,у), мама(у,z) — бабушка — это мама мамы;
двоечник(х) <— оценка(х,_,2) — двоечник — тот, у кого есть двойки.
Используя совокупность конкретных и обобщенных фактов и правил, компьютеры могут давать ответы на широкий круг осмысленных вопросов. Для этого соответствующая база знаний с соответствующей системой понятий и правил вывода должна храниться в памяти ЭВМ.
При определении новых понятий необходимо различать их объем и содержание. Объем понятия — это совокупность вещей или явлений, отвечающих данному понятию. Объем понятий соотносит словам и терминам соответствующие объекты предметной области.
Содержание понятия — это совокупность логических признаков, выделяющих объекты, отвечающие данному понятию, среди других объектов. С логической точки зрения определение понятия представляет описание совокупности признаков, характеризующих его содержание.
Приведем примеры определения понятий.
1. Понятие «мама». Объем понятия — совокупность всех мам. Содержание понятия — женщина, имеющая детей. Формализация понятия на Прологе может выражаться конкретными фактами. Примеры:
мама (Люба, Оля) — Люба — мама Оли;
мама (Зина, Люба) — Зина — мама Любы.
2. Понятие — «бабушка». Объем понятия — совокупность всех бабушек. Содержание понятия — «бабушка — это мама мамы или папы». Формализация этого понятия на Прологе:
бабушка(х,z) <- мама(х,у), мама(у,z) — бабушка — это мама мамы;
бабушка(х,z) <- мама(х,у), nana(y,z) — бабушка — это мама папы.
3. Понятие «музыкант». Объем понятия — совокупность людей, занимающихся музыкой. Содержание понятия — «музыкант — человек, который любит музыку и занимается музыкой». Это понятие на языке Пролог можно записать в виде правила:
музыкант (х) <- любит (х, музыка), занятие (х, музыка)
4. Понятие «студент». Объем и содержание понятия — учащиеся в вузах, университетах и колледжах. Определение этого понятия на Прологе можно записать в виде набора правил:
студент (х) <— занятие (х, учеба), место (х, университет);
студент (х) <— занятие (х, учеба), место (х, институт);
студент (х) <— занятие (х, учеба), место (х, колледж);
Для создания сложных баз знаний может понадобиться целая система понятий, характеризующих объекты в заданной предметной области. Эта система определений базируется на наборе признаков, где каждый признак является характеристикой некоторого объекта.
Вопросы
1. Что такое базы знаний?
2. Что такое факты на языке Пролог?
3. Что такое вопросы на языке Пролог?
4. Что такое правила на языке Пролог?
5. Что такое содержание понятия?
6. Что такое объем понятия?
Дата публикования: 2014-10-25; Прочитано: 1101 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!