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


         

Как мы уже видели, программы



                               % Допуск чтением первого символа

              переход( S, X, S1),

              допускается( S1, Остальные).


        допускается( S, Цепочка) :-

                               % Допуск выполнением спонтанного перехода

              спонтанный( S, S1),

              допускается( S1, Цепочка).


Спросить о том, допускается ли цепочка  аааb,   можно так:

        ?-  допускается( S1, [a, a, a, b]).

        yes

            (да)

Как мы уже видели, программы на Прологе часто оказываются способными решать более общие задачи, чем те, для которых они первоначально предназначались. В нашем случае мы можем спросить модель также о том, в каком состоянии должен находиться автомат в начале работы, чтобы он допустил цепочку  аb:

        ?-  допускается( S, [a, b]).

        S = s1;

        S = s3


Как ни странно, мы можем спросить также "Каковы все цепочки длины 3, допустимые из состояния s1?"

        ?-  допускается( s1, [XI, Х2, X3]).

        X1 = а

        Х2 = а

        Х3 = b;



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