Чи можемо ми швидко генерувати ідеально рівномірно mod 3 або вирішити завдання NP?


13

Якщо чесно, я не знаю так багато про те, як генерується випадкове число (коментарі вітаються!), Але припустимо наступну теоретичну модель: Ми можемо отримати цілі числа, рівномірно випадкові з і наша мета - вивести ціле число, рівномірно випадкове з [1,3].[ 1 , 2 n ][1,2n]

Просте рішення, очікуваний час роботи якого є поліном, наступне. Відхиліть (і, можливо, також ) від щоб число інших цілих чисел ділилося на щоб ми могли взяти згенерованого цілого числа. Якщо ми отримаємо відкинуте число, ми генеруємо інше число, поки не отримаємо не відмінене.2 н2n 2 n - 1 2n1[ 1 , 2 n ] [1,2n]3 3mod 3mod3

Але що робити, якщо ми хочемо напевно закінчитись у поліноміальний час? Через проблеми з роздільністю проблема стає нерозв'язною. Однак мені цікаво, чи зможемо ми вирішити наступне.

Припустимо, ми можемо генерувати цілі числа, рівномірно випадкові з [ 1 , 2 n ][1,2n] і нам задається обчислювально важка задача. Наша мета - вивести ціле число, рівномірно випадкове з [1,3], або вирішити важку задачу.

Тут важкою проблемою може бути розбиття цілого числа, розв’язання екземпляра SAT або щось подібне. Наприклад, ми можемо розшифрувати односторонню перестановку ff наступним чином, якщо нам задають деякий f ( x )f(x) (і припустимо, що нn є парним): Якщо для нашого випадкового рядка f ( r ) < f ( x )f(r)<f(x) , то візьмемо f ( r ) mod 3f(r)mod3 , якщо f ( r ) > f ( x )f(r)>f(x) , то візьміть f ( r ) - 1 мод 3f(r)1mod3 . Нарешті, якщо f ( r ) = f ( x )f(r)=f(x) , то ми робимо, як r = xr=x . (Якщо нn є непарним, то щось подібне працює, просто ми також повинні перевірити, чи f ( r + 1 ) = f ( x )f(r+1)=f(x) і відняти 22 якщо f ( r ) > f ( x )f(r)>f(x) .)

Підсумок відповідей. Еміль Йерабек показав, що якщо ми не можемо генерувати ідеально рівномірно, ми можемо вирішити будь-яку однозначну задачу пошуку з TFNP, а також з PPA-3. З іншого боку, Даніелло показав, що ми не можемо вирішити завдання, повні з NP, вище, якщо NP = co-NP.


@Tayfun Якщо парне, нам потрібно щоб ділити на , якщо непарне, то тоді нам потрібно щоб ділити на . Я був би радий, якби ви були більш конкретні, щодо якої частини я повинен бути більш конкретним. n 2 n - 1 3 n 2 n - 2 3n2n13n2n23
домоторп

(1) Ви можете узагальнити приклад за допомогою односторонньої перестановки для вирішення (однозначних) функцій у TFNP. (2) Ви можете вирішити довільні проблеми пошуку PPA-3.
Еміль Йерабек

@Emil (1): Як? (2): Я також думав, що це може бути правильний клас складності, але я не бачу, чому ми могли б вирішити такі проблеми.
домоторп

Спробую записати це як відповідь пізніше. До речі, питання цікаве, я не знаю, у чому справа з усіма голосами.
Еміль Йерабек

2
Потіки є химерними. Це дуже круте питання! І я не бачу нічого незрозумілого в цьому.
Сашо Ніколов

Відповіді:


6

Я вважаю, що ми можемо вирішити проблеми пошуку NP, задовольняючи одне з наступних обмежень:

  1. кількість розв’язків відома, а не ділиться на ; або,33

  2. кількість розчинів поліноміально обмежена (але не відома заздалегідь).

Для 1. ми можемо використовувати просту підкладку, щоб звести її до наступного випадку:

  • Розчини з , де парне.[ 0 , 2 м - 1 ) м[0,2m1)m

  • Кількість рішень задовольняє .сss 1( мод3 )s1(mod3)

  • Будь-які два рішення розташовані як мінімум на відстані один від одного. (Скажіть, всі вони поділяються на )4 444

