Студопедия

КАТЕГОРИИ:

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

Правила и запросы языка Пролог.




 

Не нашел нормального ответа про правила и запросы.

 

Пролог (англ. Prolog) — язык и система логического программирования, основанные на языке предикатовматематической логики дизъюнктов Хорна, представляющей собой подмножество логики предикатов первого порядка.

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

Prolog является декларативным языком программирования: логика программы выражается в терминах отношений, представленных в виде фактов и правил. Для того, чтобы инициировать вычисления, выполняется специальный запрос к базе знаний, на которые система логического программирования генерирует ответы «истина» и «ложь». Для обобщённых запросов с переменными в качестве аргументов созданная система Пролог выводит конкретные данные в подтверждение истинности обобщённых сведений и правил вывода.

Синтаксис

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

 

Правила

Правила в Прологе записываются в форме правил логического вывода с логическими заключениями и списком логических условий. В чистом Прологе предложения ограничиваются Дизъюнктами Хорна

 Вывод :- Условие.

и читаются как: Заголовок ИСТИНА, если Тело ИСТИНА. Тело правила содержит ссылки на предикаты, которые называются целями правила. Встроенные предикаты ,/2, означающий оператор с двумя аргументами, определяющий конъюнкцию целей и ;/2 определяющий дизъюнкцию.

Запросы

Особую роль в интерпретаторе Пролога играют конкретные запросы к базам знаний, на которые система логического программирования генерирует ответы «истина» и «ложь». Для обобщённых запросов с переменными в качестве аргументов созданная систем Пролог выводит конкретные данные в подтверждение истинности обобщённых сведений и правил вывода.

 

Программы и схемы программы. Формы стандартных схем программ. Интерпретация и свойства стандартных схем программ.

Программа выступает как промежуточное звено при общении человека с ЭВМ, связывая поставленную задачу с процессом поиска ее решения на машине. Нам достаточно ее представлять как функцию над множеством данных – объектов, кодирующих заданную и искомую инфу. Будучи посредником между задачей и машиной, программа задает некоторую механич. процедуру решения задач, являясь одним из способов задания алгоритма. Кроме того, программы являются объектами более сложной структуры, чем традиционные системы описания алгоритмов. Современные универсальные языки программирования предоставляют в распоряжение программиста богатый набор программных примитивов. Приведем список наиболее распространенных: средства описания структур данных (константы, простые переменные, массивы, списки, массивы, очереди и.т.п, ссылочные структуры, блочность, типы данных), средства описания операций (арифм. выражения, логич. выражения, процедуры и функции, выражения спец. вида и назначения), средства описания структур программ (операторы присваивания, условные, перехода, цикла, механизмы вызова процедур, средства задания параллелизма).

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

Формы стандартных схем: 1. графовая форма – граф, вершинами к-го приписаны операторы. В практике широко используется блок-схема. 2. линейная форма – здесь каждому оператору присваивается индивидуальный номер + добавляются множество дополнительных спец. символов: на, если, то, иначе.

Интерпретацией базиса β в области интерпретации D называется функция I, которая сопоставляет:

1. каждой переменной x из базиса β – некоторый элемент d = I(x) из области интерпретации D;

2. каждой константе a из базиса – некоторый элемент d = I(a) из D;

3. каждому функциональному символу f(n) (n>=1) – всюду определенную функцию F(n) = I(f(n)): Dn -> D;

4. каждой логической константе p(0) – один из символов множества (0,1);

5. каждому предикатному символу p(n), где n>=1, - всюду определенный предикат P(n) = I(p(n)): Dn -> (0,1).

Свойства стандартных схем:

1) тотальность – стандарт. схема S в базисе β тотальна, если для любой интерпретации I базиса β программа (S,I) останавливается

2) пустота – стандартная схема S пуста, если для любой интерпретации I программа (S,I) зацикливается.

3) эквивалентность – отношение эквивалентности вводится для стандартных схем в одном базисе. Если схемы S1 и S2 построены в двух различных базисах β1 и β2, то можно их привести к одному базису, в качестве которого взять объединение базисов β1 и β2.

Стандартные схемы S1 и S2 в базисе β функционально эквивалентны, если для любой интерпретации I базиса β программы (S1,I) и (S2,I) либо обе зацикливаются, либо обе

 

 










Последнее изменение этой страницы: 2018-04-12; просмотров: 243.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...