С 2010 года · Более 2 млн запусков инструментов в месяц
С 2010 года
Добавить в Chrome

Моя Панель Инструментов

Автоматический Режим

Сохранённых инструментов пока нет.

Премиум-версия
Домашняя страница > Математика > Продвинутые математические операции

Проверка Гамильтонова Пути

Проверьте, есть ли в графе гамильтонов путь или цикл. Поиск с возвратом и отсечением по Варнсдорфу, проверка связности и условий по степеням, тесты Дирака и Оре, найденный путь показан на SVG-диаграмме.

БесплатноБез регистрацииМгновенный результат
Проверка Гамильтонова ПутиПопробуйте — бесплатно ▼
Принимает A-B, A->B, A B, A,B или строки матрицы, например 0 1 1 0. Используйте буквы, цифры или подчеркивание для меток.
Метки через запятую или пробел, по одной на строку. По умолчанию используются A, B, C…, если поле пустое.

Embed Проверка Гамильтонова Пути Widget

О Проверка Гамильтонова Пути

Проверка гамильтонова пути определяет, содержит ли граф гамильтонов путь — последовательность, посещающую каждую вершину ровно один раз — или гамильтонов цикл, который дополнительно возвращается в исходную вершину. Инструмент сочетает быстрые структурные проверки (связность, требования к степеням, теоремы Дирака и Оре) с поиском с возвратом, оптимизированным эвристикой Варнсдорфа, и визуализирует найденный путь с помощью пошаговой анимации.

Что такое гамильтонов путь?

Для заданного графа G = (V, E) с n вершинами гамильтонов путь — это упорядоченная последовательность v1, v2, …, vn всех вершин такая, что каждая последовательная пара (vi, vi+1) является ребром G, и каждая вершина встречается ровно один раз. Если дополнительно (vn, v1) является ребром, последовательность называется гамильтоновым циклом.

Гамильтонов путь: v1 — v2 — v3 — … — vn (все разные, каждая пара — ребро) Гамильтонов цикл: v1 — v2 — v3 — … — vn — v1 (замыкается в начало)

Задача названа в честь Уильяма Роуэна Гамильтона, который в 1857 году изобрел икосианскую игру — головоломку, в которой требовалось найти цикл, посещающий каждую вершину правильного додекаэдра ровно один раз.

Почему это сложно: NP-полнота

Задачи определения существования гамильтонова пути и гамильтонова цикла являются NP-полными (Карп, 1972). Если только P не равно NP, не существует алгоритма с полиномиальным временем работы, решающего любой экземпляр задачи. В худшем случае поиск с возвратом исследует дерево поиска размером до (n−1)! для цикла. Вот почему калькулятор ограничивает ввод 20 вершинами — небольшое полиномиальное увеличение n приводит к взрывному росту времени выполнения.

На практике эвристика Варнсдорфа (первоначально разработанная Генрихом Варнсдорфом в 1823 году для задачи о ходе коня) значительно ускоряет поиск на структурированных графах: на каждом шаге алгоритм продлевает текущий путь в ту непосещенную соседнюю вершину, которая имеет наименьшее количество собственных непосещенных соседей. Это жадное правило предотвращает попадание поиска в тупик и часто находит гамильтонов обход без единого возврата на «хороших» графах.

Необходимые условия — Быстрая отбраковка

Прежде чем запускать ресурсоемкий поиск, калькулятор отбраковывает графы, которые заведомо не могут содержать гамильтонов путь:

Эти правила позволяют за линейное время отсеять множество безнадежных вариантов, избегая напрасных усилий по поиску с возвратом.

Достаточные условия — Классические теоремы

Несколько классических теорем дают достаточные (но не необходимые) условия, гарантирующие наличие гамильтонова цикла в неориентированных простых графах. Если любое из них выполняется, калькулятор помечает результат как «ГАРАНТИРУЕТ» даже без запуска поиска (хотя цикл-свидетель всё равно будет показан).

Теорема Дирака (1952)

Если G — простой неориентированный граф с n ≥ 3 вершинами, и каждая вершина имеет степень не менее n / 2, то G имеет гамильтонов цикл.

δ(G) ≥ n / 2 ⟹ G гамильтонов

Теорема Оре (1960)

Если для каждой пары несмежных вершин u и v выполняется deg(u) + deg(v) ≥ n, то G имеет гамильтонов цикл. Условие Оре строго слабее условия Дирака, поэтому из условия Оре следует условие Дирака.

∀ несмежных u, v: deg(u) + deg(v) ≥ n ⟹ G гамильтонов

Невыполнение условий Дирака или Оре не означает, что в графе нет гамильтонова цикла — многие графы не удовлетворяют ни одному из них, но всё же содержат цикл (например, простой n-цикл имеет минимальную степень 2, что намного меньше n/2 для больших n).

Алгоритм поиска внутри

Когда предварительные проверки не дают ответа, калькулятор запускает поиск с возвратом на представлении смежности графа. Ключевые тактики:

  1. Битовая маска посещенных вершин. Посещенные вершины хранятся в виде битовой маски (быстрая проверка принадлежности O(1) для графов до 20 вершин).
  2. Эвристика Варнсдорфа. При каждом расширении пути соседи перебираются в порядке их оставшейся степени посещаемости (сначала меньшие), имитируя порядок с низким ветвлением.
  3. Выбор корня. Для гамильтонова цикла достаточно начать с одной любой вершины (циклы инвариантны относительно вращения). Для гамильтонова пути начальные вершины пробуются в порядке возрастания исходящей степени — сначала наиболее редкие позиции.
  4. Лимит шагов. Жесткое ограничение предотвращает бесконечную работу на патологических случаях; в интерфейсе такой результат отображается как «тайм-аут».

Гамильтоновы задачи против Эйлеровых

Гамильтоновы и эйлеровы задачи часто путают — они звучат похоже, но фундаментально различаются:

Свойство Гамильтонов путь / цикл Эйлерова цепь / цикл
Посещает каждую… Вершину ровно один раз Ребро ровно один раз
Сложность NP-полная Полиномиальная (O(n+m))
Условие Нет простой характеристики Связность + все степени четные (для цикла); макс. 2 нечетных для цепи
Названо в честь У. Р. Гамильтон (1857) Л. Эйлер (1736, мосты Кёнигсберга)
Классический пример Задача коммивояжера, икосианская игра Инспекция дорог, задача почтальона

Поддерживаемые форматы ввода

Список ребер

Одно ребро на строку или через запятую. Поддерживаемые разделители: A-B, A B, A,B, A--B, A->B, A<-B. Используйте -> для принудительного указания ориентации.

A-B, B-C, C-D, D-A, A-C (неориентированный граф с 5 ребрами) A->B, B->C, C->D, D->A (ориентированный 4-цикл)

Матрица смежности

Квадратная матрица значений 0/1, одна строка на линию, разделенная пробелами или запятыми. Можно указать метки в соответствующем поле, иначе автоматически будут использованы A, B, C…

0 1 1 0 1 0 1 1 1 1 0 1 0 1 1 0

Как использовать эту проверку

  1. Выберите формат ввода — Список ребер для небольших графов, написанных от руки, или матрица смежности для вставки из кода или учебников.
  2. Вставьте ваш граф в текстовое поле. Для ввода матрицы можно дополнительно указать метки вершин.
  3. Выберите, что проверять: Только путь, Только цикл или Оба сразу.
  4. Выберите тип графа — Автоопределение определит ориентированность по стилю стрелок (->) или симметрии матрицы.
  5. Нажмите «Проверить гамильтонов путь». Страница результатов покажет вердикт, проверку необходимых условий, тесты Дирака / Оре, путь-свидетель (если он существует) и интерактивную визуализацию.
  6. Воспроизведите путь с помощью кнопок Пуск / Шаг. Наблюдайте, как путь подсвечивается на графе ребро за ребром.

Пример — Граф Петерсена

