Язык Пролог предназначен для использования в разработ-
ках по искусственному интеллекту и в современных эксперт-
ных системах. Повышение требований к "дружественности"
интерфейса и интеллектуальности программных средств обслужи-
вает рост популярности этого языка.
Пролог относится к классу непроцедурных, или деклара-
тивных, языков программирования, которые отличаются от про-
цедурных языков тем, что описывают не последовательность
действий по достижению заданной цели (алгоритм), а фикси-
руют имеющуюся в наличии информацию (знания) и определяют
задачу (цель). Средства достижения результата (алгоритм)
скрыты внутри Пролог-системы, а основу которой положен один
из разделов математической логики - исчисление предикатов
первого порядка. Это позволяет разработчику сосредоточить
внимание на поставленной проблеме, а не заниматься вопро-
сами кодирования программ. Следствием подобного подхода
являются, во-первых, ориентация языка на обработку сим-
вольной информации, а во-вторых, принципиально отличная от
процедурных языков структура программы (т.к. в декларатив-
ных языках отсутствуют понятия потока команд и оператора
присвоения).
Среди декларативных языков программирования различают
функциональные языки и языки логического программирования.
Функциональные языки базируются на комбинаторной логике и
теории рекурсивных уравнений. В общем случае программа на
таком языке представляет собой систему неупорядоченных
рекурсивных уравнений.
В отличие от них языки логического программирования к
которым принадлежит Пролог, основаны на символьной логике.
Язык Пролог, как типичный представитель данного класса
языков, по сравнению с процедурными языками имеет следующие
характерные особенности:
- декларативность программы, позволяющая разработчику
уделять максимальное время не операциям взаимодействия с
ЭВМ, а решению поставленной задачи;
- простая и динамичная структура данных;
- единообразие описаний программ и данных, позволяющее
изменять программу во время ее работы.
Особенности языка определяют области его применения:
- перевод с одного языка на другой (это относится как
к естественным языкам, так и к языкам программирования);
- естественно-языковые интерфейсы программных систем;
- "быстрые" варианты программных систем, позволяющие
за короткое время создавать прототипы программ в рекламных
целях, или для "обкатки" пользователем;
- системы управления реляционными базами данных с
элементами экспертных оценок и искуственного интеллекта;
- собственно экспертные системы и системы
искуственного интеллекта, включающая системы доказательства
теорем, символьных вычислений и т.п.
Кроме того, рассматриваемый вариант языка Турбо-Пролог
версия 2.0 фирмы Borland International обладает рядом
дополнительных преимуществ:
- реализована на наиболее распространенном типе
персональных ЭВМ;
- возможность взаимодействия с одним из наиболее
мощных языков процедурного класса - языком Турбо Си;
- возможность взаимодействия с графической библиотекой
BGI (Borland Graphic Interface);
- наличие большого объема документации, включая
учебник и множество примеров программ;
- наличие широкого распространенной Турбо-среды,
знакомой многим пользователям персональных ЭВМ.
В логическом программировании элементы исходной задачи
описываются в виде объектов и отношений между ними. В языке
Пролог объекты называются атомами, а отношения - предикатами.
Для записи отношений используется эдинбургский синтаксис,
согласно которому отношение r между объектами - атомами a и
b записывается в виде
r(a, b)
Отношения-предикаты могут быть как унарными (например,
r(a)), так и бинарными (r(a, b)), или, а общем случае,
n-арными (r(a,b,...,x)).
В одной задаче могут использоваться несколько множеств
различных объектов. В этом случае каждому множеству
ставится в соответствие его тип. Кроме того, между
элементами каждого множества могут существовать несколько
отношений (могут быть определены несколько предикатов). В
последнем случае имеет смысл определить взаимосвязи между
отношениями-предикатами, заданными над одним и тем же
множеством объектов-атомов. Формальная запись такой
взаимосвязи называется правилом. При построении правил
используется абстрактный тип объекта, не имеющий
конкретного наполнения и называемый переменной. Объект-
переменная, так же как и объект_атом, имеет тип. Переменная
может принимать значение любого однотипного с ним атома.
Набор описаний атомов, определенных на них предикатов
и множество установленных правил совместно с формально
описанной целью задачи образуют Пролог-программу.
Опубликовал Kest
April 02 2009 18:34:48 ·
0 Комментариев ·
15861 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.