Перестановка гри редукція


20

Це перестановка попереднього питання .

Розглянемо наступну неупереджену ідеальну інформаційну гру між двома гравцями, Алісою та Боб. Гравцям надається перестановка цілих чисел від 1 до n. На кожному кроці, якщо поточна перестановка збільшується, поточний гравець програє, а інший гравець виграє; в іншому випадку поточний програвач видаляє одне з номерів, і гра переходить до іншого гравця. Аліса грає першою. Наприклад:

  • (1,2,3,4) - Боб перемагає негайно, за визначенням.

  • (4,3,2,1) - Аліса виграє після трьох оборотів, незалежно від того, як хтось грає.

  • (2,4,1,3) - Боб може виграти на першому ходу, незалежно від того, як грає Аліса.

  • (1,3,2,4) - Аліса виграє негайно, видаливши 2 або 3; в іншому випадку Боб може виграти на першому ходу, видаливши 2 або 3.

  • (1,4,3,2) - Аліса в підсумку виграє, якщо вона візьме 1 на першому ходу; в іншому випадку Боб може виграти на першому ходу, не знімаючи 1.

Чи існує алгоритм поліноміального часу, щоб визначити, який гравець виграє цю гру з заданої стартової перестановки, передбачаючи ідеальну гру ? Загалом, оскільки це стандартна безстороння гра, кожна перестановка має значення Sprague – Grundy ; наприклад, (1,2,4,3) має значення * 1 і (1,3,2) має значення * 2. Наскільки важко обчислити це значення?

Очевидний алгоритм зворотного відстеження працює в O (n!) Час, хоча це може бути скорочено до часу O(2npoly(n)) за допомогою динамічного програмування.


4
Мені здається, що алгоритм наївності працює в час O (2 ^ n⋅poly (n)).
Цуйосі Іто

З ваших прикладів очевидно, що Аліса завжди виграє, якщо послідовність знижується, а Боб завжди виграє, якщо послідовність зростає. Ця проблема нагадує мені аналіз алгоритмів сортування, які були широко вивчені та дозволяють використовувати широкий арсенал інструментів.
chazisop

1
@chazisop: "Аліса завжди виграє, якщо послідовність зменшується": Це так, якщо і лише тоді, коли n рівне.
Цуйосі Іто

@ Jɛ ff E у випадку 3, як перемагає Боб у першому кроці?
Суреш Венкат

2
@ Суреш: У випадку (2,4,1,3) графічне подання є лінійним графіком на 4 вершинах (2-1-4-3). Якщо Аліса видаляє кінцевий вузол, це залишає лінійний графік на 3 вершинах; Боб виграє, видаливши центральну вершину (так на 3 відповідає 1, а на 2 - 4). Якщо Аліса видаляє внутрішній вузол, це залишає дві з'єднані вершини та ізольований вузол; Боб виграє, видаливши будь-яку з двох з'єднаних вершин (так на 1 відповідає 3 або 4, а на 4 - 1 або 2).
mjqxxxx

Відповіді:


7

"Гра перестановки" ізоморфна наступній грі:

Відключити. Гравці по черзі видаляти вершини з графа . Гравець, який видає повністю відключений графік (тобто графік без ребер), є переможцем.G

Графік відповідає певній початковій перестановці π S n, містить лише ті ребра ( i , j ), для яких i - j та π ( i ) - π ( j ) мають протилежні знаки. Тобто кожна пара чисел неправильнаGππSn(i,j)ijπ(i)π(j)Порядок в перестановці асоціюється з ребром. Очевидно, що дозволені рухи є ізоморфними для тих, що перебувають у грі з перестановкою (видаліть число = видаліть вузол), а умови виграшу також ізоморфні (жодних пар у порядку спадання = немає ребер).

Додатковий вигляд отримують, розглядаючи гру «подвійну» гру на графічному доповненні , який містить ті ребра ( i , j ), для яких i та j в правильному порядку перестановки. Подвійна гра для відключення:Gπc=GR(π)(i,j)ij

Підключіться. Гравці по черзі видаляти вершини з графа . Гравець, який створить повний графік, є переможцем.G

Залежно від конкретної перестановки, одна з цих ігор може здатися простішою, ніж інша для аналізу. Перевага графічного представлення полягає в тому, що зрозуміло, що від'єднані компоненти графа - це окремі ігри, і тому можна сподіватися на деяке зменшення складності. Це також робить симетричністю положення більш очевидними. На жаль, умови виграшу нестандартні ... гра з перестановкою завжди закінчуватиметься, перш ніж всі кроки будуть використані, надаючи їй щось неприємне . Зокрема, nim-значення не може бути обчислене як nim-сума (двійкове XOR) nim-значень відключених компонентів.


Для Disconnect не важко помітити, що для будь-якого графа і будь-якого парного n гра G ˉ K n еквівалентна G (де ˉ K n - безкрайній графік на n вершинах). Щоб довести це, нам потрібно показати, що диз'юнктивна сума G + G ˉ K n - це перемога другого гравця. Доведення - шляхом індукції на | Г | + н . Якщо GGnGK¯nGK¯nnG+GK¯n|G|+nGбез краю, тоді перший гравець програє негайно (обидві гри закінчені). В іншому випадку перший гравець може рухатися в будь-якому , а другий гравець може скопіювати свій хід у інший (зменшившись до G + G ¯ K n за допомогою | G | = | G | - 1 ); або, якщо n 2 , перший гравець може рухатися у відключеному фрагменті, а другий гравець може робити те саме (зменшуючи до G + G ˉ K n - 2 ).GG+GKn¯|G|=|G|1n2G+GK¯n2

Це показує , що будь-який граф еквівалентно Н K р , де Н є частиною G без яких - або роз'єднаних вершин, і р = 0 або 1 є парність числа роз'єднаних вершин в G . Всі ігри в класі еквівалентності має однакову NIM-значення, і , крім того, відношення еквівалентності відносини операції об'єднання: якщо G ~ H До р і G ' ~ Н 'До р ' , то GGHKpHGp=01GGHKpGHKp . Більше того, видно, що ігри в [ H K 0 ] і [ H K 1 ] мають різні nim-значення, якщо тільки H не є нульовим графіком: при грі H + H K 1 перший гравець може взяти ізольований вершину, залишаючи H + H , а потім скопіюйте кроки другого гравця.GG(HH)Kpp[HK0][HK1]HH+HK1H+H

Я не знаю жодних пов’язаних результатів розкладання для Reconnect.


Два особливих типи перестановок відповідають особливо простим кучам гри.

  1. Перший - це висхідний пробіг спусків , наприклад, . Коли π приймає цю форму, граф G π - це об'єднання нерозбірливих кліків, і гра Disconnect зводиться до гри на купи: гравці по черзі виймають один боб із купи, поки всі купи не набудуть розміру 1 .32165487πGπ1
  2. Другий - низхідний прогін підйомів , наприклад, . Коли π приймає цю форму, граф G c π - це об'єднання нерозбірливих кліків, і гра Reconnect зводиться до гри на купи: гравці по черзі видаляють один боб із купи, поки не залишиться лише одна купа .78456123πGπc

Невелика думка показує, що ці дві різні ігри на купи (ми можемо їх назвати 1-Heaps та One-Heap , за певного ризику плутанини) насправді самі по собі є ізоморфними. Обидва можуть бути представлені грою на діаграмі Янга (як спочатку запропонував @domotorp), в якій гравці чергують видалення праворуч внизу, поки не залишиться лише один ряд. Це, очевидно, та сама гра, що і 1-Heaps, коли стовпці відповідають купи, і така ж гра, як One-Heap, коли рядки відповідають купи.

Ключовим елементом цієї гри, який поширюється на відключення та підключення, є те, що тривалість пов'язана з кінцевим станом гри простим способом. Коли настає ваша черга, ви виграєте, якщо в грі залишиться непарна кількість рухів, включаючи ту, яку ви збираєтеся зробити. Оскільки кожен хід знімається один квадрат, це означає, що ви хочете, щоб кількість квадратів, що залишилися в кінці гри, мали протилежний паритет, який він має зараз. Більше того, кількість квадратів матиме однаковий паритет на всіх ваших поворотах; тож ви з самого початку знаєте, який паритет ви хочете мати в підсумковому рахунку. Ми можемо покликати двох гравців Єву та Отто, відповідно до того, чи повинен остаточний підрахунок бути парним чи непарним, щоб виграти. Єва завжди рухається в станах з непарним паритетом і виробляє стани з парним паритетом, а Отто - навпаки.

У своїй відповіді @PeterShor дає повний аналіз One-Heap. Не повторюючи доказів, підсумок такий:

  • Отто подобається купи і 2- купи, і може переносити одну більшу купу. Він виграє, якщо зможе зробити всі розміри купи, крім одного 2 , принаймні, не даючи Єві негайно виграти форму ( 1 , n ) . Оптимальною стратегією Отто є завжди брати з другої за величиною купи, за винятком випадків, коли стан ( 1 , 1 , n > 1 ) , коли він повинен брати з n . Отто програє, якщо у великих кучках буде занадто багато бобів.122(1,n)(1,1,n>1)n
  • Єві не подобається купи. Вона виграє, якщо зможе зробити всі розміри купи 2 . Оптимальною стратегією для Єви є завжди брати з 1- купки, якщо такі є, і ніколи не брати з 2- купки. Єва втратить, якщо буде занадто багато 1- кубків для початку.12121

Як зазначалося, це дає оптимальні стратегії і для 1-Heaps, хоча вони дещо незручніші до фрази (і я цілком можу помилитися в "перекладі" на первинний на подвійний). У грі 1-Heaps:

  • 11(1,1,,1,2)
  • Єві не подобається розрив між найбільшою та другою за величиною купами. Вона виграє, якщо зможе зробити дві найбільші купи однакового розміру. Оптимальною стратегією для Єви є завжди брати з найбільшої купи, якщо вона унікальна, і ніколи, якщо є рівно два найбільшого розміру.

Як зазначає @PeterShor, незрозуміло, як (або якщо) ці аналізи можна було б поширити на більш загальні ігри Disconnect і Reconnect.


2
Я думаю, що подібні ігри в сукупності називають «вертексними видаленнями». Але я погоджуюся з вами, що умова виграшу є зовсім нестандартною, оскільки вона стосується глобальної властивості графіка, а не локальних властивостей, таких як ступінь вершина.
Tsuyoshi Ito

4
Побудований графік у літературі називається графіком перестановки ( en.wikipedia.org/wiki/Permutation_graph ). Деякі структурні властивості можуть допомогти.
Йосіо Окамото

1
@Yoshio: Це хороший момент. Гра перестановки є ізоморфною для графної гри, але початкові графіки не є довільними. Тож навіть якщо загальну гра-графіку важко проаналізувати, можливо, коли обмежившись цим підкласом графіків, вона стане простішою.
mjqxxxx

2
З іншого боку, більш загальну формулювання може бути легше довести важко. Відомо, що варіанти вершин для видалення вершин є PSPACE-жорсткими, наприклад: emis.ams.org/journals/INTEGERS/papers/a31int2005/a31int2005.pdf
Jeffε

2
Я додав питання про подібну гру спеціально на math.SE ( math.stackexchange.com/questions/95895/… ). Між іншим, оскільки графіки перестановки - це кругові графіки, альтернативна формулювання полягає в наступному: Гравці по черзі видаляють акорди з початкового набору; гравець, який залишив акорди, що не перетинаються, є переможцем.
mjqxxxx

7

ihihihiє 3,3,2,1. Я спробував дати аналіз цієї гри у коментарях до відповіді domotorp, але (а) я помилився і (б) не вистачає місця в коментарях, щоб дати справжнє підтвердження.

st=i2,hi>2hi2

  1. ts2

  2. ts

ts

Щоб закінчити, що це правильно, нам потрібно показати, що з будь-якої позиції, яка не належить до категорії (1) або (2), перший гравець може за один хід або досягти позиції в категорії (1) або (2), або виграти безпосередньо.

Є два випадки:

  1. ts1s>0tss=0ts

  2. ts1tsts2

Я спробував узагальнити цю стратегію до оригінальної гри, і не зрозумів, як це зробити.


1
У своїй відповіді я зазначив, що розв’язання цього особливого випадку також вирішує особливий випадок із збільшенням ряду зменшуваних пробігів, граючи у позиції "подвійне", отриманому перенесенням діаграми Янг. Зокрема, оптимальною стратегією Єви стає "взяти з найбільшої купи", якщо немає точно двох таких розмірів ", а оптимальною стратегією Отто стає" взяти з найменшої купи ".
mjqxxxx

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

1
-

Звичайно, я забув цю частину наприкінці ... Тоді ця гра вирішена!
domotorp

1
Не повна відповідь, але все ж вартий щедрості.
Jeffε

3

Я реалізував рішення для швидкої перевірки гіпотез. Не соромтеся грати з ним . Якщо у вас немає компілятора C ++ локально, ви можете запустити його на різних входах віддалено, використовуючи посилання "Завантажити з новим входом".O(2nn)

@ Jɛ ff E Сталося, що (1,4,3,2) має значення * 1, а не * 2, як ви запропонували.


На жаль, моя помилка. Виправлено питання: g (1,3,2) = mex {g (1,3), g (1,2), g (3,2)} = mex {0, 0, * 1} = * 2.
Jeffε

n10n

@maldini: це сподівається на те, що гра має деякі приємні властивості, які можуть зробити її простежуваною. Цікаво, що відбувається з грою, узагальненою до графіків, або грою просто узагальненою до ідеальної графіки.
Петро Шор

3

Редагувати 5 січня: Насправді описана нижче гра в одну купу є особливим випадком проблеми, тобто коли числа слідують один за одним певним чином, так що перша група більша за другу групу, яка більша за третю і т.д. і кількість у кожній групі збільшується. Наприклад, 8, 9, 4, 5, 6, 7, 2, 3, 1 - така перестановка. Тому пропоную вирішити цю особливу справу спочатку.

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

У грі є дуже проста інша рецептура завдяки Young Tableaux. Я впевнений, що його можна проаналізувати звідти, як інші ігри, і це дасть лінійний алгоритм часу.

Спочатку визначте наступну гру на програмі Young Diagrams: На кожному кроці, якщо поточна діаграма горизонтальна (всі квадрати в одному рядку), поточний гравець програє, а інший гравець виграє; в іншому випадку поточний гравець видаляє один з правого нижнього квадрата, і гра переходить до іншого гравця.

Тепер упорядкуйте послідовність чисел у «Янга Таблиці». Основне твердження полягає в тому, що переможець оригінальної гри такий самий, як і переможець, як схема гри, що починається з цієї форми. Щоб побачити це, зауважте, що кожного разу, коли гравці видаляють число, діаграма нової послідовності може бути досягнута шляхом видалення правого нижнього квадрата діаграми. Більше того, будь-яка така діаграма може бути досягнута шляхом видалення числа з відповідного правого нижнього квадрата. Ці твердження випливають із стандартної теорії Янга Табау.

Хоча ця гра на діаграмах досить проста, вона тривіально еквівалентна наступній грі, яка здається більш стандартною:

Гра в одну купу: Гравцям надається кілька кучок з камінчиками в кожній. На кожному кроці, якщо до них залишилася лише одна купа, поточний гравець програє, а інший гравець виграє; в іншому випадку поточний гравець виймає камінчик з купи і гра переходить до іншого гравця.

Якщо для купі гри є просте рішення (і я впевнений, що є таке), ми також отримаємо рішення для оригінальної гри: Просто покладіть послідовність у Young Tableaux і перетворіть його діаграму в купи.

На жаль, я не бачу, які позиції купи виграють / як визначити значення Sprague – Grundy. Я перевірив кілька випадків вручну, і наступні - програшні позиції з не більше 6 камінчиків:

одна купа; (1,1,1); (2,2); (3,1,1); (2,1,1,1); (1,1,1,1,1); (4,2); (3,3); (2,2,2).

Хто-небудь може вирішити цю гру?

Редагувати: Пітер Шор може, подивіться його відповідь!


1
Чи можете ви навести принаймні один приклад, який показує, як певна перестановка перетворюється на Young Tableau і як однакова гра (видалення чисел, поки не буде досягнута висхідна послідовність) грається на Tableau? Зокрема, я не розумію, що означає видалити "один із правого нижнього квадрата".
mjqxxxx

5
Ось контрприклад слабшого твердження, що видалення числа з перестановки відповідає видаленню однієї з нижньої правої клітини з відповідної діаграми Янга (замість таблиці Янга ). Нехай n = 5 і розглянемо положення, визначене перестановкою [4,1,3,5,2] (тобто σ (1) = 4, σ (2) = 1 і так далі), і видаліть 3 з цього. Відповідна діаграма Юнга перед переміщенням дорівнює 5 = 3 + 1 + 1, але відповідна діаграма Юнга після переміщення дорівнює 4 = 2 + 2, що не виходить при видаленні однієї комірки з 3 + 1 + 1.
Цуйосі Іто

5
І перестановка [5,4,1,2,3] має таку ж діаграму Янга, що і [4,1,3,5,2], але ви не можете досягти діаграми Янга 4 = 2 + 2 з неї. Тож гра залежить більше від форми табору Янга.
Петро Шор

2
Ура за конструктивне непорозуміння!
Jeffε

3
@ Jɛ ff E: Так, це набагато корисніше, ніж доказ простого нерозуміння.
Цуйоші Іто
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.