Зауважте, що . Отже, ми можемо вирішити проблему, вибравши випадкову та скориставшись аналогічним протоколом, як у моїй відповіді для унікальних рішень, якщо (в результаті чого відбувається розподіл на короткий один на кожен з рішень), і виведення якщо .3 2 m - s a [ 0 , 2 m ) a [ 0 , 2 m - s ) { 0 , 1 , 2 } 0 s 0 a [ 2 m - s , 2 m )32msa[0,2m)a[0,2ms){0,1,2}0s0a[2ms,2m)

Для отримання 2., Припустимо спочатку , що число рішень є відомим . Як і в /cstheory//a/37546 , нехай є найбільшою потужністю яка ділить , так що . Розглянемо задачу пошуку, рішення якої - це послідовності такі, що , і кожен є рішенням вихідної задачі. З одного боку, вихідна проблема зводиться до нової. З іншого боку, кількість рішень нової задачі є , тобто не ділиться наs p ( n ) 3 k 3 s 3 ( ssp(n)3k3s3 k )y0,,y3k-1y0<y1<<y3k-1yi(s3(s3k)y0,,y3k1y0<y1<<y3k1yi3 к )3(s3k)3, і відомо. Таким чином, ми робимо 1.

Тепер, якщо кількість рішень обмежена , але невідома, ми запускаємо протокол вище разів ( ) паралельно для кожного можливого вибору і:p ( n ) 2 2 p ( n ) 1 s 2 p(n)22p(n)1s2

  • якщо будь-який з потоків повертає рішення вихідної задачі, ми передаємо одну таку на вихід;

  • якщо всі потоки повертають елементи , виводимо .r 1 , , r 2 { 0 , 1 , 2 } ( r 1 + r 2 + + r 2 ) mod 3r1,,r2{0,1,2}(r1+r2++r2)mod3

За умови другої події рівномірно розподіляється в оскільки є справжньою кількістю рішень вихідної задачі, а інші не залежать від , отже, вся сума також розподіляється рівномірно. .r s { 0 , 1 , 2 } s r i r srs{0,1,2}srirs


Загальне узагальнення 1 і 2 полягає в тому, що кількість розв'язків походить з переліченого списку чисел у багаточленному часі, таким чином, що найбільша потужність ділить будь-який з них, поліноміально обмежена. 33
Еміль Єржабек

До речі, чи знаєте ви будь -які нескладені проблеми, де кількість розв’язків може бути доведена, що ділиться якоюсь суперполіномічною силою ? Під композитом я маю на увазі щось на кшталт прийняття прямого продукту деяких проблем, де кількість рішень ділиться на - складені задачі можна легко вирішити вищезгаданим способом. 3 333
домоторп

Я думаю, що можна довести, що існує оракул, згідно з яким деяку суперполіномічну силу з 3 задач неможливо вирішити вищезгаданим способом.
domotorp

@domotorp Цікаво, що мене цікавила можливість того, що якийсь аргумент Валіант – Вазірані може бути використаний для вирішення довільних проблем TFNP. У всякому разі, характеристика все ще є неповною. Я особливо незадоволений обмеженням у цій відповіді тим, що кількість рішень відома або, принаймні, виходить із списку, який можна сконструювати за багаточлен. З одного боку, клас таких проблем, мабуть, незрівнянний з PPA-3 з моєї іншої відповіді, тому було б добре мати конструкцію, яка б узагальнювала обидва. АФАЙКС єдиною верхньою межею є те, що будь-яка проблема вирішується ...
Еміль Йерабек

... вищенаведений спосіб зводиться до проблеми TFNP, кількість рішень якої становить модуль (але невідомо). Мені не зрозуміло, чи варто сподіватися, що це правильний клас, чи потрібне ще якесь додаткове обмеження. 1 313
Еміль Єржабек

10

Я буду використовувати цифри, починаючи з а не від , оскільки я вважаю це набагато природніше.0 101

