Главная страница  |  Описание сайта  |  Контакты
УСТРОЙСТВО ДЛЯ ОБРАБОТКИ ДЛЯ ЭКСПЕРТНОЙ СИСТЕМЫ
УСТРОЙСТВО ДЛЯ ОБРАБОТКИ ДЛЯ ЭКСПЕРТНОЙ СИСТЕМЫ

УСТРОЙСТВО ДЛЯ ОБРАБОТКИ ДЛЯ ЭКСПЕРТНОЙ СИСТЕМЫ

Патент Российской Федерации
Суть изобретения: Изобретение относится к вычислительной технике и используется для обработки сигналов, которые состоят из множества компонентов, каждый из которых представляет какой-то один аспект физического объекта. Изобретение предусматривает создание средств для улучшения информационного содержания или уменьшения неопределенности упомянутых сигналов. Предлагаемое согласно изобретению устройство обрабатывает сигнал в соответствии с хранимыми и представляющими данные правилами, которые указывают, какие комбинации компонентов возможны. Если все эти комбинации имеют одинаковое значение для какого-то специфического компонента, то этот компонент определяется как имеющий это значение в выходном сигнале. Правила хранятся в виде двоичных представлений возможных комбинаций, а компоненты входного и выходного сигналов могут представлять два допустимых состояния - тавтологию (неопределенное состояние) и несовместимость (недопускаемое состояние). 22 ил.
Поиск по сайту

1. С помощью поисковых систем

   С помощью Google:    

2. Экспресс-поиск по номеру патента


введите номер патента (7 цифр)

3. По номеру патента и году публикации

2000000 ... 2099999   (1994-1997 гг.)

