Научная статья на тему 'Преобразование структур данных в поле структур данных'

Преобразование структур данных в поле структур данных Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
357
66
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СИСТЕМА / СТРУКТУРА ДАННЫХ / ПРЕОБРАЗОВАНИЕ / ЭКВИВАЛЕНТНОСТЬ / ИЗОМОРФИЗМ / ПОЛИМОРФИЗМ / ИЗОМЕРИЯ / SYSTEM / DATA STRUCTURE / TRANSFORMATION / EQUIVALENCE / ISOMORPHISM / POLYMORPHISM / ISOMERISM

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Дрождин В. В., Володин А. М.

Рассмотрены допустимые преобразования структур данных, согласованные с изменениями и эволюцией систем в общей теории систем Ю.А. Урманцева. Разработаны операции для выполнения R-альных преобразований структур данных. Определены критерии эффективности структур данных и их преобразований.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Data structures transformation in the field of data structures

The types of acceptable data structures transformation consistent with the changes and the evolution of systems in general systems theory by Yu.A. Urmantsev are considered. The operations for data structures R-transformations are developed.

Текст научной работы на тему «Преобразование структур данных в поле структур данных»

ИЗВЕСТИЯ

IZVESTIA

ПЕНЗЕНСКОГО ГОСУДАРСТВЕННОГО ПЕДАГОГИЧЕСКОГО УНИВЕРСИТЕТА имени В. Г. БЕЛИНСКОГО

PENZENSKOGO GOSUDARSTVENNOGO

PEDAGOGICHESKOGO UNIVERSITETA

IMENI V.G. BELINSKOGO

ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ №26 2011

им. в. г. воинского

ПГПУ

PHYSICAL AND MATHEMATICAL SCIENCES

№26 2011

УДК: 004.6

Дрождин В. В., Володин А. М. — Преобразование структур данных в поле структур данных // Известия ПГПУ им. В. Г. Белинского. 2011. № 26. С. 380—385. — Рассмотрены допустимые преобразования структур данных, согласованные с изменениями и эволюцией систем в общей теории систем Ю.А. Урманцева. Разработаны операции для выполнения R-альных преобразований структур данных. Определены критерии эффективности структур данных и их преобразований.

Ключевые слова: система, структура данных, преобразование, эквивалентность, изоморфизм, полиморфизм, изомерия, аттрактор

Drozhdin V. V., Volodin A. M. — Data structures transformation in the field of data structures // Izv. Penz. gos. pedagog. univ. im.i V. G. Belinskogo. 2011. № 26. P. 380—385. — The types of acceptable data structures transformation consistent with the changes and the evolution of systems in general systems theory by Yu.A. Urmantsev are considered. The operations for data structures R-transformations are developed.

Keywords: system, data structure, transformation, equivalence, isomorphism, polymorphism, isomerism, attractor

В [1] на основе общей теории систем Ю. А. Урманцева (ОТС-У) определено поле структур данных (ПСД) как пространство всех возможных структур данных (СД). При этом СД одного качества, имеющие близкую структуру и обладающие сходными свойствами, представляются в виде Rсистемы. На множестве R-систем заданы отношения полного и частичного включения, что порождает в ПСД целостную систему с сетевой структурой. На самом верхнем уровне ПСД находится единственная R-система RS, включающая все допустимые СД, обладающие всего двумя свойствами: связностью - для обеспечения целостности СД;

доступностью каждого элемента - для обеспечения согласованности функционирования СД.

Такой подход позволяет состояниям реальных СД и их компонентов сопоставить точки ПСД, а изменение или эволюцию (смену состояний) - рассматривать как последовательные переходы (движение) от точки к точке в ПСД. Кроме этого, наличие в ПСД всех возможных СД: от конструктивных элементов

(КЭ), до структур данных произвольной сложности, допускает выделение в реальных СД разных уровней организации, например, конструктивные элементы, узлы, подструктуры, структуры и другие.

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

Определим типы допустимых преобразований СД, согласованные с изменениями и эволюцией систем в ОТС-У.

Можно выделить следующие типы преобразований СД:

1. Обработка (изменение) данных, заключающаяся в выполнении обычных операций поиска, добавления, удаления и модификации данных, содержащихся в СД. Это микроуровень обработки СД, к которому нечувствительны неэволюционные системы [2] (к ним относятся практически все существующие автоматизированные информационные системы, осуществляющие обработку данных по заранее определенным алгоритмам).

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

