8. Biere A., Heule V., van Maaren H, and Walsh T. Handbook of Satisfiability. Amsterdam: IOS Press, 2009.
9. Богачкова И. А., Заикин О. С., Кочемазов С. Е., Отпущенников И. В., Семёнов А. А. Задачи поиска коллизий для криптографических хеш-функций семейства MD как варианты задачи о булевой выполнимости // Вычислительные методы и программирование. 2015. T. 16. С. 61-77.
10. Отпущенников И. В., Семёнов А. А. Технология трансляции комбинаторных проблем в булевы уравнения // Прикладная дискретная математика. 2011. №1. С. 96-115.
11. De D., Kumarasubramanian A, and Venkatesan R. Inversion attacks on secure hash functions using SAT solvers // LNCS. 2007. V.4501. P. 377-382.
12. Dobbertin H. The first two rounds of MD4 are not One-Way // Proc. 5th Intern. Workshop Fast Software Encryption. London, UK: Springer Verlag, 1998. P. 284-292.
13. Nadel A. and Ryvchin V. Efficient SAT solving under assumptions // LNCS. 2012. V. 7317. P. 242-255.
УДК 519.178 DOI 10.17223/2226308X/8/55
ВЫЧИСЛЕНИЕ ВЕРХНЕЙ ОЦЕНКИ ВЕРШИННОЙ ЦЕЛОСТНОСТИ ГРАФА НА ОСНОВЕ МИНИМАЛЬНЫХ СЕПАРАТОРОВ
В. В. Быкова, Ю. И. Кириллов
Рассматривается трудно вычисляемый числовой параметр графа, называемый вершинной целостностью и используемый в анализе и синтезе отказоустойчивых сложных технических систем. Для нахождения данного параметра необходимо знание всех сепараторов исходного графа. Предлагается алгоритм, который ограничивается построением и анализом только всех минимальных сепараторов. Поэтому алгоритм даёт верхнюю оценку вершинной целостности графа. Вычислительная сложность предлагаемого алгоритма полиноминально зависит от числа вершин и числа минимальных сепараторов графа. Результаты экспериментов показали, что вычисленные оценки являются хорошими и часто достижимыми.
Ключевые слова: алгоритмы на графах, вершинная целостность графа, минимальные сепараторы.
Все последние десятилетия проблеме исследования мер целостности графов уделяется особое внимание, поскольку она тесно связана с вопросами анализа и синтеза сложных технических систем, для которых отказоустойчивость является важнейшим показателем качества функционирования. Вершинная целостность — одна из детерминированных мер целостности графа [1].
Пусть G = (V, E) —простой связный граф с множеством вершин V и множеством рёбер E, при этом n = |V | ^ 1 —порядок графа G. Под вершинной целостностью (Vertex Integrity) графа G понимается числовой параметр I(G), вычисляемый по формуле
I (G)= min {IS| + w (G — S)}, (1)
где w (G — S) —порядок наибольшей компоненты связности графа G — S, который получается из G удалением всех вершин, входящих в S С V. Множество S, для которого достигается равенство в (1), принято называть I-множеством. В неполном связном графе G всякое I-множество является сепаратором этого графа [2]. Доказано [3], что задача вычисления вершинной целостности графа NP-трудная. Ввиду высокой вы-
Вычислительные методы в дискретной математике
143
числительной сложности нахождения точных значений вершинной целостности произвольного графа актуальны нижние и верхние оценки для I (С).
Множество всех вершин графа С = (V, Е), смежных с некоторой вершиной V € V, образует в С окрестность вершины V, которая обозначается через N(V). Под замкнутой окрестностью вершины V понимается множество N[V] = N(V) и {V}. Множество
вершин N(5) =1 и N(V) I называется окрестностью для 5 С V в С. Множество Ч^ез )
вершин 5 С V разделяет несмежные вершины и и V графа С, если в графе С — 5 вершины и и V принадлежат различным компонентам связности. Множество 5 при этом называют (и, V)-сепаратором; (и, v)-сепаратор называют минимальным, если в нём нет собственного подмножества, являющегося (и, V)-сепаратором. Сепаратор 5 минимальный, если в С существует такая пара вершин и и V, что 5 является минимальным (и, v)-сепаратором, то есть минимальным относительно, по крайней мере, двух вершин этого графа. Известно, что 5 — минимальный сепаратор графа С, если и только если существуют две различные области связности С и С2 графа С — 5, такие, что N(С1) = N(С2) = 5 [4]. Если 5 является минимальным (и, V)-сепаратором и Б С N(V), то 5 называется минимальным сепаратором, близким к V. Обозначим через М множество всех минимальных сепараторов графа С = (V, Е). В общем случае множество М может содержать экспоненциальное число сепараторов.
В настоящей работе предлагается алгоритм, позволяющий с помощью минимальных сепараторов вычислять верхнюю оценку меры вершинной целостности и находить соответствующие приближения к I-множествам заданного графа за время 0(п3|М|). Поиск всех минимальных сепараторов осуществляется по следующему алгоритму.
Алгоритм. Поиск минимальных сепараторов
Вход: Граф С( V, Е)
Выход: М — множество всех минимальных сепараторов графа С
1. М := 0
2. Для каждого V € V
3. Н := С — N[V]
4. Для каждой области связности С графа Н
5. 5 := N (V) П N (С)
6. Если 5 = 0, то М := М и {5}
7. Для каждого 5 € М
8. Для каждого х € 5
9. X := 5 и N(х)
10. Н := С — X
11. Для каждой области связности С графа Н
12. 5 := N (С) П X
13. Если 5 = 0, то М := М и {5}
Каждый из найденных минимальных сепараторов подставляется в выражение |51 + + w (С — 5). Минимальное полученное значение I* является верхней оценкой I(С).
Программный код алгоритма написан на языке С+—Н в среде разработки Code::Blocks. Вычисленное значение верхней оценки I* и время работы ¿а предложенного алгоритма сравнивались с точным значением вершинной целостности графа, полученным методом полного перебора за время ¿. Вычислительный эксперимент был проведён на случайных связных графах различных порядков; результаты эксперимента для п =20 представлены в таблице.
№ графа t I ta I * I * -1 t/ta
1 31,922 15 0,066 16 1 483,6667
2 27,653 16 0,638 16 0 43,34326
3 27,634 15 3,636 15 0 7,60011
4 25,34 16 16,881 16 0 1,501096
5 25,95 15 0,05 16 1 519
6 26,487 15 0,624 15 0 42,44712
7 26,717 15 5,793 15 0 4,611945
8 26,04 15 0,05 15 0 520,8
9 24,56 15 0,03 16 1 818,6667
10 23,096 14 0,587 14 0 39,34583
Алгоритм был также опробован на графах с известным типом структур (на двумерных решётках, на графах Гретша, Хватала, Хивуда и др.). Результаты экспериментов позволяют говорить о том, что вычисленные значения оценок являются хорошими и часто достижимыми. При этом время нахождения оценки существенно меньше, чем при использовании метода полного перебора. Однако было замечено, что алгоритм даёт большую ошибку на графах с регулярной структурой (например, на двумерной решётке).
ЛИТЕРАТУРА
1. Быкова В. В. О мерах целостности графа // Прикладная дискретная математика. 2014. №4(26). С. 96-111.
2. Barefoot C. A., Entringer R., and Swart H. C. Vulnerability in graphs — a comparative survey // J. Combin. Math. Combin. Comput. 1987. No. 1. P. 13-22.
3. Clark L. H., Entringer R. C., and Fellows M. R. Computational complexity of integrity //J. Combin. Math. Combin. Comput. 1987. No. 2. P. 179-191.
4. Berry A. and Bordat J.-P. Structuring the minimal separators of an undirected graphs. Technical Report 152, LIM, Marseille, 1996.
УДК 681.5.015 DOI 10.17223/2226308X/8/56
ПОСТРОЕНИЕ ФУНКЦИИ ОШИБКИ ДЛЯ РЕШЕНИЯ ЗАДАЧИ ИДЕНТИФИКАЦИИ АЛГОРИТМА РАНЖИРОВАНИЯ
О. А. Кожушко
Предлагается функция ошибки для постановки задачи идентификации алгоритма ранжирования результатов текстового поиска. Приводится обоснование некорректности применения функций ошибки, используемых в задачах, где выходные значения принимают действительные значения. В качестве альтернативы предлагается функция ошибки, которая учитывает не абсолютное, а относительное изменение результатов ранжирования. Приводится частный случай постановки задачи идентификации, в которой результат ранжирования рассматривается как класс релевантности.
Ключевые слова: алгоритм ранжирования, идентификация системы, функция ошибки.
Задача идентификации системы подразумевает построение модели, устанавливающей взаимосвязь между входными и выходными значениями данной системы, и в общем виде ставится следующим образом [1].
Пусть исходная система реализует неизвестное отображение F : DX ^ DY. Необходимо построить отображение MF : DX ^ DY таким образом, что MF(x) = F(x)