Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Топ:
Особенности труда и отдыха в условиях низких температур: К работам при низких температурах на открытом воздухе и в не отапливаемых помещениях допускаются лица не моложе 18 лет, прошедшие...
Проблема типологии научных революций: Глобальные научные революции и типы научной рациональности...
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Интересное:
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Аура как энергетическое поле: многослойную ауру человека можно представить себе подобным...
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Дисциплины:
2021-01-31 | 53 |
5.00
из
|
Заказать работу |
|
|
|
Парадигма логического программирования использует идею автоматиче- ского вывода информации на основе заданных фактов и правил. Логическое программирование основано на теории и аппарате формальной логики. Напи- санная согласно формальной логике программа является множеством логи- ческих форм, представляющих факты и правила относительно некоторой предметной области. Основным языком логического программирования при- знан Prolog, хотя известны и другие – Planner, ASP и Datalog. Во всех таких языках правила имеют форму клауз:
H :- B11, …, BNn,
понимаемую как логическое следование
if (B11 and … and BN) then H
или
B11 & … & BN → H
H называют головой правила, а B11, …, BN – телом.
|
|
to solve H, solve B1, and... and solve Bn.
Декларативный подход к пониманию программ требует от программиста систематической проверки корректности. Более того, используются преобра- зования логических программ в их более эффективные эквиваленты, что сближает ЛП с макротехникой. Для повышения эффективности программ программисту следует знать особенности поведения механизма вычислений и границы вычислимости используемых выражений.
Операционная семантика
Логическое программирование сводит обработку данных к выбору про- извольной композиции определений (уравнений, предикатных форм), даю- щей успешное получение результата. Именно обработка формул является ос- новой – вычисление рассматривается как операция над формулой. При не- успехе происходит перебор других вариантов определений. В языках ЛП считают возможным прямой перебор вариантов, сопоставляемых с образ- цами, и организацию возвратов при неудачном выборе. Перебор вариантов выглядит как обход графа в глубину. Имеются средства управления перебо- ром с целью исключения заведомо бесперспективного поиска.
|
В отличие от множества элементов набор вариантов не требует одновре- менного существования всех составляющих. Поэтому представление вариан- тов можно освободить от необходимости формулировать все варианты сразу. В логическом программировании можно продумывать варианты отношений между образцами формул постепенно, накапливая реально встречающиеся факты и их сочетания. Содержательно такой процесс похож и на уточнение набора обработчиков прерываний на уровне оборудования. Кроме основной программы, выполняющей целевую обработку данных, отлаживается коллек- ция диагностических реакций и процедур продолжения счета для разного рода неожиданных событий, препятствующих получению результата программы.
|
Следует иметь в виду, что варианты не образуют иерархии. Их аксиома- тика подобна так называемой упрощенной теории множеств. Принципиаль- ная особенность – совпадение предикатов принадлежности и включения.
|
Абстрактный синтаксис сводим к формуле (факт | (предикат цель) | ESC)
Абстрактная машина (AML:
AML = <SCL, RL>, где RL = <S, E, C, D, R>
AML – абстрактная машина для ЛП, SCL – система команд для ЛП,
S – стек результатов,
E – значения локальных переменных,
|
R – невычислявшиеся варианты.
s e c d r → s' e' c' d' r' – переход от старого состояния к новому.
s e c d те же, что и в ФП, r – предназначен для хранения не опробованных вариантов.
В книге Хендерсона [15] приведено обобщение абстрактной машины, поддерживающее на базовом уровне работу с вариантами с использованием дополнительного дампа, гарантирующего идентичность состояния машины при переборе вариантов.
Таблица 31
|
|
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!