image_pdfimage_print

Семантический ассоциативный компьютер

Цель проекта

Повышение производительности систем, основанных на знаниях, представленных в виде семантических сетей.

Задачи проекта

  • Разработка архитектуры интегрированного процессора (процессоро-памяти) семейства SCC (semantic code computer) для высокопроизводительной переработки знаний.
  • Аппаратная реализация интегрированного процессора и базового программного обеспечения SCC.

Необходимость выполнения данного проекта

  • Актуальность проекта

Современные тенденции развития информационных систем ставят вопрос о переходе от массового сбора и накопления данных к формализации предметных области, накоплению и обработки больших объемов знаний. Использование систем, основанных на знаниях, значительно повышает качество всех процессов, которые используют информацию. Однако традиционная архитектура не позволяет эффективно использовать эти систем в реальном масштабе времени. Использование существующих суперЭВМ может решить проблему, однако сильно сузит круг пользователей систем, основанных на знаниях.

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

  • Описание решаемых проблем, поставленной задачи и предлагаемых подходов к её решению

Рассмотрим особенности фон-Неймановской логической организации вычислительных систем, которые существенно затрудняют создание машин переработки знаний на основе традиционных ЭВМ:

  • Последовательная обработка, ограничивающая эффективность ЭВМ физическими возможностями элементной базы.
  • Низкий уровень доступа к памяти, т.е. сложность и громоздкость выполнения процедуры ассоциативного поиска нужного фрагмента знаний. Так как в интеллектуальных системах операции информационного поиска носят массовый характер, то эти системы, если они построены на базе современных ЭВМ, затрачивают больше времени (на несколько порядков) на информационный поиск, чем собственно на переработку знаний. Устранение этого недостатка требует создания ассоциативной памяти, обеспечивающей ассоциативный доступ к произвольным фрагментам хранимых знаний, к фрагментам, имеющим произвольные размеры и произвольную структуру. При этом аппаратная реализация информационно-поисковых операций в силу их массовости требует глубокого распараллеливания.
  • Линейная организация памяти и чрезвычайно простой вид конструктивных объектов, непосредственно хранимых в памяти. Это приводит к тому, что в интеллектуальных системах, построенных на базе современных ЭВМ, манипулирование знаниями осуществляется с большим трудом. Во-первых, приходится оперировать не самими структурами, а их громоздкими линейными представлениями (списками, матрицами смежности, матрицами инцидентности); во-вторых, линеаризация сложных структур разрушает локальность их преобразований, т.к. локальному преобразованию сложной структуры далеко не всегда соответствует локальное преобразование ее линейного представления. Существенно при этом отметить, что процесс переработки сложных информационных структур (знаний) носит в основном именно локальный характер.
  • Представление информации в памяти современных ЭВМ имеет уровень весьма далекий от семантического, что делает переработку знаний довольно громоздкой, требующей учета большого количества деталей, касающейся не смысла перерабатываемой информации, а способа ее представления в памяти.
  • В современных ЭВМ имеет место весьма низкий уровень аппаратно реализуемых операций над нечисловыми данными и полностью отсутствует аппаратная поддержка логических операций над фрагментами знаний, имеющих сложную структуру, что делает манипулирование такими фрагментами весьма сложным.
  • В современных ЭВМ громоздко реализуется даже простейшие процедуры логического вывода.

Основным проявлением перечисленных недостатков традиционных ЭВМ является гипертрофированное развитие программного обеспечения, сложность его создания и невысокая надежность. В то же время бурный прогресс электроники со времени создания первых ЭВМ (появление транзисторов, НС, БИС, СБИС) создаются большие возможности для значительного развития архитектуры ЭВМ, повышения уровня машинного языка, ассоциативной обработки и т.д.

Дальнейшую эволюцию средств вычислительной техники (ВТ) применительно к проблеме создания машин переработки знаний можно разделить на три линии. Первая связана с появлением большого числа новых классов ВТ, направленных на более эффективное решение отдельных типов задач; вторая – с попытками создания машин переработки знаний; третья – с развитием не фон-Неймановских парадигм обработки информации, в частности с превдобиологическим подходом, предложенным Мак-Каллоком и Питтсом.

