доказано( цел( Предохр) )

                                        то

                                                доказано( неиспр( Прибор) ).

% Если устройство работает, то его предохранитель цел

        правило_цел_предохр:

                                        если

                                                соед( Прибор, Предохр)

                                                и работает( Прибор)

                                        то

                                                доказано( цел( Предохр) ).

% Если два различных прибора подключены к одному и тому же

% предохранителю, оба включены и не работают, то предохранитель

% сгорел.

% ЗАМЕЧАНИЕ: предполагается, что из двух приборов неисправных -

% не более одного!

            правило_предохр:

                                        если

                                                соед( Прибор1, Предохр) и

                                                вкл( Прибор1) и

                                                не работает( Прибор1) и

                                                общ_предохр( Прибор2, Прибор1) и

                                                вкл( Прибор2) и

                                                не работает( Прибор2)

                                        то

                                                доказано( сгорел( Предохр) ).

        правило_общ_предохр:

                                        если

                                                соед( Прибор1, Предохр) и

                                                соед( Прибор2, Предохр) и

                                                различны( Прибор1, Прибор2)

                                        то

                                                общ_предохр( Прибор1, Прибор2).

        факт:  различны( X, Y) :- not (X=Y).

        факт:  прибор( радиатор).

        факт:  прибор( лампа1).

        факт:  прибор( лампа2).

        факт:  прибор( лампа3).

        факт:  прибор( лампа4).

        факт:  соед( лампа1, предохр1).

        факт:  соед( лампа2, предохр1).

        факт:  соед( радиатор, предохр1).

        факт:  соед( лампа3, предохр2).

        факт:  соед( лампа4, предохр2).

        можно_спросить( вкл( П), вкл( 'Прибор') ).

        можно_спросить( работает( П), работает(' Прибор')).

Рис. 14. 7.  База знаний для локализации неисправностей

в схеме, показанной на рис. 14.6.

14. 2.    Придумайте какую-нибудь задачу принятия решений и сформулируйте соответствующие знания в форме 'если-то'-правил. Можете рассмотреть,

Вы читаете Prolog
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату