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




Моделирование недетерминированного автомата - часть 5


        X1 = b

        Х2 = а

        Х3 = b;

        nо

              (нет)

Если мы предпочитаем, чтобы допустимые цепочки выдавались в виде списков, тогда наш вопрос следует сформулировать так:

        ?- Цепочка = [ _, _, _ ], допускается( s1, Цепочка).

        Цепочка = [а, а, b];

        Цепочка = [b, а, b];

        nо

               (нет)

Можно проделать и еще некоторые эксперименты, например спросить: "Из какого состояния автомат допустит цепочку длиной 7?"

Эксперименты могут включать в себя переделки структуры автомата, вносящие изменения в отношения конечное, переход и спонтанный. В автомате, изображенном на рис. 4.3, отсутствуют циклические "спонтанные пути" (пути, состоящие только из спонтанных переходов). Если на рис. 4.3 добавить новый переход

        спонтанный( s1, s3)

то получится "спонтанный цикл". Теперь наша модель может столкнуться с неприятностями. Например, вопрос

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

приведет к тому, что модель будет бесконечно переходить в состояние s1, все время надеясь отыскать какой-либо путь в конечное состояние.




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