Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Побудова бази знань. Факти й правила




Особливістю мови Пролог-Д, що відрізняє його від інших мов для роботи на ЕОМ, є його застосування не тільки для програмування, але, головним чином, для опису даних і правил їхньої обробки. Побудова бази знань на Пролог-Д означає виявлення множини досліджуваних об'єктів і зв'язків між ними, сукупність яких описує явище або процес.

Іншими словами, створення інформаційно-логічної моделі явища або процесу, що описується мовою Пролог-Д. Розглянемо методику розробки баз знань на прикладах, запозичених із традиційної практики. Першим кроком при побудові бази знань є виявлення об'єктів і співвідношень між ними, що відповідають на питання: "Що дано?". Таку інформацію доцільно представляти у вигляді сукупності фактів. Класичним прикладом фактографії слугує англо-український словник. Записаний засобами Пролога-Д він виглядає так:

 

укрангл(мати, mammy);

укрангл(небо, sky);

укрангл(сонце, sun);

укрангл(хлопчик, boy);

укрангл(коло, ring);

укрангл(навколо, arоund);

 

і так далі. Послідовність фактів можна й продовжити, але вже зараз досить слів, щоб перекласти на англійську мову відому дитячу пісню. Подібні відносини є граматичною конструкцію Пролога-Д, що називається фактом. Факт задається у вигляді функціоналу: ім'я і сукупність аргументів. У даному прикладі " укрангл" - це ім'я факту воно означує інформацію, що записується в ньому. Українські й англійські слова: мати, mammy, небо, sky, сонце, sky, хлопчик, boy є аргументами факту та задають взаємно однозначну відповідність між українськими й англійськими словами. Необов'язково, щоб факт мав два аргументи. Наприклад, факт: чоловік(Микола); має один аргумент - Микола й ім'я - чоловік, а факт народився(Петров,Іван,10,вересень,1979); має п'ять аргументів - Петров, Іван, 10, вересень, 1979 й ім'я народився. Однак, з погляду синтаксису мови Пролог-Д, необхідний хоча б один аргумент. Якщо факт у базі знань має ім'я й не має аргументів, то система видасть повідомлення про синтаксичну помилку. Наведений приклад, по суті справи, уже є базою знань мовою Пролог-Д. До цієї бази знань можна ставити різні питання:

 

? укрангл(y,x); - якщо необхідно довідатися про всі слова, що зберігаються в базі знань,

 

? укрангл(мати, x); - якщо необхідно довідатися як по англійські мати?

 

? укрангл(x, sky); - якщо необхідно довідатися, що означає слово sky?

 

Для опису всієї множини інформації, взагалі кажучи, досить фактів. Однак, якщо можливо задати деякі зв'язки й відносини між об'єктами, то вдається скоротити число фактів, і тим самим зробити базу знань більш лаконічної. Зв'язки й відносини між об'єктами задаються ПРАВИЛАМИ. При побудові правил виділяється сукупність відносин, що відповідають на питання "Що відомо?".

Правило можна побудувати, користуючись відомим принципом поділу вихідного завдання на більш прості, які теж можуть бути розділені. Цей процес відомий за назвою процесу ДЕКОМПОЗИЦІЇ завдання. Процес декомпозиції закінчується в той момент, коли відносини зв'язують зафіксовані в базі знань об'єкти.

Наприклад, у завданні про побудову родинних відносин можна визначити наступні правила:


бабуся(x,y)<-мати(x,z),мати(z,y);
бабуся(x,y)<-мати(x,z),батько(z,y);
дідусь(x,y)<-батько(x,z),батько(z,y);
дідусь(x,y)<-батько(x,z),мати(z,y);

 

Глибина процесу декомпозиції в цьому випадку автоматично встановлюється. Вона визначена поняттями "мати", "батько".

Процес декомпозиції не обов'язково однозначний. Навіть простий приклад про родичів дозволяє й інше трактування. Якщо ввести правило, що визначає поняття "батьки"

 

батьки(x,y)<-мати(x,y);

батьки(x,y)<-батько(x,y);

 

те бабусю й дідуся можна визначити простіше:

 

бабуся(x,y)<мати(x,z),батьки(z,y);

дідусь(x,y)<батько(x,z),батьки(z,y);

 

Якщо, до тільки що записаним правилам додати кілька фактів, то отримуємо база знань, що називається "родина":

 

мати(Оля, Володя);

батько(Сергій, Володя);

мати(Оля, Сашко);

батько(Коля, Сашко);

мати(Люда, Сергій);

батько(Володя, Сергій);

батьки(x,y)<-мати(x,y);

батьки(x,y)<-батько(x,y);

бабуся(x,y)<-мати(x,z),батьки(z,y);

дідусь(x,y)<-батько(x,z),батьки(z,y);

 

У даному прикладі для визначення поняття батьки(x,y) треба було більш одного правила. По суті справи тут використане недетерміноване розгалуження, що дає альтернативне визначення цього відношення й яке використовується системою після того, як було застосовано перше відношення. Варто підкреслити, що у визначенні беруть участь обидва правил. У загальному випадку число правил не обмежено.

 




Поделиться с друзьями:


Дата добавления: 2015-01-03; Просмотров: 472; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.015 сек.