Основы построения и функционирования интеллектуальных информационных систем. Былкин В.Д - 115 стр.

UptoLike

115
Заключение... .имущество =6ез_скидки,
так как: если использование_ередства
:
=менее_50%, можно сделать вывод, что имущество
=6ез_скидки.
В этом примере система в качестве объяснения выводит правило. Ответ имеет две
составляющие: первая - это текущая предпосылка, а вторая -результирующее заключение.
Новые модули -
В этой части введем две новые процедуры.
EXPLAlN_HOW позволяет программе "объяснить" ход своих рассуждений, выводя на экран правило
или правила, которыми ока воспользовалась для получения конкретного заключения.
EXPLAIN_WHY обеспечивает системе возможность отвечать, почему должен быть задан тот
или иной вопрос.
Эти новые процедуры будут использоваться программой только в том случае, если в
основной программе появится строка EXPLAIN =TRUE.
Кроме того, мы модифицируем введенную в гл. 10 процедуру PURSUE для включения этих новых
возможностей.
Объяснение вывода
Следующий модуль позволяет "объяснить" вывод в ходе консультации. При вызове процедуры
EXPLAIN_HOW, на экран выводится надпись "Так как:", затем содержание текущей предпосылки в
формате ОБЪЕКТ =ЗНАЧЕНИЕ. Если в выводе участвует более одной предпосылки, программа
продолжает выводить их на экран до тех пор, пока указатель текущей предпосылки не примет значение nil.
В конце объяснения программа пишет: "Можно сделать вывод, что" и выдает текущее заключение
(тоже в формате ОБЪЕКТ=ЗНАЧЕНИЕ). Если получено несколько заключений, программа продолжает
выводить их до тех пор, пока не будут исчерпаны все заключения.
PROCEDURE explain_how(curr_rule:rule_ptr); VAR
с urr_prem: pr
em_ptr; curr_con
:con_ptr;
        Заключение... .имущество =6ез_скидки,
        так как: если использование_ередства:=менее_50%, можно сделать вывод, что имущество
=6ез_скидки.
       В этом примере система в качестве объяснения выводит правило. Ответ имеет две
составляющие: первая - это текущая предпосылка, а вторая -результирующее заключение.




                                                Новые модули -

        В этой части введем две новые процедуры.
        EXPLAlN_HOW позволяет программе "объяснить" ход своих рассуждений, выводя на экран правило
или правила, которыми ока воспользовалась для получения конкретного заключения.
        EXPLAIN_WHY обеспечивает системе возможность отвечать, почему должен быть задан тот
или иной вопрос.
        Эти новые процедуры будут использоваться программой только в том случае, если в
основной программе появится строка EXPLAIN =TRUE.
        Кроме того, мы модифицируем введенную в гл. 10 процедуру PURSUE для включения этих новых
возможностей.



                                         Объяснение вывода

        Следующий модуль позволяет "объяснить" вывод в ходе консультации. При вызове процедуры
EXPLAIN_HOW, на экран выводится надпись "Так как:", затем — содержание текущей предпосылки в
формате ОБЪЕКТ =ЗНАЧЕНИЕ. Если в выводе участвует более одной предпосылки, программа
продолжает выводить их на экран до тех пор, пока указатель текущей предпосылки не примет значение nil.
        В конце объяснения программа пишет: "Можно сделать вывод, что" и выдает текущее заключение
(тоже в формате ОБЪЕКТ=ЗНАЧЕНИЕ). Если получено несколько заключений, программа продолжает
выводить их до тех пор, пока не будут исчерпаны все заключения.
PROCEDURE explain_how(curr_rule:rule_ptr); VAR
сurr_prem:pr
em_ptr;curr_con
:con_ptr;




                                                    115