Ось два класи проблем, які ми можемо вирішити таким чином:

  1. Функції в TFNP (тобто однозначні загальні проблеми пошуку NP)

    (Це узагальнює приклад з односторонніми перестановками. Він включає як окремі випадки вирішення проблем із .)U P c o U PUPcoUP

    Установка полягає в тому, що у нас є предикат полінома-часу і поліном такий що для кожного довжини існує унікальна довжина така, що має місце. Обчислювальне завдання задано , знайдіть .R ( x , y ) p ( n ) x n y m = p ( n ) R ( x , y ) x yR(x,y)p(n)xnym=p(n)R(x,y)xy

    Тепер я припустимо wlog, що є парним, так що . Алгоритм полягає у формуванні рівномірно випадкових та виведеннім 2 м1m( мод3 ) y [ 0 , 2 м )2m1(mod3)y[0,2m)

    • y R ( x , y )y (як рішення задачі пошуку), якщо ;R(x,y)

    • y - y { 0 , 1 , 2 } y - y { 1 , 2 } R ( x , y )yy (як випадковий елемент ), якщо , і ;{0,1,2}yy{1,2}R(x,y)

    • y mod 3 { 0 , 1 , 2 } y { y , y - 1 , y - 2 } R ( x , y )ymod3 (як випадковий елемент ), якщо ні вирішує .{0,1,2}y{y,y1,y2}R(x,y)

    Якби не було вирішення проблеми пошуку, випадковий вибір дав би і рази, а рази (ще один). Однак, якщо вирішує задачу пошуку, ми об'єдналися з елементами (які потрапляють у всі три класи залишків), щоб вони створювали лише залишки і , що вирівнює перевагу . (Я припускаю, що тут wlog, що .)2 m 1 2 ( 2 m - 1 ) / 3 0 ( 2 m + 2 ) / 3 y y , y + 1 , y + 2 1 2 0 y < 2 m - 22m12 (2m1)/30 (2m+2)/3yy,y+1,y+2120y<2m2

  2. PPA - проблеми пошуку33

    Зручним способом визначення PPA- є такі, як проблеми пошуку NP, багато з яких зводяться до таких типів проблем. Ми маємо фіксовану функцію полінома-часу і поліном , так що для будь-якого входу довжини індуковане відображення обмежене входами довжиною - це функція задовольняє для кожного . Завдання, задане , знайде точку у : .3 f ( x , y ) p ( n ) x n f x ( y ) = f ( x , y ) y m = p ( n ) f x : [ 0 , 2 m ) [ 0 , 2 m ) f x ( f x ( f x ( y ) ) )3f(x,y)p(n)xnfx(y)=f(x,y)ym=p(n)fx:[0,2m)[0,2m)= y y x y f x f x ( y ) = yfx(fx(fx(y)))=yyxyfxfx(y)=y

    Ми можемо вирішити це таким чином у питанні наступним чином: задаючи довжини , ми генеруємо випадковий довжини і виводимоx n y m = p ( n )xnym=p(n)

    • y f xy якщо це фіксація ;fx

    • в іншому випадку , і є різними елементами. Ми можемо позначити їх як з , і вивести такий, що .y f x ( y ) f x ( f x ( y ) ) { y , f x ( y ) , f x ( f x ( y ) ) } = { y 0 , y 1 , y 2 } y 0 < y 1 < y 2 i { 0 , 1 , 2yfx(y)fx(fx(y)){y,fx(y),fx(fx(y))}={y0,y1,y2}y0<y1<y2} y = y ii{0,1,2}y=yi

    З визначень видно, що це дає рівномірний розподіл на , оскільки нефіксований у тричі.{ 0 , 1 , 2 } у{0,1,2}y


Дозвольте мені показати для запису еквівалентність вищезазначеної проблеми з повною проблемою Пападімітріу щодо PPA- , оскільки цей клас в літературі переважно нехтується. Проблему згадують у Buss, Johnson: "Пропозиційні докази та скорочення між проблемами пошуку NP", але вони не заявляють про еквівалентність. Для PPA подібна проблема (LONELY) наведена у Beame, Cook, Edmonds, Impagliazzo та Pitassi: "Відносна складність проблем пошуку NP". Існує нічого особливого , аргумент нижче робіт з урахуванням необхідних змін для будь-якого непарного простого.3 333

Пропозиція: Наступні проблеми пошуку NP багаторазово зводяться один до одного:

  1. Давши схему, що представляє двосторонній непрямий графік та вершину , ступінь якої не ділиться на , знайдіть іншу вершину.( A B , E ) u A B 3(AB,E)uAB3

  2. Враховуючи схему, що представляє спрямований графік , і вершину , баланс ступеня (тобто ступінь мінус у градусі) не ділиться на , знайдіть іншу вершину.( V , E ) u V 3(V,E)uV3

  3. Дано схему, що обчислює функцію така, що , знайдіть фіксовану точку .f : [ 0 , 2 n ) [ 0 , 2 n ) f 3 = i d ff:[0,2n)[0,2n)f3=idf

Доказ:

1 p 21p2 очевидний, оскільки достатньо направити краї зліва направо.

2 p 1 A B2p1 : Спочатку побудуємо зважений двосторонній графік. Нехай і - копії : , . Для кожного початкового ребра вкладаємо край вагою , а край вагою . Це робить рівним градусному балансу у вихідному графіку. Якщо - задана вершина балансу , додамо додатковий край вагиAB V A = { x A : x V } B = { x B : x V } x y { x A , y B } 1 { x B , y A } - 1 град ( x A ) = - deg ( x B ) x uVA={xA:xV}B={xB:xV}xy{xA,yB}1{xB,yA}1deg(xA)=deg(xB)xub 0( мод3 ) { u A , u B } b deg ( u A ) = 2 b 0b≢0(mod3){uA,uB}b, так що , а . - наша обрана вершина.( мод3 ) deg ( u B ) = 0 u Adeg(uA)=2b≢0(mod3)deg(uB)=0uA

Для того, щоб зробити графік звичайним невагомим непрямим графіком, спочатку зменшуємо всі ваги по модулю і опускаємо всі краї ваги . При цьому залишаються лише краї ваг і . Останні можна замінити відповідними пристосуваннями. Наприклад, замість ваги- ребра , ми нові вершини , для , з ребрами , , , , : це робить3 0 1 2 2 { x A , y B } w A i z B i30122{xA,yB}wAizBi i = 0 , , 3 { x A , y B } { x A , z B i } { w A i , y B } { w A i , z B i } { w A ii=0,,3{xA,yB}{xA,zBi}{wAi,yB}{wAi,zBi}, z B ( i + 1 ) mod 4 } deg ( w A i ) = deg ( z B i ) = 3 5 2{wAi,zB(i+1)mod4}deg(wAi)=deg(zBi)=3, І вносить свій внесок до й .( мод3 ) x A y B52(mod3)xAyB

3 p 2 n 2 n13p2 : Дозвольте припустити, що для простоти рівно, що . Побудуємо спрямований графік на наступним чином:n( мод3 ) V = [ 0 , 2 n )2n1(mod3)V=[0,2n)

  • ребра і для кожного .3 x + 1 3 x 3 x + 2 3 x x < 2 n / 3 - 13x+13x3x+23xx<2n/31

  • Якщо - орбіта нефіксованої точки , ми включаємо ребра і .x 0 < x 1 < x 2 f x 0x 1 x 0x 2x0<x1<x2fx0x1x0x2

Вибрана вершина буде . Перший пункт вносить баланс або до кожної вершини . Аналогічно, другий пункт вносить баланс або у вершини, які не є . Таким чином, якщо припустимо, що вже не є точкою фіксації, це дійсно неврівноважений модуль , а будь-який інший вершинний незбалансований модуль є фіксованою точкою .u = 2 n - 1 1 - 2 1u=2n11( мод3 ) u - 1 2 - 121(mod3)u1( мод3 ) u 3 3 f21(mod3)u33f

1 p 3 A = B = [ 0 , 2 n ) n u A 21p3 : Можна вважати, що з парним, а дана вершина має ступінь .A=B=[0,2n)nuA( мод3 )2(mod3)

Ми можемо ефективно позначити ребра, що падають з вершиною як , де . Таким чином, стає підмножиною , яку ми ототожнюємо з . Визначимо функцію на наступним чином.y B ( y , j ) j < deg ( y ) E [ 0 , 2 n ) × [ 0 , 2 n ) [ 0 , 2 2 n ) f [ 0 , 2 n ) × [ 0 , 2 n )yB(y,j)j<deg(y)E[0,2n)×[0,2n)[0,22n)f[0,2n)×[0,2n)

  • На доповнення : для кожного , і такого, що , складемо , , . Також , , для . Це виключає точку і точки для кожного , ступінь якої не ділиться на .Е у - 1EB j deg ( y ) 3 j < 2 n - 1 f ( y , 3 j ) = ( y , 3 j + 1 ) f ( y , 3 j + 1 ) = ( y , 3 j + 2 ) f ( y , 3 j + 2 ) =yBjdeg(y)3j<2n1f(y,3j)=(y,3j+1)f(y,3j+1)=(y,3j+2)( y , 3 j ) f ( 3 i , 2 n - 1 ) = ( 3 i + 1 , 2 n - 1 ) f ( 3 i + 1 , 2 n - 1 ) = ( 3 i + 2 , 2 n - 1 ) f ( 3 i + 2 , 2 nf(y,3j+2)=(y,3j)f(3i,2n1)=(3i+1,2n1)f(3i+1,2n1)=(3i+2,2n1) ) = ( 3 i , 2 n - 1 ) 3 i < 2 n - 1 ( 2 n - 1 , 2 n - 1 ) 3 - ( deg ( y ) mod 3 ) ( y , i ) y B 3f(3i+2,2n1)=(3i,2n1)3i<2n1(2n1,2n1)3(deg(y)mod3)(y,i)yB3

  • На : для кожного ми фіксуємо ефективне перерахування його падаючих ребер , де . Покладемо , , для . Це залишає точки для кожної вершини , ступінь якої не ділиться на .E x A ( y 0 , j 1 , j 3 i + 1 ) = ( y 3ExA 0 ) , , ( y d - 1 , j d - 1 ) d = deg ( x ) f ( y 3 i , j 3 i ) = ( y 3 i + 1 , j 3 i + 1 ) f ( y 3 i +(y0,j0),,(yd1,jd1)d=deg(x)f(y3i,j3i)=(y3i+1,j3i+1) i + 2 , j 3 i + 2 )f( y 3 i + 2 , j 3 i + 2 )=( y 3 i , j 3 i )i<d / 3deg(x)mod3xf(y3i+1,j3i+1)=(y3i+2,j3i+2)f(y3i+2,j3i+2)=(y3i,j3i)i<d/3deg(x)mod3А 3xA3

