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




Усовершенствование процедуры ответпольз - часть 7


% Известен ли ответ для всех конкретизации утверждения Цель?

        ответпольз( Цель, Копия, _, Ответ, _ ) :-
                сказано( Копия, Ответ, _ ),
                конкретизация( Копия, Цель),  !.
       % Ответ известен

% Найти все известные решения для Цель с индексами, начиная с N

        ответпольз( Цель, _, _, правда, N) :-
                сказано( Цель, правда, М),
                М >= N.

% Все уже сказано об утверждении Цель?

        ответпольз( Цель, Копия, _, Ответ, _) :-
                конец_ответов( Копия),
                конкретизация( Копия, Цель),  !,
      % Уже все сказано
                fail.

% Попросить пользователя дать (еще) решения

        ответпольз( Цель, _, Трасса, Ответ, N) :-
                спросить_польз( Цель, Трасса, Ответ, N).

        спросить_польз( Цель, Трасса, Ответ, N) :-
                можно спросить( Цель, ВнешФормат),
                формат( Цель, ВнешФормат, Вопрос, [ ], Перем),

                                                                     % Получить формат вопроса



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