|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Domainsname = symbol Predicates men (name) mortal (name) Сlauses men (”Иван”). mortal (X): - men (X).
Программа работает следующим образом. Сопоставление предиката цели и первого факта является неуспешным, поскольку различаются имена предикатов. Предикат цели сопоставим с головой правила mortal (X), в результате чего переменная Х в предикатах mortal (X) и men (X) приобретает значение ”Иван”. Правило имеет значение Истина или считается завершенным, если все предикаты тела правила сопоставимы с фактами из БЗ. В нашем случае единственный предикат тела правила men (”Иван”) сопоставим с аналогичным фактом. Ответом будет Yes (да). По аналогии составлена Пролог-программа
Domains name, site = symbol Predicates is (name, site) Сlauses is (”Петя”, ”речка”). is (”Ваня”, Х): - is (”Петя”, Х).
с фактом (6), правилом (10) и двухместным предикатом is (*,*) – находится (*,*). Здесь name и site – два аргумента предиката is (name, site), означающие имя человека и его местонахождения. Целью поиска может быть вопрос «где находится Ваня?» - is (”Ваня”, Y). Отличие этоф программы от предыдущей состоит в том, что после удачного сопоставления цели и предиката головы правила, предикат тела правила is (”Петя”, Y) успешно сопоставляется с фактом БЗ is (”Петя”, ”речка”) и Y получаетзначение ”речка”, которое передается предикату головы правила is (”Ваня”, ”речка”). Ответом будет Y = речка. Программирование логических функций Процесс программирования достаточно простых структур данных очень удобно разобрать на примере определения истинности логической формулы. В таблице приведены восемь логических функций, для каждой из которых дается таблица истинности, наиболее распространенное символическое обозначение и предикат.
Таблица истинности
Рассмотрим пример описания логической функции «штрих Шиффера» на прологе, используя трехместный предикат В разделе domains опишем аргументы предиката как объекты типа char. Поместим в раздел predicates предикат sht(c,c,c), где первый и второй аргументы с предиката sht описывают операнды А,В, а третий с – соответствующее им значение функции из таблицы истинности. Раздел сlauses будет содержать базу знаний функции «штрих Шиффера» из таблицы. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |