Теория игр и исследование операций. Модели, алгоритмы, сложность: Конспект лекций, страница 24

n=5,  n-2 = 3

n=6,     2(n-1)=10,   n-2 = 4

3 0 0 0 0

2 1 0 0 0

1 1 1 0 0

сначала размещаем

n-2 единицы

4 0 0 0 0 0   |   5 1 1 1 1 1       - 1

3 1 0 0 0 0   |   4 2 1 1 1 1       - 2

2 2 0 0 0 0   |   3 3 1 1 1 1       - 3

2 1 1 0 0 0   |   3 2 2 1 1 1       - 4

1 1 1 1 0 0   |   2 2 2 2 1 1       - 5

потом - в каждую лунку добавим 1

Нарисуем эти деревья. Четвертому вектору соответствуют два неизоморфных дерева!!! В одном из них соседями единственной вершины степени 3 являются 2 висячих вершины и одна со степенью 2, а во второй – наоборот.


3.2. ИЗОМОРФИЗМ ГРАФОВ.

В качестве необходимого условия изоморфизма графов подойдет совпадение любых легко считаемых характеристик: мин.разрез, наличие цикла, вектор степеней вершин и т.д. После этого задача установления изоморфизма разбивается на более мелкие задачи. Аналог разложимых СП.

V(k) — множество вершин графа G ={V, E}, имеющих степень k, |V| ¾ мощность множества V,

S(V) — убывающий вектор степеней вершин из множества V,

N(a) — множество вершин, смежных с вершиной a,

N(a,k) — множество вершин из N(a), имеющих степень k,

C(k, m) ¾ множество вершин, входящих ровно в m циклов длины k,

d(a,g) ¾  минимальноечисло ребер на пути из a  в g ,

f: VL® VR —перевод. f(a)=b означает, что a переводится словом b, f({a1,...,ak})={f(a1),...,f(ak)}.

Выделим часть необходимых условий изоморфизма графов GR и GL.

1)  Число вершин и ребер в графах GR и GL совпадает.

2)  Если граф GL связный, то и граф GR связный.

3)  Вектора степеней вершин S(VR) и S(VL) совпадают.

4)  |VR(k)|=|VL(k)| и f(VL(k))=VR(k) для каждого k. В т.ч., если VL(k)={a} и VR(k)={b}, то f(b)=a.

5)  f(a)=b Þ S(N(a))=S(N(b)) и f(N(a,k))=N(b,k) при каждом k.

6)  VL(k)={a,g} и VR(k)={b,d} Þ dL(a,g)=dR(b,d).

7)  f(a)=b и f(g)=dÞdL(a,g)=dR(b,d). Вершину d надо искать на расстоянии d(a,g) от вершины b.

8)  Число циклов длины k в обоих графах совпадает при всех k.

9)  |CL(k,m)| = |CR(k,m)| и f(CL(k,m)= CR(k,m) при всех k и m.

Свойства 4, 5, 7 и 9 позволяют частично формировать соответствие f.

Выделение двусвязных компонент в графе за O(|E|). Классификация ребер.

№18. Лингвистическая задача, использующая изоморфизм графов.

Дано множество слов языка суахили L = {kibuzi, mbuzi, mgeni, mtu, jitu, jito}и множество их переводов на русский язык R = {великан, человек, большая река, козочка, коза, гость}. Перевести на русский язык отдельно каждое слово языка суахили.

Решение. Все русские переводы можно представить в виде пар повторяющихся имен объектов (человек, коза, гость, река) и их размеров (большой, маленький, средний): великан = большой человек, козочка = маленькаякоза, коза = средняя коза. Нарисуем граф множества русских слов из R. В нем различны степени вершин, соответствующих размерам. Выделим повторяющиеся части в словах языка суахили: buzi повторяется с ki и m, с m еще встречаются geni и tu, с tuji, с jito. Естественно предположить, что это морфемы языка, имеющие самостоятельное значение.

Нарисуем граф множества морфем языка суахили.

В каждом слове языка суахили одна морфема принадлежит трехэлементному множеству {ji, m, ki}, а вторая четырехэлементному множеству {to, tu, geni, buzi}. Þ {ji, m, ki} – размеры, а {to, tu, geni, buzi} - объекты.

Размеры различаются по числу повторений, значит
ki = маленький, m = средний, а ji = большой. Размер ki встречается только в слове kibuzi, а маленькой в русском тексте бывает только коза, значит buzi = коза. Средний размер m встречается кроме козы в повторяющемся 1 раз слове geni=гость и 2 раза слове tu=человек. В графах осталось по одному неопознанному слову. Значит to=река.

Решить задачу можно проще. Оба графа – деревья, содержащие по одной вершине степени 3: m=средний, причем все 3 поддерева являются цепочками из различного числа элементов.


3.3. ОСТОВНЫЕ ДЕРЕВЬЯ.