Cтраница 1
Логическое программирование обладает большей выразительной способностью задания запросов и ограничений в сравнении с языками определения данных и манипулирования данными систем баз данных. Более того, представление запросов и ограничений возможно при этом в однородном формализме, и их проверка требует одних и тех же механизмов вывода, что позволяет вести более сложные рассуждения о содержимом базы данных. [1]
Логическое программирование возникло главным образом благодаря успехам в автоматическом доказательстве теорем, в частности благодаря разработке принципа резолюции. [2]
Логическое программирование обещает сделать значительный вклад в применение компьютеров с целью обучения. [3]
Логическое программирование может применяться не только для знакомства детей с вычислениями на ЭВМ. [4]
Логическое программирование возникло в начале 70 - х годов как продолжение исследований по машинному доказательству теорем, осуществляемых в области искусственного интеллекта. [5]
Логическое программирование хорошо подходит для решения проблем, для работы с формальными и естественными языками, для баз данных, запросных и экспертных систем и для других дискретных невычислительных задач. Пользователя привлекает ясность, содержательность программ и их нетехнический характер. [6]
Логическое программирование появилось спустя 10 - 15 лет после изобретения систем продукций и имеет множество преимуществ. При необходимости можно использовать механизмы для реализации стандартных алгоритмов, которые применяются в других областах информатики. Кроме того, логическая программа может быть написана таким образом, что будут сразу ясны ее результаты. Для логического программирования Пролог подходит более, чем любой другой язык процедурного программирования типа Паскаля. Пролог позволяет вам концентрировать внимание именно на том, что делает программа. [7]
Продукционное и логическое программирование являются важными методами, используемыми в экспертных системах, обработке естественных языков и других применениях программ искусственного интеллекта. [8]
Термины логическое программирование и программирование на языке Пролог часто употребляются как равнозначные, однако подразумеваемая стратегия управления в Прологе, в роли которой выступает определенная ранее в этой главе стандартная стратегия, отнюдь не является единственной стратегией, имеющейся для исполнения логических программ. [9]
Системы логического программирования управляют небольшими однопользовательскими базами данных, располагаемыми в оперативной памяти и содержащими правила вывода и фактическую информацию. Системы баз данных, напротив, управляют большими, находящимися в коллективном пользовании совокупностями данных в массовой памяти и обеспечивают технологию поддержки эффективного поиска и надежного изменения долговременно хранимых данных. [10]
Взаимосвязь логического программирования и баз данных исследуется с ноября 1977 г., когда в Тулузе состоялась конференция по логике и базам данных; за этим событием последовали две конференции по перспективам теории баз данных в 1979 и 1982 гг. Труды конференций [ Gall 78, Gall 81, Gall 84a ] содержат фундаментальные работы в этой области. [11]
Язык логического программирования для манипулирования данными ( такой, как LDL) следует разрабатывать в соответствии с подходящей моделью данных, которая формализует принципы хранения и поиска и манипу-ляционные примитивы, поддерживаемые СУБД для используемых в языке объектов. Чистый Дейталог, например, может основываться на реляционной модели в первой нормальной форме ( которую в последнее время часто называют плоской реляционной моделью), поскольку концепция литерала прекрасно сопоставима с концепцией кортежа в отношениях данных, а единичные шаги вычисления программы Дейталога можно транслировать в соответствующую последовательность реляционных операций ( гл. С другой стороны, языки логического программирования ( такие, как LDL) имеют дело со структурированными объектами, которые требуют более сложных моделей данных. [12]
Развитием логического программирования до недавнего роста интереса к нему занимались лишь несколько исследовательских центров, в результате чего существующая литература по этому предмету еще довольно мала. Те немногие тексты, которые уже опубликованы, основаны на специфических реализациях языка логического программирования, другие вот-вот появятся, но в большей своей части эти книги предназначены быть учебными руководствами по написанию программ. Кроме того, для специалистов в области информатики были изданы в виде книг сборники статей о последних достижениях в логическом программировании. Остается, таким образом, довольно большой пробел между этими двумя крайностями в уровне изложения, и главная цель данной книги - до некоторой степени его восполнить. [13]
Связь логического программирования с понятием логического следствия определяется тем способом, которым задачи формулируются и решаются. Рассмотрим типичную задачу решения некоторых уравнений. [14]
Язык логического программирования ( ЯЛП) - это язык интеллектуального программирования, основанный на исчислении предикатов, в котором все декларативные и процедурные знания отображаются в виде синтаксических ППФ. Достоинством ЯЛП является наличие формальных процедур, позволяющих выполнять вывод и анализ таких характеристик записей в виде утверждений и правил, представленных ППФ, как эквивалентность, непротиворечивость и др. Недостатком ЯЛП является плохая наглядность для пользователя информационных единиц, записанных в виде ППФ. [15]