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


         

это решение этой задачи, имеющее


Это можно сделать, введя в отношение решить еще один аргумент:

        решить( Верш, РешДер, МаксГлуб)

Как и раньше, вершиной Верш

представлена решаемая задача, а РешДер - это решение этой задачи, имеющее глубину, не превосходящую МаксГлуб. МаксГлуб

-это допустимая глубина поиска в графе. Если МаксГлуб

= 0, то двигаться дальше запрещено, если же МаксГлуб

> 0, то поиск распространяется на преемников вершины Верш, причем для них устанавливается меньший предел по глубине, равный МаксГлуб -1. Это дополнение легко ввести в программу рис. 13.8. Например, второе предложение процедуры решить примет вид:

        решить( Верш, Верш ---> Дер, МаксГлуб) :-

                МаксГлуб > 0,

                Верш ---> или : Вершины,


                % Верш - ИЛИ-вершина

                принадлежит ( Верш1, Вершины),

                                                        % Выбор преемника  Верш1  вершины  Верш

                Глуб1 is МаксГлуб - 1,

                     % Новый предел по глубине

                решить( Bepш1, Дер, Глуб1).

                                                        % Решить задачу-преемник с меньшим ограничением


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