Оскільки , два його ребра, що падають, були залишені; ми робимо їх ще одним циклом використовуючи як третю точку. Решта точок залишаються як точки фіксування . Будуючи будь-який з них, це дасть змогу вирішити (1).deg ( u ) 2( мод3 ) f ( 2deg(u)2(mod3)f n - 1 , 2 n - 1 ) f(2n1,2n1)f


1
Обидва рішення є правильними, але у мене є проблема з визначеннями класів. У визначенні TFNP, як правило, потрібно існувати хоча б одне рішення, тоді як ви хочете саме одне, яким би був TFUP. PPA-3 визначається спочатку двостороннім графіком і заданою вершиною, ступінь якої не 3, і нам потрібно знайти іншу вершину. Ваш приклад з , очевидно, є в цьому класі, але чому він для нього повний? (Це може бути добре відомо, але це для мене нове.)ff
domotorp

1
(1) Я дуже чітко підкреслив, що результат стосується не довільних проблем пошуку TFNP, а лише функцій. Я справді не знаю, як зробити це ще більш зрозумілим. (2) Так, це еквівалентно звичайному визначенню PPA-3. Це не повинно бути важко показати.
Emil Jeřábek

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

(2) Ця еквівалентність була б дуже дивною. З аналогічним трюком, який ви використовували в (1), це означатиме, що USAT є в PPA-3, чи не так? Я би очікував, що більш імовірно, що моя проблема пов'язана з деяким TFNP, кількість рішень якого становить 1 або 2 mod 3 для кожного (і нам потрібно знати, які). До речі, ваше рішення для (1) вже передбачає, що FullFactoring можна вирішити, що було моєю оригінальною мотивацією. нn
domotorp

Функції є однозначними. Ось що означає функція. Я спробую роздивитись речі на PPA-3. Однак я не бачу, як це включатиме USAT. Побудова в (1) не створює багаточастового з , або, принаймні, я його не бачу: для очевидного вибору не можна обчислити без вирішення спочатку проблеми пошуку. f f 3 = i d f ( 2 м - 1 )ff3=idf(2m1)
Еміль Єржабек

7

Якщо ви могли б генерувати mod АБО вирішити SAT (або будь-яку іншу NP-повну проблему, з цього приводу), то . Зокрема, врахуйте ідеальний генератор / розв'язувач, коли дано формулу SAT .3 N P = c o N P ϕ3NP=coNPϕ

Нехай - максимальна кількість випадкових бітів, проведених генератором на входах розміру . Оскільки генератор працює в поліном час, є многочленом. Оскільки не ділиться на , має бути деяка послідовність щонайбільше монетних кидок, що змусить генератор вивести (правильний) відповідь для . Таким чином, якщо незадовільний, існує набір монетних кидок, які змушують генератора сказати, що є незадовільним. Якщо задовольняється, то генератор ніколи не буде помилково стверджувати, що( n ) n ( n ) 2 ( n ) 3 ( n ) ϕ ϕ ϕ ϕ ϕ U(n)n(n)2(n)3(n)ϕϕϕϕϕє незадовільним, незалежно від того, якими є монети. Таким чином, ми показали, що мова незадовільних формул знаходиться в , маючи на увазі . N S Т Н Р Н Р = С Про Н РUNSATNPNP=coNP