Знаменитый граф Петерсена (10 вершин, 15 ребер, 3-регулярный) — классический пример графа, имеющего гамильтонов путь, но не имеющего гамильтонова цикла. Вставьте это в поле списка ребер и нажмите «Проверить»:

1-2, 2-3, 3-4, 4-5, 5-1, 6-8, 8-10, 10-7, 7-9, 9-6, 1-6, 2-7, 3-8, 4-9, 5-10

Проверка подтвердит: гамильтонов путь найден (например, 1 — 2 — 7 — 10 — 5 — 4 — 9 — 6 — 8 — 3), но полный перебор показывает отсутствие возможности замкнуть цикл — результат, впервые доказанный в 1890-х годах.

Области применения

Часто задаваемые вопросы

Что такое гамильтонов путь?

Гамильтонов путь — это путь в графе, который проходит через каждую вершину ровно один раз. Он назван в честь Уильяма Роуэна Гамильтона, который изучал эту задачу на графе додекаэдра в 1857 году. Определение существования такого пути является NP-полной задачей, поэтому не существует известного алгоритма, решающего её за полиномиальное время для всех графов.

Чем гамильтонов цикл отличается от гамильтонова пути?

Гамильтонов цикл — это гамильтонов путь, который возвращается в исходную вершину, образуя замкнутую петлю, посещающую каждую вершину ровно один раз. Каждый гамильтонов цикл содержит гамильтонов путь (если убрать замыкающее ребро), но обратное неверно: многие графы имеют гамильтонов путь, но не имеют гамильтонова цикла.

О чем говорит теорема Дирака?

Теорема Дирака (1952) утверждает, что любой простой неориентированный граф с n ≥ 3 вершинами, в котором каждая вершина имеет степень не менее n/2, содержит гамильтонов цикл. Это достаточное, но не необходимое условие: многие графы, не проходящие порог Дирака, всё равно имеют гамильтоновы циклы.

О чем говорит теорема Оре?

Теорема Оре (1960) утверждает, что если для каждой пары несмежных вершин u и v в простом графе с n ≥ 3 вершинами сумма их степеней составляет не менее n, то граф имеет гамильтонов цикл. Условие Оре слабее условия Дирака, поэтому теорема Оре применима всегда, когда применима теорема Дирака.

Почему поиск ограничен 20 вершинами?

Задачи определения гамильтонова пути и цикла являются NP-полными. Время работы в худшем случае растет экспоненциально с числом вершин. Благодаря отсечению и эвристике Варнсдорфа калькулятор быстро обрабатывает многие небольшие графы до 20 вершин, но более сложные случаи могут привести к тайм-ауту. Для графов более 20 вершин следует использовать специализированные решатели, такие как Concorde, или формулировки целочисленного программирования.

Что такое эвристика Варнсдорфа?

Правило Варнсдорфа, предложенное в 1823 году для задачи о ходе коня, гласит, что на каждом шаге следует посещать ту следующую вершину, у которой меньше всего оставшихся непосещенных соседей. Это жадное правило на практике значительно сокращает дерево поиска с возвратом и часто находит гамильтоновы пути вообще без возвратов на регулярных графах.

Находит ли этот инструмент все гамильтоновы пути?

Нет — он находит один путь или цикл-свидетель, если они существуют. Подсчет общего количества гамильтоновых путей сам по себе является #P-полной задачей и гораздо сложнее задачи распознавания. Для перечисления лучше использовать специализированные инструменты или решатели целочисленного программирования.

Дополнительные материалы

Ссылайтесь на этот контент, страницу или инструмент так:

"Проверка Гамильтонова Пути" на сайте https://ru.miniWebtool.com/проверка-гамильтонова-пути/ от MiniWebtool, https://MiniWebtool.com/

командой miniwebtool. Обновлено: 21 апр. 2026 г.

Вы также можете попробовать наш AI Решатель Математических Задач GPT, чтобы решить ваши математические проблемы с помощью вопросов и ответов на естественном языке.

Продвинутые математические операции:

Популярные и обновлённые инструменты:

Калькулятор ангельских чиселКалькулятор совместимости по дате рожденияКалькулятор асцендента, солнечного и лунного знаков 🌞🌙✨Калькулятор знака ВенерыИзвлечение Изображений из ВидеоКонвертер футов и дюймов в сантиметрыКонвертер FPSСклеить видеоКонвертер дюймов в сантиметрыКонвертер см в футы и дюймыРазделить фото на частиКалькулятор числа жизненного путиКалькулятор числа судьбыСжать видеоАудио РазделительГенератор случайных суперспособностейЗамедлить или ускорить видеоПоиск идентификатора пользователя InstagramКонвертер фунтов в килограммыПостроитель графиков функцийКалькулятор возвращения СатурнаГенератор филвордовДобавить текст к изображениюДобавить или заменить аудио в видеоУбрать звук из видеоКонвертер мА·ч в Вт·чРазделитель видеоКалькулятор числа имениКалькулятор лунного знакаКалькулятор знака МарсаИзвлечь звук из видеоКонвертер римских цифрКонвертер дюймов в миллиметрыСоздатель GIFГенератор кроссвордовMP3-луперГенератор Камень Ножницы БумагаКалькулятор Фаренгейта в ЦельсияКалькулятор Рекомпозиции Тела⏱️ Калькулятор часовКонвертер миль в километрыКонвертер футов в метрыКалькулятор области определения и значенийГенератор штрих-кодовГенератор случайных вопросовКонвертер сантиметров в дюймыКалькулятор совместимости лунных знаковКонвертер кг в фунтыГенератор случайных цветовКалькулятор Относительного Стандартного ОтклоненияПовернуть видеоГенератор маленького текста ⁽ᶜᵒᵖʸ ⁿ ᵖᵃˢᵗᵉ⁾Удалить строки, содержащие строкуПреобразователь Обычного Времени в Десятичное ВремяГенератор развёртки конусаГенератор случайных игральных картКалькулятор баланса астрологических стихийБросок кубиковКонвертер миллиметров в дюймыКонвертер изображения в ASCII артГенератор нонограмм (Пикросс)Генератор случайных предметовКонвертер дробного времениОбрезать видеоКалькулятор смешивания цветов красокЗациклить видеоСписок високосных летКонвертер мг в млКалькулятор квадратного корняКалькулятор производныхКалькулятор Площади Неправильного МногоугольникаКалькулятор Спени Сжатия ДвигателяКонвертер акров в гектарыКонвертер Числа в ДробьHEX-конвертерКонвертер MP4 в GIFПобитовый калькуляторКалькулятор положения солнцаКалькулятор угла срезаПроверка имени пользователя в социальных сетях🖱️ Счётчик кликовКалькулятор Ватт в АмперыЛогарифмический калькуляторКалькулятор калорий при грудном вскармливанииСлучайный выбор фильмаИзвлекатель чиселПоиск ID пользователя FacebookСтатистика канала YouTubeГенератор названий группКалькулятор нумерологииГенератор случайного IMEIПоиск MAC-адресаКакое у меня счастливое число?Калькулятор калорий при беременностиКалькулятор жима лежаКалькулятор прямоугольного треугольникаКалькулятор перевода дроби в десятичное числоКонвертер угловКалькулятор числа личностиГенератор Случайных Математических ЗадачКалькулятор гипотенузыКалькулятор дозировки лекарствКалькулятор подъёмной силы гелиевого шараКалькулятор скорости езды на велосипедеКалькулятор арксинусаКалькулятор количества цифрКонвертер ГМС в десятичные градусыДобавить водяной знак на видеоКалькулятор КосинусаКонвертер радиан в градусыДвоичный калькуляторКалькулятор перевода ампер в ваттыКалькулятор биномиального распределенияКалькулятор десятичной дробиКалькулятор расстояния полетаБалансировка химических уравненийКалькулятор кВАГенератор случайных блюдУдаление Невидимых СимволовКалькулятор пределовМагический шар 8🎰 Калькулятор гарантии гачаКалькулятор конвертации дрожжейКонвертер Метров в ФутыКалькулятор сожжённых калорийКалькулятор комплексных чиселКонвертер фунтов в граммыКалькулятор типа телосложенияПреобразователь двоичного кода в десятичныйВалидатор XMLГенератор карточек бингоКалькулятор FFMIКалькулятор знака МеркурияГенератор случайных фиктивных адресовКалькулятор нескольких дробейКруговой калькуляторГенератор рэп-имёнГенератор случайных английских словКонвертер мощностиРандомайзер Имён — КолесоГенератор «Что бы вы выбрали»Калькулятор K/DКалькулятор вероятности броска кубиковКалькулятор имплантацииКалькулятор обратной функцииКонвертер размера файлаГенератор случайных координатКалькулятор деления многочленов столбикомКалькулятор номера неделиОнлайн БлокнотКалькулятор уравнений с модулемГенератор случайного времениКалькулятор коэффициента корреляцииКонвертер градусов в радианыДобавить линию к изображениюКалендарь новолуния и полнолунияКалькулятор WHtRКалькулятор композиции функцийКонвертер стоунов в килограммыКалькулятор дня года - какой сегодня день года?Калькулятор модуляКонвертер дат в римские цифрыГенератор анаграммГенератор случайных шутокРешатель Карты Карно (K-Map)Транспонировщик музыкальной тональностиВосьмеричный в двоичный конвертерГенератор случайных тем для дебатовКалькулятор теории множествГенератор «Соедини точки»Калькулятор пропорцийКалькулятор Точного Теста ФишераГенератор случайных дней рожденияКалькулятор теоремы ПифагораКалькулятор усечённого конусаРешатель НеравенствКалькулятор возрастаКалькулятор суммы квадратовКалькулятор шагов в расстояниеКалькулятор перцентиля ростаКвадратный калькуляторКонвертер столовых ложек в чайныеКонвертер чашек в граммыВосьмеричный калькуляторГенератор цветовых схемКалькулятор даты зачатияГенератор случайных персонажей RPGКалькулятор рабочего времениГенератор случайных буквПоиск Числовых ЗакономерностейТаблица ASCIIЦифровой калькулятор душиИдентификатор языка на основе ИИКалькулятор силы удара в боксеСлучайный выборГенератор зачёркнутого текстаГенератор Правда или ВызовИИ-генератор рэп-текстовКонвертер лунного календаряУлучшитель изображенийКонвертер видео для Twitter (X)Генератор геймертеговГенератор названий командГенератор никнеймовГенератор фэнтезийных имёнГенератор печенья с предсказаниямиГенератор идей для рисованияГенератор подсказок для дневникаГенератор ежедневных аффирмацийГенератор комплиментовГенератор фраз для знакомстваГенератор папиных шутокГенератор случайных фактовГенератор вопросов для викториныГенератор слов для игры «Виселица»Генератор слов для PictionaryГенератор шарадГенератор вопросов для знакомстваГенератор «Я никогда не»ИИ-толкователь сновИИ-генератор благодарственных писемИИ-генератор свадебных речейИИ-генератор пресс-релизовИИ-генератор описаний товаровИИ-генератор сценариев видеоИИ-генератор заголовков и описаний YouTubeИИ-генератор подписей для InstagramИИ-генератор заголовка и биографии LinkedInИИ-генератор пунктов резюмеИИ-генератор сопроводительных писемСведение PDFРазблокировать PDF (удаление пароля владельца)Извлечение текста из PDFИзвлечение страниц PDFСчётчик слов PDFЗащитить PDF паролемДобавить номера страниц в PDFИзменить порядок страниц PDFУдалить страницы PDFПовернуть PDFJPG в PDFPDF в JPGСжать PDFРазделить PDFОбъединить PDFКонвертер PT в PXКонвертер PX в REMКонвертер тола в граммыКонвертер индийских земельных единицКонвертер мкг в мгИИ-генератор текстов песенИИ-генератор стиховИИ-генератор историйИИ-переводчикИИ Суммаризатор ТекстаКонвертер MPH в KM/H / KM/H в MPHКонвертер узлов в мили в часКубические метры в кубические футыКонвертер кубических футов в кубические ярдыКонвертер квадратных футов в квадратные метрыКонвертер квадратных метров в квадратные футыКонвертер унций в млКонвертер мл в унцииКонвертер галлонов в литрыКонвертер литров в галлоныКонвертер кг в стоуныКонвертер километров в милиКонвертер градусов Фаренгейта в ЦельсииКонвертер градусов Цельсия в ФаренгейтыКалькулятор размера рюкзакаКалькулятор объёма сёрфбордаКалькулятор размера ручки теннисной ракеткиКалькулятор размера шлемаКалькулятор размера перчатокКонвертер размера шляпыКалькулятор размера сноубордаКалькулятор размера лыжКалькулятор размера велосипедаТаймер сплитов спидранаКалькулятор СтейблфордаКалькулятор чекаута в дартсКалькулятор экономичности боулингаКалькулятор Strike Rate в крикетеКалькулятор Net Run RateКалькулятор рейтинга ЭлоКалькулятор восстановления частоты сердечных сокращенийКалькулятор времени походаКалькулятор темпа греблиКалькулятор возрастной оценки в бегеКалькулятор FTP и зон мощностиКалькулятор бип-тестаКалькулятор баллов ACFTКалькулятор Wilks и DOTSКалькулятор вылета дискаПоиск индекса нагрузки и индекса скорости шинКалькулятор стоимости за милюКалькулятор выкупа лизингаКалькулятор смешивания октанового числаКалькулятор смеси масла для 2-тактных двигателейКалькулятор Рабочего Объёма ДвигателяКалькулятор проноса диванаКалькулятор корда дровКалькулятор CADR очистителя воздухаКалькулятор размера осушителяКалькулятор размера потолочного вентилятораКалькулятор размера шторКалькулятор размера ковраКалькулятор высоты подвески картинКалькулятор высоты установки телевизораКалькулятор размера телевизораКалькулятор объёма и плёнки для прудаКалькулятор соли для бассейнаКалькулятор объёма бассейнаКалькулятор размера водонагревателяКалькулятор эпоксидной смолыКалькулятор расстояния между балясинамиКалькулятор плинтусов и молдинговКалькулятор сайдингаКалькулятор пропитки для террасыКалькулятор газонных семянКалькулятор рулонного газонаКалькулятор асфальтаКалькулятор кубических ярдовКалькулятор длины антенныКалькулятор заполнения трубыКалькулятор последовательных и параллельных конденсаторовКалькулятор индуктивного сопротивленияКалькулятор освещения комнатыКалькулятор Люкс в ЛюменыКонвертер Люменов в ВаттыКалькулятор мощности генератораКалькулятор трёхфазной мощностиКалькулятор последовательного соединения резисторовКалькулятор тренияКалькулятор наклонной плоскостиКалькулятор механического преимуществаКалькулятор скорости звукаКалькулятор скорости волныКалькулятор плавучестиКалькулятор конечной скоростиКалькулятор длины волны де БройляКалькулятор энергии фотонаКалькулятор E=mc²Калькулятор замедления времениКалькулятор третьего закона КеплераКалькулятор второй космической скоростиКалькулятор гравитационной силыКалькулятор закона Бугера — Ламберта — БераКалькулятор уравнения НернстаКалькулятор осмотического давленияКалькулятор повышения температуры кипенияКалькулятор понижения температуры замерзанияКалькулятор процентного составаКалькулятор нормальностиКалькулятор моляльностиКонвертер pKa в KaКалькулятор Хендерсона-ХассельбахаКалькулятор теоретического выходаКалькулятор лимитирующего реагентаКалькулятор электронной конфигурацииИнтерактивная таблица МенделееваИИ Генератор Планов УроковИИ Генератор ВикторинГенератор цитирований (APA/MLA/Chicago)Калькулятор посещаемостиКалькулятор баллов APКалькулятор баллов ACTКалькулятор баллов SATКалькулятор доходов YouTube
Домашняя страница > Математика > Продвинутые математические операции > Проверка Гамильтонова Пути