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



Упражнения



Упражнения

5. 4. Даны два списка Кандидаты и Исключенные, напишите последовательность целей (используя принадлежит и not), которая, при помощи перебора, найдет все элементы списка Кандидаты, не входящие в список Исключенные.

Посмотреть ответ

5.5.    Определите отношение, выполняющее вычитание множеств:

line();

        решение( [ ]).

        решение( [X/Y | Остальные] ) :-
                решение( Остальные),
                принадлежит( Y, [1, 2, 3, 4, 5, 6, 7, 8] ),
                not бьет( X/Y, Остальные).

        бьет( X/Y, Остальные) :-
                принадлежит( X1/Y1, Остальные),
                ( Y1 = Y;
                        Y1 is Y + X1 - X;
                        Y1 is Y - X1 + X ).

        принадлежит( А, [А | L] ).

        принадлежит( А, [В | L] ) :-
                принадлежит( А, L).

        % Шаблон решения

        шаблон( [1/Y1, 2/Y2, 3/Y3, 4/Y4, 5/Y5, 6/Y6, 7/Y7, 8/Y8]).

line();



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