2
Іншими словами: все, що ми можемо вирішити таким чином, зводиться до проблеми TFNP. Отже, замість NP, ми могли б знімати для підкласів TFNP.
Еміль Йерабек

Так, хоча я не впевнений, що унікальність необхідна, або можна піти від чогось значно слабшого.
daniello

1
Унікальність чого?
Emil Jeřábek

"Установка полягає в тому, що у нас є предикат полінома-часу і поліном такий що для кожного довжини існує унікальна довжина така, що виконується. Обчислювальне завдання задано , знайди ". У мене таке відчуття, що кількість , що не ділиться на може бути достатньою. [Щойно помітив нову відповідь R ( x , y ) p ( n ) x n y m = p ( n ) R ( x , y ) x y y 3R(x,y)p(n)xn ym=p(n)R(x,y)xyy
домоторпа

3
Ну, перша частина моєї відповіді - це проблеми пошуку з унікальним рішенням, але це, звичайно, не обов’язково. Вже друга частина моєї відповіді стосується проблем пошуку з потенційно багатьма рішеннями. Я мав на увазі під своїм коментарем вище просте спостереження, що якщо - рандомізований багаточасний алгоритм, який або генерує рівномірно випадковий елемент , або вирішує задачу , тоді " задано , обчислити рядок випадкових бітів, що змушує вирішити ”- проблема TFNP, і до неї можна привести . Ніякої унікальності не задіяно. A ( x ) { 0 , 1 , 2 } S x A S S
Еміль Єржабек

4

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

Скажімо , що випадкова послідовність знаходиться близько до розчину (тобто, до , для яких має місце) , якщо один з , або має місце. (Для простоти, припустимо, що і не є рішеннями.) У рішенні Еміля було достатньо генерувати випадкову рядок та виводити за винятком того, що ми локально обходимось навколо рішень; Я не вникаю в деталі, дивіться його відповідь. Нам достатньо, що якщо близький до рішення, то ми можемо вбити довільне числоr y R ( x , y ) R ( x , r ) R ( x , r + 1 ) R ( x , r + 2 ) y = 0 y = 1 r r mod 3 r mod 3 r r mod 3 mod 3можливо вивести рішення так, що для решти 's функція дає ідеально однакове число .

Тепер припустимо, що кількість розв’язків дорівнює 1 або 2 для будь-якого . Ми генеруємо два випадкових рядки довжиною : та . Якщо хоча б одна з них не близька до рішення, виводимо . Для простоти, припустимо, що є навіть таким, що у нас є додатковий 0, якщо ми тільки це зробили, а також припустимо, що якщо є два рішення, вони далекі. Якщо і обидва близькі до одного і того ж рішення, ми обертаємось навколо, так що ми вбиваємо 0. Якщо і близькі до різних рішень, то якщо , ми обходимося так, що ми вбиваємо 1, і якщоx n r 1 r 2 r 1 + r 2 mod 3 n r 1 r 2 r 1 r 2 r 1 < r 2 r 1 > r 2 , ми обертаємось навколо, так що ми вбиваємо 2. Таким чином, якщо є лише одне рішення, ми вбиваємо рівно один 0, тоді як якщо є два рішення, ми вбиваємо два 0 і один 1 і один 2.

Цей аргумент не можна поширити на 3 рішення, але може бути за 4, і звідси я буду дуже схематичним. Створіть чотири випадкових рядки, та виведіть якщо всі вони не наближені до рішення. Знову припустімо, що додаткові 0 і рішення завжди далеко. Якщо всі близькі до одного і того ж рішення, ми обходимося, щоб вбити 0. Якщо три з близькі до того самого рішення, меншого, ніж рішення, до якого знаходиться близький четвертий , ми будемо вірити навколо, щоб вбити a 1. Якщо три з близькі до того самого рішення, що більше, ніж рішення, до якого четвертийr 1 , r 2 , r 3 , r 4 r 1 + r 2 + r 3 + r 4 mod 3 r i r i r i r i r i r iБлизько, ми спіймаємось, щоб убити 2. Якщо всі близькі до іншого рішення, ми вбиваємо три 0. Правильність одного і двох рішень схожа на попередній випадок. Для чотирьох рішень зауважте, що ми вбиваємо чотири + три 0-х, шість 1-х та 6-ти.

Я думаю, що міркування останнього абзацу можна було б поширити на будь-яке обмежене число рішень, яке не ділиться на 3 з деякою алгеброю. Більш цікаве питання - чи існує протокол, який працює для будь-якої кількості рішень.

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