Глава 0 логика, логическое программирование и пролог

    1. Знакомство с логическим программированием Определение логического программирования

Логическое программирование это один из подходов к информатике, при котором в качестве языка высокого уровня используется логика предикатов первого порядка в форме фраз Хорна. Начало исследованиям в области формальной логики было положено работами Аристотеля в ГУ в. до н. э. Логика предикатов первого порядка - это ветвь формальной логики, получившая развитие в основном в XX в. Это — универсальный абстрактный язык предназначенный для представления знаний и для решения задач. Его можно рассматривать как общую теорию отношений. Логическое программирование базируется на подмножестве логики предикатов первого порядка, при этом оно одинаково широко с ней по сфере охвата. Логическое программирование дает возможность программисту описывать ситуацию при помощи формул логики предикатов, а затем, для выполнения выводов из этих формул, применить автоматический решатель задач (т. е. некоторую процедуру). При использовании языка логического программирования основное внимание уделяется описанию структуры прикладной задачи, а не выработке предписаний компьютеру о том, что ему следует делать. Другие понятия информатики из таких областей, как теория реляционных баз данных, программная инженерия и представление знаний, также можно описать (и, следовательно, реализовать) с помощью логических программ. С этой позиции логическое программирование оказывает потенциально революционизирующее влияние на многие аспекты информатики.

Пролог

Обычно в языках логического программирования применяется программная технология, основывающаяся на правиле вывода путем резолюции. которое предложил Робинсон. Пролог — это наиболее известный язык логического программирования. Существуют, однако, и иные языки. Первоначальный вариант языка Пролог был разработан Алэном Кольмерором с сотрудниками в 1972 г. в Марсельском университете. В течение последнего десятилетия этот язык получил дальнейшее развитие благодаря работам, проводившимся в различных университетах Европы. Лишь начиная с 1981 г. Пролог стал привлекать внимание специалистов из США. Это произошло после того, как Министерство внешней торговли и развития Японии объявило о том, что японский проект создания ЭВМ 5-го поколения будет основываться на методах логического программирования. С этого момента интерес к Прологу непрерывно рос. Теперь Пролог применяется для решения прикладных задач многими правительственными организациями и фирмами Европы, США и Японии. Сейчас существует международное сообщество ученых и специалистов, активно работающих в области логического программирования. Японские исследователи играют важную роль в этих работах.

Язык искусственного интеллекта

Пролог часто называют языком искусственного интеллекта. Такая формулировка, однако, некорректна в двух отношениях. Лисп — это наиболее известный язык искусственного интеллекта. Если определить аналогичным образом сферу применения языка Пролог, то неизбежно начнется сопоставление этих двух языков с целью выявить, какой из них лучше. С точки зрения практики для каждого языка существует своя методология программирования. Единственно приемлемый способ сравнения языков, дающий основания заявить, что один язык "лучше" другого, заключается в учете "человеческих" факторов, т. е. в сравнении читабельности программ, легкости в пользовании языками и т. д. В настоящее время американские специалисты по искусственному интеллекту отдают предпочтение языку Лисп. Их выбор скорее обусловлен привычностью Лиспа, чем недостатками языка Пролог как такового.

Более важным моментом является то, что сфера применения Пролога не ограничивается искусственным интеллектом. Этот язык успешно использовался как для решения многих традиционных прикладных задач (программная инженерия, интерфейсы баз данных, системы помощи в принятии решений), так и для решения задач искусственного интеллекта (экспертные системы, системы обработки естественного языка).

Простота языка Пролог

Язык программирования Пролог привлекателен своей простотой (в нем насчитывается небольшое количество лексикографических символов). Пролог-программу легко читать, что является фактором, способствующим повышению производительности при программировании 'И увеличению удобств при сопровождении программ. Поскольку язык Пролог основан ни универсальных формализмах фраз Хорна, исходный текст Пролог-программ значительно менее подвержен влиянию машинно-зависимых особенностей, чем исходные тексты программ, написанных на других языках. Кроме того, в различных версиях языка Пролог проявляется тенденция к единообразию, так что программу, написанную для одной версии, легко можно преобразовать в программу для другой версии этого языка: а. В конечном счете Пролог прост в изучении.

Соседние файлы в папке Гл.0,1,2,3,4,5,Предисловие