Приклад, коли еквівалентність проста, але важко знайти представника класу


25

Припустимо, у нас є клас об'єктів (скажімо, графіки, рядки) та відношення еквівалентності на цих об'єктах. Для графіків це може бути графний ізоморфізм. Для рядків ми могли б оголосити дві рядки рівнозначними, якщо вони є анаграмами один одного.

Мені цікаво обчислити представника для класу еквівалентності. Тобто, я хочу, щоб функція f () була такою, що для будь-яких двох об'єктів x, y, f (x) = f (y) iff x і y еквівалентні. (*)

На прикладі анаграм f (s) могли б сортувати літери в рядку, тобто. f ('cabac') = 'aabcc'. Для ізоморфізму графа ми можемо взяти f (G) графом G ', який є ізоморфним G та є першим лексикорафічно графіком, який має цю властивість.

Тепер питання: чи є приклад, коли проблема визначення того, чи є два елементи еквівалентними, є "легкою" (розв'язуваною в часі), тоді як знайти представника складно (тобто не існує алгоритму полі часу, щоб обчислити f (), який задовольняє ( *)).


Питання може бути занадто загальним, оскільки воно дозволяє безліч "дивних" конструкцій: Візьміть NP-повну проблему і дозвольте кожному екземпляру формувати свій клас еквівалентності. Для не-екземпляра s , безлічі f(s)=0 . В протягом ДА-екземпляра s , визначають s в якості лексично найменшого сертифіката.
Gamow

2
@Gamow У вашому прикладі ви можете просто дозволити f(s)=s . Я думаю , що ОП хоче приклад , де не легко f не існує.
Bjørn Kjos-Hanssen

4
Ключові слова для пошуку - "канонізація" або "канонічне маркування".
Еміль Йерабек підтримує Моніку

Для тих, хто збентежився, як я, очевидно, це питання було відмінено у 2018 році, і це було згодом помічено, і відповіді злилися тут.
usul

Відповіді:


25

Гаразд, як щодо: числа і еквівалентні, якщо або , або обидва і мають факторизацію і де , і всі прості і . Тобто: продукти двох прайменів рівноцінні, коли вони поділяють свій найменший основний фактор; інші числа є рівнозначними лише собі.xyx=yxyx=pqy=prpqrp<min(q,r)

Неважко перевірити, чи є два різні числа еквівалентними: обчислити їх gcd, перевірити, чи нетривіально він, перевірити, чи gcd менший від коефіцієнтів, і перевірити, чи є gcd та його кофактори всі прості.

Але не очевидно, як обчислити репрезентативну функцію за поліноміальний час, і якщо додати вимогу, що має бути еквівалентною то будь-яка представницька функція дозволила б нам розподілити більшість продуктів двох простих чисел (кожного, що не є 'є власним представником).f ( x ) xff(x)x


Re: "не очевидно, як обчислити репрезентативну функцію f ": Мабуть, я вас нерозумію, але: якщо x є добутком двох різних прайменів, то: нехай p буде меншим з цих прайменів; нехай s є найменшим простим числом після p ; виберіть f ( x ) = ps . Якщо х це НЕ твір двох різних простих чисел, а потім вибрати п ( х ) = х . (Все це - круговий спосіб висловлювання: вибрати f ( x ) = найменший елемент класу еквівалентності x .) Ні?
ruakh

2
@ruakh "Нехай - менший з цих простих чисел", припускається, що ви можете розподілити (щоб знайти ), але це зазвичай вважається важким. x ppxp
Аарон Рот

@AaronRoth: Ах, бачу. Під "не очевидно, як обчислити репрезентативну функцію ", він, мабуть, мав на увазі щось на кшталт "не очевидно, як легко обчислити репрезентативну функцію ". Що відповідає питанню ОП. Це має сенс, дякую. :-)fff
ruakh

Так, вибачте, це я мав на увазі.
Девід Еппштейн

21

Два цілих числа mod еквівалентні, якщо mod . Якщо можна було легко обчислити представника класу для цієї функції, то факторинг можна здійснити в імовірнісний поліном час.n x 2y 2 nx,ynx2y2n

Загалом, такий приклад мав би на увазі, що . Припустимо, - це відношення еквівалентності, яке визначається в поліноміальний час. Тоді за допомогою лексикографічного пошуку з використанням оракула можна знайти лексикографічно найменший елемент у класі еквівалентності будь-якого рядка. Якщо , це стає поліноміальним часом, тому ви можете використовувати лексикографічно найменш еквівалентний рядок як представника класу. Це спостереження спочатку пов'язане з Бласом та Гуревичем [1].R N P P = N PPNPRNPP=NP

Такий приклад також передбачає (і, отже, зокрема, ).P U PUPBQPPUP

Питання, яке ви задали, саме те, що ми позначили у нашому документі з Lance Fortnow [2]. Цей документ також включає результати, які я тут зазначив, а також приклад хеш-функцій, на які вказував Пітер Шор, ще кілька можливих прикладів, а також пов'язані з ними результати та питання.PEq=?Ker(FP)

[1] Бласс, А. та Гуревич, Ю. Еквівалентні відносини, інваріанти та нормальні форми . SIAM J. Comput. 13 (4): 682-689, 1984.

[2] Фортноу, Л. та Грохов, JA Класи складності проблем еквівалентності переглянуті . Інформувати. та обчислювальної техніки. 209 (4): 748-763, 2011. Також доступний на арксиві .


15

Чи повинен "представник" бути в класі еквівалентності?

Якщо це так, то візьміть будь-яку криптографічно сильну хеш- функцію із стійкістю до зіткнення.f

Нехай , якщо . Неважко перевірити, чи дві речі рівнозначні, але якщо, даючи , ви зможете знайти канонічну перевагу , то ви можете знайти два рядки і такі, що . Це повинно бути важким (ось що означає опір зіткнення).f ( x ) = f ( y )xyf(x)=f(y)h x y f ( x ) = f ( y )f(x)=hhxyf(x)=f(y)

Звичайно, комп'ютерні вчені не можуть довести, що криптографічно сильні хеш-функції з стійкістю до зіткнення існують, але вони мають ряд кандидатів.


7

По-перше, те, що ви насправді просите, зазвичай називають повною інваріантом. Канонічна або нормальна форма також вимагає, щоб був еквівалентним для всіх . (Просити "представника" трохи неоднозначно, оскільки деякі автори можуть означати, що це включає умову канонічної форми.)f(x)xx

По-друге, будь ласка, пробачте безсоромне саморекламування, але саме це одне з питань, з якими ми працювали Fortnow [1]. Ми показали, що якщо кожне відношення еквівалентності, яке може бути вирішене в також має повний інваріант у , то трапляються погані речі. Зокрема, це означатиме . Якщо версія цього висловлювання обіцянки виконується (див. Теорему 4.6), то і .PFPUPBQPNPBQPSZKPH=AM

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

  • Цілі числа можна враховувати у вірогідний полі-час
  • Хеш-функції без зіткнень, які можна оцінити в , не існують.FP
  • NP=UP=RPP H = B P P (отже, )PH=BPP

Існують також оракули, які йдуть в обох напрямках для більшості цих тверджень про відносини еквівалентності, завдяки нам і Бласу, і Гуревичу [2].

Якщо замість "будь-якого" представника, ви запитаєте лексикографічно найменший елемент класу еквівалентності, знаходження лексикографічно найменшого елемента в класі еквівалентності може бути твердим (насправді -hard) - навіть якщо співвідношення має поліноміально-часову канонічну форму [2].NPPNP

[1] Ленс Фортноу та Джошуа А. Грохов. Переглянуті класи складності задач еквівалентності . Інформувати. та обчислювальної техніки. 209: 4 (2011), 748-763. Також доступний як arXiv: 0907.4775v2 .

[2] Андреас Бласс та Юрій Гуревич. Відносини еквівалентності, інваріанти та нормальні форми . SIAM J. Comput. 13: 4 (1984), 24-42.


Виявилося, що версія цього питання, розміщена у 2018 році, була репостом користувача-спаму на запитання від 2012 року. Можливо, з’єднайте свої дві відповіді? Вони обоє згадують UP та BQP, але заперечуючи ... ви втратите деяку відповідь, але я частково пом'якшую це, відкликаючи вашу стару відповідь :)
Bjørn Kjos-Hanssen

5

Ось спроба іншої відповіді, де ми послаблюємо вимогу щодо "представника"; насправді він не повинен бути членом класу еквівалентності, а лише функцією, що ідентифікує клас еквівалентності.

Припустимо, у вас є група, де ви можете зробити тестування підгрупи членства. Тобто, з огляду на , ви можете перевірити, чи в підгрупі, породженій . h g 1 , , g kg1,g2,,gkhg1,,gk

Візьміть ваші класи еквівалентності як набори елементів які генерують ту саму підгрупу. Неважко перевірити, чи утворюють два набори однакову підгрупу. Однак зовсім не ясно, як можна було знайти унікальний ідентифікатор для кожної підгрупи. Я підозрюю, що це справді приклад, якщо ви припускаєте групи з чорними скриньками з тестуванням членства в підгрупах. Однак я не знаю, чи існує якась група, яка не оракула, де ця проблема видається важкою.g1,g2,,gk


4

Ось надуманий приклад. Об'єктами є пари де - формула SAT, а - запропоноване призначення змінним. Скажіть якщо або (a) і обидва задовольняють завдання, або (b) і обидва не відповідають завданням. Це рефлексивно, симетрично та транзитивно. Кожна незадовільна має один клас еквівалентності, що складається з усіх . Кожна задоволена має клас всіх де(H,X)HX(H,X)(H,X)H=HXXXXH(H,X)H(H,X)X є задовольняючим завданням, а інший клас із незадовільними.

Перевірка чи легко , так як ми просто перевірити , якщо , то якщо задовольняє , то , якщо задовольняє . Але для обчислення канонічного члена класу, заданого з задоволеним(H,X)(H,X)H=HXHXH(H,X)HXздається занадто важким (я не впевнений, як найкраще довести твердість). Ми можемо легко створити додаткове рішення для примірників SAT, тому знання одного рішення взагалі не допоможе нам знайти будь-яке інше рішення, не кажучи вже про вибір канонічного. (Редагувати: Я маю на увазі те, що я не очікую ефективного алгоритму пошуку додаткових рішень, який дав би перше рішення. Тому що ми могли використовувати його для вирішення проблем SAT, спочатку "посадивши" зайве рішення в проблему, потім подаючи алгоритм. Див. коментарі.)


Під "заводом" ви маєте на увазі щось на кшталт: заданий екземпляр SAT в CNF, давайте додамо нову змінну не виникає в , і нехай ? p H K = i ( φ ip )H=iφipHK=i(φip)
Bjørn Kjos-Hanssen

@ BjørnKjos-Hanssen, так, щось подібне. В ідеалі ми створили б саме одне додаткове рішення. Так що я думаю , що це працює (не в КНФ , хоча): дан загальний СБ формула , нехай де є оригінальні змінні. Тож просто для уточнення, якби у нас був алгоритм для перевірки / пошуку другого рішення для екземплярів SAT, то з урахуванням будь-якого ми побудували б і подали його до цього алгоритму разом із всевірним призначенням, і це вирішило б оригінальний екземпляр . Якщо я нічого не пропустив. K = ( H ¬ p ) ( p x 1x n ) { x i }HK=(H¬p)(px1xn){xi}КHK
usul

Хоча слово "представник" може означати, що кодомен повинен бути його доменом, скасування цього обмеження робить це неприкладом. f
джикс

1
(1) Пошук другого задовольняючого завдання все ще важкий. (2) Знаходження канонічного члена класу, заданого (H, X), у поліноміальний час еквівалентно , який руйнує PH (Hemaspaandra-Naik-Ogihara-Selman). Однак зауважте, що питання насправді не запитує канонічного члена класу, оскільки для нього не потрібно, щоб х було еквівалентно f (x), воно насправді лише просить про повний інваріант. NPMVcNPSV
Джошуа Грохов

4

Це питання відкрите, принаймні для графіків. Я вважаю, що останній прогрес - це

Бабай і Кучера, "Канонічне маркування графіків у лінійному середньому часі", FOCS, 1979

який дає (очікуваний) лінійний алгоритм часу для канонічного графіка, правильний з вірогідністю112O(n)

Більше ви можете прочитати у Вікіпедії . Зауважимо, що дерандомізована версія алгоритму Бабая означатиме, що для графіків не існує такого прикладу.


2
Також цікаво: для найгірших випадків замість канонічних форм середнього значення останній документ Швейцера-Вібкінга ( arxiv.org/abs/1806.07466 ) дає техніку, яка дає добрі канонічні форми для багатьох пов'язаних співвідношень еквівалентності (еквівалентність коду, перестановка групова кон'югація, гіперграфа iso), і в останньому розділі вони припускають, що їхні методи можуть застосовуватися і до результату Бабая, надаючи квазіполіполітичну канонічну форму для GI.
Джошуа Грохов

@JoshuaGrochow Я не чув про це, але це дуже хвилююче. Збереження для читання пізніше.
Stella Biderman

2

Перевірка, чи два схеми розміру є еквівалентними.N

Щоб визначити, чи потрібно оцінити лише вхідних точок. Для визначення представника класу, ймовірно, доведеться протестувати всі можливих схем. Для достатньо великого це експоненціально важче, ніж тестування еквівалентності ланцюга.2 n 2 Ω ( N log N ) NC1C22n2Ω(NlogN)N


Ось функція яка відображає кожну схему з репрезентативним об'єктом (а не ланцюгом) так само швидко, як тестування на еквівалентність: зіставлення кожної схеми з вектором виходів для кожного можливого входу. Напевно, було б не важко перетворити це на явну схему перекладинки. 2 nf2n
Девід Еппштейн

Я наполягав на тому, що схеми мають обмежений розмір, щоб не допустити простого відображення від виходів до схеми. Однак я припускав, що функція потрібна для відображення представника класу на відміну від довільної рядки. е2nf
Девід Харріс

1

Відомий приклад з описової теорії множин:

Давайте визначимо відношення еквівалентності на через R

rсr-сQ.

Це досить "легке" співвідношення еквівалентності, зокрема воно вимірюється.

Але пошук представників означає пошук набору Vitali , який вимагає вибору Axiom of Choice і не може бути вимірюваним.


