В случае, когда получена вершина, будем считать, что она и есть корень дерева Т. В случае получения ребра примем за корень одну из его конечных точек, например, вершину, которая дает корневое дерево более низкого ранга (или любую конечную точку в случае, когда они дают одинаковые корневые деревья). Упорядочим все корневые деревья так, чтобы из любых двух неодинаковых деревьев одно имело меньший ранг. (При другом подходе в качестве корня дерева Т можно выбрать одну из вершин, которая образует корневое дерево с минимальным рангом. Выбор вершины в этом случае не однозначен, а результирующее корневое дерево определяется однозначно. Независимо от метода определения корня два дерева идентичны тогда и только тогда, когда соответствующие им корневые деревья одинаковы. Первый метод кажется более простым.)
Каждому корневому дереву будет соответствовать определенная конечная последовательность целых чисел. Не существует двух разных корневых деревьев, которые имели бы одинаковые последовательности. Алгоритм определения идентичности двух корневых деревьев основан на вычислении соответствующих последовательностей и их сравнении. Для сравнения последовательностей существует хороший алгоритм, так как число членов в последовательности и наибольший ее член равны числу вершин в дереве, соответствующем последовательности. Как это будет видно из определения, хороший алгоритм вычисления последовательности для данного дерева всегда существует.
Ранг корневых деревьев устанавливается в соответствии с лексикографическим упорядочением соответствующих последовательностей. Таким образом, ранг Т1 меньше, чем T2, если существует целое число k такое, что для j<k j-е члены двух последовательностей равны и кроме того, k-й член в последовательности Т1 либо меньше k-гo члена в последовательности Т2, либо больше.
Если удалить из корневого дерева T корень r и ребра, которые инцидентны ему, то получится несколько деревьев, каждое из которых соответствует одному из удаленных ребер. Эти деревья называются факторами корневого дерева Т. Каждый фактор T содержит точно одну вершину, которая соединяется с r в T. Эта вершина рассматривается как корень фактора. Таким образом, корневое дерево Т, если оно не является просто единственной вершиной, однозначно разбивается на один или несколько факторов, которые представляют собой также корневые деревья.
Последовательность для корневого дерева Т, состоящего из единственной вершины, имеет один член, равный 1. Для любого другого корневого дерева Т все члены последовательности S, соответствующей Т, кроме первого, получаются из последовательностей Si, соответствующих факторам Тi дерева Т, упорядочением Si по возрастанию ранга. Конечно, в случае совпадения некоторых Si их порядок не имеет значения, важно только, чтобы все они присутствовали в S. Таким образом, совокупность членов всех Si содержит все члены S, кроме первого. Первый член S равен единице плюс сумма первых членов Si, т. е. числу вершин в Т.
Заметим, что существует единственное взаимно однозначное соответствие между членами S и вершинами Т, при котором первый член S соответствует корню Т, а другие члены S соответствуют тем же самым вершинам, что и члены Si, из которых они были получены. Каждая вершина v в Т является корнем только одного корневого дерева (обозначим его через Tv), которое включается в индуктивное определение S. Другими словами, Tv является фактором фактора... фактора Т. Величина члена S, который соответствует v, равна числу вершин в Tv.
Важнейшей характеристикой последовательности S с точки зрения идентификации корневого дерева является единсггенность упорядочения ее членов даже при отсутствии заранее заданного упорядочения вершин дерева Т. Из определения S следует, что для идентичности двух деревьев необходимо, чтобы были идентичны соответствующие им последовательности.
Осталось проверить достаточность идентичности соответствующих последовательностей. Это легко сделать, убедившись, что из последовательности S действительно получается дерево Т с помощью следующей однозначной процедуры.
Если S состоит из единственного члена, то он равен 1 и Т состоит из одной вершины. Если членов несколько, то, отбрасывая первый член S, все остальные члены можно разбить на несвязанные подпоследовательности Si (i=1 ,...,п), состоящие из следующих друг за другом членов S, так, что там, где ui обозначает первый член Si, ui есть второй член S. Кроме того, ui (i>1) есть ближайший к ui-1 член Si, величина которого не меньше ui-1. После un нет члена, величина которого была бы не меньше un.
Определенные таким образом Si являются последовательностями, соответствующие факторам Ti дерева Т. Это следует из двух фактов:
(1) первый член последовательности, соответствующей корневому дереву, больше всех остальных членов; 2) последовательности, соответствующие факторам Т, располагаются в S в порядке возрастания их рангов.
После построения Ti, соответствующих Si, строится корневое дерево Т. Оно получается путем соединения дополнительной вершины (корня T) с корнями всех Ti. Описание процедуры построения корневого дерева по соответствующей ему последовательности завершается индукцией по размеру последовательности.
Рассмотренный метод идентификации деревьев вряд ли может дать хороший алгоритм решения более общей задачи определения того, содержит ли данное корневое дерево подграф, идентичный другому заданному корневому дереву при совпадении их корней. Такой алгоритм было бы очень интересно получить.
Упражнение 25. Показать, что последовательности, полученные удалением всех членов, равных 1, из последовательностей S, соответствующих корневым деревьям, так же могут использоваться для идентификации деревьев, как и исходные последовательности S.
5.22. Простая модель из органической химии
Некоторые органические молекулы могут быть представлены как плоские графы. При этом атомы соответствуют вершинам, а связи между атомами — ребрам. Простейшими из таких молекул являются углеводороды парафинового ряда СkH2k+2. Здесь k атомов углерода рассматриваются как вершины степени 4 (с учетом связей как с водородом, так и с другими атомами углерода), a 2k+2 атомов водорода — как вершины степени 1. На приводимых ниже рисунках атомы водорода не показаны, так как они не влияют на изомеризм (т. е. на число различных типов связей в молекуле с фиксированным числом атомов).
Общее число вершин п в этом случае будет равно 3k+2, а общее число ребер m=1/2(4k+2k+2)=3k+l. Так как число независимых циклов
т—п+1 в данном случае равно нулю, такие молекулы могут быть представлены в виде дерева, где кратные связи исключены. Деревья, образованные из k вершин, включают все возможные углеродные структуры, которые дают атомы. При k≥4можег быть несколько различных структур. Если добавить водородные связи в каждой части рис. 5.52 так, чтобы степени вершин, соответствующих атомам углерода, оказались равными 4, то можно убедиться в том, что в каждом соединении присутствует необходимое число атомов водорода. Каждое такое соединение называется изомером.