Появление универсальных многопроцессорных вычислительных систем позволило повысить эффективность ЭВМ при решении некоторых классов вычислительных задач. Но практическое использование этих систем сталкивается со значительными трудностями. Основополагающая причина этих трудностей связана с усложнением структуры ЭВМ, понижением ее однородности по сравнению с однопроцессорной фон-неймановской ЭВМ Проявлением этого является сложность распределения подзадач между процессорами, данных между блоками памяти, сложность организации взаимодействия между процессорами. Опыт эксплуатации системы “Эльбрус” показывает, что при решении задач, внутренний параллелизм которых не имеет “хорошей” регулярной структуры, эффективность вычислений достигает максимума при работе четырех-пяти процессоров, а при подключении большего числа процессоров она начинает падать из-за стремительно растущих затрат на обеспечение взаимодействия между процессорами.

Трудности использования универсальных многопроцессорных ЭВМ являются ярким подтверждением того, что отказ от какого-то одного принципа фон-Неймановской логической организации ЭВМ (в данном случае – последовательной модели вычислений) при сохранении остальных принципов (в частности, линейной организации памяти и низкого уровня машинного языка) приводит к созданию классов вычислительных систем, которые по сравнению с традиционными фон-Неймановскими ЭВМ оказываются гораздо менее “устойчивыми”.

Трудности, связанные с использованием универсальных многопроцессорных ЭВМ, послужили толчком к развитию теоретических исследований в области параллельного программирования.

Попытки преодоления ограничений традиционных фон-Неймановских ЭВМ привели к возникновению множества подходов, связанных с отдельными изменениями принципов логической организации ЭВМ, прежде всего в зависимости от классов задач и предметных областей, на которые ориентируется тот или иной класс ЭВМ. Все эти тенденции, рассмотренные в совокупности, позволяют очертить некоторые ключевые принципы логической организации машин переработки знаний (МПЗ). Перечислим основные из этих тенденций:

  • Переход к нелинейной организации памяти и аппаратная интерпретация сложных структур данных.
  • Аппаратная реализация ассоциативного доступа к информации.
  • Реализация параллельных асинхронных процессов над памятью и, в частности, разработка вычислительных машин, управляемых потоком данных.
  • Аппаратная интерпретация языков высокого уровня.
  • Разработка аппаратных средств ведения баз данных (процессоров баз данных).

На пересечении этих тенденций возникают различные классы вычислительных устройств. Перечислим некоторые из них:

  • машины с аппаратной интерпретацией сложных структур данных;
  • машины с развитой ассоциативной памятью;
  • ассоциативные параллельные матричные процессоры типа STARAN;
  • однородные параллельные структуры для решения комбинаторно-логических задач на графах и гиперграфах;
  • всевозможные устройства переработки графов, включая “активное информационное поле”;
  • системы, осуществляющие переработку информации непосредственно в памяти путем равномерного распределения функциональных средств по памяти и, в частности, предложенная М.Н.Вайнцвайгом процессоро-память, ориентированная на решение задач искусственного интеллекта;
  • машины, управляемые потоком данных;
  • рекурсивные вычислительные машины;
  • процессоры реляционных баз данных;
  • вычислительные машины со структурно-перестраиваемой памятью;
  • активные семантические сети (М-сети);
  • ассоциативные однородные среды;
  • нейроподобные структуры.

Применительно к проблематике машин переработки знаний значительный интерес представляет более подробное рассмотрение большинства из перечисленных выше классов вычислительных устройств в эволюционном аспекте. При этом важную роль играет удачный выбор небольшого числа “критериев эволюции”.

Основным проявлением процесса эволюции средств вычислительной техники является повышение эффективности и удобства их использования для всё большего числа классов задач. По мере того, как возможности традиционной элементной базы ЭВМ подходят к физическому пределу, основным средством повышения эффективности вычислительных систем становится увеличение числа одновременно работающих процессорных элементов. При этом для обмена информацией между процессорными элементами должна быть организована структура связей, позволяющая решать задачу с максимальной эффективностью.

При формализации предметных областей, имеющих достаточно сложную семантическую организацию, перерабатываемые данные естественным образом группируются в некоторые сложные структуры. Эффективность решения задач, связанных с переработкой сложноструктурированных данных, на многопроцессорных вычислительных системах значительно возрастает в том случае, когда структура связей между процессорными элементами вычислительной системы, решающей эту задачу, совпадает со структурой данных, перерабатываемых в ходе её решения (или, в более общем случае – отображается в структуру перерабатываемых данных простым и естественным образом). При переходе к переработке данных все более сложной структурной и семантической организации (а затем и к переработке знаний) сохранение высокой эффективности вычислительной системы обеспечивается главным образом путем увеличения числа одновременно работающих процессорных элементов и усложнения структуры связей между ними.

