5.32. Графы и собственные значения неотрицательных матриц
Далмэдж и Мендельсон использовали аппарат ориентированных графов для исследования различных свойств характеристических уравнений и собственных значений матриц, появляющихся при исследованиях в области стохастических процессов, экономике и численном анализе. Ориентированный граф является контурно
k-разделимым (k≥2) тогда и только тогда, когда множество вершин V можно разделить на k множеств V1,...,Vk так, что все дуги удовлетворяют следующему свойству: если некоторая дуга имеет начальную вершину в Vp, то ее конечная вершина находится в Vp+1 при p<k в в V1 при p=k. Любой n×n-матрнце A={аij) можно поставить в соответствие ориентированный граф, коэффициенты матрицы смежности которогo равны единице, если соответствующие аij≠0. Если этот граф контурно k-разделимый, то разделению V1, ..., Vk соответствует перестановочная матрица Р такая, что

где О1, …., Оk — нулевые матрицы и каждый элемент Р-1АР, не принадлежащий В1, ..., Вk, равен нулю. Матрицы В1, ..., Вk известны под названием циклических компонент А.
Таким образом, контурно k-разделимый граф имеет структуру, показанную на рис. 5.74.

Рис. 5.74.
Заметим, что любая последовательность из п дуг (в частности, каждый путь и контур) обладает следующим свойством. Если ее
начальная и конечная вершины находятся в Vi и Vj соответственно, то j≡i+n(mod k). В частности, длина каждого контура кратна k.
Матрица А размера n×n имеет k диагональных компонент А1, А2, ..., Аk, если существует перестановочная матрица Р такая, что
Р-1АА = диагонали {А1, .. ., Аk). Указанная матрица Р существует, например, если А неприводима (это аналогично требованию сильной связности графа, соответствующего А).
Многочлен, в котором коэффициент при члене высшего порядка равен единице, называется нормированным. Имеет место следующая теорема.
Теорема 5.12. Если А — такая матрица, что соответствующий ей ориентированный граф циклически k-разделимый и А1, А2, ..., Ak — множество диагональных компонент Аk, то существует нормированный многочлен f(λ) и неотрицательное целое число р такие, что f(0)≠0, при этом характеристический многочлен Аk есть f(λk)λp,a характеристический многочлен Аk есть [f(λk)]λp Кроме того, существуют целые числа р1,..., рk с суммой, равной р, такие, что характеристический многочлен Аi есть f(λk)λpi (i=l,..-, k) и для любого ненулевого корня f(λ) простейшие делители одинаковы для каждого А.
Упражнение 32. Используя пример Далмэджа и Мендельсона для 
показать, что соответствующий ориентированный граф является контурно 2-разделимым при разбиении вершин
![]()
и циклических компонентах
![]()
Показать, что граф также является контурно 2-разделимым при разбиении V1 = { v4, v4}, V2={v2, v3}, и в этом случае
![]()
Показать, что диагональные компоненты А при обоих разбиениях одинаковы и равны
![]()
Наконец, показать, что искомый многочлен имеет вид
![]()
и что все р в обоих случаях равны нулю.
5.33. Задача ранжирования
Рассмотрим задачу ранжирования элементов некоторого множества
![]()
в соответствии с линейным упорядочением. Пусть известно, что такое упорядочение существует, но его действительная структура восстанавливается после проведения соответствующих попарных сравнений элементов S. Предположим, что мы хотим проранжировать множество некоторых физических объектов в соответствии с увеличением их весов (считается, что нет объектов с одинаковым весом) или множество лиц в соответствии с их возможностью победить в заданном состязании. В последнем случае необходимо, чтобы выполнялись следующие условия.
1. Любое лицо побеждает любое другое, либо терпит поражение от него.
2. Отношение «может победить» — транзитивно.
В первом случае существующее линейное упорядочение восстанавливается с помощью последовательности попарных взвешиваний объектов на весах. Во втором — необходимо провести последовательность состязаний между парами лиц. Если t последовательных состязаний проводятся с 2t различными лицами, то можно считать, что они проходят одновременно. Однако в данном случае для нас интересно общее число состязаний, а не число уровней в иерархии частично совпадающих по времени состязаний.
В общей постановке задачи требуется найти процедуру, которая в худшем случае требует минимального числа сравнений для полного ранжирования элементов. Пусть Sp(n) есть максимальное число сравнений, необходимых для ранжирования п элементов при использовании процедуры Р.
Мы хотим найти процедуру, которая минимизирует Sp(n). He будем останавливаться на формальном определении того, что есть процедура. Пусть под процедурой имеется в виду правило выполнения последующего сравнения (или останова), которое полностью определяется исходами предыдущих сравнений и может быть реализовано при любом возможном наборе предыдущих исходов.
Для решения задачи Штейнгауз предложил следующую процедуру. В первый момент сравнить два любых элемента. Затем в общем случае после полного ранжирования подмножества из k элементов взять любой (k+1)-й элемент sk+1 и сравнить его со средним из уже проранжированных k элементов (с любым из средних, если k четно). В зависимости от исхода этого сравнения сравнить sk+1, со средним элементом подмножества элементов, имеющих более высокий или менее высокий ранг по отношению к элементу, участвовавшему при первом сравнении. Так, последовательными дихотомиями точно устанавливается ранг sk+1 элемента в совокупности (k+1) элемента.
Полученная ранжировка используется далее как следующая опорная точка при определении ранга любого нового sk+2-го элемента. Рассмотренный процесс продолжается до тех пор, пока не будут установлены ранги всех элементов.
Пусть в качестве примера мы проранжировали элементы от s1 до s15:
а истинный ранг s16 находится между s10 и s11. Последовательность выполняемых сравнений показана дугами и на рис. 5.75.

