Изобретение относится к области информатики и вычислительной техники и может быть использовано при создании различных классов ЭВМ с развитым интеллектом для решения задач в информационно сложных областях.
Известна Система познания PCT (WO) (международная заявка N 89/00735, публикация 89.01.26 N 3, МКИ G 06 F 15/18, 15/16). Данное устройство будем считать прототипом по отношению к предлагаемому.
Прототип содержит блоки обработки 37, блок памяти 29 и блок 39 интерфейса.
Система предназначена для организации и управления множеством сложных задач. Она использует параллельную обработку данных с помощью отдельных интеллектуальных процессоров A для выполнения определенных задач. Запоминающее устройство (ЗУ) специально структурировано и предназначено для хранения информации. Интерфейс Д используется для ввода/вывода информации из системы. Процессоры содержат специальное управление (устройство B) для организации потоков информации между процессорами и ЗУ.
За счет наличия множества процессоров и мощной системы управления потоками информации прототип потенциально обладает большой производительностью при решении трудоемких задач, если они содержат независимые ветви вычислений и тем самым позволяют распараллелить алгоритм вычисления.
Недостатки прототипа обусловлены тем, что существует регулярной процедуры для автоматического или автоматизированного распараллеливания алгоритма решения задачи в общем случае. Более того, большое количество структурносложных задач в принципе не могут быть эффективно распараллелины,что влечет за собой перерасход не используемой эффективно аппаратуры.
Еще одна причина недостатков прототипа заключается в том, что его структура не отражает информационных особенностей прикладной области на уровне языка и системы понятий. Из этого следует, что для интерпретации каждого элементарного логического вывода прототип с неизбежностью должен затратить около тысячи команд своих процессоров, что резко повышает количество ресурса, необходимого для решения задач пользователя. Обе группы недостатков прототипа удорожают необходимый для решения задач вычислительный ресурс и уменьшают их предельно достижимую сложность.
Предлагаемое устройство не содержит недостатков прототипа. Оно значительно экономней, так как не содержит дополнительную аппаратуру для выполнения параллельных алгоритмов, которую невозможно эффективно использовать. Оно содержит дополнительные блоки, структура которых ориентирована на производство логического вывода в процессе интерпретации сложных информационных структур на аппаратном уровне.
На фиг. 1 представлена схема устройства представления и использования знаний; на фиг. 2 блок простых отношений логики над понятиями; на фиг. 3 - блок логического вывода; на фиг. 4 блок интерфейса; на фиг. 5 узел итерации.
Устройство содержит N различных блоков простых отношений логики над понятиями (например 1, 2, 3, конкатенации, дизъюнкции и/или иного произвольного простого отношения), блок 4 интерфейса, блок 5 логического вывода, блок 6 обработки, блок 7 памяти, шину 8 информации, шину 9 признаков и управления, шину 10 координат данных, шину 11 адреса логического вывода, шину 12 начала адреса логического вывода, шину 13 адреса элементов подмножества, входы 14 и выходы 15 информации, выходы 16 и входы 17 признаков и управления, выходы 18 и входы 18 адреса логического вывода, выходы 20 и входы 21 начала адреса логического вывода, выходы 22 и входы 23 адреса элемента подмножества, выходы 24 и входы 25 координат данных блоков 1, 2,3 простых отношений логики над понятиями, выходы 26 и входы 27 признаков и управления, выходы 30 и входы 31 аксиоматического задания блока 4 интерфейса, выходы 32 и входы 33 адреса логического вывода, выходы 34 и входы 35 начала адреса логического вывода, входы 36 управления, выходы 37 и входы 38 адреса элемента подмножества блока 5 логического вывода, выходы 39 записи информации, выходы 40 и входы 41 данных, выходы 42 микроприказов, регистр 43 и счетчик 44 информации, узел 45 памяти базы знаний, узел 46 памяти и счетчик 47 магазина, регистр 48 и мультиплексор 49 признаков, регистр 50 микрокоманд, узел 51 памяти микрокоманд, регистр 52 адреса микрокоманд и мультиплексор 53 условий, узел 54 памяти и счетчики 55, 56 блока 5 логического вывода, регистры 57, 58 и узел 59 управления блока 4 интерфейса, счетчики 60, 61 и узел 62 памяти узла итерации.
Рассмотрим работу устройства в процессе интерпретации базы знаний. Пусть в устройство загружены база знаний (в узлы 45, 62 памяти и других блоков простых отношений логики над понятиями) словарь (в блок 7). Интерпретация знаний начинается с момента понятия и записи в регистры X 57 и Y 58 соответствующих начальных значений координат данных. По имени понятия из словаря 7 выбирается соответствующая этому понятию ссылка на главное подмножество описания структуры этого понятия и код типа отношения, объединяющего элементы главного подмножества. Из блока 6 через блок 4 имя задания (в начальный момент имя исходного задания) через шину 8 и входы 14, а код типа отношения и признаки режима работы через шину 9 и входы 17 поступают на все блоки 1, 2,3 простых отношений логики над понятиями и в этих блоках на входы мультиплексора условий. Лишь один из них воспринимает этот код типа отношения (именно тот, который соответствует имени блока, т.е. типу отношения, реализуемого данным блоком) и переходит в активное состояние. Ссылка из блока 6 через блок 4 и затем по шине 8 поступает на входы 14 блоков и активным блоком используется как исходная информация для интерпретации понятия.
В активном блоке, реализующем отношение конъюнкции, ссылка с входа 14 записывается в регистр 43 и счетчик 44. Имя источника задания и признаки с входов 17 записываются в регистр 48 признаков. После этого код счетчика 44 увеличивается на единицу, из узла памяти 45 выбирается первый элемент главного подмножества описания исходного понятия, значение последнего элемента (является считываемый элемент последним или нет), другие признаки, существенные для интерпретируемого отношения, и код типа отношения, связывающего главное подмножество описания этого элемента. Значение признака последнего элемента и другие признаки записываются в регистр 48 признаков. В блоке 5 логического вывода под управлением активного блока 1, 2 или 3 код счетчика 56 записывается в счетчик 55. Коды регистра 43, счетчика 44, регистра 48 признаков, а также значения координат X, Y данных (поступающих с выхода 28 блока 4 на вход 25 активного блока) и код счетчика 55 блока 5 логического вывода (поступающий с выхода 32 блока 5 на вход 19 активного блока) запоминаются в узле 46 памяти магазина. Первый элемент, считанный из узла 45 памяти, является ссылкой на главное подмножество его описания, и вместе с именем данного блока, с кодом типа отношения, связывающего элементы подмножества, и с другими признаками передается через соответствующие шины на вход блока, реализующего требуемое отношение. В качестве этого блока простого отношения логики над понятиями может выступать также и блок, формирующий задание. Блок, получивший задание, становится активным, а выдавший задание - пассивным.
Если блок, реализующий отношение конъюнкции, выдает задание этому же блоку, то он работает аналогично описанному. Отличие состоит в том, что, во-первых, будет считан первый элемент главного подмножества описания уже другого понятия того, которое было выдано при первом обращении к блоку; во-вторых, при этом обращении уже не используется словарь; в-третьих, свое состояние блок записывает в ячейку другого уровня узла 46 памяти магазина (при каждой новой записи в магазин предыдущие записи смещаются на один уровень в глубину; при каждом же чтении из магазина все записи поднимаются на один уровень вверх).
Если следующим активизируется блок, реализующий отношение дизъюнкции, то полученное задание он отрабатывает аналогично описанному для блока конъюнкции, за исключением того, что увеличивает код счетчика 55 на единицу, переписывает это значение в счетчик 56 и записывает это значение в магазин.
Блок, реализующий отношение итерации, полученное задание отрабатывает следующим образом. Код типа отношения по шине 9 поступает на входы 17 этого блока и активизирует его. В активном состоянии код счетчика 55 увеличивается на "единицу" и переписывается в счетчик 56. Входная информация (ссылка с входа 14) записывается в счетчик 60, счетчик 61 обнуляется. По этому коду (счетчик 60), как по адресу, из узла 62 памяти выбирается код имени (ссылка) интегрируемого понятия и вместе с типом отношения, объединяющего элементы его главного подмножества, и вместе с именем блока итерации выдается на выходы соответственно 15 и 16. Кроме того, код счетчика 55 вместе с кодами счетчиков 60, 61, кодом регистра 48 признаков и значениями координат X, Y из регистров 57, 58 записываются в магазин этого блока.После этого, как данное задание будет получено соответствующим блоком-приемником, данный блок возвращается в пассивное состояние, ожидая очередного обращения.
В процессе поэтапной детализации исходного задания ( описанным выше способом) один из блоков формирует задание с кодом обращения к блоку 4. Этот блок выдает обращение к блоку 6 и передает ему код и параметры. Блок 6 содержит, например, программы, реализующие предикаты первого порядка, выполняет одну из них (в соответствии с заданием) и передает в блок 4 вычисленное значение истинности и модифицированное значение координат X, Y данных. Блок 4 значения координат X, Y данных записывает в соответствующие регистры 57, 58.
Таким образом, первичное значение истинности формируется аксиоматической программой. Поскольку аксиоматический алгоритм является реализацией предиката первого порядка, то он может быть представлен в описании предиката высшего (возможно второго) порядка, а вычисленное значение истинности (предиката первого порядка) становится значением истинности компоненты описания этого предиката высшего порядка. Благодаря этому появляется возможность продолжения интерпритации отношения, связывающего главное подмножество предиката высшего порядка. Для этой цели блок 4 передает в известный ему блок, имя которого хранится в логике управления блоком 4, значение истинности (т. е. в тот, который последним выдал задание блоку 4) и переходит в состояние ожидания.
Соответствующий блок 1, 2 или 3 переходит в активное состояние и продолжает интерпретацию главного подмножества в соответствии со связывающим его отношением.
Блок, реализующий отношение конъюкции, получив значение истинности, считывает из узла 46 памяти магазина значение кодов регистра 43 и счетчика 44 и записывает их на место. Кроме того, считывает из узла 46 памяти магазина признаки и имя (код типа) блока, выдавшего данному блоку задание, и записывает их в регистр 48 признаков. Т.е. этот блок (как и всякий другой из набора блоков 1, 2,3) прежде всего восстанавливает по магазину свое состояние, бывшее при выдаче задания нижеследующему блоку. После этого, если блок, реализующий отношение конъюкции, получил значение истинности "Истина", то он анализирует значение признака последнего элемента. Если последний из выданных элементов интерпретируемого подмножества не был последним в данном подмножестве, то этот блок формирует и выдает одному из блоков задание нижнего уровня следующий элемент подмножества (задание, свое имя, имя следующего блока и признаки) и запоминает свое состояние. Т.е. работает аналогично описанному. Если же по получении значения истинности "Истина" оказалось, что последний из выданных элементов интерпретируемого подмножества был последним в данном подмножестве, то данный блок восстанавливает из магазина значение счетчика 55 и запоминает в узле 45 памяти базы знаний состояние счетчика 55 по адресу, определенному кодом регистра 43. После этого блок выдает из регистра 48 признаков на шину 9 имя блока, от которого данный блок получил задание и значение истинности "Истина".
Если блок, реализующий отношение конъюкции, получил значение истинности "Ложь", то после восстановления своего состояния, восстановления из магазина счетчика 55 и перезаписи его содержимого в счетчик 56, он, независимо от значения признака последнего элемента прекращает свою работу, освобождает ячейку и на шину 9 вместе с именем блока, от которого он получил задание, выдает значение истинности "Ложь".
Если значение истинности "Ложь" получил блок, реализующий отношение дизъюкции, то при восстановлении своего состояния, если главное подмножество не исчерпано, блок восстанавливает из магазина также значение координат X, Y данных и затем продолжает интерпретацию соответствующего подмножества. При этом он работает аналогично описанному.
Если же значение истинности "Ложь" этот блок получил как результат интерпретации последнего элемента (этого главного подмножества), то блок формирует и выдает предшествующему (в порядке выполнения заданий) блоку значение истинности "Ложь".
Если блок, реализующий отношение дизъюкции, получил значение истинности "Истина", то при восстановлении из магазина своего состояния он восстанавливает также счетчик 55. По коду регистра 43 (как по адресу) записывает в узел 45 памяти код счетчика 55, по коду счетчика 55 (как по адресу) записывает в узел 54 памяти блок 5 логического вывода код счетчика 44, уменьшает код счетчика 55 на "единицу" и выдает наверх значение истинности "Истина".
Если значение истинности "Истина" получает блок, реализующий отношение итерации, то после восстановления своего состояния он увеличивает код счетчика 61 на единицу, формирует и выдает задание аналогично описанному.
Если этот блок получил значение истинности "Ложь", то при восстановлении своего состояния он восстанавливает также из магазина счетчика 55. После этого увеличивает на "единице" код счетчика 60, по этому коду (как по адресу) записывает в узел 62 памяти код счетчика 55, по коду счетчика 55 (как по адресу) записывает в узел 54 памяти блока 5 логического вывода код счетчика 61 и уменьшает код счетчика 55 на "единицу". Затем формирует и выдает значение истинности "Истина" наверх.
Если в ответ на значение истинности "истина" некоторый блок 1, 2,3 выдает одному из блоков 1, 2, 3 задание, то выполнение этого задания включает увеличение на "единицу" содержимого счетчика 56, восстановление счетчика 55 из счетчика 56 с последующим запоминанием полученного значения в магазине. Эти операции в такой ситуации выполняют блоки, реализующие отношение дизъюкции и итерации. Блок, реализующий отношение конъюкции, выполняет эти же действия без увеличения кода счетчика 56.
В отличие от основного режима в другом (вспомогательном) режиме интерпретации базы знаний устройство повторяет путь логического вывода, окончившегося успешно в основном режиме.
Переключение режима работы устройства осуществляется по значению одного из признаков признака режима. Установленный на некотором i-ом уровне вложенности предикатов он действует для всех компонент (включая аксиомы) этого предиката i-го уровня.
Для реализации этого режима устройство в основном режиме оставляет необходимую информацию в базе знаний.
Во вспомогательном режиме информация, поступившая по шине 8 на вход 14 соответствующего блока, признаки (включая признак вспомогательного режима), поступающие по шине 9, инициируют работу соответствующего блока.
Каждый блок, независимо от реализуемого отношения, во вспомогательном режиме проверяет, была ли успешной интерпретация входного задания в основном режиме. Если она была успешной, т.е. существует информация о проведенном логическом выводе, то из специально выделенных ячеек главного подмножества читается требуемое состояние счетчика 55. При этом всем последующим блоком передается, кроме признака режима, специальный признак логического вывода. Если кроме признака режима очередной блок получил и признак логического вывода, то чтение кода счетчика не выполняется.
Кроме этого блок, реализующий отношение конъюкции, во вспомогательном режиме порождает множество заданий, совпадающее с формируемым в основном режиме.
Блок, реализующий отношение дизъюкции, если во вспомогательном режиме он не получил признак логического вывода, то использует установленное значение счетчика 55 в качестве адреса, считывает (из узла 54 памяти блока 5 логического вывода) значение счетчика 44 и по его коду (как по адресу) считывает из узла 45 памяти именно тот элемент главного подмножества, который был выбран ранее в основном режиме, и описанным ранее (для основного режима) способом формирует и выдает задание. Если же он получает признак логического вывода, то перед выполнением перечисленных действий вместо чтение из узла 45 памяти кода счетчика 55 увеличивает на "единицу" уже имеющееся значение счетчика 55 и после выполнения перечисленных выше действий передает признак логического вывода последующему блоку.
Блок, реализующий отношение итерации, в случае, если входное задание уже интерпретировалось в основном режиме, во вспомогательном режиме при получении признака логического вывода по значению счетчика 55 считывает и устанавливает код счетчика 61 и формирует количество заданий в соответствии с его значением.
В другом случае (если задание не интерпретировалось в основном режиме) блок в соответствии со смыслом интерпретации отношения не формирует задание (формирует "ноль" заданий) и возвращает значение истинности "Истина". Если же этот блок получил признак логического вывода и входное задание интерпретировалось в основном режиме, то перед выполнением перечисленных действий вместо чтения из памяти кода счетчика 55 он увеличивает на "единицу" уже имеющееся значение счетчика 55 и передает последующему блоку вместе с заданием и другими признаками признак логического вывода.
Описываемое устройство может иметь физические каналы доступа из пространства данных, например, через блоки 6, 4 и связи 39 к памяти блоков 1, 2, 3. Перед началом работы устройства по этим каналом, при необходимости может быть введена (или доведена) база знаний, описывающая информационную структуру прикладной области. Одновременно с этим вводится (или пополняется) словарь. Этой информации достаточно для получения и инерпретации заданий. Однако использование упомянутых каналов связи (при их наличии в конкретной реализации устройства) возможно и во время работы устройства. Это обеспечивает возможность реализации описанных ранее действий по разделению (поступающей от человека) новой информации на знания и данные средствами обработки данных единого аксиоматического алгоритма или с использованием предложенного устройства и немедленного ввода этих знаний в соответствующие памяти блоков 1, 2,3. В этом случае введение каждого нового определения (понятия) расширяет язык описания прикладной области. При анализе нового описания используется по мере необходимости все ранее введенные понятия, в том числе и введение непосредственно перед новым описанием.
название | год | авторы | номер документа |
---|---|---|---|
УСТРОЙСТВО УПРАВЛЕНИЯ | 1991 |
|
RU2046395C1 |
УСТРОЙСТВО УПРАВЛЕНИЯ | 1991 |
|
RU2049347C1 |
УСТРОЙСТВО УПРАВЛЕНИЯ | 1991 |
|
RU2046396C1 |
УСТРОЙСТВО МИКРОПРОГРАММНОГО УПРАВЛЕНИЯ | 1991 |
|
RU2042190C1 |
УСТРОЙСТВО МИКРОПРОГРАММНОГО УПРАВЛЕНИЯ | 1991 |
|
RU2042188C1 |
МИКРОПРОГРАММНОЕ УСТРОЙСТВО УПРАВЛЕНИЯ | 1991 |
|
RU2042189C1 |
Устройство для обработки данных | 1987 |
|
SU1513443A1 |
Устройство для деления | 1984 |
|
SU1259251A1 |
Микропрограммное устройство управления | 1983 |
|
SU1134936A1 |
Микропрограммное устройство управления с контролем | 1983 |
|
SU1136162A1 |
Изобретение относится к области информатики и вычислительной техники и может быть использовано для решения задач в информационно сложных областях. Целью изобретения является создание устройства, структура которого ориентирована на производство логического вывода в процессе интерпретации сложных информационных структур на аппаратном уровне. Устройство содержит N блоков простых отношений над понятиями, блок интерфейса, блок логического вывода, блок обработки, блок памяти. 3 з.п. ф-лы, 5 ил.
JP, патент Японии N 60-57097, кл | |||
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Способ размножения копий рисунков, текста и т.п. | 1921 |
|
SU89A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Авторы
Даты
1997-10-10—Публикация
1991-05-28—Подача