3. И-альные преобразования СД - это изменения реальных СД, сопровождаемые изменением структурных отношений между элементами данных и/или законов композиции, что изменяет качество СД (преобразует текущую СД в СД другого типа, например, список в дерево, бинарное сбалансированное дерево в бинарное несбалансированное дерево, бинарное дерево в т-арное дерево). Такие изменения СД могут инициироваться как изменением задач, решаемых в предметной области, так и приближением состояния реальной СД к границе И-системы, включающей однотипные СД, обеспечивающие необходимую эффективность обработки данных.

4. Включение исключений в СД - это преобразование СД в рамках текущей И-системы, допустимое в И-системе более высокого уровня. Включение исключений в реальную СД не переводит ее в И-систему с более общими свойствами, что позволяет сохранять высокую эффективность обработки данных до тех пор, пока исключения не будут заметно влиять на эффективность, снижая ее, и не потребуется выполнение И-ального преобразования.

Теорема. Изменение реальной СД является допустимым, если оно разрешено для СД текущей И-системы или для СД И-системы более высокого уровня.

Доказательство теоремы вытекает из свойства замкнутости ПСД, т.к. операции обработки данных и преобразования СД в рамках И-системы не приводят к изменению типа СД, а И-альные преобразования и включение исключений выполняются либо в И-системах более высокого уровня, либо в ДБ.

Теорема доказана.

В [1] доказано, что для выполнения тождественных, количественных, качественных и относительных преобразований СД, определенных для систем в ОТС-У, необходимо построение СД из КЭ четырех типов: элементов данных, параметров, признаков и указателей. Поэтому можно определить виды преобразований СД, соответствующие различным операциям обработки данных. Например, операции добавления и удаления элементов данных осуществляют количественные преобразования СД, выделение в СД подмножеств элементов данных (подструктур) с определенными свойствами является качественным преобразованием, представление данных в разной форме или поиск данных, не изменяющий СД, соответствуют

тождественным преобразованиям, а изменение порядка следования элементов данных (реорганизация СД) соответствует относительному преобразованию.

Хотя указанные преобразования СД, осуществляемые операциями обработки данных, составляют основные преобразования СД для этих операций, однако, они сопровождаются всеми другими видами преобразований. Например, операции добавления и удаления элементов данных кроме количественных преобразований удлиняют/укорачивают пути доступа к последующим данным, что соответствует качественным преобразованиям, возникновение необходимости реорганизации СД соответствует относительному преобразованию, а изменение значений сжатых данных является тождественным преобразованием. Подобным образом все остальные операции обработки данных выполняют все виды преобразований СД. Следовательно, при более точном рассмотрении преобразований СД в результате выполнения операций обработки данных необходимо рассматривать все виды преобразований.

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

Операции обработки данных являются микрооперациями изменения СД, не меняющими их тип, но инициирующими преобразования СД в рамках И-системы и включение исключений.

В результате обработки данных могут нарушаться законы композиции СД, что приводит к появлению исключений. Например, в хеш-таблице часто появляются коллизии, у деревьев нарушается условие сбалансированности, в индексе число уровней становится слишком большим, значительная часть элементов структуры логически удалены друг от друга, интенсивно используются лишь некоторые элементы данных, доступ к часто используемым элементам дольше, чем к редко используемым, и др.

Если число исключений в СД превышает некоторый порог, то целесообразно выполнение И-ального преобразования, изменяющего тип СД таким образом, чтобы в новом состоянии реальная СД обеспечивала более высокие характеристики обработки данных. Согласно ОТС-У преобразование СД из И-системы ЕБ1 в СД из И-системы ЕБ2 осуществляется в соответствии с законами композиции некоторой надси-стемы ЕБ3, включающей в качестве своих подсистем ЕБ1 и ЕБ2. Например, преобразование бинарных деревьев в т-арные или деревья произвольной арности выполняется в рамках иерархических структур (деревьев). При этом все преобразования СД замкнуты относительно Исистемы наиболее высокого уровня

Ж.

Для выполнения И-альных преобразований СД разработаем следующие операции:

- оценки состояния СД в И-системе;

- поиска И-системы, которой будет наиболее полно соответствовать данное состояние реальной СД;

- преобразования СД из одной И-системы в СД из другой И-системы.

Операция оценки состояния реальной СД (0і) определяет степень соответствия состояния реальной СД определенной И-системе. Формат операции:

