ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА
УДК 004.384:004.272:004.414.2
Э. И. Ватутин, И. В. Зотов, В. С. Титов
ВЫЯВЛЕНИЕ ИЗОМОРФНЫХ ВХОЖДЕНИЙ ^-ВЫРАЖЕНИЙ ПРИ ПОСТРОЕНИИ ПАРАЛЛЕЛЬНЫХ АЛГОРИТМОВ ЛОГИЧЕСКОГО УПРАВЛЕНИЯ
Представлен алгоритм выяснения отношения изоморфизма .К-выражений (сечений параллельного алгоритма), основанный на ряде их особых свойств и ориентированный на аппаратную реализацию. Приведено описание устройства (акселератора) на его основе, позволяющего проводить проверку отношения изоморфизма за линейное время.
Ключевые слова: логический мультиконтроллер, синтез, параллельный алгоритм логического управления, разбиение, оптимизация, ориентированные деревья.
Реализация параллельных управляющих алгоритмов в базисе логических мультикон-троллеров (ЛМК) требует их декомпозиции на множество частных алгоритмов ограниченной сложности [1]. Получение оптимального набора частных алгоритмов (разбиения) — сложная комбинаторная задача. Качество ее решения существенно влияет на аппаратную сложность ЛМК и определяет, в конечном счете, время выполнения алгоритма. Один из наиболее эффективных путей решения данной задачи предлагает развиваемый авторами параллельно-последовательный метод декомпозиции [2—8]. Как было показано в статье [9], он позволяет формировать наиболее близкие к оптимальным варианты разбиения с учетом основных структурных и технологических ограничений базиса ЛМК.
Один из ключевых этапов параллельно-последовательной декомпозиции — построение множества сечений, покрывающего все вершины исходного алгоритма. Формирование сечений осуществляется путем выполнения трудоемких операций подстановки над множеством так называемых .-выражений, описывающих алгоритм управления. Как показывают исследования, упрощение и ускорение этих операций возможно путем их сведения к действиям над деревьями, в частности, к проверке изоморфизма.
В настоящей статье предложен алгоритм определения изоморфных вхождений .-выражений, основанный на ряде их специфических свойств, не присущих графам или деревьям общего вида, и обеспечивающий проверку изоморфизма за полиномиальное время. (Как известно [10], для решения задачи распознавания изоморфизма графов общего вида до сих пор не только не придумано эффективного универсального алгоритма, но и не доказана ее принадлежность к классу Р или ЫР [11].) Следует отметить, что рассматриваемый вид изоморфизма .-выражений определяется исходя из возможности проведения операции подстановки [1, 3, 4] и несколько отличается от „классического" понятия изоморфизма [10], определяемого для графов, ввиду чего далее будем именовать его г-изоморфизмом.
При практической реализации операций над ^-выражениями удобным является их представление в виде деревьев, допускающее преобразование в табличный вид (рис. 1). Каж-
X X
дый элемент дерева X, представленного совокупностью наборов листьев Ц , Ц ,
Ь
X
Пь (X у
узлов 71X, Т2,..., Т^Г(X) и связей между ними, кодируется набором полей. С учетом ряда особенностей обработки наборы листьев и узлы дерева кодируются отдельно. Узлы дерева представлены полями:
1) типа узла (ТУ) — параллельный или альтернативный;
2) ссылки на предка (СП) — номер узла-предка;
3) номера соответствия (НС) — номер изоморфного эквивалента в соседнем дереве;
4) типа соответствия (ТС) — может принимать значения „0*" — соответствие отсутствует, „10" — неполное (частичное) соответствие, „11" — полное соответствие.
■X
а99'(а94|а95|а128|(а65'абб'а82'а83'(й,55|а5б|а112) '(а59|а104|а111)))
То
.Т4
Ь4
1 Узлы 1 Тип узла Ссылка на предка
То • —
Г1 \ Го
Г2 • Г1
Гз Г2
Г4 Г2
Г5 — —
N1 — -
Текущее количество узлов Щ
5
Текущее количество наборов листьев
5
№ Множество Ссылка на
в е ь вершин предка
Ьо 99 Го
т с Ц 94, 95, 128 Г
и л ¿2 65, 66, 82, 83 Г2
ы р Ьз 55, 56, 112 Гз
о б ¿4 59, 104, 111 —4
а К ¿5 —
N1 — -
Рис. 1
Наборам листьев дерева при этом соответствуют поля множества вершин (МВ) — двоичный вектор с единичными битами в позициях, соответствующих номерам присутствующих в наборе вершин, а также поля СП, НС и ТС. Во избежание путаницы при обозначении одноименных полей, соответствующих узлам и наборам листьев, будем обозначать их с указанием принадлежности к элементам дерева (например, СП(у) и СП(нл)).
Краткое описание свойств ^-выражений, гарантирующих наличие единственно возможного изоморфного эквивалента поддерева и позволяющих исключить из рассмотрения проверку соответствия типов узлов деревьев, приведено ниже (ввиду ограниченного объема статьи доказательства лемм и теорем не приведены).
Необходимое условие 1 отсутствия г-изоморфизма. Если в дереве А найдется набор листьев ЬА, не находящийся в отношении эквивалентности, обозначаемом как
Ь[~]¿2 = ¿2У(Ь ^¿2М¿2 ^Ь),
ни с одним набором листьев дерева В, то дерево А не является г-изоморфным дереву В:
ЗЬА е А, УЬВ е В, ¿А [~]¿В ^ А[^]В .
Выявление изоморфных вхождений Я-выражений при построении параллельных алгоритмов 39
Необходимое условие 2 отсутствия г-изоморфизма. Если в деревьях А и В присутствует более одной пары наборов листьев с частичным соответствием (ЬА ^ ЬВ, где ЬА — 1-й набор листьев дерева А), рассматриваемые деревья не г-изоморфны.
Аксиома 1. Невозможно найти такие два набора листьев ЬА и ЬА, предком которых являлся бы один и тот же узел.
Аксиома 2. При движении по узлам любой ветви дерева типы узлов строго чередуются. Лемма 1 (об ортогональности наборов листьев в составе дерева). В пределах дерева все
наборы листьев ортогональны: ЬА П Ь^у = 0, V/ ^ у .
Лемма 2 (о совпадении типа узлов-предков для вершин в составе различных наборов
х
листьев). Любые две вершины, входящие в состав одного набора листьев Ц дерева X, могут
у
одновременно войти в состав набора листьев Ьу дерева У только в том случае, если тип узла
X У
предков наборов листьев Ц и Ьу совпадает.
Следствие. У полностью или частично эквивалентных наборов листьев не может быть предков разного типа.
Теорема 1 (о единственности г-изоморфной пары наборов листьев). Набору листьев ЬА может соответствовать не более одного полностью или частично эквивалентного набора листьев Ьв} : ЦА Ц : ЗЬБк, ЬА ]ЬБк, к * у .
Теорема 2 (о единственности г-изоморфной пары поддеревьев). В деревьях А и В не может быть более одной пары совпадающих поддеревьев.
Следствие. Дереву А может быть изоморфно не более одного поддерева из дерева В. Приведенные выше аксиомы, леммы, теоремы и необходимые условия позволяют сформулировать алгоритм выявления г-изоморфизма пары деревьев А и В, ориентированный на параллельную аппаратную реализацию, в следующем виде.
1. Установить значения полей ТС всех наборов листьев дерева А в „00" (соответствия нет), значения полей НС всех наборов листьев дерева А в „11... 1" (ссылка на несуществующий элемент дерева В), значения полей ТС всех узлов дерева А в „11" (полное соответствие), значения полей НС всех узлов дерева А в „11.1".
2. Если Пц (А) > Пц (В) (количество наборов листьев в подставляемом дереве больше количества наборов листьев в объемлющем), установить признак ф = 0 отсутствия изоморфного дереву А поддерева в составе дерева В. Перейти к п. 7.
3. Поочередно выбирать все наборы листьев дерева В. Для выбранного набора листьев
В
Ьу дерева В осуществить параллельное во времени сравнение поля МВ с полями МВ всех наборов листьев дерева А, сформировать признаки полного 5+ = (ьА = ЬВ) и частичного 5- =(ьА ^ Ьу ) соответствия наборов листьев с их последующим сохранением в поле ТС набора листьев ЬА в формате 5- | 5+ (на позиции старшего бита — признак 5-, младшего — 5+ ) и в поле ТС предка набора листьев Ц. В случае полного или частичного соответствия между на-
А В
борами листьев Ц и Ьу сохранить номер у, соответствующий предположительно изоморфному эквиваленту Ц в составе дерева В, в поле НС набора листьев ЬА, а также значение
B A
поля СП набора листьев Lj в поле НС предка набора листьев Li (предположительно изоморфный эквивалент предка набора листьев ИА ).
4. Если хотя бы для одного набора листьев дерева А не нашлось полностью или частично эквивалентного предположительно изоморфного набора листьев в составе дерева Б, т.е.
Г \ ^ : 5- = 0 = _5" (LA ) 1 ,
^ i=0, ^ (А)-1 ; )
установить признак ф = 0 отсутствия изоморфного дереву А поддерева в дереве Б. Перейти к п. 7.
5. Просмотреть все узлы дерева А, кроме корня, в направлении от узлов с большим номером к узлам с меньшим номером. Откорректировать значения поля ТС предка каждого i-го
узла как ТСТ' = / ( тС , ТСТ) в случае наличия предка у предположительно изоморфного
эквивалента текущего узла (у = 0), установить ТС = 00 в противном случае (у = 1) . (Здесь / (х, у) — функция корректировки значения поля ТС узла-предка, х — значение поля ТС узла-предка, у — узла-потомка, эквивалентная функции минимума двух аргументов для всех случаев, кроме / (10,10) = / (10,11) = 00 .) Задать значения поля НС предка рассматри-
Ж Ж
ваемого узла а [ ] как НС = й[а[/].НС].СП, где НС — значение поля НС узла-предка текущего узла.
Если поля ТС всех узлов дерева А имеют значение „11" или „10", т.е.
Г \
ф0 = _&_5" ((А ) = 1 ,
^ г=0, Щ (А)-1 )
в дереве Б есть поддерево, изоморфное дереву А, причем подстановка изоморфизма определяется значениями полей НС (i-му элементу дерева А соответствует изоморфный эквивалент а[/].НС в дереве Б). В противном случае в составе дерева Б нет поддерева, изоморфного дереву А. Установить признак ф = ф0 . 7. Конец алгоритма.
Рассмотрим пример работы описанного алгоритма. В качестве объемлющего дерева Б возьмем дерево, приведенное на рис. 1. Пример (см. таблицу) показывает, что в состав дерева Б (рис. 1) входит поддерево, г-изоморфное изображенному на рис. 2 дереву А.
а66' а83'(а,59|а104|ашНа55|а56|а112)
Рис. 2
Пример определения г-изоморфизма
№ итерации Пояснение к действию Значения полей элементов дерева А
и и ь2 То Т1 т2
С НС ТС НС тс НС тс НС ТС НС ТС НС
1 - 00 -1 00 -1 00 -1 11 -1 11 -1 11 -1
2 ^ (л) = 3, Л/ (в) = 5, пь (л) < пь (В) 00 -1 00 -1 00 -1 11 -1 11 -1 11 -1
3.1 ] = 0, В1() .МВ = а99 00 -1 00 -1 00 -1 11 -1 11 -1 11 -1
3.2 } = 1, В.Ьг .МВ = я94я9^я1т8 00 1 00 -1 00 1 11 -1 11 -1 11 -1
3.3 ] = 2, В.Ьп .МВ = я6^я66я8тя83, г = 0, А : Ьп —>■ Тп, В : —>■ 7^ 10 2 00 -1 00 1 10 2 11 -1 11 -1
3.4 ] = 3, В.ЬЪ .МВ = , / = 2, : —>■ 7/ 7> : 7,3 —>■ Г3 10 2 00 -1 11 3 10 2 11 -1 11 3
3.5 У = 4, 5.14.МВ = о,9о1П4о1П, У = 1, ,4 :->■ 7],5 :14 ->■ Г4 10 2 11 4 11 3 10 2 11 4 11 3
4 Х=1&1&1=1 10 2 11 4 11 3 10 2 11 4 11 3
5.1 ' 2. .1: 7. -+Т0,А.Т2 [~]5.7; 5:7; ч» 7/ у = 0, 7;.ТС = /(11,10) = 10 10 2 11 4 11 3 10 2 11 4 11 3
5.2 ' 1-1:'/ >Г • • 1-7 | ■ |/>'•/.: 5 : Г4 7/ у = 0, 7; .ТС = /(11,10) = 10 10 2 11 4 11 3 10 2 11 4 11 3
6 Ф = 1&1&1 = 1 10 2 11 4 11 3 10 2 11 4 11 3
Рис. 3
Выявление изоморфных вхождений Я-выражений при построении параллельных алгоритмов 43
На основании приведенного выше алгоритма синтезировано специализированное устройство, функциональная схема которого представлена на рис. 3. Регистры 1, 2 и 27 предназначены для хранения значений ^ (В), пТ (А) и ^ (А) соответственно, при этом значения
полей обрабатываемых деревьев хранятся в элементах однородной среды электронной модели дерева (ОСЭМД) [12] В.МВ, А.МВ, А.СП(нл), А.ТС(нл), А.Нс(нл), В.СП(нл), А.СП(у), В.СП(у), А.ТС(у) и А.НС(у), схема ячейки которой приведена на рис. 4.
wdi owdi
wa —-Cw
Caw ----
ra0[i]----
ra-[-] ■■ — гак[]
D —Л TT
C
4
у
5
I + И
wd owd
wa ?
Cw
Caw
rao[i] d
rai[.i]
raK[i] d
rdo[j] rd- [-[ rdKß]
3+K
i I...........\
ЩЩ МЦ mm \ i\
rdo[j] rdi[j] rdK[j] Рис. 4
Коммутаторы 3, 23—25 управляются сигналом р и предназначены для коммутации значений на разных этапах работы алгоритма. Дешифраторы 4, 22, 28, 33, 34, 38 используются для преобразования номеров позиций элементов дерева в табличном представлении из двоичного кода в унитарный, используемый на входах ra (сокр. от „read address" — адрес чтения) элементов ОСЭМД. Шифратор 21 используется для обратного преобразования. Сдвиговый регистр 5 используется для поочередного выбора элементов обрабатываемых деревьев. Блоки элементов ИЛИ 7, запрета 8, ИЛИ 9—12 используются для формирования начальных значений полей на этапе инициализации. Элементы ИЛИ 6, ИЛИ 13 и И 36 используются для коммутации синхросигналов. Блок элементов запрета 26 в совокупности с элементом И 29 и схемой маскировки неиспользуемых позиций (СМНП) 1 используется для формирования значения признака X. Схема СМНП 2 в совокупности с блоком элементов запрета 37, элементом ИЛИ 39, запрета 30, блоком элементов И 31 и элементом ИЛИ 32 используется для формирования результирующего признака r-изоморфизма ф, при этом на выходе элемента ИЛИ 39 формируется значение признака а отсутствия узлов у дерева A. Элемент И 35, на выходе которого формируется значение признака у, в совокупности со схемой определения типа соответствия предка (СОТСП) отвечает за формирование обновленного значения поля типа соответствия узла-предка (фактически схема СОТСП реализует рассмотренную выше функцию f). Блок элементов НЕ 14 в совокупности со схемами сравнения битовых векторов (ССБВ) 1—n, образованными блоками элементов И 15 и 16, ИЛИ 17, И-НЕ 19 и элементами И 18 и 20,
используется для формирования признаков 5+ и 5- полного и частичного соответствия наборов листьев. Элемент задержки предназначен для задержки синхросигнала сдвига
ö
&
i
3
&
&
i
2
&
i
&
содержимого регистра 5 на время, достаточное для формирования и записи обновленных значений полей на предыдущей итерации алгоритма.
По сравнению с программной реализацией предлагаемого алгоритма выигрыш в скорости достигается за счет параллельной инициализации значений полей ТС и НС узлов и наборов листьев дерева А; параллельного сравнения выбранного у-го набора листьев дерева В со всеми наборами листьев дерева А; параллельного сравнения компонентов битовых векторов, соответствующих наборам листьев; параллельного чтения и записи значений различных полей (А.ТС(нл), А.НС(нл), А.НС(у) и т.д.) из/в разные элементы ОСЭМД.
При программной реализации [3, 5, 6] имеют место дополнительные затраты на организацию стека возвратов при рекуррентном сравнении деревьев, сканирование наборов листьев при этом фактически является условием завершения рекурсии: обработка элементов наборов листьев производится последовательно. Просмотр узлов деревьев как при программной, так и при аппаратной реализации осуществляется последовательно.
Последовательная программная реализация предложенного в статье алгоритма проверки г-изоморфизма предполагает попарное сравнение наборов листьев деревьев А и В (каждое сравнение наборов листьев требует О (Ьтах) действий) с последующим просмотром узлов дерева А снизу вверх. Ее асимптотическая временная сложность составляет
О (( ¿тах + ^ ) О (Ь3тах ) ,
где — максимально возможное число наборов листьев в дереве, Ьтах — размерность
битовых векторов МВ наборов листьев (фактически число вершин в алгоритме управления). Предложенное аппаратное решение обладает асимптотической временной сложностью
О ((¿тах + ^х ) О (Ьтах )
где Ыг — максимально возможное число узлов в дереве.
тах
СПИСОК ЛИТЕРАТУРЫ
1. Организация и синтез микропрограммных мультимикроконтроллеров / И. В. Зотов, В. А. Колосков, В. С. Титов и др. Курск: КурскГТУ, 1999. 368 с.
2. Зотов И. В., Колосков В. А., Титов В. С. Выбор оптимальных разбиений алгоритмов при проектировании микроконтроллерных сетей // Автоматика и вычислительная техника. 1997. № 5. С. 5162.
3. Поиск базового сечения в задаче разбиения параллельных алгоритмов / Э. И. Ватутин, И. В. Зотов. Курск: КурскГТУ. 2оо3. 3о с.
4. Ватутин Э. И., Зотов И. В., Титов В. С. Построение множества сечений в задаче оптимального разбиения параллельных управляющих алгоритмов // Изв. ТулГУ. Вычислительная техника. Информационные технологии. Системы управления. Тула: ТулГУ, 2оо3. Т. 1, вып. 2. С. 7о—77.
5. Ватутин Э. И., Зотов И. В. Метод формирования субоптимальных разбиений параллельных управляющих алгоритмов // Параллельные вычисления и задачи управления (РАСО'о4). М.: ИПУ РАН, 2оо4. С. 884—917.
6. Ватутин Э. И., Зотов И. В. Параллельно-последовательный метод формирования субоптимальных разбиений параллельных управляющих алгоритмов. Свид-во об офиц. регистрации программы для ЭВМ № 2оо5613о91 от 28.11.о5.
7. Ватутин Э. И., Зотов И. В. Программная система для построения разбиений параллельных управляющих алгоритмов // Идентификация систем и задачи управления (81СРЯО'о6). М.: ИПУ РАН, 2оо6. С. 2239—225о.
8. Ватутин Э. И., Зотов И. В. Визуальная среда синтеза разбиений параллельных алгоритмов логического управления. Свид-во об офиц. регистрации программы для ЭВМ № 2оо7613222 от 3о.о7.о7.
9. Ватутин Э. И., Волобуев С. В., Зотов И. В. Комплексная сравнительная оценка методов выбора разбиений при проектировании логических мультиконтроллеров // Идентификация систем и задачи управления (81СРЯО'о8). М.: ИПУ РАН, 2оо8. С. 1917—194о.
Параллельно-конвейерное устройство для векторизации аэрокосмических изображений 45
10. Зыков А. А. Основы теории графов. М.: Наука, 1987. 381 с.
11. Хопкрофт Дж., Мотвани Р., Ульман Дж. Введение в теорию автоматов, языков и вычислений: Пер. с англ. М.: Вильямс, 2оо2. 528 с.
12. Ватутин Э. И. Однородная среда электронной модели дерева для аппаратно-ориентированной обработки Я-выражений // Оптико-электронные приборы и устройства в системах распознавания образов, обработки изображений и символьной информации (Распознавание — 2оо8). Ч. 1. Курск: КурскГТУ, 2оо8. С. 9о—92.
Эдуард Игоревич Ватутин — Игорь Валерьевич Зотов —
Виталий Семенович Титов —
Рекомендована кафедрой вычислительной техники
Сведения об авторах
аспирант; Курский государственный технический университет, кафедра вычислительной техники; E-mail: [email protected] д-р техн. наук, профессор; Курский государственный технический университет, кафедра вычислительной техники; E-mail: [email protected]
д-р техн. наук, профессор; Курский государственный технический университет, кафедра вычислительной техники; зав. кафедрой; E-mail: [email protected]
Поступила в редакцию 12.09.08 г.
УДК 681.3
С. Ю. Мирошниченко, В. С. Титов
ПАРАЛЛЕЛЬНО-КОНВЕЙЕРНОЕ УСТРОЙСТВО ДЛЯ ВЕКТОРИЗАЦИИ АЭРОКОСМИЧЕСКИХ ИЗОБРАЖЕНИЙ
ЗЕМНОЙ ПОВЕРХНОСТИ
Рассмотрены структурная схема и алгоритмы функционирования устройства автоматического построения тематического слоя зданий и строений для электронных карт геоинформационных систем на основе аэрокосмических изображений. Наличие специализированных параллельных графических модулей и конвейерный режим функционирования устройства позволяют повысить степень загрузки вычислительных блоков и увеличить его производительность.
Ключевые слова: геоинформационные системы, аэрокосмические изображения, автоматическая векторизация, слой зданий, выделение контуров, параллельно-конвейерное устройство.
В современном мире геоинформационные системы (ГИС) используются при решении широкого круга задач в области кадастрового учета и городского планирования, управления транспортом, землепользования и сельскохозяйственной деятельности, подведения коммуникаций и их обслуживания [1, 2]. Для эффективного решения поставленных задач пользователи ГИС должны получать актуальную информацию, полностью отражающую реальное состояние определенного региона на текущий момент времени. Следовательно, необходимо периодически производить актуализацию электронных карт ГИС с учетом изменений, произошедших со времени последнего обновления.
Наиболее актуальную информацию, необходимую для создания и обновления электронных карт ГИС, предоставляют цифровые аэрокосмические изображения. Перенос информации, содержащейся в аэрокосмическом изображении, в электронную карту выполняется путем формирования набора тематических слоев, каждый из которых содержит векторные представления принадлежащих данному слою объектов.