Задание 9.
Перечислить все пути в ориентированном графе G, состоящие из четырех дуг.
Определение. Пусть задан ориентированный граф G = (XG, PG) и пусть xi1, xin ϵ XG. Kортеж вида (xi1, xi2,…,xin-1,xin) называется путем из вершины xi1 в вершину xin графа G, если для любого k от 1 до n-1 двойка (xik, xik+1)ϵ PG.
Решение задачи перечисления путей в графах.
Пусть имеется некоторый ориентированный граф G = (XG, PG) и пусть требуется перечислить все пути графа G, состоящие ровно из k дуг. Данная задача решается при помощи следующей процедуры:
Шаг 1. Выписать матрицу смежности графа G.
Шаг 2. По матрице A(G) строится таблица Г1, у которой в каждой (i, j)-ой ячейке написано множество путей из вершины xi в вершину xj длиной в одну дугу.
Шаг 3. По матрице A(G) и таблице Г1 строится таблица Г2, у которой в каждой (i, j)-ой ячейке написано множество путей из вершины xi в вершину xj длиной в две дуги.
.
.
.
Шаг k. По матрице A(G) и таблице Гk-1 строится таблица Гk, у которой в каждой (i, j)-ой ячейке написано множество путей из вершины xi в вершину xj длиной ровно в k дуг.
Решение:
1.
A(G) =
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
2 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
3 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
4 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
5 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
6 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
7 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
8 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
9 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
10 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
2. По матрице смежности A(G) формируем таблицу Г1:
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
1 |
Ø |
{(1,2)} |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
2 |
Ø |
Ø |
Ø |
Ø |
Ø |
{(2,6)} |
Ø |
Ø |
{(2,9)} |
Ø |
3 |
{(3,1)} |
Ø |
Ø |
{(3,4)} |
Ø |
Ø |
Ø |
{(3,8)} |
Ø |
Ø |
4 |
Ø |
{(4,2)} |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
{(4,10)} |
5 |
Ø |
Ø |
{(5,3)} |
Ø |
{(5,5)} |
Ø |
{(5,7)} |
Ø |
Ø |
Ø |
6 |
Ø |
Ø |
Ø |
{(6,4)} |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
7 |
Ø |
Ø |
Ø |
Ø |
{(7,5)} |
Ø |
Ø |
{(7,8)} |
Ø |
Ø |
8 |
{(8,1)} |
Ø |
{(8,3)} |
Ø |
Ø |
Ø |
{(8,7)} |
Ø |
{(8,9)} |
Ø |
9 |
Ø |
{(9,2)} |
Ø |
Ø |
{(9,5)} |
Ø |
Ø |
Ø |
Ø |
Ø |
10 |
Ø |
Ø |
Ø |
Ø |
Ø |
{(10,6)} |
Ø |
{(10,8)} |
Ø |
{(10,10)} |
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
1 |
Ø |
Ø |
Ø |
Ø |
Ø |
{(1,2,6)} |
Ø |
Ø |
{(1,2,9)} |
Ø |
2 |
Ø |
{(2,9,2)} |
Ø |
{(2,6,4)} |
{(2,9,5)} |
Ø |
Ø |
Ø |
Ø |
Ø |
3 |
{(3,8,1)} |
{(3,1,2), (3,4,2)} |
{(3,8,3)} |
Ø |
Ø |
Ø |
{(3,8,7)} |
Ø |
{(3,8,9)} |
{(3,4,10)} |
4 |
Ø |
Ø |
Ø |
Ø |
Ø |
{(4,2,6), (4,10,6)} |
Ø |
{(4,10,8)} |
{(4,2,9)} |
{(4,10,10)} |
5 |
{(5,3,1)} |
Ø |
{(5,5,3)} |
{(5,3,4)} |
{(5,5,5) (5,7,5)} |
Ø |
{(5,5,7)} |
{(5,3,8), (5,7,8)} |
Ø |
Ø |
6 |
Ø |
{(6,4,2)} |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
{(6,4,10)} |
7 |
{(7,8,1)} |
Ø |
{(7,5,3), (7,8,3)} |
Ø |
{(7,5,5)} |
Ø |
{(7,5,7), (7,8,7)} |
Ø |
{(7,8,9)} |
Ø |
8 |
{(8,3,1)} |
{(8,1,2), (8,9,2)} |
Ø |
{(8,3,4)} |
{(8,7,5), (8,9,5)} |
Ø |
Ø |
{(8,3,8), (8,7,8)} |
Ø |
Ø |
9 |
Ø |
Ø |
{(9,5,3)} |
Ø |
{(9,5,5)} |
{(9,2,6)} |
{(9,5,7)} |
Ø |
{(9,2,9)} |
Ø |
10 |
{(10,8,1)} |
Ø |
{(10,8,3)} |
{(10,6,4)} |
Ø |
{(10,10,6)} |
{(10,8,7)} |
{(10,10,8)} |
{(10,8,9)} |
{(10,10,10)} |
3. По матрице смежности A(G) и таблице Г1 строим таблицу Г2:
4. По матрице смежности A(G) и таблице Г2 строим таблицу Г3:
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
1 |
Ø |
{(1,2,9,2)} |
Ø |
{(1,2,6,4)} |
{(1,2,9,5)} |
Ø |
Ø |
Ø |
Ø |
Ø |
2 |
Ø |
{(2,6,4,2)} |
{(2,9,5,3)} |
Ø |
{(2,9,5,5)} |
{(2,9,2,6)} |
{(2,9,5,7)} |
Ø |
{(2,9,2,9)} |
{(2,6,4,10)} |
3 |
{(3,8,3,1)} |
{(3,8,1,2), (3,8,9,2)} |
Ø |
{(3,8,3,4)} |
{(3,8,7,5), (3,8,9,5)} |
{(3,1,2,6), (3,4,2,6), (3,4,10,6)} |
Ø |
{(3,4,10,8), (3,8,3,8), (3,8,7,8)} |
{(3,1,2,9), (3,4,2,9)} |
{(3,4,10,10)} |
4 |
{(4,10,8,1)} |
{(4,2,9,2)} |
{(4,10,8,3)} |
{(4,2,6,4), (4,10,6,4)} |
{(4,2,9,5)} |
{(4,10,10,6)} |
{(4,10,8,7)} |
{(4,10,10,8)} |
{(4,10,8,9)} |
{(4,10,10,10)} |
5 |
{(5,3,8,1), (5,5,3,1), (5,7,8,1)} |
{(5,3,1,2), (5,3,4,2)} |
{(5,3,8,3), (5,5,5,3), (5,7,5,3), (5,7,8,3)} |
{(5,5,3,4)} |
{(5,5,5,5), (5,5,7,5), (5,7,5,5)} |
Ø |
{(5,3,8,7), (5,5,5,7), (5,7,5,7), (5,7,8,7)} |
{(5,5,3,8), (5,5,7,8)} |
{(5,3,8,9), (5,7,8,9)} |
{(5,3,4,10)} |
6 |
Ø |
Ø |
Ø |
Ø |
Ø |
{(6,4,2,6), (6,4,10,6)} |
Ø |
{(6,4,10,8)} |
{(6,4,2,9)} |
{(6,4,10,10)} |
7 |
{(7,5,3,1), (7,8,3,1)} |
{(7,8,1,2), (7,8,9,2)} |
{(7,5,3,3)} |
{(7,5,3,4), (7,8,3,4)} |
{(7,5,5,5), (7,5,7,5), (7,8,7,5), (7,8,9,5)} |
Ø |
{(7,5,5,7)} |
{(7,5,3,8), (7,5,7,8), (7,8,3,8), (7,8,7,8)} |
Ø |
Ø |
8 |
{(8,3,8,1), (8,7,8,1)} |
{(8,3,1,2), (8,3,4,2)} |
{(8,3,8,3), (8,7,5,3), (8,7,8,3), (8,9,5,3)} |
Ø |
{(8,7,5,5), (8,9,5,5)} |
{(8,1,2,6), (8,9,2,6)} |
{(8,3,8,7), (8,7,5,7), (8,7,8,7), (8,9,5,7)} |
Ø |
{(8,1,2,9), (8,3,8,9), (8,7,8,9), (8,9,2,9)} |
{(8,3,4,10)} |
9 |
{(9,5,3,1)} |
{(9,2,9,2)} |
{(9,5,5,3)} |
{(9,2,6,4), (9,5,3,4)} |
{(9,2,9,5), (9,5,5,5), (9,5,7,5)} |
Ø |
{(9,5,5,7)} |
{(9,5,3,8), (9,5,7,8)} |
Ø |
Ø |
10 |
{(10,8,3,1), (10,10,8,1)} |
{(10,6,4,2), (10,8,1,2), (10,8,9,2)} |
{(10,10,8,3)} |
{(10,8,3,4), (10,10,6,4)} |
{(10,8,7,5), (10,8,9,5)} |
{(10,10,10,6)} |
{(10,10,8,7)} |
{(10,8,3,8), (10,8,7,8), (10,10,10,8)} |
{(10,10,8,9)} |
{(10,10,10,10)} |
5. По матрице смежности A(G) и таблице Г3 строим таблицу Г4:
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
1 |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
2 |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
3 |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
4 |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
5 |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
6 |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
7 |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
8 |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
9 |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
10 |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
Таким образом мы получили таблицу Г4, в которой перечислены все пути в ориентированном графе G, состоящие из четырех дуг.
