Устройство для моделирования графов
Иллюстрации
Показать всеРеферат
1. УСТРОЙСТВО ДЛЯ МОДЕЛИРОВАНИЯ ГРАФОВ, содержащее генератор импульсов, выход которого соединен с входом счетчика, блок моделей вершин , блок формирования топологии, первый управляющий выход которого соединен с первым управляющим входом блока моделей вершин, первый блок памяти, выход которого соединен с входом датчика случайных чисел, вы .ход которого подключен к первому информационному входу блока, моделей . вериин, второй информационньй вход ; которого соединен с вьжодом генератора импульсов, о т л и ч а ю щ ее с я тем, что, с целью расширения его функциональных возможностей путем обеспечения возможности моделирования графов с произвольной топологией и упрощении процедуры настройки устройства, в него введены регистр и второй блок памяти, информационный выход которого соединен с входом регистра , выход которого соединен с информационным входом блока формирования топологии, управлякядий: вход которого соединен с входом генератора импульсов и управляющим выходом блока моделей вершин, информацион ный выход блока формирования топологии соединен с адресным входом первого блока памяти и информационным вхр- . СУ) :дом второго блока памяти, второй управляювщй выход блока формирования топологии соединен с управляющим входом второго блока памяти и. вторым управляющим вхо дом блока моделей вершин, riiynna Управляющих выходов которого соединена с адресными входами второго блока пат мяти, ; . со 4 О 4 СХ
СООЗ СОВЕТСНИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИН .
3(59 G 06 G 7/122
ОПИСАНИЕ ИЗОБРЕТЕНИЙ
:; с-.
M ABTOPCHOMV СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ ИОТНРЫТИЙ (21 ) 3409304/18-24 (22) 23.03.82 (46 ) 07.08.83. Бюл.929 (72) В.И. Новиков и В.И. Ковшов (71) Минский радиотехнический институт (53) 681.325.5(088.8) (56 ) 1. Авторское свидетельство СССР
Р 756421, кл. С 06 4 7/122, 1978.
2. Авторское свидетельство СССР по заявке Р 2865035, кл. C 06 G 7/122
1980 (прототип ). (54 )(57 ) 1. УСТРОЙСТВО ДЛЯ МОДЕЛИРОВАНИЯ ГРАФОВ, содержащее генератор импульсов, выход которого соединен с входом счетчика, блок моделей вершин, блок Формирования топологии, первый управляющий выход которого соединен с первым управляющим входом блока моделей вершин, первый блок памяти, выход которого соединен с входом датчика случайных чисел, выход которого подключен к первому информационному входу блока, моделей вершин, второй информационный вход которого соединен с выходом генератора импульсов, о т л и ч а ю щ ее с я тем, что, с целью расширения его функциональных возможностей путем обеспечения возможности модели- . рования графов с произвольной топологией и упрощения процедуры настройки устройства, в него введены регистр и второй блок памяти, информационный выход которого соединен с входом регистра, выход которого соединен с информационным входом блока формирования топологии, управляющий. вход которого соединен:а входом генератора импульсов и управляющим выходом блока моделей вершин, информационный выход блока формирования топологии соединен с апресным входом первого бло- Q ка- памяти и информационным входом второго блока памяти, вто.рой унравляквр и выход блока фор мирования топологии соединен,с управляющим .входом второго бло. ка памяти и вторым управляющим вхоЯ дом блока моделей вершин, группа ynpaa matar выходов которого соединена с адресными входами второго блока па. мяти, 1034048
2. Устройство по п.1, о т л ич а ю щ е е с я тем, что блок моделей вершин содержит а последовательно соединенных моделей вершин, каждая из которых содержит первый и второй триггеры, два элемента И, три элемента ИЛИ, формиРователь и счетчик, пер-. вый и второй информационные входы которого являются первым и вторым информационными входами модели вершины и соединены соответственно с первым и вторым информационными входами блока моделей вершин, первые входы установки в нуль первого и второго триггеров объединены и являются первым управляющим входом модели вершины, который соединен с первым управляющим входом блока моделей вершин, единичный выход первого триггера подключен к второму управляющему входу счетчика, выход которого соединен со счетным входомвторого триггера,единичный
amos I
Изобретение относится к вычислительной технике, а именно к специализированным стохастическим моделям, и может быть использовано при моделировании сложных систем, модели которых могут быть представлены ориен- 5 тированными графами.
Известно устройство для моделирования графов, содержащее генератор импульсов, счетчик, блок моделей вершин, выходы которого подключены к информационным входам блока моделей вершин, выход счетчика подключен к управляющим входам блока моделей вершин, управляющие входыгенератора импульсов и блока формирования топологии соединены с управляющим входом устройства I 13 .
Недостатком указанного устройства является невозможность исследования ориентированных графов, представленных не в ярусно-параллельной форме.
Наиболее близким к предлагаемому является устройство для моделирования графов; содержащее генератор импульсов, выход которого соединен с входом счетчика, блок моделей вершин, 25 и первому входу третьего элемента
ИЛИ, второй вход которого соединен с выходом формирователя, второй вход второго элемента И является вторым управляющим входом модели вершины и соединен с вторым управляющим входом блока моделей вершин, вторые входы первого элемента И и первого элемента ИЛИ объединены и являются третьим управляющим входом модели вершины, второй вход второго элемента ИЛИ и третий вход второго эле4ента И объединены и являются четвертым управляющим входом моделй, вершины,,выход третьего элемента
ИЛИ является первым выходом модели вершины и соединен с соответствующим выходом. группы выходов блока моделей вершин, выход первого элемента
ИЛИ является вторым управляющим выходом модели вершины и соединен с третьим управляющим входом предыдущей модели вершины, выход второго элемента ИЛИ является третьим выходом модели вершины и соединен с четвертым управляющим входом предыдущей модели вершины, третий и четвертый управляющие входы и-и модели вершины объединены и подключены к шине логического нуля, а второй управляющий выход первой модели вершины соединен с первым управляющим выходом блока моделей вершин ° блок формирования топологии, выходы которого соединены с группой входов моделей вершин, управляющий вход блока формирования топологии подключен к входу устройства, дешифратор, блок памяти и датчик случайных чисел, выход датчика случайных чисел подключен к первому входу блока моделей вераин, второй вход которого соединен с выходом генератора импульсов, третий вход блока моделей вершин соединен с входом устройства и входом установки в нуль счетчика, первый выход блока моделей вершин подключен к входу дешифратора, выход которого соединен с адресными входами блока памяти, второй выход блока моделей вершин подключен к входу генератора импульсов, каждая модель вершины содержит элемент И, первый и второй счетчики, элемент ИЛИ, триггер, элемент ИЛИ-НЕ, блок памяти и коммутатор.
Устройство обеспечивает параллельное моделирование вершин графа моделями вершин устройства, причем каждая модель вершины последовательно вос1034048 рым.информационными входами блока моделей вершин, первые входы установки в нуль первого и второго триггеров объединены и являются первым управляющим входом модели вершины, который соединен с первым управляющим входом блока моделей вершин, единичный выход первого триггера подключен к второму управляющему входу счетчика, выход которого соединен с первыми входами первого элемента ИЛИ и первого элемента И, выход которого подключен к вторым входам установки в нуль первого и второго триггеров и входу
Формирователя, нулевой выход первого триггера соединен с первыми входами второго элемента ИЛИ и второго элемента-И, выход которого подключен к счетному входу первого триггера, первому управляющему входу счетчика и.первому входу третьего элемента
ИЛИ, второй вход которого соединен с выходом формирователя, второй вход второго элемента И является вторым управляющим входом модели вераины и соединен с вторым управляющим входом блока моделей вершин., вторые* входы первого элемента И и первого элемента ИЛИ объединены и являются третьим управляющим входом модели вершины, второй. вход второго элемента ИЛИ и третий вход второго элемента И объединены и являются четвертым управляющим входом модели вершины, выход третьего элемента
ИЛИ является первым выходом модели вераины и соединен с соответствующим выходом группы выходов блока
МОДЕЛЕЙ ВЕРШИН, ВЫХОД IIGPBOFO ЭЛЕМЕНта ИЛИ является вторым управляющим выходом модели вершины и соединен с третьим управляющим входом предыдущей модели вершины, выход второго элемента ИЛИ является третьим дыдущей модели вершины, третий и четвершины объединены и подключены к шине логического нуля, а второй управляющий выход первой модели веуаины соединен с первым управляющим выходом блока моделей вершин.
На фиг.1 изображена структурная схема устройства для моделирования графов, на фиг.2 — функциональная схема модели вершины, на фиг.З вЂ” возможный вариант структурной схемы блока формирования топологии,, на Фиг.4— граф, на примере которого рассматривается работа устройства. . Устройство содержит блок 1 моделей вершин, блок 2 формирования топологии, счетчик. 3, являющийся таймером, генератор 4 импульсов, первый блок 5 памяпроизводит процесс выполнения назначенных ей вершин одного из путей графа 2).
Таким образом, в каждый конкретный момент времени модель вершины может воспроизводить выполнение только одной из вершин пути графа, что в конечном итоге приводит к тому, что известное устройство может применяться только для исследования ярусных графов. выход которого соединен со счетным
Кроме того, настройка устройства свя- 1О входом второго триггера, единичный зана с решением задачи назначения ,моделям вершин определенных вершин графа, лежащих на одном пути. причем некоторая вершина графа может быть е назначена только одной модели. Такая задача для сложных графов требует существенных затрат машинного времени.
Цель изобретения — расширение функциональных возможностей устройства путем обеспечения возможности модели-2О рования графов с произвольной топологией и упрощение процедуры настройки устройства.
Для достижения указанной цели в устройство, содержащее генератор импульсов, выход которого соединен с входом счетчика, блок моделей вершин, блок формирования топологии, первый . управляющий выход которого соединен с первым управляющим входом блока моделей вершин, первый блок Памяти, выход которого соединен с входом датчика случайных чисел, выход которого подключен к первому информационному входу блока моделей вершин, второй информационный вход которого соединен с выходом генератора импульсов, дополнительно введены регистр и второй блок памяти, информационный вход которого-соединен с входом регистра, выход которого соединен 40 с информационным выходом блока Формирования топологии, управляющий вход которого соединен с входом генератора импульсов и управляющим выходом блока моделей вершин, информационный 45.выходом модели вершины и соедийен выход блока формирования топологии с четвертым управляющим входом пресоединен с адресным входом первого блока памяти и информационным входом вертый управляющие входы И-й модели второго блока памяти, второй управляющий выход блока Формирования топологйи соединен с управляющим входом второго блока памяти и вторым управляющим входом блока моделей вершин, группа управляющих выходов которого соединена с адресными входами второго блока памяти.
Кроме того, блок:. моделей вершин содержит последовательно соединенных моделей вераин, каждая из которых содержит первый и .второй триггеры, два элемента И, три элемента ИЛИ, 60
Формирователь и счетчик, первый и второй информационные вхбды которого являются первым и вторым информацион« ным входами модели вершины и соединены соответственно с первым и вто 65
1034048 ти, датчик 6 случайных чисел, второй блок 7 памяти, регистр 8. Блок 1 моделей вершин содержит и моделей 9 -9 вершин, каждая из которых содержит первый триггер 10, второй триггер 11, счетчик 12, первый элемент ИЛИ 13, первый элемент И 14, формирователь
15; второй элемент ЙЛИ 16, второй элемент И 17 и третий элемент ИЛИ 18.
Блок 2 формирования топологии содержит первый блок 19 памяти., счетчик 10
20, второй блок 21 памяти, коммутатор
22, датчик 23 случайных событий и ге.; нератор 24 импульсов.
Блок 1 моделей вершин предназначен для имитации процесса выполнения вер- 15 шин. В процессе моделирования графа каждой активной, выполняемой в данный момент вершины графа назначается определенная модель 9. При этом в устройстве нет жесткого закрепления 20 определенных моделей вершин за вершинами графа. Назначение некоторой модели 9 вершин определенной вершины графа осуществляется автоматически при поступлении единичного импульса на второй управляющий вход блока 1.
При этом среди всех свободных, т.е. не занятых в данный момент моделированием, моделей 9 выбирается модель с наибольшим номером. Ha ) -м информа ционном выходе блока 1 (-номер выб-, ранной модели вершины) появляется единичный сигнал, а в счетчик 12 этой модели записывается поступающее на первый информационный вход блока 1 случайное время выполнения вершины графа, назначенной данной модели 9.
Если в некоторый момент времени в
j --й модели 9 завершилось выполнение назначенной ей вершины графа, то на
3-м информационном выходе блока 1 и 40 на его управляющем выходе появляется единичный сигнал. По единичному сигналу, пришедшему на первый управляющий вход блока 1, 1-я модель 9 освободится и ей вновь может быть наз- 45 начена любая другая активная вершина графа.
Блок 2 формирования топологии предназначен для моделирования топологий графа. Для этого в блоке 21 памяти каждой i-é BepLIHHe.ãðàôà отведена определенная -я область ячеек, рас- положенных последовательно в порядке возрастания адресов. Число ячеек в 1-й области соответствует числу дуг, выходящих из 1 -й вершины графа.
Информация, характеризующая каждую дугу, выходящую из 1 -й вершины гра. Фа, записывается в одну ячейку блока
21 памяти и содержит номер веригины, <0 в которую входит данная дуга, вероятность появления данной дуги и признак, значение которого равно единице для последней ячейки каждой области и ну.-. лю — для всех остальных ячеек области.
Уменьыенный на единицу начальный адрес 1 -й области блока 21 записан в ячейке с .адресом блока 19.
В нулевой ячейке блока 19 записан уменьшенный на единицу начальный адрес области ячеек блока 21 памяти, в которой хранится информация о начальных вершинах графа.
Структура загрузки блока 19 памяти для графа, изображенного на фиг.4, приведена в табл.1.
Структура загрузки блока 21 памяти приведена в табл.2.
Символом Р на фиг,4 обозначена вероятность существования дуги от вершины к вершине
Блок 2 формирования топологии работает при наличии единичного сигнала. на его управляющем входе. При поступлении номера некоторой вершины графа на информационный вход блока
2 он определяет и последовательно выдает на информационный выход номера вершин, в которые входят дуги, выходящие на 1-й вершины графа. При этом номер каждой вершины, появляющийся на информационном выходе, со- провождается единичным синхронизирующим сигналом на втором управляющем выходе блока 2. Если будут обработаны все дуги, выходящие из 1 -й вершины графа, то на первом управляющем выходе блока 2 появляется единичный сигнал.
Генератор 4 вырабатывает импульс с фиксированным периодом следования только при нулевом сигнале на входе.
Датчик б случайных чисел формирует случайные времена выполнения вершин графа. Значения вероятностей „ Ц)), настраивающие датчик б на формирование случайного времени „ . подчиняющегося функции распределения „.(1), выполнения вершины графа с номером 1, записываются в 1-ю страницу блока 5 памяти.
Блок 7 памяти предназначен для хранения текущего назначения модели
9 вершины определенной вершине графа.
Для этого 4 -й модели 9 ставится в соответствие ячейка с адресом 1 блока
7, в которой хранится номер вершины графа, выполнение которой осуществля-. ется в -й модели 9 вершины.
Блок 7 памяти работает в режиме записи информации, поступающей на информационный вход, если на его управляющий вход поступает единичный сиг-, нал. Если сигнал на управляющем входе нулевой, то блок 7 работает в режиме считывания информации. Адрес, по которому производится обращение к устройству, поступает на его адресный вход в унитарном коде.
Триггеры 10 и 11 каждый имеют два входа сброса, объединенные по схеме
И (не показана) и счетный вход.
1034048
Счетчик 12 имеет объединенные по ,схеме И (не показано) счетный, вычитающий и управляющий входы, информационный вход и управляющий вход, объединенные по схеме И (не показано) . .Счетчик 20 имеет информационный 5 и счетный суммирующий входы.
Коммутатор 22 передает информацию с информационного входа на выход при наличии единичного сигнала на уп- 10 равляющем входе.
Датчик 23 случайных событий вырабатывает единичный сигнал с вероятностью, значение которой поступает на его вход из блока 21 памяти. Гене- 15 ратор 24 вырабатывает импульсы с фиксированным периодом следования только при единичном сигнале на входе.
Устройство работает следующим образом(при выполнении графа согласно 20 фиг.4) .
Перед началом моделирования устанавливаются в нулевое состояние триггеры и счетчики всех моделей вераин, кроме модели с номером 8 триггеры
10 и 11 которой устанавливаются в единичное состояние, сбрасывается также счетчик 3, содержимое ячейки с адресом г1 устройства 7 должно быть нулевым.
Так как триггер 11 модели 9 с номером и находится в единичном состоянии, то сигнал логической единицы, пройця через элементы ИЛИ 13 всех моделей 9 вершин, появится на управляющем выходе блока 1, запретит работу генератора 4, запустит блок
19 на считывание и разрешит работу генератора 24. Одновременно с этим в силу того, что на инверсном входе элемента И 14 модели с номером И при-.40 сутствует сигнал логического нуля, а на первом входе этого элемента— сигнал логической единицы, элемент
И 14 срабатывает, сигнал с его выхода поступает на вход формировате- 45 ля 15, который на выходе выдает единичный сигнал малой длительности.
Этот сигнал, пройдя через элемент
ИЛИ 18, поступает на И -й адресный вход блока 7 памяти. Так как на управляющем входе блока 7 памяти присутствует сигнал логического нуля, то из ячейки с адресом гг считывается число О,. которое записывается в регистр 8 и поступает на адресный вход блока 19 памяти. Из ячейки памяти с адресом О считывается число
О, котброе записывается в счетчик
20 ° Единичный сигнал с выхода генератора 24 увеличивает на единицу содержимое счетчика 20 и из ячейки 60 с адресом 1 блока 21 памяти считывается информация о начальной вершине графа. Номер начальной вершины равный единице поступает на информационный вход коммутатора 22, 65 значение вероятности появления дуги
=1 поступает на вход датчика 23 случайных чисел. На выходе последне41
ro появляется единичный сигнал, который поступает также на управляющий вход коммутатора 22, который-, срабатывая, вызывает появление на информационном выходе блока 2 кода начальной вершины графа. Единичный признак ячейки, считанный из блока
21, переключает блок 7 памяти в; режим записи и поступает на второй вход элемента И 17 всех моделей
9. Однако в силу того, что триггер
10 модели 9 с номером И установлен в единичное состояние, а триггеры
10 всех остальных моделей 9 сброшены, срабатывает только элемент
И 17 модели 9 с номером (И -Ц .
Единичный сигнал с выхода этого элемента устанавливает триггер 10 этой модели в единичное состояние, разрешает прием информации в счетчик 12 . этой же модели 9 и, пройдя через элемент ИЛИ 18 (и-1)-й модели 9, поступает на И -1)-й адресный вход бло- . ка 7. На информационном входе блока
7 присутствует номер 1-й начальной вершины графа, который и загисывается в ячейку с адресом(И-1) блока 7.
Номер 1-й начальной вершины графа с второго выхода блока 2 поступает в блок 5 и вызывает считывание из его первой страницы некоторого значения из (f„() . Датчик б вырабатывает случайное число +1, которое поступает на информационные входы счетчиков 12 всех моделей 9, но записывается лишь в счетчик 12 (и -1)-й модели 9.
Единичный сигнал с первого управ.ляющего выхода блока 2 поступает на первые входы сброса триггеров
10 и 11 всех моделей .9, но сбросятся только триггеры модели 9 с номером Л, так как только у них присутствует сигнал логической единицы на вторых входах сброса. Теперь на единичном выходе триггера 11 И "й модели 9 присутствует сигнал логичес-, кого нуля, который, пройдя через элементы ИЛИ 13. всех моделей 9, появится на управляющем выходе блока 2, запретит работу генератора 24 и разрешит работу генератора 4.
На этом кончается процедура приема новых вершин к выполнению, в результате которой занятой моделированием выполнения вершины оказалась только модель 9 с номером(гг-1) . Все остальные модели свободны.
В процессе выполнения вершины происходит уменьшение содержимого счетчика 12 модели 9 с номером (1г-1)и увеличение содержимого счетчика 3. Как только содержимое счетчика 12(п-1) -й модели 9 станет равным нулю, на его
1034048
Адрес ячейки
Содержание ячейки
7
14 таблица 2
Признак
Содержимое ячейки
Адрес ячейки
Номер вершины Вероятность дуги
3
5
0,9
0,4 выходе отрицательного переноса появится единичный сигнал, который установит триггер 11 модели 9(и-1) в единичное состояние. Единичный сигнал с выхода триггера 11 этой модели
9, пройдя через элементы ИЛИ 13 всех моделей 9, номера которых меньше(И-1), появится на управляющем выходе блока
1, запретит работу генератора 4 и разрешит работу генератора 24.
Процедура выполнения вершин окон- 10 чена и вновь начинается процедура приема вершин к выполнению.
Иэ ячейки с адресом (И-1) блока 7 памяти считывается число 1, которое записывается в регистр 8. Из ячейки 5 с адресом 1 блока 19 памяти считывается число 1, которое записывается в счетчик 20. Содержимое его по сигналу с генератора 24 увеличивается на единицу и из ячейки с адресом 2 блока 21 памяти считывается информация о второй вершине графа.,Второй вершине графа назначается И -я модель
9 в счетчик 12 этой модели записывается случайное число 1, выработанное 75 датчиком 6, а в ячейку с адресом блока 7 памяти записывается число 2.
Затем по единичному сигналу с генера.тора 24 содержимое счетчика 20 увеличивается на единицу и из ячейки с адресом 3 блока 21 памяти считывается информация о третьей вершине графа, которой назначена (й-2)-я модель
9, в счетчик 12 которой будет записано случайное число . В ячейку с адресом (,И -2)блока 7 памяти записывается число 3.- Затем сбрасываются триггеры 10 и 11 модели 9 с номером (n-1) и она становится свободной.
На этом кончается процедура приема к выполнению новых вершин графа, в результате которой занятыми моделированием выполнения вершин оказались модели 9 с номерами и (и-2). Вновь начинается процедура выполнения активных вершин.
Код в счетчике 3 в каждый момент времени содержит текущее значение модельного времени.
Широкие функциональные возможности устройства обеспечиваются тем, что оно позволяет исследовать вероятностные графы с любыми заданными законами распределения времени выполнения вершин графа и любыми вероятностными появлениями его дуг. При этом случайные веса вершин и дуг формируются аппаратурно. Устройство позволяет .также исследовать графы с произвольной топологией, в том числе с петлями и контурами.
Упрощение работы с устройствами обеспечивается.тем, что ликвидируется этап предварительного анализа моделируемого графа и решение задачи назначения модели вершин определенных вершин графа. Процедура назначения выполняется автоматически в проеесе функционирования устройства. 1 а б л и ц а 1
1034048
Признак
9
0,3
0,5
12
13
14
11
1
Адрес ячейки
Продолжение табл, 2
0
1
0
1
1034048
Составитель С.Назаров
Редактор Л. Филь Техред А.Вабинец КорректорА. Ильин
Заказ 5627/52 - Тираж 706 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
Филиал ППП "Патент", г. Ужгород, ул. Проектная, 4