0

Нехай об’єкти у вашій Всесвіті - це трійки ( де - проблема задоволеності, для змінних , або 0, або 1, і a бітовий рядок довжиною , де . Тобто - це призначення яке задовольняє якщо дорівнює 1 або не задовольняє якщо дорівнює 0. Φ,б,i)Φх0,,хк-1бiкΦ(i)=бiх0,,хкΦбΦб

Два об'єкти рівнозначні, якщо вони мають однакові . Легко перевірити.Φ

Нехай представницький об’єкт є лексикографічно найбільшим серед усіх у класі еквівалентності.

Представник не є повним NP для пошуку: він би вирішив SAT, оскільки якщо лексикографічно найбільше має , то є незадовільним; якщо вона має , вона задоволена.б=0Φб=1

Здається, що більшість проблем, повних NP, можна поставити таким чином; справа в тому, щоб помістити сертифікат про приналежність до кодування елемента.

Я подумав, що, можливо, це проблема домашнього завдання, тому я не опублікував рішення раніше. Я мав би зробити; Я міг би використати ті моменти, які отримав @ david-eppstien. Добро знає, він їм не потрібен.


1
Ну, але в цьому випадку є простий вибір представника: просто візьміть щоб бути будь-чим, а - . b Φ ( i )iбΦ(i)
Bjørn Kjos-Hanssen

-3

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

Тривіальний приклад: Припустимо, об’єкти - це рядки, і будь-який еквівалентний лише собі. Визначити, чи є два елементи рівнозначними, завжди легко (це просто рівність). Однак ви можете визначити f ( ) як вашу улюблену інжекторну жорстку функцію.хf()


3
Але у випадку, який ви описуєте, існує інший який легко обчислити: функція ідентичності. f
Девід Еппштейн

З питання не зрозуміло, чи потрібна твердість від усіх , а не від якої f . ff
MCH

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