Пример, в котором эквивалентность проста, но трудно найти представителя класса


25

Предположим, у нас есть класс объектов (например, графы, строки) и отношение эквивалентности для этих объектов. Для графов это может быть изоморфизм графов. Для строк мы можем объявить две строки эквивалентными, если они являются анаграммами друг друга.

Я заинтересован в вычислении представителя для класса эквивалентности. То есть я хочу функцию f () такую, чтобы для любых двух объектов x, y, f (x) = f (y) тогда и только тогда, когда x и y эквивалентны. (*)

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

Теперь вопрос: есть ли пример, когда проблема определения того, эквивалентны ли два элемента, является «легкой» (с временным разрешением), в то время как найти представителя сложно (т. Е. Не существует многополосного алгоритма для вычисления f (), который удовлетворяет ( *)).


Вопрос может быть слишком общим, так как он допускает множество «странных» конструкций: возьмите задачу, полную NP, и пусть каждый экземпляр формирует свой собственный класс эквивалентности. Для NO-экземпляра s установите f(s)=0 . В течение ДА-экземпляра s , определяют s в качестве лексически наименьшего сертификата.
Гамов

2
@Gamow В вашем примере вы можете просто позволить f(s)=s . Я думаю, что ОП хочет пример, где нет простого . f
Бьёрн Кьос-Ханссен

4
Ключевыми словами для поиска являются «канонизация» или «каноническая маркировка».
Эмиль Йержабек поддерживает Монику

Для таких смущенных, как я, этот вопрос, по-видимому, был перенесен в 2018 году, и это было позже замечено, и ответы были объединены здесь.
Усул

Ответы:


25

Хорошо, как насчет: числа и y эквивалентны, если либо x = y , либо оба x и y имеют разложения x = p q и y = p r, где p , q и r все простые иxyx=yxyx=pqy=prpqr . То есть: произведения двух простых чисел эквивалентны, когда они имеют наименьший простой множитель; другие числа эквивалентны только себе.p<min(q,r)

Легко проверить, эквивалентны ли два разных числа: вычислить их gcd, проверить, является ли оно нетривиальным, проверить, меньше ли gcd кофакторов, и проверить, являются ли все gcd и его кофакторы простыми.

Но не очевидно, как вычислить репрезентативную функцию за полиномиальное время, и если вы добавите требование, что f ( xf должно быть эквивалентно x, то любая репрезентативная функция позволит намбольшинство произведений двух простых чисел (каждое из которых не является не свой представитель).f(x)x


Re: «не очевидно, как вычислить репрезентативную функцию f »: Возможно, я вас неправильно понимаю, но: если x является произведением двух различных простых чисел, то: пусть p будет меньшим из этих простых чисел; пусть s будет наименьшим простым числом после p ; выберите f ( x ) = ps . Если х это не произведение двух различных простых чисел, а затем выбрать п ( х ) = х . (Все это окольный способ сказать: выберите f ( x ) = наименьший элемент класса эквивалентности x .) Нет?
Руах

2
@ruakh «Пусть будет меньшим из этих простых чисел» предполагает, что вы можете вычислить x (чтобы найти p ), но обычно считается, что это сложно. pxp
Аарон Рот

@AaronRoth: Ах, я вижу. Под «не очевидно, как вычислить репрезентативную функцию », он, должно быть, имел в виду что-то вроде «тогда не очевидно, как легко вычислить репрезентативную функцию f ». Что соответствует вопросу ОП. Это имеет смысл, спасибо. :-)ff
Руах

Да, извините, это то, что я имел в виду.
Дэвид Эппштейн

21

Два целых числа по модулю п эквивалентны , если х 2у 2 мод п . Если бы можно было легко вычислить представителя класса для этой функции, то факторинг может быть выполнен за вероятностное полиномиальное время.x,ynx2y2n

В общем, такой пример будет означать , что . Предположим, что R - отношение эквивалентности, разрешимое за полиномиальное время. Затем с помощью лексикографического поиска с использованием оракула N P можно найти наименьший лексикографический элемент в классе эквивалентности любой строки. Если P =PNPRNP , это становится полиномиальным временем, поэтому вы можете использовать лексикографически наименее эквивалентную строку в качестве представителя класса. Это наблюдение изначально принадлежит Блассу и Гуревичу [1].P=NP

Такой пример также подразумевал бы (и, следовательно, в частности, P U P ).UPBQPPUP

Вопрос, который вы задали, это то, что мы обозначаем в нашей статье с Лэнсом Фортнау [2]. Эта статья также включает в себя результаты, которые я изложил здесь, а также пример хеш-функций, указанных Питером Шором, несколько других возможных примеров, а также связанные результаты и вопросы.PEq=?Ker(FP)

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

[2] Fortnow, L. и Grochow, 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) был эквивалентен x для всех x . (Запрашивать «представителя» немного двусмысленно, поскольку некоторые авторы могут подразумевать, что это включает условие канонической формы.)

Во-вторых, пожалуйста, прости бесстыдную саморекламу, но это как раз один из вопросов, над которым мы с Фортнау работали [1]. Мы показали, что если каждое отношение эквивалентности, которое может быть решено в P также имеет полный инвариант в FP , то случаются плохие вещи. В частности, это будет означать UPBQP . Если верна многообещающая версия этого утверждения (см. Теорему 4.6), то NPBQPSZK и PH=AM .

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

  • Целые числа могут быть учтены в вероятностном поли времени
  • Бесстолкновительные хеш-функции, которые можно оценить в FP , не существуют.
  • NP=UP=RP (следовательно,PH=BPP )

Для большинства из этих утверждений об отношениях эквивалентности есть и оракулы, идущие в обе стороны, благодаря нам, а также Блассу и Гуревичу [2].

Если вместо «любого» представителя вы запрашиваете лексикографически наименьший элемент в классе эквивалентности, то обнаружение лексикографически наименьшего элемента в классе эквивалентности может быть NP трудным (фактически PNP -hard) - даже если отношение имеет полиномиальную каноническую форму [2].

[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 k .g1,g2,,gkhg1,,gk

Пусть ваши классы эквивалентности будут множествами элементов которые порождают одну и ту же подгруппу. Легко проверить, порождают ли два набора одну и ту же подгруппу. Однако не совсем понятно, как вы можете найти уникальный идентификатор для каждой подгруппы. Я подозреваю, что это действительно пример, если вы принимаете группы черного ящика с проверкой членства в подгруппах. Тем не менее, я не знаю, существует ли какая-либо группа, не относящаяся к оракулу, где эта проблема кажется сложной.g1,g2,,gk


4

Вот надуманный пример. Объектами являются пары (H,X) где H - формула SAT, а X - предполагаемое присвоение переменных. Скажите (H,X)(H,X) если H=H и либо (a) X и X оба удовлетворяют назначениям, либо (b) X и X оба не удовлетворяют назначениям. Это рефлексивно, симметрично и транзитивно. Каждый неудовлетворенH имеет один класс эквивалентности, состоящий из всех(H,X) . Каждый выполнимыйH имеет класс всех(H,X) гдеX - удовлетворяющее присваивание, и другой класс с неудовлетворительными.

Проверка ли (H,X)(H,X) легко , так как мы просто проверить , если H=H , то если X удовлетворяет H , то , если X удовлетворяет H . Но для вычисления канонического члена заданного класса (H,X) с H удовлетворяемым Xкажется слишком сложным (я не уверен, как лучше доказать твердость). Мы можем легко внедрить дополнительное решение для экземпляров SAT, поэтому знание одного решения, как правило, не поможет нам найти другое решение, не говоря уже о выборе канонического. (Редактировать: я имею в виду, что я не ожидаю какого-либо эффективного алгоритма для нахождения дополнительных решений при первом решении. Потому что мы могли бы использовать его для решения проблем SAT, сначала «внедрив» дополнительное решение в проблему, а затем направив его на алгоритм. См. комментарии.)


Под «растением» вы подразумеваете что-то вроде: если для экземпляра SAT в CNF, давайте добавим новую переменную p, не встречающуюся в H , и пусть K = i ( φ ip ) ? H=iφipHK=i(φip)
Бьёрн Кьос-Хансен

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

Хотя слово «представитель» может означать, что кодомен домена должен быть его доменом, снятие этого ограничения делает его не примером. f
Jix

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

4

Это открытый вопрос, по крайней мере, для графиков. Я считаю, что последний прогресс

Бабаи и Кучера, «Каноническая маркировка графиков в линейном среднем времени», ФОКС, 1979

which gives an (expected) linear time algorithm for a canonical graph that is correct with probability 112O(n)

You can read more on Wikipedia. Note that a derandomized version of Babai’s algorithm would mean that no such example exist for graphs.


2
Also of interest: For worst-case instead of average-case canonical forms, the recent paper by Schweitzer-Wiebking (arxiv.org/abs/1806.07466) gives a technique that gives good canonical forms for many related equivalence relations (code equivalence, permutation group conjugacy, hypergraph iso), and in their final section they suggest that their techniques might apply to Babai's result as well, giving a quasi-poly-time canonical form for GI.
Joshua Grochow

@JoshuaGrochow I didn’t hear about this, but that’s very exciting. Saving to read later.
Stella Biderman

2

Testing whether two circuits of size N circuits are equivalent.

To determine if C1C2 you only need to evaluate at the 2n input points. To determine a class representative, one would probably have to test all 2Ω(NlogN) possible circuits. For N sufficiently large this is exponentially harder than testing circuit equivalence.


Here's a function f that maps each circuit to a representative object (not a circuit) as quickly as equivalence testing: map each circuit to the vector of 2n outputs for each possible input. Probably it would be not difficult to turn this into an explicit crossbar-style circuit.
David Eppstein

I insisted that the circuits had bounded size in order to prevent an easy mapping from 2n outputs to circuit. However, I had assumed that the function f needed to map to a class representative as opposed to an arbitrary string.
David Harris

1

A famous example from descriptive set theory:

Let us define an equivalence relation on R by

rsrsQ.

This is a rather "easy" equivalence relation, in particular it's measurable.

But finding representatives amounts to finding a Vitali set, which requires the Axiom of Choice and cannot be measurable.


0

Let the objects in your universe be the triples (Φ,b,i) where Φ be a Satisfiability problem, on variables x0,,xk1, b is either 0 or 1, and i is a bitstring of length k, where Φ(i)=b. That is, i is an assignment to x0,,xk that satisfies Φ if b is 1 or does not satisfy Φ if b is 0.

Two objects are equivalent if they have the same Φ. Easy to check.

Let the representative object be the lexicographically greatest among all in the equivalence class.

The representative is NP-complete to find: it would solve SAT, since if the lexicographically greatest has b=0, then Φ is unsatisfiable; if it has b=1, it is satisfiable.

Seems that most NP-complete problems can be posed this way; it's a matter of placing the certificate of membership into the encoding of the element.

I thought maybe this was a homework problem, which is why I didn't post the solution earlier. I should have done; I could have used those points that @david-eppstien got. Goodness knows, he doesn't need them.


1
Ah but in this case there is an easy choice of representative: just take i to be anything and b to be Φ(i).
Bjørn Kjos-Hanssen

-3

I suppose you can easily achieve that for virtually any problem of the type you describe.

Trivial example: Suppose objects are strings, and any x is equivalent to only itself. Determining whether two elements are equivalent is always easy (it is simply equality). However, you can define f() as your favorite injective hard function.


3
But in the case you describe, there is a different f that is easy to compute: the identity function.
David Eppstein

From the question, it's not clear whether the hardness is required from all f, rather than some f.
MCH

3
@MCH I think it's perfectly clear, since otherwise there would be no doubt at all and the question would be silly.
Random832
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.