АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Domains

Читайте также:
  1. Hellenistic Roman rhetoric system
  2. Making predictions
  3. Translating by Practical Transcribing
  4. TRANSLATION AND INTERPRETATION DURING THE MIDDLE AGES
  5. UNITS OF INTERNATIONAL LEXICON AND WAYS OF RENDERING THEIR MEANING AND LINGUAL FORM
  6. Лекція №11. Маршрутизація в IP-мережах
  7. Основные конструкции языка Visual PROLOG

name = 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 = речка.

Программирование логических функций

Процесс программирования достаточно простых структур данных очень удобно разобрать на примере определения истинности логической формулы.

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

 

 

Таблица истинности

    № Функция Символическое обозначение         Примечание
  Конъюнк- ция T F F F
  Эквивален-тность T F F T
  Дизъюнк-ция T T T F
  Отрицание F F T T
  Имплика-ция T F T T
  Стрелка Пирса F F F T
  Штрих Шеффера F T T T
  Неэквива-лентность F T T F

 

Рассмотрим пример описания логической функции «штрих Шиффера» на прологе, используя трехместный предикат

В разделе domains опишем аргументы предиката как объекты типа char. Поместим в раздел predicates предикат sht(c,c,c), где первый и второй аргументы с предиката sht описывают операнды А,В, а третий с – соответствующее им значение функции из таблицы истинности. Раздел сlauses будет содержать базу знаний функции «штрих Шиффера» из таблицы.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)