3. Язык программирования Пролог.

            Язык Пролог был изобретен французским математиком-программистом Колмэрауе в 1972 году как язык логического программирования для проведения экспериментов в области “искусственного интеллекта” на ЭВМ.

            Интерпретаторы Пролога в 80-ых годах были созданы практически для всех типов компьютеров для исследований по проекту ЭВМ пятого поколения и в том числе для IBM PC и всех типов школьных компьютеров.

            Базис языка Пролог - исчисление предикатов, являющегося одним из раз­де­лов математической логики, в котором изучается техника матема­ти­ческих доказа­тельств и методы автоматического доказательства теорем на ЭВМ.

            Программы на Прологе состоят из фактов и правил вывода, записываемых в форме предикатов. Предикаты - это функции, принимающие  логические значения “истина” или “ложь” и имеющие один или нескольких аргументов.

            Пример программы на языке Пролог:

                        мама( Зина, Вова);                                                                                   

                        папа( Вова, Лена);                                                                                     

                        бабушка( x, z ) <- мама( x, y ), мама( y, z );                                                          

       Факты в Прологе служат для описания конкретных данных и простейших сведений. Примеры фактов:

              мама(зина,вова)                   – Зина – мама Вовы

              папа(миша,вова)                   – Миша – папа Вовы

       Правила в Прологе используются для описания определений, процедур принятия решений и обработки данных. Примеры использования правил для описания определения понятия "родитель":

          родитель(x,y) ¬ папа(x,y);        – Родитель – это папа или мама

          родитель(x,y) ¬ мама(x,y).

            Предикаты в Прологе в отличие от языка математической логики записы­ваются с использованием идентификаторов - слов русского, английского и других национальных языков. Примеры:  рост( х, у );  мама( х, у );  бабушка( x, z ) .

            Логически предикаты выра­жают некоторые суждения о некоторых перемен­ных либо объектах и их свойствах. Примеры суждений, выражаемых в предикатах:  A( x )  =  цвет =  х ”;    B( x, y )  =  x < y “.

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

              ? мама( x, Вова );                              - кто мама у Вовы?

              ? родитель( x, Вова );                       - кто родители у Вовы?

       Поиск ответов на вопросы проводится интерпретатором Пролога на основе  фактов и правил вывода, содержащихся в программе. Ответами в простейших случаях будут значения переменных, отвечающих запросам. Пример:

              ? мама( x, Вова );                              - кто мама у Вовы?

              х = Зина

       Ответы на вопросы могут быть логические значения ДА (истина) или НЕТ. Примеры простых вопросов:

              ? мама( Зина, Вова );                        - Зина - мама Вовы?

              ДА

              ? папа( Миша, Вова );                       - Миша - папа Вовы?

              НЕТ

 



Hosted by uCoz