Задача коммивояжера: Учитывая города и расстояние между городами, найдите кратчайший маршрутный маршрут так, чтобы он посещал каждый город ровно по одному.Визуализируя это в виде графика и стоимости или веса, связанных с каждым ребром, найдите самый дешевый или наименее весовой маршрут (гамильтонов путь), чтобы каждая вершина или узел посещались ровно один раз.Мы можем думать об этом как о том, чтобы найти все возможные гамильтоновы пути, а затем найти лучший среди них.Поиск всех возможных маршрутов является задачей оптимизации, а в NP - Complete означает, что для этой задачи не существует решения за полиномиальное время
Проблема китайского почтальона: В отличие от задачи коммивояжера, CPP требует найти минимумСтоимость или минимальный вес обходят график таким образом, чтобы каждое ребро посещалось хотя бы один раз.Задача имеет полиномиальное решение, и для оптимального решения требуется найти обход Эйлера по графу, если граф эйлеров.Еще измените график, чтобы он стал эйлеровым, и определите тур Эйлера.Особый случай китайской проблемы почтальона - это то, что нам не нужно путешествовать по всем ребрам графа, а только по некоторым из них (обязательные ребра).Эта вариация называется Сельская проблема почтальона и является NP-полной.Другими словами, учитывая график, найдите обход с наименьшей стоимостью / минимальным весом, чтобы все требуемые ребра были покрыты хотя бы один раз, возможно, используются ненужные ребра.