Кіріспе

Саудагердің саяхаттау мәселесіне жуықтау Кристофид алгоритмі немесе Кристофид–Сердюков алгоритмі – саяхатшы сатушы мәселесіне шамамен шешімдер табуға арналған алгоритм, қашықтықтар метрикалық кеңістік құрайтын жағдайларда (олар симметриялық және үшбұрыш теңсіздігін қанағаттандырады). Бұл алгоритм оның шешімдері оңтайлы шешім ұзындығының 3/2 есесінен аспайтынын кепілдейді және Никос Кристофид пен Анатолий И. Сердюковтың есімімен аталады; соңғысы оны 1976 жылы тәуелсіз түрде ашқан (бірақ жарияланым 1978 жылы жарық көрген).

Алгоритм

1=G = (V,w) – саяхатшы сатушы мәселесінің мысалы. Яғни, G – V нүктелері жиынтығындағы толық граф, ал w функциясы G графының әрбір қабырғасына теріс емес нақты салмақ тағайындайды. Үшбұрыш теңсіздігіне сәйкес, кез келген үш u, v және x нүктесі үшін w(uv) + w(vx) ≥ w(ux) орындалуы керек. Ал алгоритмді псевдокод түрінде келесідей сипаттауға болады.

Мысал

Берілген: шеттері үшбұрыш теңсіздігіне бағынатын толық граф.
Минималды жайылма ағашты (T) есептеу.
T-де тақ дәрежелі төбелердің (O) жиынын есептеу.
O төбелерін ғана пайдаланып G графигінің кіші графигін құру.
Бұл кіші графикте минималды салмақты толық сәйкестікті (M) құру.
Сәйкестік M және жайылма ағаш T ∪ M біріктіріліп, Эйлер мультиграфы құрылады.
Эйлер айналысын есептеу.
Мысалы, айналыс A > B > C > A > D > E > A болуы мүмкін. Сондай-ақ A > B > C > A > E > D > A да жарамды.
Қайталама төбелерді жойып, алгоритмнің нәтижесін алу.
Егер балама айналыс қолданылса, C-ден E-ге дейінгі қысқа жол пайда болар еді. Егер бұл Эвклид графигі болса, онда бұл (A > B > C > E > D > A) қысқарақ болар еді, себебі A > B > C > D > E > A жолының кесісетін түзулері бар, және осының нәтижесінде бұл ең қысқа жол емес екені дәлелденген.