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




Задача классификации объектов - часть 2


Вот такая формулировка:

        Если Х победил кого-либо и Х был кем-то
                     побежден,
        то Х - боец,
        иначе,    если Х победил кого-либо,
                       то Х - победитель,
                       иначе,     если Х был кем-то побежден,
                                      то Х - спортсмен.

Такую формулировку можно сразу перевести на Пролог. Взаимные исключения трех альтернативных категорий выражаются при помощи отсечений:

        класс( X, боец) :-
             победил( X, _ ),
             победил( _, X),  !.

        класс( X, победитель) :-
             победил( X, _ ),  !.

        класс( X, спортсмен) :-
             победил( _, X).

Заметьте, что использование отсечения в предложении для категории победитель не обязательно, что связано с особенностями наших трех классов.




Содержание  Назад  Вперед