Рис. 5.75.
Сравниваемые элементы обозначены своими индексами. Таким образом, элемент s16 сравнивается с s8, sl2, sl0 и s11.
В общем случае, можно показать, что для установления ранга любого (k+1)-го элемента при наличии полностью упорядоченного подмножества из К элементов требуется не более S(k) = l + [log2 k] сравнений, где [log2k] обозначает целую часть log2k. Mожно также показать, что если рассмотренная процедура используется для последовательного ранжирования п элементов, то при этом потребуется выполнение не более
![]()
и не менее
сравнений.![]()
Форд и Джонсон предложили более эффективный способ ранжирования, основанный на методе Штейнгауза. Пусть нужно проранжировать 2r или (2r+1) элементов. Образуем r непересекающихся пар и сравним эти пары. Возьмем r элементов, выбранных в процессе этих сравнений (т. е. элементы с максимальными рангами из 2r исходных) и проранжируем их по методу Штейнгауза.
На рис. 5.76 представлены результаты ранжирования для случая множества, состоящего из 19 элементов.

Рис. 5.76
На первом этапе сравнения было отобрано п элементов в порядке убывания рангов J, I, Н,..., С, В. Девять вершин, расположенных ниже названных, соответствуют элементам, отброшенным на первом этапе, причем каждая вершина располагается под соответствующим отобранным элементом (крайний левый элемент вообще не участвовал в сравнении на первом этапе). Так как 10 элементов множества А, В, С, ..., J уже проранжировано, остается найти ранги остальных девяти. Для этой цели использовалась процедура Штейнгауза. Порядок ранжирования элементов показан на рис. 5.76 числами без скобок. Этот порядок выбран с учетом минимизации максимального требуемого числа сравнений. Числа в скобках указывают максимальное число сравнений при определении ранга соответствующего элемента. Показано, что такой метод требует (при п элементах) не более U(n) сравнений, где
|
Из за большого объема этот материал размещен на нескольких страницах:
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 |


