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

       

Сопоставление треугольник((



Рисунок   2. 7.    Сопоставление треугольник(( точка( 1, 1), А, точка( 2, 3)) = треугольник( Х, точка( 4, Y),
точка( 2, Z))



является вертикальным, если x-координаты его точек-концов совпадают; никаких других ограничений на отрезок не накладывается. Свойство "горизонтальности" формулируется аналогично, нужно только в этой формулировке х и y поменять местами. Следующая программа, содержащая два факта, реализует эти формулировки:

        верт( отр( точка( Х, Y), точка( Х, Y1) ) ).
        гор( отр( точка( Х, Y), точка( Х1, Y) ) ).

С этой программой возможен такой диалог:

        ?-  верт( отр( точка( 1, 1), точка( 1, 2) ) ).
        да

        ?-  верт( отр( точка( 1, 1), точка( 2, Y) ) ).
        нет

        ?-  гор( отр( точка( 1, 1), точка( 2, Y) ) ).
        Y  =  1

На первый вопрос система ответила "да", потому. что цель, поставленная в вопросе, сопоставима с одним из фактов программы. Для второго вопроса сопоставимых фактов не нашлось. Во время ответа на третий вопрос при сопоставлении с фактом о горизонтальных отрезках Y получил значение 1.



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