АВТОМАТИЗИРОВАННОЕ ПОСТРОЕНИЕ МАРШРУТА ЛОГИЧЕСКОГО ВЫВОДА В МИВАРНОЙ БАЗЕ ЗНАНИЙ

1. Машинореализуемый способ автоматизированного построения маршрута логического вывода в базе знаний, содержащей представление модели предметной области в виде объектов и связей, организованных в ориентированный двудольный граф, при этом объекты содержат параметры, причем связи содержат правила и каждое правило имеет по меньшей мере одну входную переменную и по меньшей мере одну выходную переменную, а каждый связанный с правилом параметр является либо его входной переменной, либо выходной переменной, при этом способ содержит этапы, на которых:
формируют совокупность известных параметров и задают один или более искомых параметров;
выполняют обработку для каждого известного параметра, ранее не проходившего данную обработку, в целях нахождения искомых параметров, при этом упомянутая обработка содержит этапы, на которых:
определяют запускаемые правила, в которых известный параметр является входной переменной, для которых известны все остальные входные переменные и которые не запускались раньше, и
запускают эти определенные запускаемые правила и дополняют совокупность известных параметров выходными переменными запущенных правил,
при этом если найдены все искомые параметры, упомянутую обработку прекращают; и
строят последовательность из запущенных правил в порядке их запуска, при этом построенная последовательность правил представляет маршрут логического вывода.
2. Способ по п. 1, в котором совокупность известных параметров представляет собой очередь или стек, при этом известные параметры поочередно извлекаются из очереди или стека, соответственно, для выполнения упомянутой обработки.
3. Способ по п. 1, при этом способ дополнительно содержит этап, на котором выводят на дисплейное устройство найденные искомые параметры и построенный маршрут логического вывода.
4. Способ по п. 3, дополнительно содержащий этап, на котором, если по результатам упомянутой обработки, по меньшей мере, часть искомых параметров не найдена, выводят сообщение об ошибке и/или не найденные искомые параметры.
5. Способ по п. 2, в котором, если для известного параметра запускаемые правила не определены, извлекают из очереди или стека следующий известный параметр и выполняют в отношении него упомянутую обработку.
6. Способ по п. 1, дополнительно содержащий этап, на котором вводят известные параметры через пользовательский интерфейс.
7. Способ по п. 1, в котором
для каждого параметра хранится, в виде по меньшей мере одного списка, информация о всех правилах, для которых он является входной или выходной переменной;
для каждого правила хранится, в виде по меньшей мере одного списка, информация о всех его входных и выходных переменных, включая информацию о количестве входных и выходных переменных.
8. Способ по п. 7, в котором
для каждого параметра, найденного при упомянутой обработке, дополнительно сохраняют информацию о том, посредством какого запущенного правила, в котором он является выходной переменной, данный параметр был найден;
для каждого запускаемого правила дополнительно сохраняют информацию о том, какой из параметров, являющихся входной переменной этого правила, привел при упомянутой обработке к определению того, что данное правило является запускаемым.
9. Способ по п. 7, в котором для каждого правила дополнительно сохраняют индикатор, показывающий, было ли правило запущено или нет, при этом после запуска правила индикатор модифицируют так, чтобы он показывал, что правило было запущено.
10. Способ по п. 1, в котором
объекты дополнительно содержат классы, при этом каждый класс может включать в себя другие классы и/или параметры, причем каждый параметр относится только к одному классу; и
связи дополнительно содержат отношения, причем каждое отношение описывает взаимосвязь между абстрактными переменными,
при этом каждое правило включает в себя ссылку на отношение.
11. Способ по п. 10, в котором представление модели предметной области дополнительно содержит одно или более ограничений, при этом входными переменными каждого ограничения являются значения параметров, каждое ограничение содержит ссылку на отношение, выражающее условие, которому должны удовлетворять входные переменные, и выходной переменной каждого ограничения является булевская переменная.
12. Способ по п. 11, дополнительно содержащий этапы, на которых:
выполняют запуск по меньшей мере одного ограничения посредством задания соответствующих известных параметров в качестве его входных переменных; и
выводят сообщение об ошибке и останавливают выполнение способа, если условие, выражаемое данным ограничением, не удовлетворяется этими соответствующими известными параметрами.
13. Способ по п. 1, дополнительно содержащий этапы, на которых:
формируют список искомых параметров из упомянутых искомых параметров;
пока список искомых параметров не пустой,
извлекают из списка искомых параметров искомый параметр и выявляют правило, посредством которого выбранный искомый параметр был непосредственно определен;
если выявленное правило ранее не было добавлено в формируемую глобальную последовательность правил, формируют локальную последовательность правил, задействованных для определения выбранного искомого параметра, начиная с добавления выявленного правила в локальную последовательность правил, при этом при упомянутом формировании локальной последовательности правил, для каждого правила, начиная с упомянутого выявленного правила:
определяют параметр-инициатор, который является входной переменной правила и которым при упомянутой обработке был инициирован запуск правила;
если у правила есть одна или более других входных переменных, для каждой из этих одной или более других входных переменных добавляют параметр, являющийся этой входной переменной, в начало списка искомых параметров и определяют место вставки локальной последовательности правил, которая должна быть создана для добавленного параметра, в глобальную последовательность правил, при этом место вставки указывает правило, перед которым в глобальной последовательности правил должна вставляться локальная последовательность правил, которая должна быть создана для добавленного параметра;
пока формирование локальной последовательности правил не завершено:
выбирают правило из запущенных правил, выходной переменной которого является упомянутый параметр-инициатор, и проверяют, присутствует ли выбранное правило в глобальной последовательности правил и является ли оно местом вставки,
если выбранное правило присутствует в глобальной последовательности правил или является местом вставки, завершают формирование локальной последовательности правил,
если выбранное правило не присутствует в глобальной последовательности правил и не является местом вставки, добавляют выбранное правило в конец формируемой локальной последовательности правил и проверяют, является ли данное правило правилом, входными переменными которого являлись только известные параметры, и
если входными переменными выбранного правила являлись только известные параметры, завершают формирование локальной последовательности правил; и
если для искомого параметра определено место вставки, вставляют сформированную локальную последовательность правил в место вставки в глобальной последовательности правил, в противном случае, добавляют локальную последовательность правил в конец глобальной последовательности правил,
при этом сформированная глобальная последовательность правил представляет собой оптимизированный маршрут логического вывода.
14. Способ по п. 13, дополнительно содержащий этап, на котором при добавлении правила в локальную последовательность правил заносят выходные переменные этого правила в формируемый список найденных параметров, если эти выходные переменные не присутствуют в списке найденных параметров, при этом искомые параметры, присутствующие в списке найденных параметров, удаляют из списка искомых параметров.
15. Способ по п. 13, в котором каждая из локальной последовательности правил и глобальной последовательности правил представляет собой список, а список искомых параметров представляет собой связанный список.
16. Компьютерно-реализованная система для автоматизированного построения маршрута логического вывода в базе знаний, содержащей представление модели предметной области в виде объектов и связей, организованных в ориентированный двудольный граф, при этом объекты содержат параметры, причем связи содержат правила и каждое правило имеет по меньшей мере одну входную переменную и по меньшей мере одну выходную переменную, а каждый связанный с правилом параметр является либо его входной переменной, либо выходной переменной, при этом система содержит:
средство для формирования совокупности известных параметров и для задания одного или более искомых параметров;
средство для выполнения обработки для каждого известного параметра, ранее не проходившего данную обработку, в целях нахождения искомых параметров, при этом упомянутая обработка содержит:
определение запускаемых правил, в которых известный параметр является входной переменной, для которых известны все остальные входные переменные и которые не запускались раньше, и
запуск этих определенных запускаемых правил и дополнение совокупности известных параметров выходными переменными запущенных правил,
при этом если найдены все искомые параметры, упомянутая обработка прекращается; и
средство для построения последовательности из запущенных правил в порядке их запуска, при этом построенная последовательность правил представляет маршрут логического вывода.
17. Компьютерное устройство, приспособленное для автоматизированного построения маршрута логического вывода в базе знаний, содержащей представление модели предметной области в виде объектов и связей, организованных в ориентированный двудольный граф, при этом объекты содержат параметры, причем связи содержат правила и каждое правило имеет по меньшей мере одну входную переменную и по меньшей мере одну выходную переменную, а каждый связанный с правилом параметр является либо его входной переменной, либо выходной переменной, при этом компьютерное устройство содержит:
один или более процессоров; и
один или более блоков хранения данных, в которых хранятся машиноисполняемые инструкции, которые при их исполнении одним или более процессорами предписывают одному или более процессорам:
формировать совокупность известных параметров и задавать один или более искомых параметров;
выполнять обработку для каждого известного параметра, ранее не проходившего данную обработку, в целях нахождения искомых параметров, при этом упомянутая обработка содержит:
определение запускаемых правил, в которых известный параметр является входной переменной, для которых известны все входные переменные и которые не запускались раньше,
запуск этих определенных запускаемых правил и дополнение совокупности известных параметров выходными переменными запущенных правил,
при этом если найдены все искомые параметры, упомянутая обработка прекращается; и
строить последовательность из запущенных правил в порядке их запуска, при этом построенная последовательность правил представляет маршрут логического вывода.
18. Считываемый компьютером носитель, на котором сохранены исполняемые компьютером инструкции, которые при их исполнении предписывают компьютеру выполнять способ автоматизированного построения маршрута логического вывода в базе знаний по любому одному из пп. 1-15.
19. Машинореализуемый способ автоматизированного построения маршрута логического вывода в базе знаний, содержащей представление модели предметной области в виде объектов и связей, организованных в ориентированный двудольный граф, при этом объекты содержат параметры, причем связи содержат правила и каждое правило имеет по меньшей мере одну входную переменную и по меньшей мере одну выходную переменную, а каждый связанный с правилом параметр является либо его входной переменной, либо выходной переменной, при этом способ содержит этапы, на которых:
формируют совокупность известных параметров и задают один или более искомых параметров;
выполняют обработку для каждого известного параметра, ранее не проходившего данную обработку, в целях нахождения искомых параметров, при этом упомянутая обработка содержит этапы, на которых:
определяют запускаемые правила, в которых известный параметр является входной переменной, для которых известны все остальные входные переменные и которые не запускались раньше, и
запускают эти определенные запускаемые правила и дополняют совокупность известных параметров выходными переменными запущенных правил,
при этом если найдены все искомые параметры, упомянутую обработку прекращают;
строят последовательность из запущенных правил в порядке их запуска, при этом построенная последовательность правил представляет маршрут логического вывода; и
фильтруют построенную последовательность правил так, чтобы в ней присутствовали только те правила, запуск которых непосредственно задействовался для нахождения искомых параметров.
20. Способ по п. 19, в котором совокупность известных параметров представляет собой очередь или стек, при этом известные параметры поочередно извлекаются из очереди или стека, соответственно, для выполнения упомянутой обработки.
21. Способ по п. 19, дополнительно содержащий этап, на котором выводят на дисплейное устройство найденные искомые параметры и построенный маршрут логического вывода.
22. Способ по п. 21, дополнительно содержащий этап, на котором, если по результатам упомянутой обработки, по меньшей мере, часть искомых параметров не найдена, выводят сообщение об ошибке и/или не найденные искомые параметры.
23. Способ по п. 20, в котором, если для известного параметра запускаемые правила не определены, извлекают из очереди или стека следующий известный параметр и выполняют в отношении него упомянутую обработку.
24. Способ по п. 19, дополнительно содержащий этап, на котором вводят известные параметры через пользовательский интерфейс.
25. Способ по п. 19, в котором
для каждого параметра хранится, в виде по меньшей мере одного списка, информация о всех правилах, для которых он является входной или выходной переменной;
для каждого правила хранится, в виде по меньшей мере одного списка, информация о всех его входных и выходных переменных, включая информацию о количестве входных и выходных переменных.
26. Способ по п. 25, в котором
для каждого параметра, найденного при упомянутой обработке, дополнительно сохраняют информацию о том, посредством какого запущенного правила, в котором он является выходной переменной, данный параметр был найден;
для каждого запускаемого правила дополнительно сохраняют информацию о том, какой из параметров, являющихся входной переменной этого правила, привел при упомянутой обработке к определению того, что данное правило является запускаемым.
27. Способ по п. 25, в котором для каждого правила дополнительно сохраняют индикатор, показывающий, было ли правило запущено или нет, при этом после запуска правила индикатор модифицируют так, чтобы он показывал, что правило было запущено.
28. Способ по п. 19, в котором
объекты дополнительно содержат классы, при этом каждый класс может включать в себя другие классы и/или параметры, причем каждый параметр относится только к одному классу; и
связи дополнительно содержат отношения, причем каждое отношение описывает взаимосвязь между абстрактными переменными, при этом каждое правило включает в себя ссылку на отношение.
29. Способ по п. 28, в котором представление модели предметной области дополнительно содержит одно или более ограничений, при этом входными переменными каждого ограничения являются значения параметров, каждое ограничение содержит ссылку на отношение, выражающее условие, которому должны удовлетворять входные переменные, и выходной переменной каждого ограничения является булевская переменная.
30. Способ по п. 29, дополнительно содержащий этапы, на которых:
выполняют запуск по меньшей мере одного ограничения посредством задания соответствующих известных параметров в качестве его входных переменных; и
выводят сообщение об ошибке и останавливают выполнение способа, если условие, выражаемое данным ограничением, не удовлетворяется этими соответствующими известными параметрами.
31. Способ по п. 19, в котором упомянутая фильтрация содержит этапы, на которых:
формируют список искомых параметров из упомянутых искомых параметров;
пока список искомых параметров не пустой,
извлекают из списка искомых параметров искомый параметр и выявляют правило, посредством которого выбранный искомый параметр был непосредственно определен;
если выявленное правило ранее не было добавлено в формируемую глобальную последовательность правил, формируют локальную последовательность правил, задействованных для определения выбранного искомого параметра, начиная с добавления выявленного правила в локальную последовательность правил, при этом при упомянутом формировании локальной последовательности правил, для каждого правила, начиная с упомянутого выявленного правила:
определяют параметр-инициатор, который является входной переменной правила и которым при упомянутой обработке был инициирован запуск правила;
если у правила есть одна или более других входных переменных, для каждой из этих одной или более других входных переменных добавляют параметр, являющийся этой входной переменной, в начало списка искомых параметров и определяют место вставки локальной последовательности правил, которая должна быть создана для добавленного параметра, в глобальную последовательность правил, при этом место вставки указывает правило, перед которым в глобальной последовательности правил должна вставляться локальная последовательность правил, которая должна быть создана для добавленного параметра;
пока формирование локальной последовательности правил не завершено:
выбирают правило из запущенных правил, выходной переменной которого является упомянутый параметр-инициатор, и проверяют, присутствует ли выбранное правило в глобальной последовательности правил и является ли оно местом вставки,
если выбранное правило присутствует в глобальной последовательности правил или является местом вставки, завершают формирование локальной последовательности правил,
если выбранное правило не присутствует в глобальной последовательности правил и не является местом вставки, добавляют выбранное правило в конец формируемой локальной последовательности правил и проверяют, является ли данное правило правилом, входными переменными которого являлись только известные параметры, и
если входными переменными выбранного правила являлись только известные параметры, завершают формирование локальной последовательности правил; и
если для искомого параметра определено место вставки, вставляют сформированную локальную последовательность правил в место вставки в глобальной последовательности правил, в противном случае, добавляют локальную последовательность правил в конец глобальной последовательности правил,
при этом сформированная глобальная последовательность правил представляет собой оптимизированный маршрут логического вывода.
32. Способ по п. 31, дополнительно содержащий этап, на котором при добавлении правила в локальную последовательность правил заносят выходные переменные этого правила в формируемый список найденных параметров, если эти выходные переменные не присутствуют в списке найденных параметров, при этом искомые параметры, присутствующие в списке найденных параметров, удаляют из списка искомых параметров.
33. Способ по п. 31, в котором каждая из локальной последовательности правил и глобальной последовательности правил представляет собой список, а список искомых параметров представляет собой связанный список.
34. Компьютерно-реализованная система для автоматизированного построения маршрута логического вывода в базе знаний, содержащей представление модели предметной области в виде объектов и связей, организованных в ориентированный двудольный граф, при этом объекты содержат параметры, причем связи содержат правила и каждое правило имеет по меньшей мере одну входную переменную и по меньшей мере одну выходную переменную, а каждый связанный с правилом параметр является либо его входной переменной, либо выходной переменной, при этом система содержит:
средство для формирования совокупности известных параметров и для задания одного или более искомых параметров;
средство для выполнения обработки для каждого известного параметра, ранее не проходившего данную обработку, в целях нахождения искомых параметров, при этом упомянутая обработка содержит:
определение запускаемых правил, в которых известный параметр является входной переменной, для которых известны все остальные входные переменные и которые не запускались раньше, и
запуск этих определенных запускаемых правил и дополнение совокупности известных параметров выходными переменными запущенных правил,
при этом если найдены все искомые параметры, упомянутая обработка прекращается;
средство для построения последовательности из запущенных правил в порядке их запуска, при этом построенная последовательность правил представляет маршрут логического вывода; и
средство для фильтрации построенной последовательности правил так, чтобы в ней присутствовали только те правила, запуск которых непосредственно задействовался для нахождения искомых параметров.
35. Компьютерное устройство, приспособленное для автоматизированного построения маршрута логического вывода в базе знаний, содержащей представление модели предметной области в виде объектов и связей, организованных в ориентированный двудольный граф, при этом объекты содержат параметры, причем связи содержат правила и каждое правило имеет по меньшей мере одну входную переменную и по меньшей мере одну выходную переменную, а каждый связанный с правилом параметр является либо его входной переменной, либо выходной переменной, при этом компьютерное устройство содержит:
один или более процессоров; и
один или более блоков хранения данных, в которых хранятся машиноисполняемые инструкции, которые при их исполнении одним или более процессорами предписывают одному или более процессорам:
формировать совокупность известных параметров и задавать один или более искомых параметров;
выполнять обработку для каждого известного параметра, ранее не проходившего данную обработку, в целях нахождения искомых параметров, при этом упомянутая обработка содержит:
определение запускаемых правил, в которых известный параметр является входной переменной, для которых известны все остальные входные переменные и которые не запускались раньше, и
запуск этих определенных запускаемых правил и дополнение совокупности известных параметров выходными переменными запущенных правил,
при этом если найдены все искомые параметры, упомянутая обработка прекращается;
строить последовательность из запущенных правил в порядке их запуска, при этом построенная последовательность правил представляет маршрут логического вывода; и
фильтровать построенную последовательность правил так, чтобы в ней присутствовали только те правила, запуск которых непосредственно задействовался для нахождения искомых параметров.
36. Считываемый компьютером носитель, на котором сохранены исполняемые компьютером инструкции, которые при их исполнении предписывают компьютеру выполнять способ автоматизированного построения маршрута логического вывода в базе знаний по любому одному из пп. 19-33.