Рис. 5.52.
Первая схема в каждой группе на рис. 5.52 соответствует так называемой прямой цепи углеводорода (происхождение названия очевидно), а остальные — разветвленным цепям углеводородов, К названиям последних часто добавляется приставка изо - (от понятия изомерии). Эти вещества возникают, естественно, как смеси всевозможных устойчивых изомеров. С ростом k свойства различных изомеров становятся совершенно различными. Поэтому необходимо знать, сколько различных изомеров может быть в соединении.
В 1875 г. Кэли опубликовал первую работу по применению теории графов в химии. Он предложил способ решения названной задачи «без ошибки и повторения», При этом молекула представлялась корневым деревом, рассматривались все возможные структуры, а затем принималось решение о том, какие формы являются химически эквивалентными. Например, для k = 5 существует девять корневых деревьев, изображенных на рис. 5.53

Рис. 5.53.
Можно видеть, что шесть из них химически эквивалентны трем остальным, Таким образом, для k=5 только три структуры, показанные на рис. 5.52, действительно являются изомерами.
Задачу повторения можно решить, представляя все фигуры в качестве «одноцентровых» или «бкцентровых»

Pис. 5.54.
деревьев, как на рис. 5.54. Под одноцентровым деревом понимается дерево, имеющее две или более главные ветви одинаковой высоты, инцидентные с корнем. Бицентровое дерево имеет два корня, Каждому корню инцидентны несколько главных ветвей, Здесь также важно, чтобы главные ветви имели одинаковую высоту, После введения названных понятий оказывается, что все дублирования устраняются и мы снова получаем три химически различных изомера,
Изображая всевозможные изомеры в соответствии с этим простым правилом, Кэли определил число структурных изомеров для парафинового ряда при всех значениях k вплоть до 13. Этот результат приведен в таблице 5.1.
Таблица 5.1

Более глубокий результат в этой области опубликован также в 1875 г, Шиффом. Метод Шиффа требует, чтобы рассматриваемые односвязные или насыщенные углеводороды при k≥5 изображались по симметричной схеме, как показано на рис. 5.55.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |


