ГЕНЕРУВАННЯ ТЕСТОВИХ НЕОРIЄНТОВАНИХ ГРАФIВ ФIКСОВАНОГО СТЕПЕНЯ ВЕРШИН

V. Chernyakhivskyy

Анотація


Розв'язування задач аналiзу i конструювання графiв приводить до будови нових алгоритмiв i програмної реалiзацiї. Для перевiрки алгоритму потрiбно будувати тестовi данi такого виду, щоб мати наперед заданi значення параметрiв тестiв. Для випадку тестування алгоритмiв на графах такими параметрами є: кiлькiсть вершин графа; степенi вершин; зв'язнiсть графа; допустимiсть кратних ребер i петель; вага ребер. Якщо тестовий граф має вiдомi значення параметрiв, тодi можна обчислювати теоретичнi результати побудованого алгоритму i коректно зiставляти з реально отриманими. Викладено алгоритм i елементи програмної реалiзацiї задачi генерування скiнчених неорiєнтованих графiв, параметрами яких є кiлькiсть вершин n i степенi вершин k = const i якi вiдповiдають додатковим умовам коректностi. Загальна схема алгоритму така. Створюємо два списки вершин L1 i L2. Список L1 початково пустий, в списку L2 всi вершини графа вiд 1 до n. Беремо найпершу за номером вершину в L2, будуємо до неї всi k ребер i переносимо в список L1. Повторюємо описану операцiю для кожної наступної вершини списку L2, крiм останньої. Останню вершину L2 просто переносимо в L1. Алгоритм зразу будує матрицю сумiжностi, моделюючи операцiї зi списками L1 i L2. Вiдповiдно до алгоритму матриця сумiжностi завжди буде однаковою для фiксованих n, k при повторному виконаннi алгоритму. Щоб отримати рiзнi матрицi, використаємо правило iзоморфiзму графа: виконаємо перестановки рядкiв i стовпцiв отриманої матрицi.

Повний текст:

PDF (English)

Посилання


1. McColmG. Generating Geometric Graphs Using Automorphisms /G.McColm //Journal of Graph Algorithms and Applications. 2012. Vol.16, No.2. P.507541. 2. ParvezM.T. Generating All Triangulations of Plane Graphs /M.T.Parvez, Md.S.Rahman, S.Nakano //Journal of Graph Algorithms and Applications. 2011. Vol.15, No.3. P.457482. 3. ElbassioniK. A Polynomial Delay Algorithm for Generating Connected Induced Subgraphs of a Given Cardinality /K.Elbassioni //Journal of Graph Algorithms and Applications. 2015. Vol.19, No.1. P.273280. 4. BayatiM. A Sequential Algorithm for Generating Random Graphs /M.Bayati, J.H.Kim, A.Saberi //Discrete Applied Mathematics. 2010. Vol.58, Issue4. P.860910. 5. Python Software Foundation [US]. Python 3.7.3 documentation [Electronic resource]. Available from: https://docs.python.org/3/




DOI: http://dx.doi.org/10.30970/vam.2019.27.10271

Посилання

  • Поки немає зовнішніх посилань.