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


         

в следующем: если все вхождения



%

%    подставить( Подтерм, Терм, Подтерм1, Терм1)

%

%    состоит в следующем: если все вхождения Подтерм'а в Терм

%    заменить на Подтерм1, то получится Терм1.

%    Случай 1: Заменить весь терм

        подставить( Терм, Терм, Терм1, Терм1) :-  !.

%    Случай 2: нечего подставлять

        подставить( _, Терм, _, Терм) :-

                atomic( Терм),  !.


%    Случай 3: Проделать подстановку в аргументах

        подставить( Под, Терм, Под1, Терм1) :-

                Терм =.. [F | Арги],


                                        % Выделить аргументы

        подспис( Под, Арги, Под1, Арги1),

                                        % Выполнить над ними подстановку

        Терм1 =.. [F | Арги1].

        подспис( Под, [Терм | Термы], Под1, [Терм1 | Термы1]) :-

                 подставить( Под, Терм, Под1, Терм1),

                 подспис( Под, Термы, Под1, Термы1).


line();

Рис. 7. 3.  Процедура подстановки в терм вместо одного из его

подтермов некоторого другого подтерма.


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





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