2100000 ... 2199999   (1997-2003 гг.)
Номер патента: 2103731
Класс(ы) патента: G06F15/18
Номер заявки: 5001444/09
Дата подачи заявки: 02.02.1990
Дата публикации: 27.01.1998
Заявитель(и): Бэнг энд Олуфсен Хоулдинг А/С (DK)
Автор(ы): Люкке Моэллер Герт[DK]
Патентообладатель(и): Бэнг энд Олуфсен Хоулдинг А/С (DK)
Описание изобретения: Изобретение относится к устройствам обработки сигналов, например сигналов, используемых для целей коммуникации или управления.
Изобретение особенно эффективно для обработки сигналов, которые состоят из множества компонентов, каждый из которых представляет какой-то один аспект физического объекта.
Кроме того, изобретение также предусматривает создание средств для улучшения информационного содержания или уменьшения неопределенности упомянутых сигналов.
Известны системы обработки сигналов, которые могут обрабатывать сигналы, состоящие из множества компонентов в соответствии с заданной информацией относительно взаимосвязей между компонентами. Системы так называемого "искусственного интеллекта" используют процессоры, которые представляют известные взаимосвязи в какой-то форме представления правил и используют это представление правил применительно к входному сигналу с целью образования выходного сигнала с усиленным информационным содержанием. Как правило, представление правил может содержать большое количество логических связей между возможными компонентами входного сигнала (которые, в общем-то, представляют известную информацию о физическом объекте), а процесс поиска осуществляется через представление правил в попытке получения дополнительных связей к информации. В процессе поиска могут устанавливаться дополнительные правила, а следовательно, может возникнуть необходимость хранить обширную информацию относительно результатов практического использования уже выявленных индивидуальных правил. Следовательно, при использовании обычных систем очень сложной проблемой может оказаться проблема предъявления слишком больших требований к запоминающему устройству таких систем.
Именно с такой проблемой столкнулись при попытке модернизации обычной системы в небольшое по габаритам устройство обработки сигналов, например в микрокомпьютерные системы.
С 30 августа по 18 сентября 1986 года в Кернской школе компьютерной техники (Нидерланды) К.Р. Пеллегрини зачитал свой доклад "Основополагающие принципы экспертных систем" (с. 265 - 282), в котором подробно описал обычную систему искусственного интеллекта на основе продукционных правил, которая в ходе выполнения процедуры поиска использует упомянутые правила применительно к входному сигналу с целью образования выходного сигнала.
При этом было затрачено также много усилий на разработку стратегий поиска правила в попытке найти методы и средства быстрого получения требуемой информации, однако ни одно из предложенных решений не оказалось достаточно эффективным.
Чтобы компоненты входного сигнала содержали двоичные представления аспектов физического объекта, является предпочтительным, чтобы средства хранения имели такие конфигурацию и расположение, которые могли бы хранить массив двоичных кодов, каждый из которых будет представлять комбинацию упомянутых компонентов, которая возможно будет известна.
Далее на конкретном примере детально описываются предпочтительные варианты изобретения с ссылками на сопровождающие описание чертежи, на которых:
фиг. 1 - графическое представление общей концепции способа обработки данных по изобретению;
фиг. 2. - представление трех возможных типов представления знаний;
фиг. 3 - блок-схема устройства обработки сигнала;
фиг. 4 и 5 - схема основного потока данных в показанном на фиг. 3 устройстве (в виде блок-схемы) и функция не АПЛ;
фиг. 6 - схематическое изображение принципа работы основного блока сканирования базы правил;
фиг. 7 - 9 схематическое изображение принципа работы блока инициализации (блока консультирования с правилами), показанного на блок-схеме на фиг. 1;
фиг. 10 и 11 - схематическое изображение принципа работы блока определения правила в общей блок-схеме устройства по изобретению;
фиг. 12 - более детальный вид блока консультирования с правилами;
фиг. 13 - содержимое регистров устройств 3 и 4;
фиг. 14 - структура базы правил устройств 3 и 4;
фиг. 15 - схематическое изображение обработки одиночного правила;
фиг. 16 - последовательность выполнения этапов, реализуемая в блоках консультирования с правилами;
фиг. 17 - логический процесс идентификации правил "для визита", выполняемый блоком сканирования базы правил;
фиг. 18 - процесс, идентичный показанному на фиг. 17, но реализуемый при второй итерации;
фиг. 19 - схематически показаны результаты консультаций с правилами фиг. 17 и 18;
фиг. 20, а и b - схематическое изображение процесса консультирования с правилами с использованием представления правила массива;
фиг. 21 - показанный на фиг. 3 механизм вывода вместе с блоком определения правила и дополнительными регистрами
фиг. 22 - процесс определения производного правила.
Обращаясь к фиг. 1, можно заметить, что конфигурация устройства обработки сигнала выполнена так, чтобы устройство принимало входной сигнал, обозначающий вектор входного состояния, и преобразовывало его в выходной сигнал, т.е. в вектор выходного состояния, с помощью информации, содержащейся в базе правил. Вектор входного состояния может содержать информацию в некоторых из точек S1-SN относительно уже известных аспектов какого-то физического объекта, например о состоянии сенсорных устройств, однако другие компоненты вектора входного состояния обычно не известны. Это и будет функцией устройства обработки сигнала и способа по определению некоторых или всех неизвестных компонентов, если, конечно, база правил дает возможность сделать это. При этом можно считать, что вектор выходного состояния будет представлен конъюнкцией или логическим умножением вектора входного состояния и базы правил.
В предлагаемой системе каждое хранимое в векторе состояние вероятное значение имеет одно из четырех возможных двухразрядных форм, которые будут иметь следующее значение:
0 - 1 Истинное
1 - 0 Ложное
1 - 1 Тавтология (не определено или в этом нет нужды)
О - 0 Противоречие
На фиг. 2 показаны три возможных пути представления в цифровой форме предположительной связи между тремя аспектами физического объекта или системы. В качестве примера сошлемся на следующее правило: "Если система является резервной или отсутствует диск, тогда поворотный стол не вращается".
На фиг. 2 показаны три переменных двоичного состояния - STBY (резервное), DISC (диск) и ROTATING (вращение). При этом следует иметь в виду, что это правило ничего не говорит о каких-то конкретных комбинациях упомянутых переменных и тем самым не допускается вращение поворотного стола, если диск есть, но система не находится в резервном состоянии.
На фиг. 2,а показана форма массива, схематически представляющая это правило, в соответствии с которым каждый из восьми разрядов в прямоугольниках связан с одной из восьми комбинаций трех переменных и указывает, допустима ли эта комбинация или нет. Эта форма представления имеет тот недостаток, что в данном случае приходится хранить большой объем информации, чем это необходимо, а также массив данных может стать очень большим и будет трудно правильно выполнить функцию адресации, если количество переменных будет очень большим.
На фиг. 2,b показано правило, схематически представленное в позитивной индексной форме, в соответствии с которым составляется список только разрешенных комбинаций.
На фиг. 2,с показана комплементарная негативная индексная форма, которая составляет список неразрешенных комбинаций.
Главные компоненты устройства обработки сигнала, иногда также называют механизмом логического вывода. Устройство обработки сигнала содержит память правил 2, которое является ЗУ для хранения правил, причем предварительно, чтобы память была в позитивной индексной форме. Следует иметь в виду, что правила (столбцы на фиг. 3), в общем-то, будут иметь различный размер, причем размер столбцов зависит от количества легальных правил комбинаций в каждом правиле. Эти размерные различия помечены буквами С, J, D и S. Кроме того, устройство обработки сигнала содержит память 1 данных (РS), которая указывает на связь между правилами и переменными, т.е. какие переменные связаны с теми или иными конкретными правилами. Например, двоичное число будет храниться в ячейке Вij, если переменная Vj, включена в правило Ri. Информация об измеренной среде хранится в регистре вектора состояния 10, а само устройство обработки сигнала содержит блок консультирования с правилами 5, который функционирует на основе содержания этого регистра с использованием информации, которая находится в памяти блока 1 и в памяти правил 2, чтобы образовывать и направлять новые значения в регистр вектора состояния 10 вместе с новой информацией, которую удалось получить. В течение этого процесса какой-то список находится в регистре 7 признака активных правил, которые уже привели к образованию новой информации; если встречается какое-то противоречие, тогда номер правила, с которым связано это противоречие, будет храниться в регистре номера правила 6 противоречия. Правила, с которыми провозится консультация, определяются на основе информации в памяти 1 с помощью блока сканирования базы правил 3, регистра списка правил 4 и регистров 8, 9 управляющей переменной и управляющих правил соответственно.
На фиг. 4 показан основной информационный поток примени- тельно к устройству обработки сигнала. Для каждого этапа составлено на языке АПЛ краткое резюме, а в соответствующем блоке дается краткая расшифровка резюме.
Перед тем как перейти к более детальному описанию устройства по изобретению, необходимо будет подробнее остановиться на процедуре обработки (логического выведения) информации с ссылками на очень простой пример только с одним правилом. Допустим, что этим правилом будет:
"Если А, т.е. не В, тогда и не С". Это правило преобразуется в следующую позитивную индексную форму:

Предположим, что состояние ввода "А является истинным; В и С неизвестны" измеряется на основе внешней среды (условие эксплуатации). В данном случае имеем следующий вектор состояния ввода:

Блок 5 начинает функционировать, чтобы идентифицировать все строки в матрице правил, которые удовлетворяют ограничениям вектора состояния ввода. В этом примере этими строками будут только две последние строки. Затем проверяем каждый столбец субматрицы, содержащий только идентифицированные строки: если столбец содержит все единицы, тогда соответствующая переменная состояния ограничивается или считается как истинная; если же все значения в столбце представлены нулями (0), тогда переменная состояния ограничивается или считается как ложная; если имеются и 0 и 1, тогда переменная состояния не имеет границ (тавтология).
Следовательно, после консультации имеем следующий вектор состояния выхода:

со следующей интерпретацией: "А является истиной, В - неиз- вестна и С - ложью".
Теперь перейдем к более детальному описанию предпочтительного варианта изобретения, причем сперва подробно остановимся на памяти правил 2 и на памяти данных 1. Предварительным условием любых простых стратегий логического выведения является однозначное и компактное представление знаний. В обычных системах хорошо известные элементы знаний, а именно правила и факты, хранятся в одной и той же "базе знаний". В описании изобретения проводится более четкое и ясное различие между правилами и фактами; правила или предполагаемые функции хранятся в памяти правил 2, а факты хранятся в регистре вектора состояния 10. Простые выражения и предположения типа "А и В", "А или не А" (тавтология) и "А и не А" (противоречие или несоответствие) считаются фактами, а не правилами.
В любой практической системе необходимо предусмотреть и использовать интерфейс оператора (известен также под названием компилятор) для преобразования правил, выраженных оператором в виде логических связей, в двоичную форму (предпочтительно в позитивную индексную форму), которая и будет использоваться в памяти правил. С помощью компилятора можно также проверить избыточность во входной информации и несоответствие с прежними правилами. Первую проверку можно осуществить с помощью метода создания теоремы, о чем подробнее ниже, а вторую проверку - с помощью метода производного правила.
В памяти правил 2 каждая легальная битовая комбинация в любом правиле хранится в адресуемой ячейке памяти, например в 16-разрядном слове. Как уже упоминали выше, правила могут иметь различные размеры, следовательно, первое правило может занимать С слов, а второе - τ-слов. Последовательность расположения индивидуальных легальных комбинаций в любом правиле не имеет значения для нормального функционирования предлагаемого устройства.
Однако последовательность расположения переменных состояния важна хотя бы по той причине, что изобретение предусматривает использование адресующего механизма, о чем подробнее ниже. Переменные в любом правиле располагаются в последовательности в соответствии с общей схемой, которую ниже будем называть "упорядоченное множество" или "домен". Это дает возможность значительно упростить процедуру адресации правил и переменных.
Как уже упоминали выше, память 1 указывает на двоичную связь между правилами и переменными. Вij является 1, если переменная j обнаруживается в правиле i, в противном случае Bij является 0. Содержимое памяти Р. можно рассматривать в качестве основной информации адресации, которую используют для определения, к каким правилам следует обратиться.
На фиг. 13 схематически показан простой пример, иллюстрирующий содержимое памяти правил 2 и памяти данных 1. В данном случае это касается двух следующих правил:
Правило 1: "Если система находится в резервном состоянии или без диска, тогда поворотный столбик не вращается".
Правило 2: "Съемник сигнала начинает работать тогда и только тогда, когда вращается поворотный столик".
При этом выбирается такая последовательность расположения переменных, которую можно будет использовать во всей системе, например указанная буквенная последовательность. Правила преобразуются в позитивную индексную форму (легальные комбинации), причем переменные располагаются в последовательности, которая будет соответствоваться заданной схеме. Двоичные конфигурации хранятся в памяти правил 2. В памяти PS 1 хранится соответствующий блок или структура предложения. Это четко указывает на то, что правило 1 содержит состояния STBY, DISC и ROTATING, а правило 2 содержит PICKUP (съем сигнала) и ROTATING. Переменные внутри слов правила располагаются в соответствии с общим доменом, поэтому находящаяся в памяти PS информация указывает, какую переменную будут указывать биты или разряды слов правила. Принцип работы и последовательность срабатывания блока сканирования базы правил 3 показаны на фиг. 3b (здесь также показан соответствующий код на языке АПЛ).
С другой стороны, хранимую в памяти PS информацию можно представить в одной из следующих индексных форм:
(1) Все индексы переменной, связанные с каким-то правилом, представлены в виде целого числа.
(2) Все индексы правила, связанные с переменной, представлены в виде целого числа.
Следовательно, альтернативными представлениями информации PS на фиг. 6 будут следующие:
(1) Правило 1: - 1 3 4
Правило 2: - 2 3, или
(2) Переменная 1:1
Переменная 2:2
Переменная 3:1 - 2
Переменная 4:1
Теперь более детально представим блок 5 с ссылкой на процесс обработки одиночного простого правила. Принцип работы блока 5 схематически показан на фиг. 3,с.
На фиг. 7 схематически показано простое правило: "Если система находится в резервном состоянии или в ней нет диска, тогда поворотный стол не вращается".
При этом допускается, что входное состояние, измеренное в условиях оперативной среды, будет "системой в резервном состоянии", которая выдает показанный вектор входного состояния SU. Блок 5 идентифицирует ряды строки в матрице правил, которые удовлетворяют ограничивающее условие вектора состояния, т.е. заштрихованной области. Затем проверяем каждый столбец в заштрихованной субматрице и любой столбец, который содержит все 1 или все 0. Таким образом, определяем вектор состояния со следующей интерпретацией: "если система находится в резервном состоянии, тогда поворотный столик не вращается, причем это не зависит от нашего знания относительно наличия или отсутствия диска".
В ходе выполнения этого процесса вектор входного состояния будет сопрягаться с правилом и конъюнктом, проецируемым на каждую ось с целью определения соответствующего вектора выходного состояния. Если это правило представлено в позитивной индексной форме, тогда этот процесс можно реализовать с помощью очень простого распознавания двоичного образца, что можно сделать на простом аппаратном средстве.
Вектор глобального состояния (фиг. 12 и 16) удерживается в регистре вектора состоянии 10, а регистры вектора локального состояния SU (1) и SU (2) используют в процессе консультации с правилами, удерживая соответственно самый младший и самый старший двоичные разряды вектора состояния. Чтобы оптимизировать скорость исполнения этой операции, входные ограничивающие условия вектора состояния хранятся в двух дополнительных локальных 16-тиразрядных регистрах TV (истинные переменные) и BV (ограниченные переменные, т. е. известно, что будут либо истинными, либо ложными). Блок инициализации 5.1 устанавливает адрес правила и вектор локального входного состояния с помощью регистра вектора состояния 10 и памяти данных 1. На начальном этапе регистры SV (1) и SV (2) вектора локального состояния повторно устанавливаются на нуль.
Таким образом, в рассматриваемом примере начальными значениями локальных регистров будут:
SV (1) - = ...000
SV (2) - = ...000
TV - =...001
BV - =...001
Показанные на фиг. 15 этапы выполняются в блоке выбора правил 5.2 для правила с N словами N1, N2, WN. На этапе 8.1 временный счетчик i устанавливается на 0, а на этапе 8.2 загружается текущее слово. На этапе 8.3 устанавливают, будет ли текущее слово удовлетворять ограничивающим условиям вектора состояния, и если оно не будет удовлетворять этим условиям, тогда на этапах 8.4 и 8.5 загружаем следующее слово. Если это слово удовлетворяет ограничивающим условиям, тогда проводим дополнительную проверку этого слова на этапах 8.6 и 8.7, которая фактически является логической операцией ИЛИ соответствующих разрядов слова правила с соответствующими старшими битами вектора локального состояния, и логической операцией ИЛИ дополнения слова правила с младшими битами вектора локального состояния. При этом следует иметь в виду, что этапы 8.6 и 8.7 можно выполнить в любой последовательности и фактически существует возможность параллельного выполнения этих проверок с целью сокращения сроков их проведения. Эта операция заканчивается тогда, когда будут проверены все слова, о чем будут свидетельствовать результаты этапа 8.5.
В данном примере результатом этой операции будут
SV (1) - = 110
SV (2) - = 101
со следующей интерпретацией:

Блок обновления состояния 5.3 обновляет регистр вектора состояния, регистры локального состояния и регистры управляющей переменной и управляющего правила. Регистр вектора состояния 10 обновляется с помощью индивидуальных регистров локального состояния SV(1) и SV(2). Адреса переменных считывают из памяти PS. Если будет установлено, что вектор выходного состояния не соответствует требованиям, тогда регистр номера правила противоречия CRN 6 обновляется индексом или прочей подобной же адресной информацией правила противоречия, а затем поиск состояния вообще прерывается.
Регистр признака активного правила EV 7 обновляется только в том случае, если в процессе консультации с правилами выводится одна или более переменных. В описанном выше примере состояние вращение было выведено как ложное. Следовательно, индекс правила или прочая подобная же информация адресации вводится в элемент вращение регистра EV. Индекс считывается из памяти PS.
Подобным же образом и регистр управляющей переменной VC 8 обновляется только в том случае, если в ходе консультации с правилами выводится одна или более переменных. И на этот раз в описанном выше примере логическая 1 вводится в элемент вращение регистра VC. Следует иметь в виду, что только вновь ограниченные переменные идентифицируются в регистре VC для управления правилом, о чем подробнее ниже. Регистр управляющего правила RC 9 обновляется тогда, когда количество тавтологий в векторе локального выходного состояния равно 0 или 1. Затем логический 0 вводится в индекс RC текущего правила и подобная процедура исключает возможность повторного использования для консультации именно этого правила.
В конце операции консультации с правилом имеем вновь выведенную информацию для всех прочих правил и для внешней оперативной среды.
В некоторых ситуациях, например в так называемой системе управления событием-состоянием, может оказаться желательным выполнить только одну консультацию с базой правил, чтобы определить последствия только на одном уровне текущих состояний ввода. И тем не менее во многих практических ситуациях будет необходимо определять максимальное количество дополнительной информации; вполне понятно, что в подобных случаях требуется проведение дополнительных консультаций с базой правил (обратная связь по правилу).
Следовательно, еще одним важным аспектом проблемы регулирования событие-состояние является проведение четкой грани между входными (независимыми) и выходными (зависимыми) переменными. Уже упоминавшееся выше очень простое расширение метода консультирования с правилами дает возможность использовать механизм логического вывода в качестве автоматического регуляторами событие-состояние, а также в качестве механизма логического вывода. Кто-то может рассматривать правила событие-состояние в качестве динамических правил, отображающих состояние системы на новое состояние, а нормальные предположительные функции в качестве статических правил, представляющих пространство статического состояния.
Каждое правило расширяется с помощью заголовка ввода/вывода, в котором точно указано, какие переменные являются входными и выходными (соответственно логической 1 и 0).
Теперь следует рассмотреть в качестве примера следующее правило: (А или В) = С. Если выбираем А и В в качестве входных переменных, тогда получаем следующее внутреннее двоичное представление

