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


         

Иногда этот ребус упрощают, сообщая


удалить( A, L, L) :-

        nonvar( A),  !.

                                % Переменная А уже конкретизирована
удалить( А, [А | L], L).
удалить( А, [В | L], [В | L1]) :-

        удалить( A, L, L1).
% Примеры ребусов
ребус1( [D, O, N, A, L, D],

              [G, E, R, A, L, D],

              [R, O, B, E, R, T].
ребус2( [0, S, E, N, D],

              [0, M, O, R, E],

              [M, O, N, E, Y].
line();
Рис. 7. 2.  Программа для арифметических ребусов.
Иногда этот ребус упрощают, сообщая часть решения в виде дополнительного ограничения, например D равно 5. В такой форме ребус можно передать пролог-системе при помощи сумма1:
        ? -  сумма1( [5, O, N, A, L, 5],

                              [G, E, R, A, L, 5],

                              [R, O, B, E, R, T],

                              0, 0, [0, 1, 2, 3, 4, 6, 7, 8, 9], _ ).
Интересно, что в обоих случаях существует только одно решение, т.е. только один способ заменить буквы цифрами.

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





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий