Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Топ:
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Эволюция кровеносной системы позвоночных животных: Биологическая эволюция – необратимый процесс исторического развития живой природы...
Интересное:
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Национальное богатство страны и его составляющие: для оценки элементов национального богатства используются...
Дисциплины:
2021-01-31 | 50 |
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
|
|
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!