Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Упражнение. 2.10. Что произойдет, если системе Prolog будет задан следующий вопрос:




2.10. Что произойдет, если системе Prolog будет задан следующий вопрос:

?- х = f(X).

Должен ли этот запрос на согласование завершиться успехом или неудачей? В соответствии с определением операции унификации в логике он должен окончиться неудачей, но что должно произойти в соответствии с определением операции согласования, приведенным в разделе 2.2? Объясните, почему во многих реализациях Prolog на данный вопрос дается такой ответ:

х - f (f (£(f (f (£ (f (f (f [f (f (f (f (f (...


Глава 2. Синтаксис и значение программ Prolog



Резюме

В первых двух главах рассматривалась основная часть языка Prolog, называемая также "чистым языком Prolog". К этой части определения языка применяется тер­мин "чистый", поскольку она тесно связана с формальной логикой. А далее в этой книге (главы 3-7) рассматриваются расширения, которые направлены на то, чтобы можно было лучше приспособить этот язык к некоторым практическим потребно­стям. В данной главе рассматривались перечисленные ниже важные вопросы.

Простыми объектами в языке Prolog являются атомы, переменные и числа. Структурированные объекты (или структуры) используются для представ­ления объектов, имеющих несколько компонентов.

• Структуры создаются с помощью функторов. Каждый функтор определяется своим именем и арностью.

Тип объекта распознается исключительно по его синтаксической форме.

• Лексической областью определения переменных является одно предложение. Поэтому под переменными с одним и тем же именем в двух предложениях подразумеваются две различные переменные.

• Структуры могут быть естественным образом представлены как деревья. Prolog может рассматриваться как язык для обработки древовидных информацион­ных структур.

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

• В случае успешного выполнения операции согласования ее результатом стано­вится наиболее общая конкретизация переменных,

Декларативная семантика языка Prolog определяет, является ли цель истин­ной по отношению к данной программе, а если установлено, что она истинна, то определяет, какая конкретизация переменных является истинной.

• Запятая между целями обозначает конъюнкцию целей, а точка с запятой меж­
ду целями - дизъюнкцию целей.

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

Декларативное значение программ в "чистом языке Prolog" не зависит от по­рядка предложений и порядка целей в предложениях.

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

• Изменение порядка предложений и целей в программе, правильной с деклара­тивной точки зрения, позволяет повысить эффективность программы и сохра­нить при этом ее декларативную правильность. Такое переупорядочение явля­ется одним из методов предотвращения возможности возникновения бесконеч­ных циклов.

 

• Кроме переупорядочения, существуют другие более общие методы предотвра­щения бесконечных циклов в. тем самым, обеспечения процедурной надежно­сти программ.

• В данной главе рассматривались следующие понятия:

 

• объекты данных: атом, число, переменная, структура;

• терм;



Часть I. Язык Prolog


• функтор, арность функтора;

• главный функтор терма;

• согласование термов;

• наиболее общая конкретизация;

• декларативная семантика;

• экземпляр предложения, вариант предложения;

• процедурная семантика;

• выполнение целей.


Глава 2. Синтаксис и значение программ Prolog







Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 389 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Жизнь - это то, что с тобой происходит, пока ты строишь планы. © Джон Леннон
==> читать все изречения...

2269 - | 2040 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.