Название: Инвариантно-параметрическое представление и обобщенная ассоциативная обработка символьной и смысловой информации(Токмаков Г. П)

Жанр: Информационные системы и технологии

Просмотров: 2886


4.1. механизмы обработки данныхв естественных и искусственных системах

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

 

 

Механизм

 

 

абстрактн ■

 

 

ого

 

 

мышления

 

 

человека

 

 

Логика решения задач -Л Система знаний человека

Входные данныеРис.52. Схема решения задач человеком

Функции универсального отражения РД абстрактное мышление осуществляет с помощью ряда "интеллектуальных орудий". Причем важнейшими орудиями, используемыми индивидом в процессе мышления, являются такие логические приемы,как анализ и синтез, абстрагирование и конкретизация, агрегация и обобщение, которые в совокупности образуют его формально-логический строй, играющий роль внутреннего регулятора мыслительного процесса. В общих чертах процесс формирование абстрактного образа производится в два этапа:На первом этапе рассматриваемый объект разлагается на компоненты, которые присущи данному объекту в реальном бытии. Затем эти компоненты определяются в абстрактных категориях, как представители тех или иных обобщенных представлений.На втором этапе на основе выделенных компонентов, их абстрактных и конкретных свойств производится синтез расчлененного объекта, но уже не на чувственно-конкретной основе, а как совокупности абстрактных свойств и отношений, что и дает обобщенно-конкретный образ объекта.Процесс анализа-синтеза в ходе формирования абстрактного образа широко представлен в различных философских трудах [56], краткое и схематическое изложение которых мы представим ниже.Любой более или менее сложный объект состоит из множества компонентов, определенным образом связанных между собой, и именно эти взаимосвязи определяют сущность объекта. Однако на этапе восприятия, осуществляемого посредством органов чувств, объект представляется нам как нечто чувственно данное, в котором компоненты и их взаимосвязи еще не выявлены. Выявление компонентов объекта осуществляется на этапе абстрактного мышления посредством логического приема, называемого анализом. В ходе анализа компоненты объекта выделяются из общей связи и выявляется их место и роль в целостном объекте. Расчленение объекта на компоненты производится не произвольно, а с учетом его состава и внутренних связей, существующих в нерасчлененном виде. Расчлененные элементы в совокупности составляют рассматриваемый объект, и по отношению к этому объекту являются объектами другого, более низшего уровня. Та форма абстракции, при которой связь между объектами рассматривается как объект более высокого уровня, называется агрегацией.Затем начинается процесс, называемый нисхождением от чувственно-конкретного к абстрактному (к понятиям), отражающим результаты анализа системы на образующие ее компоненты и параметры. Это нисхождение по сути своей является движением мысли от эмпирического, чувственно воспринимаемого целого к абстрактно-частичному. Абстракция означает мысленное отвлечение от второстепенных особенностей, сторон предмета и выделении в нем существенных, главных сторон. В результате абстрагирования формируются абстрактные понятия, которые отражают эти выделенные главные стороны, характеристики. Путь образования абстракций - это прежде всего аналитический путь, путь расчленения предмета на образующие его компоненты и выделение основных наиболее существенных их свойств.По выявленным свойствам осуществляется классификация компонентов, что позволяет определить их как элементы некоторых классов. Такое представление называется абстрагированием, что означает выделение в нем существенных свойств и отвлечение от второстепенных деталей. На этом этап анализа, результатом которого является расчленение объекта на компоненты и представление их в абстрактных категориях, заканчивается.Анализ является необходимым, но недостаточным условием познания целостного объекта. Он позволяет установить состав, т.е. наличие образующих его компонентов, их существенные и несущественные свойства, но анализ не дает возможность понять, как компоненты связаны между собой. Части целого взаимосвязаны, воздействуют друг на друга, а потому, познав каждую из них, установив ее роль в функционировании целого, выделив основную, главную часть, необходимо от аналитического познания переходить к синтетическому - к познанию взаимосвязей частей, раскрытию внутренней природы целого как результата их взаимодействия.Эту сложную и наиболее важную задачу познания объекта можно решить только посредством процесса синтеза, в ходе которого осуществляется мысленное воссоединение компонентов, выделенных в ходе анализа. Следует отметить, что это воссоединение осуществляется не на основе чувственно-конкретного представления, а на основе абстрактного представления компонентов, где компоненты характеризуются как представители некоторых классов. Однако определение принадлежности к классу не дает нам информации о конкретном объекте, необходимой для определения взаимосвязей с другими компонентами. Поэтому необходима еще и информация об индивидуальных свойствах компонента, которая позволяет отличить его от других компонентов данного класса.Сопоставлением индивидуальных свойств компонентов, являющихся представителями определенных классов, устанавливаются связи между ними. Выявленные взаимосвязи между классами компонентов определяют сущность рассматриваемого объекта, т.е. его существенное свойство, позволяющее отнести в тот или иной класс объектов. Но это уже будет класс объектов другого уровня сложности, нежели те, к которым были отнесены его компоненты.Именно в процессе синтеза мы получаем качественно новое знание, которое нельзя получить в процессе чувственного восприятия, - структуру объекта. Структура является тем существенным признаком объекта, изменением которой изменяется и сущность объекта, и именно на основе знания структуры объекта и осуществляется объединение объектов в классы. При этом осуществляется абстракция обобщения, в ходе которой множество объектов, обладающих общим существенным признаком или единой структурой, рассматривается как родовой объект. В ходе этой абстракции игнорируются несущественные детали объекта. При этом каждый объект рассматривается не сам по себе, а как часть всего внешнего мира, часть какого-то рода, вида, то есть чего-то общего. Тип связи, выделяемый в ходе обобщения, имеет универсальный характер и скрепляет, и пронизывает все объекты реальной действительности, выявляя связь единичного, особенного и всеобщего.Не все свойства компонентов участвуют во взаимосвязях с другими компонентами, т.е. являются существенными, определяющими качественную определенность объекта. Эта часть свойств компонентов взаимно не обусловлены и могут меняться в некотором допустимом диапазоне. Такие свойства задают изменчивость объекта, определяют класс объектов с заданным существенным свойством и позволяют идентифицировать объект среди других объектов данного класса.Синтетическое знание опирается на знание о частях. Тогда как аналитическое знание объединяется синтетическим представлением о целом. Анализ и синтез целостной системы призваны, таким образом, не только решать вопрос о том, из каких частей состоит данное целое и какова роль каждой из этих частей, не только вычленить основополагающую часть, но и вскрыть взаимодействие частей, существующие между ними отношения координации и субординации, установить каким образом в результате взаимодействия частей функционирует система в целом.Будучи объединением компонентов, частей в целостную систему, синтез являет собой отнюдь не воссоздание целого в его непосредственной, чувственной данности. Это восстановление целого после того, как на стадии анализа были выделены и изучены его компоненты, части, как были раскрыты внутренние взаимосвязи этих частей, все богатство внутреннего содержания системы. Синтез - это воспроизведение целостной системы, причем в основе этого воспроизведения лежит главная часть, структурно и генетически определяя все остальное. Синтетическое знание о целом является качественно новым знанием по сравнению с со знанием аналитическим, подобно тому, как само целое представляет собой новое качество по отношению к частям, его образующим.Итак?мы получили схематическое представление об абстрактном мышлении человека, осуществляемом в форме анализа-синтеза объектов РД. Ниже приведем описание приемов машинного отражения РД, осуществлемых в форме различных вычислительных механизмов.4.1.2. Императивный вычислительный механизм и ООППрограммы, составленные на процедурных языках высокого уровня, выполняются под управлением потока команд, который задается алгоритмом решения некоторой задачи. Алгоритм задает жесткую последовательность операций и порядок подстановки результатов выполнения одних операций в аргументы других. В соответствии с этим алгоритмом составляется программа, в которой содержится фиксированная последовательность команд. При этом по умолчанию после выполнения i-й команды выполняется (i+lj-я команда. Если же 1-я команда оказывается командой перехода, то адрес команды указывается явно. Последовательность операций или поток команд, связанных с передачей управления, определяют управляющие связи. Кроме управляющих связей в любой программе имеются еще и информационные связи, определяемые потоками данных, определяющих что вычисляется и куда поставить результат. Таким образом, в традиционной программе перемешаны информация о решаемой задаче и управление ходом вычислительного процесса, имеющее отношение к оборудованию, на котором решается данная задача. Но основное внимание в процедурных программах уделяется заданию в программе управляющих связей, а потоки данных при этом явно не обозначены.Это связано с особенностями фон-Неймановской архитектуры, в концепции которой не предусмотрена поддержка структуры данных. Чтобы восполнить этот пробел,приходится задавать жесткое упорядочение команд программы. Можно выделить несколько этапов в развитии данной концепции моделирования РД:В начале эры программирования программы состояли из линейной последовательности команд, не включающей команды перехода. Такую программу можно представить как одномерную программу, которую можно только запомнить, а затем выполнить определенную последовательность действий, заложенных в этой программе.С введением команд переходов, проверки условий, циклов, программы приобрели второе измерение, что значительно повысило гибкость программ, реагирующих на внешние условия.Введение третьего измерения связано с распараллеливанием процесса выполнения задачи. Для этого в программе необходимо выделить самостоятельные, параллельно работающие компоненты, определить алгоритмы их функционирования и реализовать связи между ними.Если на первых двух этапах моделировались отдельные свойства объектов без учета их принадлежности к тем или объектам, то на третьем этапе моделируются уже объекты, обладающие относительно независимыми свойствами. Отсутствие информации о том, к каким объектам относятся моделируемые свойства, на предыдущих этапах развития фон-Неймановской архитектуры восполнялось тем, что составлялись сложные алгоритмы, которые учитывали как межобъектные связи, так и связи свойств одного объекта. Кроме того,алгоритмы, задавая определенную последовательность команд, управляли и ходом вычислительного процесса. Появление третьего измерения связано в основном с ООП и ознаменует собой новую философию машинного моделирования.4.1.3. Функциональный вычислительный механизмВ императивном вычислительном механизме управление процессом решения задается жесткой последовательностью машинных инструкций, формируемых программистом на стадии разработки программы. При этом программа осуществляет интерпретацию данных, реализует логику решения задачи и содержит информацию, управляющую вычислительным процессом.В этом механизме, основанном на фон-Неймановской архитектуре, программист, составляя программу, помимо перевода задачи с ЕЯ-изложения на машинный, должен заниматься еще и проблемами управления вычислительного процесса. Такое положение вещей является следствием того, что в императивном вычислительном механизме моделирование РД базируется на понятии ПрдО как совокупности отдельных свойств и отношений между ними. Однако если ПрдО рассматривать в комплексе с решаемыми задачами, получаем понятие проблемной области. Введенное понятие рассматривает моделируемую реальную действительность не как статичное образование, а как некоторое пространство состояний с возможными преобразованиями состояний. В этом случае будет достаточно задать цель, а решение задачи машина может найти сама, как некоторое преобразование исходного состояния в целевое. Другими словами, моделируя РД,в памяти машины задаются не только отдельные свойства объектов, но и процедуры,и операции, которые в зависимости от ситуации машина может применить сама.В качестве первой серьезной альтернативы традиционным языкам программирования был разработан функциональный подход к программированию, базирующийся на понятии функции. В основе функциональной модели лежит простая математическая модель, называемая А-исчислением, разработанным А. Чёрчем с целью формализации математического понятия функции. Чёрч ввел А-исчисление с целью избежать двусмысленности обозначения функции через f(x), которую можно рассматривать и как функцию/ зависящей от х, и как значение этой функции в точке х. /^-исчисление трактует функцию не как множество пар "аргумент-значение", а,как правило, вычислительное предписание или программу.Понятие функции в такой интерпретации является фундаментальным не только в математике, но и нашло широкое применение в программировании. Например, в Х-исчислении функция записывается в виде Л(х1,Х2,...,хп)./„,, а в функциональном программировании Х-выражение имеет вид (LAMBDA(x] х2 ... x^f^. Символ LAMBDA означает, что мы имеем дело с определением функции, а символы х{ являются формальными параметрами, которые именуют аргументы в теле функции f„. Выражения в А-исчислении представлены в префиксной форме, т.е. в начале располагается оператор. Например, выражение (а + Ь) в Я-исчислении записывается как (+ab).В функциональной модели все программы записываются в виде выражений, а процесс выполнения программы заключается в определении значения этого выражения. Вычисление значения выражения производится путем упрощения тех частей выражения, которые можно упростить. Эти части выражения называются редексом, а сам процесс упрощения называется редукцией. Выражения, не содержащие редексы,называются нормальной формой и являются результатом вычисления. Выражение, подлежащее редукции, можно запомнить в памяти машины в виде древовидной структуры и путем упрощения этой структуры реализовать эффективную редукцию выражения.Редукция графов выполняется в две стадии. Первая называется нисходящей стадией, при этом запрос редукции передается от корневой вершины к листьям. Когда запрос редукции достигает листового узла, наступает восходящая стадия. На восходящей стадии под управлением данных выполняется редукция в направлении от листьев к корню.Связь между задачами и управление синхронизацией можно выполнять полностью унифицировано на основе графа. В императивных программах связь между задачами и управление синхронизацией должен планировать и описывать сам программист. Но в задачах, в которых множество подзадач выполняется асинхронно, весьма сложно организовать связи между подзадачами и управление их синхронизацией. Состояние обработки (завершение или продолжение вычислений) определяется непосредственно по состоянию графа. При выполнении вычислений по методу редукции нет необходимости в централизованном управлении, так как связи между операциями редукции (ниже называемые задачами) каждого редекса заложены в древовидной структуре, содержащейся в памяти машины. В то время как в императивной вычислительной модели связи между задачами и управление синхронизацией различных подзадач должен планировать и описывать программист.Если опустить первую стадию распространения запроса и начать редукцию со второй, то мы получаем метод программирования, называемый программированием, управляемым данными. Необходимым условием использования программирования, управляемого данными, является наличие в языке программных средств компиляции (или интерпретации), которые выполняют часть обработки, соответствующей нисходящей стадии. Эти программные средства генерируют код, управляющий выполнением восходящей стадии. Программирование, управляемое данными, является связующим звеном между действиями в рамках программы и внешними данными. Если в императивных программах действия задаются заранее, в данном случае действия определяются в момент выполнения в зависимости от поступающих на обработку данных. С помощью программ, управляемых данными, можно реализовать универсальные отношения между данными, когда над различными типами данных совершаются аналогичные действия. Если дать этим действиям имена и определить необходимые в каждом случае вычисления на основе обрабатываемых данных или их типов, то можно определить отношения над объектами независимо от типов данных.Наиболее важным качеством данного метода программирования является то, что программирование при этом базируется на ассоциативном механизме, который активизируется в соответствии с входными данными. Это дает нам гибкую систему программ, которую при возникновении новых ситуаций достаточно расширить новыми функциями без внесения изменений в другие функции. Кроме этого в языках ФП как программы, так и данные представляются в виде древовидных структур, и в этом смысле между ними нет существенных различий. Это очень важное качество функционального программирования будет иметь большое значение для наших дальнейших построений.Однако при решении сложных практических задач исследователи сталкиваются со сложной иерархической зависимостью задач и подзадач. Порядок задействования тех или иных задач зависит от внешних данных и внутреннего состояния системы. При этом возможны ситуации, когда приходится отменять ранее принятые решения и, возвращаясь к состоянию на момент принятия этого решения, принять альтернативное решение, и продолжить процесс решения задачи по "новому руслу". В функциональном вычислительном механизме таких механизмов нет. С этой точки зрения представляет интерес логический вычислительный механизм, в котором содержится встроенный механизм поиска с возвратом или бектрекинга, что предоставляет возможность отмены ранее принятых решений.4.1.4. Логический вычислительный механизмРешая любую задачу, человек выделяет предметы и события, составляющие основу для понимания задачи, и называемые ПрдО. Ядро ПрдО составляют предметы, которые находятся между собой в определенных отношениях. Для описания ПрдО используются языки представления знаний, к числу которых относится и ЕЯ. Однако использование ЕЯ наталкивается на серьезные трудности, ввиду отсутствия формальной семантики ЕЯ, поэтому в математической логике для представления знаний о ПрдО главным образом используется исчисление предикатов, идея использования которого в качестве языка программирования возникла еще в 60-е годы.Главное достоинство этой идеи заключается в том, что на языке исчисления предикатов описываются свойства ПрдО, или мир задачи, а не последовательность шагов, как это делается в императивных вычислительных моделях. Если в ходе выполнения такой программы возникает потребность в свойствах и объектах, удовлетворяющих этим свойствам, то программа находит их сама путем построения ЛВ. Отсюда следует, что в ЯП алгоритмы как описатели последовательности шагов для решения задачи не используются.Поэтому ЯП, так же как и ФП, представляет собой принципиально иную парадигму программирования по сравнению с традиционным программированием, отталкивающимся от архитектуры фон-Неймановских машин. Если императивная парадигма программирования предполагает, что при разработке программ человек должен мыслить в терминах машинных инструкций, то Л/7, напротив, базируется на том предположении, что машина должна выполнять действия,свойственные человеку. Л/7 предполагает, что вместо определения последовательности инструкций машине задаются сведения о решаемой задаче, достаточные для ее решения. Составленная таким образом ЯП выполняется при формулировании логического утверждения, называемого целевым утверждением, путем поиска данного целевого утверждения, используя предположения, входящие в условие задачи [92].На языке Л77, так же как и на языке ФП, можно обрабатывать списковые данные. Благодаря эффективному использованию операции сопоставления образцов на языке ЯП можно более просто, чем на языке ФП, объединять или разделять списковые данные. Сопоставление образцов по отношению к спискам выполняется в соответствии с правилом унификации. Структура списка представляется в виде последовательности "aha2,...,an". При выполнении программы, состоящей из этой последовательности атомов, система сначала выдает решение, при котором условие а} является истиной. Затем, используя это решение, отыскивается решение й2- При этом:•  если решение не находится, то считается, что принятое ранее решение а} отменяется, осуществляется возврат и отыскивается другое решение ау,если решение     найдено, то на основании этого решения осуществляется поиск решения а3.Далее аналогично, если эту операцию можно продолжить до а„, то все значения от а; до а„ становятся истинными и полученное решение является результатом выполнения логической программы.