Як генерувати графіки з відомим оптимальним покриттям вершин


11

Я шукаю спосіб генерування графіків, щоб було відомо оптимальне покриття вершин. Немає обмежень щодо кількості вузлів або ребер, лише те, що графік повністю пов'язаний.

ідея полягає в тому, щоб створити графік, в якому непросто знайти оптимальну кришку вершини, щоб можна було перевірити різні евристики на ній

Я знайшов статтю Arthur, J. & Frendeway, J. Генерування проблем мандрівного продавця з відомими оптимальними турами, The Journal of Operational Research Society, Vol. 39, № 2 (лют., 1988), стор. 153-159 для створення ТСП з відомим оптимальним, на жаль, я не можу отримати доступ до нього.

Чи відомий алгоритм?


6
"Немає обмежень щодо кількості вузлів або ребер, лише те, що графік повністю пов'язаний." Вам потрібно більше обмежень, ніж це. В іншому випадку я генерую набір повних графіків і знаю оптимальні кришки вершин для кожного.
Тайсон Вільямс

3
MeMCCCK3

5
Я припускаю, що "генерувати випадковий двосторонній графік та обчислити його вершину обкладинки" не вважається корисною відповіддю ...
Девід Еппштейн

2
Є багато стратегій для створення "жорстких" екземплярів SAT, а також сховищ архівованих "жорстких" примірників, якщо ви готові пройти цей маршрут - тобто перетворення екземпляра SAT у вершину обкладинки. також Theres багато досліджень , вивчення SAT від емпіричної POV , який , природно , транслює в усі інші NP повні задачі , наприклад , точки переходу і т.п. багато рефов на все це ...
ВЗН

2
Навіть більш загально, ніж поліноміальна розв'язність кришки вершини на графах Конінга, як зазначає Девід, з області параметризованої складності відомий такий результат: існує константа c така, що для кожного фіксованого цілого числа k існує O (n ^ c) алгоритм часу для перевірки того, чи має графік кришку вершини, що перевищує максимальний розмір відповідності не більше ніж k. Графіки Коніга є особливим випадком, коли k = 0.
Барт Янсен

Відповіді:


9

Розширення коментаря vzn до відповіді: Стандартне скорочення від CNF-SAT до покриття вершин досить легко: складіть вершину для кожного терміна (змінної або її заперечення), підключіть кожну змінну до її заперечення краєм, зробіть клік для кожного пункту , і підключіть кожну вершину в кліці до вершини для одного з доданків у пункті. Якщо ви почнете з проблемою задоволеності з відомим задовольняючим завданням, це дасть вам проблему покриття вершин із відомим оптимальним рішенням (виберіть термін вершини, заданий присвоєнням, і в кожній кліці пункту виберіть усі, крім однієї вершини, так що вершина пункту, яка не обрана, суміжна з обраною вершиною терміна, яка обрана).

Отже, зараз вам потрібно знайти проблеми із задоволенням, які мають відоме задовольняюче завдання, але де важко знайти рішення. Відомо багато способів генерування важких проблем задоволеності (наприклад, генерування випадкових випадків k-SAT, близьких до порогу задоволення), але додаткова вимога, що ви знаєте, що задовольняє завдання, обмежує можливості. Одне, що ви можете зробити тут, - це пройти інший рівень зниження, від криптографічно важкої проблеми, такої як факторизація. Тобто виберіть два великих простих числа p і q, встановіть булеву схему для множення p і q як двійкові числа і переведіть її у формулу CNF, в якій є змінна для кожного вводу (p і q) і для кожного проміжного значення на провід в ланцюзі, пропозиція для кожного виходу змушує його мати правильне значення, і пункт для кожного затвора, примушуючи входи та виходи воріт узгоджуватися один з одним. Потім перекладіть цю формулу CNF у вершину обкладинку.

Для більш простої стратегії виберіть спочатку призначення, що відповідає формулі 3CNF, а потім генеруйте пропозиції навмання, зберігаючи лише ті пропозиції, які відповідають призначенню, а потім перетворіть у вершину. Якщо пропозиції мають однакову ймовірність, це буде вразливим до евристики на основі ступеня (термін вершин, що відповідають обраному призначенню, матиме нижчий ступінь, ніж термін вершини, які не мають), але цього недоліку можна уникнути, скоригувавши ймовірність пропозицій. відповідно до того, скільки умов пункту узгоджується з обраним завданням. Ймовірно, це вразливий для якоїсь поліномічної атаки в часі, але це може бути не тим, що є природним для вершинного покриття, тому це може зробити гарний набір тестових примірників, не маючи великих гарантій твердості.


2

1

Найближчий відгук, який я знайшов, був - Про важкі екземпляри наближеного вершинного покриття Сундар Вишванатана не бачив рефлексу на перегляд важких випадків точної проблеми.

як у моєму коментарі, існує великий обсяг досліджень цього відповідного підходу для SAT, який можна зводити до вершинного покриття.

Щодо коментарів щодо DE, ідея генерувати випадкові екземпляри та просто обирати ті екземпляри, які важкі для стандартного алгоритму, мені здається цілком розумним із застосуванням емпіричного / експериментального дослідницького підходу [1], його стандартної операційної процедури для аналогічних досліджень SAT. точка переходу. [2]

що, до речі, має щось сказати, де "важкий" регіон є для будь-якої іншої проблеми NP [3,4,5], яка стосується приблизно критичної точки "щільності" 1s у випадкових випадках, зазначених у двійковій. для вершинного покриття це, ймовірно, відповідатиме густоті краю.

зауважте, що доведення можна побудувати набір важких примірників, і лише важкі екземпляри, в основному еквівалентні проблемі P vs NP. Більш офіційний аналіз цієї еквівалентності знаходиться у статті про природні докази "Розборов / Рудич".

[1] експериментальна алгоритміка

[2] Дослідження фазового переходу SAT

[3] Фазові переходи у важких проблемах НП

[4] Фазові переходи в проблемах, повних NP-програм: виклик ймовірності, комбінаторики та інформатики Мура

[5] поведінка фазового переходу Уолша

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.