в1 : < в, ЕБ> ^ V,

где в Є ЕБ - оцениваемое состояние СД, ЕБ Є ЯБ - И-система, V Є [0; 1] -оценка состояния,

V

определяющая степень структурного соответствия в Є ЯБ. При V = 0 в Є ЯБ, при V = 1 - в является аттрактором ЕБ, а состояния с оценками 0 < V < 1 соответствуют аттрактору с определенной степенью.

Если текущее состояние СД в результате выполнения операций обработки данных перестает отвечать законам композиции ЕБ, то необходимо осуществить поиск ЕБ, для которой V ^ 1, с помощью операции 02:

в2 : < в, Ж > ^ ЕБ,

где < в, ЕБ> ^ 1.

Операция преобразования СД из одной И-системы в СД другой Исистемы (0з) осуществляет преобразование реальной СД из текущего состояния в состояние, соответствующее новой И-системе. Формат операции:

03 : < в1, ЕБ1 > ^ в2,

где в1 € ЕБ1, в2 € ЕБ2.

Для формализации преобразований СД целесообразно использовать определения, согласующиеся с ОТС-У, синергетикой и математикой.

Структуры данных Б1 и Б2 называются равными (Б1 = Б2), если они содержат одинаковые элементы данных и отношения между ними.

Две структуры данных Б1 и Б2 называются (математически) изоморфными (Б1 ^ Б2), если

существует биективное отображение у>, ставящее в соответствие каждому элементу из Б1 элемент из Б2 и сохраняющие отношения между ними.

Изоморфизм СД есть отношение (математической) эквивалентности, т.к. обладает свойствами:

1. рефлексивности: Б ^ Б, где биекция представляет собой тождественную функцию;

2. симметричности: если Б1 ^ Б2 с биекцией <^, то Б2 ^ Б1 с биекцией <^>1;

3. транзитивности: если Б1 ^ Б2 с биекцией ^ и Б2 ^ Б3 с биекцией 0, то Б1 ^ Бзс

биекцией ^ о 0.

В процессе преобразования СД не обязательно поддерживать их изоморфное соответствие (предельное подобие). Достаточно соблюдать системную эквивалентность.

Две структуры данных Б1 и Б2 называются системно-эквивалентными (Б1 = Б2), если су-

ществуют прямое <р и обратное <^>-1 преобразования, позволяющие Б1 полностью преобразовать в Б2 (^ : Б1 ^ Б2) и Б2 полностью преобразовать в Б1 (^ 1 : Б2 ^ Б1), где полностью означает, что все

элементы данных и отношения между ними одной структуры переходят в представления данных другой структуры и отношения между этими представлениями.

Частным случаем системной эквивалентности является математическая эквивалентность, представленная изоморфизмом структур данных.

Преобразование СД в рамках системной эквивалентности целесообразно называть преобразованием "без потери информации однако системная эквивалентность выступает очень серьезным ограничением, т.к. после преобразования СД в ней не может появиться ничего нового, чего не было в исходной СД.

Для снятия этого ограничения в ОТС-У определены системный изоморфизм и системный полиморфизм [2].

Системный изоморфизм в ОТС-У понимается как отношение между объектами-системами одной и той же, или разных И-систем, обладающее свойствами рефлективности и симметричности. Термины "системный изоморфизм"и "системное сходство"в ОТС-У рассматриваются как взаимозаменяемые. Превосходной степенью системного сходства является тождество, а наиболее распространенной - неполное сходство (подобие).

Две структуры данных Б1 и Б2 называются системно-изоморфными (Б1 « Б2), если они содержат системно-эквивалентные части (Б1 ’ = Б2’, где Б1’ и Б2’ - соответственно подструктуры Б1 и Б2).

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

Две структуры данных Si и S2 являются полиморфическими модификациями (Si Д S2), если они содержат одинаковое или разное количество допустимых конструктивных элементов и допустимых отношений между ними и удовлетворяют одним и тем же законам композиции (ограничениям).

R-система, системный изоморфизм и системный полиморфизм описывают одну и ту же систему объектов, но отражают ее разные стороны. Например, можно выделить следующие системы СД: множества (множества, мультимножества), последовательности (списки, списки с пропусками, циклические списки, очереди, стеки, деки), деревья (бинарные, тернарные, mарные, произвольной арности), сети, графы.

