Программирование на языке Пролог для искусственного интеллекта

       

Графы отношений родительродителя мать и отпрыск определенных через другие отношения



Рисунок 1. 3.  Графы отношений родительродителя, мать и отпрыск,
определенных через другие отношения.


Такие отношения как родитель, отпрыск и мать можно изобразить в виде диаграмм, приведенных на Рисунок 1.3. Они нарисованы с учетом следующих соглашений. Вершины графа соответствуют объектам, т.е. аргументам отношений. Дуги между вершинами соответствуют бинарным (двуместным) отношениям. Дуги направлены от первого аргумента к второму. Унарные отношения на диаграмме изображаются просто пометкой соответствующих объектов именем отношения. Отношения, определяемые через другие отношения, представлены штриховыми дугами. Таким образом, любую диаграмму следует понимать так: если выполнены отношения, изображенные сплошными дугами, тогда и отношение, изображенное штриховой дугой, тоже выполнено. В соответствии с Рисунок 1.3, отношение родительродителя можно сразу записать на Прологе:

        родительродителя( X, Z) :- родитель( X, Y),
                                                        родитель( Y, Z).

Здесь уместно сделать несколько замечаний о внешнем виде нашей программы. Пролог дает почти полную свободу расположения текста на листе. Так что можно вставлять пробелы и переходить к новой строке в любом месте текста по вкусу. Вообще мы хотим сделать так, чтобы наша программа имела красивый и аккуратный вид, а самое главное, легко читалась. Для этого мы часто будем помещать голову предложения и каждую цель на отдельной строке. При этом цели мы будем писать с отступом, чтобы сделать разницу между головой и целями более заметной. Например, правило родительродителя в соответствии с этими соглашениями запишется так:

        родительродителя( X, Z) :-
                родитель( X, Y),
                родитель( Y, Z).

На Рисунок 1.4 показано отношение сестра:

    Для любых X и Y
         X является сестрой Y, если
         (1)        у X и Y есть общий родитель, и
         (2)        X - женщина.



Содержание раздела