Такую тенденцию развития технических средств ЭВМ мы и рассмотрим в качестве основной линии эволюции, создающей предпосылки ддя появления машин переработки знаний. К ней относятся параллельные регулярные спецпроцессоры (векторные, матричные), спецвычислители для решения задач на графах и (уже на уровне подходов к созданию МПЗ) средства аппаратной поддержки семантических и нейронных сетей. К этой линии примыкают также и ассоциативные процессоры (в которых в роли процессорных элементов выступают ячейки ассоциативной памяти), процессоры баз данных и вычислительные системы, эффективно решающие те или иные классы задач за счет совпадения структуры связей между процессорными элементами со структурой информационного графа алгоритма (систолические вычислители, машины потоков данных).

Закономерным результатом развития вычислительных систем является переход к системам, изменяющим структуру связей между процессорными элементами в процессе функционирования. Такие системы настраивают свою внутреннюю структуру на структуру перерабатываемых данных и информационные графы алгоритмов решаемых задач и могут решать разные классы задач, сохраняя при этом высокую эффективность.

Так образом развитая машина переработки знаний должна представлять собой в общем случае коллектив спецпроцессоров, ориентированных на максимально эффективное решение тех или иных классов задач, и обладать следующими свойствами:

  • Спецпроцессоры представляют собой многопроцессорную вычислительную систему.
  • Структура связей между процессорными элементами спецпроцессоров совпадает со структурой данных или (реже) со структурой информационного графа алгоритма решения задачи.
  • Связи между процессорными элементами спецпроцессоров имеют перестраиваемую структуру.
  • Набор и функции спецпроцессоров определяются для каждой машины переработки знаний конкретно в зависимости от набора предметных областей, на которые эта МПЗ ориентирована, и специфики задач, решаемых в этих областях.
  • Выявленный для некоторого семантического процессора набор механизмов переработки знаний должен быть “погружен” в язык представления и переработки знаний. При этом наиболее удобными для этой цели представляются языки семантических сетей.
  • Процессорные элементы соответствуют вершинам или фрагментам семантической сети.
  • Переработка информации сводится к изменению структуры связей между процессорными элементами, соответствующему изменению конфигурации семантической сети.

В качестве семантического спецпроцессора можно предложить нелинейную (графовую) структурно перестраиваемую (динамическую) процессоропамять, аппаратно реализующую некоторый язык переработки семантических сетей, а саму МПЗ можно, таким образом, назвать графодинамическим параллельным ассоциативным компьютером.

В работах Голенкова В.В. предложена идея создания таких графодинамических параллельных ассоциативных компьютеров, обладающих в совокупности всеми указанными выше свойствами, на основе использования графодинамической парадигмы для описания иерархической системы графодинамических моделей, позволяющих описывать графодинамические параллельные ассоциативные компьютеры на соответствующем уровне абстракции, предполагая при этом возможность интерпретации одной модели другой. Основополагающим моментом идеи является способ представления (модель) знаний в виде семантических сетей особого вида – однородных семантических сетей, позволяющей описывать как знания, относящиеся к предметной области (включая и метазнания), так и процедуры их переработки. Соответственно был разработан базовый язык SC (Semantic Code), обладающий фиксированными синтаксисом и денотационной семантикой, но нефиксированной операционой семантикой, который позволил на его основе создать семейство языков представления знаний различного вида.

Основными принципами семантического ассоциативного компьютера являются:

  • Информация в памяти хранится в виде однородной семантической сети с базовой теоретико-­множественной интерпретацией (в виде текстов SC-кода)
  • Память является структурно-перестраиваемой (обработка информации сводится не только к изменению состояния элементов памяти, но и к изменению связей между ними)
  • Элементы памяти соответствуют элементам хранимой семантической сети
  • Доступ к фрагментам хранимой в памяти информации осуществляется по ассоциативному признаку (по известной конфигурации связей искомых элементов с известными элементами)
  • Ассемблером семантического ассоциативного компьютера является язык SCP (Semantic Code Programming), ориентированный на обработку семантических сетей, представленных в виде sc- конструкций и являющийся подъязыком SC-кода
  • Специальными классом scp-программ являются демонические (агентные) программы, которые описывают различные операции над хранимой в памяти базой знаний, условием инициирования которых является появление в памяти соответствующих sc-конструкций
  • Естественное распараллеливание обработки базы знаний за счет интеграции функций хранения и обработки информации («процессор-память»)