При этом R-система объединяет системы сходного качества. Системный изоморфизм определяет системы с необходимой степенью подобия, чтобы они обладали сходным качеством. Системный полиморфизм определяет системы с допустимой степенью разнообразия, чтобы они не потеряли сходного качества.

Если в R-системе одни объекты-системы переходят в другие только посредством изменения отношений между первичными элементами, то в такой системе возникает изомерия.

Две структуры данных Si и S2 называются изомерами (Si = S2), если они содержат одинаковый состав конструктивных элементов, но различные отношения между ними.

Структуры-изомеры отличаются связностью элементов (топологией графа связей). Изомерами являются, например, различные классы бинарных деревьев, отличающиеся условием сбалансированности: АВЛ-деревья, красно-черные деревья, деревья Фибоначчи. Структуры-изомеры могут относиться к разным типам СД, например, двусвязные списки и бинарные деревья, узлы которых содержат элемент данных и два указателя.

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

Если решаются регламентированные задачи, требующие определенной последовательности запросов, то для оценки их сложности можно использовать амортизационный анализ [3]. Амортизационный анализ дает оценку среднего времени одной операции для худшего случая. Например, в [3] доказано, что сложность произвольной последовательности из n операций push (добавить элемент к стеку), pop (удалить вершину стека), multipop (удалить к элементов из стека), применяемых к пустому стеку, равна O(n).

Однако в процессе использования СД их тип и интенсивность различных операций обработки данных могут существенно изменяться. В случае, когда последовательность будущих запросов неопределенна, разрабатываются онлайн-алгоритмы (online algorithms) [4], для оценки которых используется конкурентный анализ (competitive analysis), сравнивающий сложность онлайн-алгоритма со сложностью оптимального оффлайн-алгоритма (offline algorithm) (оценкой в наилучшем случае). При этом с-оптимальными (с-competitive) алгоритмами называются алгоритмы, которые для любой последовательности запросов а дают оценку:

С а (а) < с ■ Copt (а) + а,

где С а (а) - сложность онлайн-алгоритма A, Copt (а) - сложность соответствующего оптимального оффлайн-алгоритма, а - некоторая константа.

Параметр с называется коэффициентом оптимальности (competitive ratio) онлайн-алгоритма. Учитывая, что Copt (а) < Cа (а), то > 1. На основе теории систем целесообразно считать эффективными

алгоритмы со значением 1 < с < 1.382 [5]. Однако при исследовании задачи понимания текста было установлено, что человек в общем понимает текст, если он понимает из него не менее 72-75% [6]. Поэтому практически эффективными алгоритмами можно считать алгоритмы со значением 1 < с < 1.3. Это является очень жестким требованием к онлайн-алгоритмам, что позволяет сделать вывод о необходимости одновременного существования некоторого многообразия алгоритмов, эффективно реализующих близкие по содержанию запросы. Это позволит реализовать различные последовательности запросов с максимальной эффективностью.

Критерий сложности структурных преобразований определяется количеством и сложностью соответствующих операций преобразования СД. Из всех возможных структур RSдолжна быть выбрана та, эффективность которой существенно превышает затраты на преобразование исходной структуры. При этом целесообразно принять значения коэффициента структурного соответствия равным 0.7 < v < 1, а дополнительным ограничением является наличие времени и свободных ресурсов для преобразования СД.

Разработанные способы преобразования СД в поле структур данных позволяют создать автономные компоненты организации данных, способные обеспечить не только их надежное хранение, но и очень эффективную обработку и использование.

СПИСОК ЛИТЕРАТУРЫ

1. Дрождин В. В., Володин А. М. Поле структур данных // Известия ПГПУ им. В. Г. Белинского. Физико-математические и технические науки. 2010. - № 18 (28). С. 12З-129.

2. Урманцев Ю. А. Эволюционика, или общая теория развития систем природы, общества и мышления. М.: Либроком, 2009. 240 с.

3. Кормен Т. Х., Лейзерсон Ч. И., Ривест Р. Л., Штайн К. Алгоритмы: построение и анализ. М.: Издательский дом “Вильямс”, 2007. 1296 с.

4. S. Albers, S. Leonardi. On-line algorithms. ACM Computing Surveys (CSUR). 1999. Volume З1.

5. Сороко Э. М. Золотые сечения, процессы самоорганизации и эволюции систем: Введение в общую теорию гармонии систем. М.: КомКнига, 2006. 264 с.

6. Пиотровский Р. Г. Текст, машина, человек. Л.: Наука, 1975. З27 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.