2.1. Опыт Эдлмана 55
Мы пронумеровали вершины так, что гамильтонов путь
проходит через них по порядку. Разумеется, если найден га-
мильтонов путь, то такую нумерацию всегда можно выбрать.
В нашем частном примере оказывается, что вышеупомянутый
путь является единственным гамильтоновым путем. Действи-
тельно, н етрудно перебрать все имеющиеся возможности.
Первый шаг 0 −→ 3 приводит к путям 0 −→ 3, 3 −→ 2, 2 −→ 1;
0 −→ 3, 3 −→ 4, 4 −→ 1, 1 −→ 2 и 0 −→ 3, 3 −→ 4, 4 −→ 5,
5 −→ 2, 2 −→ 1, которые уже нельзя продолжить, не повторив
какую-либо вершину, и к пути 0 −→ 3, 3 −→ 4, 4 −→ 5, 5 −→ 6.
Точно так же сразу видно, что и первые шаги 0 −→ 1, 1 −→ 3
и 0 −→ 6 не приводят к успеху. Этот аргумент показывает
также, что если удалить любое из ребер пути 0 −→ 1, 1 −→ 2,
2 −→ 3, 3 −→ 4, 4 −→ 5, 5 −→ 6, то у остающегося графа
нет гамильтоновых путей. Ясно и то, что есл и взять в каче-
стве начальной какую-либо вершину, кроме 0, или в качестве
конечной какую-либо вершину, кроме 6, то получающийся
граф (с теми же ребрами) не имеет гамильтонова пути. Это
следует из того, что ни одно ребро не заходит в вершину 0 и
не выходит из вершины 6.
В общем случае задача о гамильтоновом пути, ЗГП, заклю-
чается в определении того, обладает ли произвольно заданный
граф гамильтоновым путем. Очевидно, что ЗГП может быть
решена п утем полного перебора. Для решения ЗГП были раз-
виты различные алгоритмы. Хотя эти алгоритмы успешно ра-
ботают для некоторых специальных классов графов, все они,
будучи применены к общим ор иент иров анн ым графам, дают
экспоненциальную сложность в наихудшем случае. Это зна-
чит, что в общем случае все и звестные алгоритмы так или
иначе сводятся к исчерпывающему перебору. В действитель-
ности известно, что задача о гамильтоновом пути NP-полна,
что означает, что для нее вряд ли существует эффективный
(т. е. дающий ответ за полиномиальное время) алгоритм. ЗГП
труднорешаема в том смысле, что нахождение ответа для гра-
фа умеренных размеров может потребовать нереального коли-
чества компьютерного времени. В своем опыте Эдлман решил