Слова правила RW1 - RW4 являются нормальной позитивной индексной формой. В данном варианте А и В являются независимыми; каждая комбинация А и В ассоциируется с выходным значением.
В случае консультирования с правилом регистру BV присваивается значение конъюнкции заголовка ввод/вывод и текущее значение регистра ограниченной переменной BV:
BV = ввод/вывод и BV
Если имеем дело с правилом без какого-либо различия между вводом и выводом (обычное статическое правило), тогда все переменные должны обрабатываться как входная переменная.
Если правило является динамическим, тогда после консультации с этим правилом не происходит обновления регистра управляющего правило RC. В этом случае поиск в сторону равновесия может включать в себя несколько консультаций с одним и тем же правилом.
В этом варианте изобретения не допускается смешивания в одной и той же базе правил статических и динамических правил.
Ниже описывается принцип работы механизма логического вывода, причем особое внимание будет уделено манипулированию множеством правил. Выше уже была описана конъюнкция одиночного правила и соответствующих переменных векторов состояния, причем эта процедура повторно происходит в блоке 5. Однако в базе правил с более чем одним правилом необходимо предварительно сканировать базу правил, чтобы идентифицировать те правила, с которыми необходимо проконсультироваться. Любое правило, которое может логически вывести новую информацию, является кандидатом и его необходимо "просмотреть". Независимым модулем поиска механизма логического вывода является блок сканирования базы правил 3, который выдает номера правил - кандидатов, хранимых в регистре списка правил 4. Критериями просмотра правила является то, что по меньшей мере одна из осей должна ограничиваться истинным или ложным заключением, т. е. это правило включает в себя переменную во входном векторе, которая является детерминированной, а вектор текущего локального состояния ранее не был вектором входного состояния этого же правила. Все правила - кандидаты с общей осью можно исполнять параллельно. После консультации с правилами-кандидатами необходимо осуществить новый поиск (фиг. 2, обратная связь по управлению правилом), чтобы найти новое множество RL в регистре списка правил правил - кандидатов.
Преобразование вектора состояния заканчивается тогда, когда достигнуто минимальное количество тавтологий (или минимальная степень неопределенности в сигнале, представленном вектором состояния). Другими словами, преобразование заканчивается тогда, когда будет исчерпан весь список правил - кандидатов или когда в процессе консультации идентифицируется противоречие. В показанном на фиг.6 примере, когда входная информация гласит "система находится в резервном состоянии", содержимое регистра вектора состояния выглядит следующим образом:
1 - 1
1 - 1
1 - 1
О - 1
Содержимое регистра управления правилом выглядит следующим образом:
RC = 1 1
Логическая 1 в регистре управления правилом означает, что необходимо найти соответствующее правило. Наличие нуля делает возможным не принимать во внимание это правило в качестве правила-кандидата. В рассматриваемом случае оба правила принимаются как заслуживающие консультации. Регистр управления переменной имеет следующие значения:
VC = 0 0 0 1
В данном случае логическая 1 означает, что соответствующая переменная идентифицируется как имеющая ограничения после последнего поиска состояния. По умолчанию все ограниченные переменные в векторе входного состояния идентифицируются с помощью 1.
Список правил-кандидатов определяют с помощью блока сканирования базы правил 3 и с использованием информации от регистров VC, и RC и памяти PS, что хорошо видно на фиг. 17. Математическое выражение имеет следующий вид: RLi = RCi (или(YC и PS)i). Другими словами, управляющее слово переменной логически умножается с каждой строкой блока предложения индивидуально, а полученные результаты логически складываются, чтобы определить, в каких правилах имеют место ограниченные переменные в регистре VC, что хорошо показано в первой строке фиг 17. Этот результат сопрягается с RC элемент за элементом, что и показано на второй строке фиг. 17. Пользователь может получить доступ к регистру управления правилом (RC), чтобы он мог исключить какие-то правила из процедуры поиска.
При этом можно проконсультироваться со всеми правилами, которые иден- тифицированы в регистре списка правил (RL). В данном случае кандидатом будет только первое правило. Как уже упоминали выше, результатом консультации будет вывод о том, что вращение является ложным состоянием. Эта информация может подразумевать новые выводы в других правилах, именно поэтому в регистре VC переменная вращение (ROTATING) устанавливается на 1:
VC = 0 0 1 О
В этом случае обновляется также и вектор обоснования EV 7 в регистре признака активного правила. Третью переменную выводили по правилу 1 и именно поэтому значение целого числа 1 хранится в третьей ячейке EV:
EV = 0 0 1 О
Если процедура консультации с правилами имела своим конечным результатом противоречие, тогда регистр номера и противоречия CRN 6 будет обновляться текущим номером правила и поиск на этом заканчивается.
При этом не существует возможности вывести большее количество информации на основе текущего правила только по причине, что две из трех осей ограничены. Чтобы исключить дальнейшее обращение к этому правилу, в регистр управления правилом RC вводим нуль
RC = 0 1
Теперь вновь включается в работу блок сканирования базы правил, чтобы выполнить обратную связь по управлению правилом и чтобы определить новый список правил. Этот процесс схематически показан на фиг. 18 и он идентичен процессу, схематически показанному на фиг. 17. Регистр VC устанавливается на нуль. В этом списке единственным правилом для консультации является правило 2 и консультация с этим правилом осуществляется примерно так же, как уже было описано применительно к показанному на фиг. 15 процессу консультации. Полученный при этом результат показан на фиг. 19. В показанных здесь переменных вектора состояния значения 0 и 1 используют для краткости для представления ложного и истинного состояний. Теперь все переменные в правиле 2 ограничены и поэтому регистр RC обновляется нулем
RC = 0 0
По правилу 2 выводится съем (PICKUP) переменной и поэтому происходит обновление вектора обоснования EV:
EV = 0 2 1 0
Теперь вновь происходит обратная связь по управлению правилом, чтобы повторно включить в работу блок сканирования базы правил, однако в этот момент вектор управления правилом RC равен нулю, а список правил также равен нулю и именно поэтому заканчивается процесс дедукция.
Вполне понятно, что в более сложной ситуации при консультации с каким-то правилом может быть выведено более одной переменной.
Выше уже была кратко описана позитивная индексная форма представления правила. Однако существует возможность использовать матричное представление, показанное на фиг. 20. На фиг. 20,a схематически показано то же правило, которое использовали в приведенных выше примерах в качестве трехразмерной матрицы. На этот раз пример также исходит из предположения, что входное STBY является истинным. Конъюнкт вектора входного состояния и правила представлены матрицей с той же структурой, что и правило (фиг. 20), а проекция на каждой оси осуществляется с помощью функции ИЛИ (операция дизъюнкция или логического сложения). Совершенно очевидно, что проекция на оси ограничения ввода будет давать эквивалентный выход. Следовательно, теперь все сводилось к тому, чтобы сделать проекцию на неограниченные (тавтологические) оси. Это и есть альтернативная реализация консультирования с правилами; однако на этот раз потребуется более сложный поиск образа, а при наличии современной технологии позитивная индексная форма несомненно гарантирует максимально высокую скорость консультирования.
Хорошо известные способы логического вывода, например разрешающая способность, modus pones или modus tallens, можно осуществить непосредственным образом с помощью описанной выше трансформации вектора состояния. И тем не менее, более сложные логические выводы, например определение производных правил, доказательство теоремы и силлогизм, можно выполнять с помощью предлагаемого устройства. На фиг.21 показан механизм логического вывода, который дополнен блоком определения правила 12 и дополнительными регистрами VL списка переменных, DR производного правила и ERL списка правил обоснования. На фиг. 10 и 11 показан в виде последовательности выполнения операций предпочтительный вариант принципа работы блока определения правила 12. Входной вектор VL содержит значения целого числа, указывающие на включенные сюда переменные. В показанном на фиг. 22 примере проблема сводится к определению производной зависимости между переменными PICKUP и STBY, поэтому VL = 2 4. Упомянутая зависимость устанавливается путем испытания истинности всех комбинаций переменных. Если выходной CSN регистр номера правил противоречия равен 0, тогда соответствующая комбинация будет истинной или достоверной, в противном случае она неистинная или недостоверная. На фиг. 22 показаны четыре возможные комбинации, причем результаты хранятся в регистре номера правила противоречия. Эту зависимость можно рассматривать как зависимость NAND, т. е. в одно и то же время никогда не будут появляться выражения "система в резерве" и "включен съем сигнала". С помощью регистров 6, 7 и 10 можно легко и просто составить список правил обоснования со всеми правилами, которые включены или участвуют в процессе логического вывода
ERL = 1 1, т.е. включены оба правила.
Изобретение обеспечивает следующие преимущества и особенности: база знаний представлена в компактном двоичном формате, причем каждое правило преобразовано в таблицу истинности, именно поэтому размер базы знаний будет приблизительно пропорционален количеству правил и не будет зависеть от количества переменных состояния. Следовательно, в данном случае нет никаких проблем с "комбинаторным взрывом". В процессе консультации с правилами размер базы знаний остается неизменным.
Изобретение описывается применительно к переменным, которые имеют два состояния, однако сущность изобретения можно использовать в системах, в которых переменные могут принимать значения на протяжении какого-то непрерывного диапазона. В подобных системах диапазоны значений можно подразделить на относительно небольшие поддиапазоны, а значение переменной, находящееся внутри или за пределами одного из этих небольших субдиапазонов, можно представить в двоичной форме и обрабатывать по только что описанным методам.
Сущность изобретения можно распространить на так называемые нечеткие логические системы, в которых каждое состояние правила имеет конкретное значение вероятности за счет хранения значений вероятности в ассоциации с комбинациями, хранимыми в памяти базы правил 2, затем этим значения можно обрабатывать в течение или после обработки вектора состояния и информации базы правил.
Формула изобретения: Устройство для обработки для экспертной системы, содержащее память данных, память правил, блок сканирования базы правил, блок инициализации, отличающееся тем, что в него введены блок определения правил, регистр списка правил, регистр управляющей переменной, регистр управляющего правила, регистр номера правила противоречия, регистр признаков активных правил, регистр вектора состояния, регистр списка переменных, регистр производного правила, регистр списка правил обоснования, с первого по четвертый регистры вектора локального состояния, регистр ограниченной переменной, регистр истинной переменной, блок выбора правил, блок обновления состояния, причем выходы памяти данных соединены с входами блока определения правил, блока сканирования базы правил, блока инициализации, выход памяти правил соединен с входом блока инициализации, выходы которого соединены с входами первого и второго регистров вектора локального состояния, регистр истинной переменной, регистра ограниченной переменной, выходы которых соединены с входом блока выбора правил, выходы которого соединены с входами третьего и четвертого регистров вектора локального состояния, выходы которых соединены с входами блока обновления состояния, выходы которого соединены с входами регистра вектора состояния, регистра признаков активных правил, регистра управляющего правила, регистра управляющей переменной, регистра номера правила противоречия, выходы последнего из которых, регистра признаков активных правил и регистра списка переменных соединены с входами блока определения правил, выходы которого соединены с входами регистра производного правила, регистра списка правил обоснования и блока сканирования базы правил, входы которых соединены с выходами регистра управляющей переменной и регистра управляющего правила, выход блока сканирования базы правил соединен с входом регистра списка правил, выходы которого и регистра вектора состояния соединены с входами блока инициализации.