Jump to content

Матроид-оракул

В математике и информатике матроид-оракул — это подпрограмма , с помощью которой алгоритм может получить доступ к матроиду , абстрактной комбинаторной структуре, которую можно использовать, для описания линейных зависимостей между векторами в векторном пространстве или связующими деревьями графа . среди прочего, приложения.

Наиболее часто используемый оракул этого типа — оракул независимости — подпрограмма для проверки независимости набора элементов матроида. Также использовались несколько других типов оракулов; Было показано, что некоторые из них слабее оракулов независимости, некоторые сильнее, а некоторые эквивалентны по вычислительной мощности. [1]

Многие алгоритмы , выполняющие вычисления на матроидах, были разработаны с учетом оракула в качестве входных данных, что позволяет им эффективно работать без изменений на многих различных типах матроидов и без дополнительных предположений о том, какой тип матроида они используют. Например, имея оракул независимости для любого матроида, можно найти базис минимального веса матроида, применив жадный алгоритм , который добавляет элементы в базис в отсортированном порядке по весу, используя оракул независимости, чтобы проверить, может ли каждый элемент быть добавлено. [2]

В теории сложности вычислений привела модель оракула к безусловным нижним оценкам , доказывающим, что некоторые матроидные задачи не могут быть решены за полиномиальное время без привлечения недоказанных предположений, таких как предположение, что P ≠ NP . Проблемы, которые оказались трудными на этом пути, включают проверку того, является ли матроид двоичным или однородным , или проверку того, содержит ли он определенные фиксированные миноры . [3]

Почему оракулы?

[ редактировать ]

Хотя некоторые авторы экспериментировали с компьютерными представлениями матроидов, в которых явно перечислены все независимые множества или все базисные наборы матроида, [4] эти представления не являются краткими : матроид с элементы могут расширяться в представление, которое занимает экспоненциальную величину пространства. . Действительно, число различных матроидов на элементы растут в два раза экспоненциально, поскольку

[5]

из чего следует, что любое явное представление, способное обрабатывать все возможные матроиды, обязательно будет использовать экспоненциальное пространство. [6]

Вместо этого различные типы матроидов могут быть представлены более эффективно из других структур, из которых они определены: однородные матроиды из их двух числовых параметров, графические матроиды , бикруглые матроиды и гаммоиды из графов, линейные матроиды из матриц и т. д. Однако Алгоритм выполнения вычислений над произвольными матроидами нуждается в единообразном методе доступа к своему аргументу, а не в необходимости перепроектирования для каждого из этих классов матроидов. Модель оракула предоставляет удобный способ кодификации и классификации видов доступа, которые могут потребоваться алгоритму.

Начиная с Радо (1942) , «функции независимости» или « -функции» изучались как один из многих эквивалентных способов аксиоматизации матроидов. Функция независимости отображает набор элементов матроида в число если множество независимо или если он зависим; то есть это индикаторная функция семейства независимых множеств, по сути то же самое, что и оракул независимости. [7]

Матроидные оракулы также были частью самых ранних алгоритмических работ по матроидам. Так, Эдмондс (1965) , изучая проблемы разделения матроида, предположил, что доступ к данному матроиду осуществляется через подпрограмму, которая принимает на вход независимый набор и элемент , и либо возвращает схему в (обязательно уникальный и содержащий , если она существует) или определяет, что такой схемы не существует. Эдмондс (1971) использовал подпрограмму, которая проверяет, является ли данный набор независимым (то есть, в более современной терминологии, оракул независимости ), и заметил, что предоставляемой ею информации достаточно, чтобы найти базис минимального веса за полиномиальное время.

Начиная с работы Корте и Хаусманн (1978) и Хаусманн и Корте (1978) исследователи начали изучать оракулы с точки зрения доказательства нижних границ алгоритмов для матроидов и родственных структур. Обе эти статьи Хаусмана и Корте касались проблемы поиска независимого от максимальной мощности множества, которое легко для матроидов, но (как они показали) труднее аппроксимировать или точно вычислить для более общих систем независимости, представленных оракулом независимости. Эта работа вызвала шквал статей в конце 1970-х и начале 1980-х годов, показавших аналогичные результаты по твердости для задач на матроидах. [8] и сравнение силы разных типов матроидных оракулов. [9]

С тех пор оракул независимости стал стандартом для большинства исследований матроидных алгоритмов. [10] Также продолжались исследования нижних границ, [11] и сравнение различных типов оракулов. [12]

Виды оракулов

[ редактировать ]

Были рассмотрены следующие типы матроидных оракулов.

  • Оракул независимости принимает на вход набор элементов матроида и возвращает на выходе логическое значение , истинное, если данный набор является независимым, и ложное в противном случае. [13] Его можно легко реализовать на основе базовой структуры, из которой был определен матроид для графических матроидов , трансверсальных матроидов , гаммоидов и линейных матроидов, а также для матроидов, сформированных из них с помощью стандартных операций, таких как прямые суммы. [3]
  • Базовый оракул принимает на вход набор элементов матроида и возвращает на выходе логическое значение, истинное, если данный набор является базовым, и ложное в противном случае. [9]
  • Схемный оракул принимает на вход набор элементов матроида и возвращает на выходе логическое значение, истинное, если данный набор является схемой, и ложное в противном случае. [9]
  • Оракул поиска цепей Эдмондса (1965) принимает на вход независимое множество и дополнительный элемент и либо определяет, что их объединение независимо, либо находит в объединении цепь и возвращает ее.
  • Оракул ранга принимает на вход набор элементов матроида и возвращает на выходе числовое значение — ранг данного набора. [9]
  • Были рассмотрены три типа оракула закрытия : один, который проверяет, принадлежит ли данный элемент замыканию данного набора, второй, который возвращает замыкание набора, и третий, который проверяет, закрыто ли данное множество. [9]
  • Охватывающий оракул принимает на вход набор элементов матроида и возвращает на выходе логическое значение, истинное, если данный набор является охватывающим (т. е. содержит базис и имеет тот же ранг, что и весь матроид), и ложное в противном случае. [14]
  • Оракул обхвата принимает на вход набор элементов матроида и возвращает на выходе числовое значение — размер наименьшей схемы в этом наборе (или если данное множество независимо). [14]
  • для Порт-оракул фиксированного элемента матроида принимает на вход набор элементов матроида и возвращает на выходе логическое значение, истинное, если данный набор содержит схему, включающую и ложь в противном случае. [15]

Относительная сила разных оракулов

[ редактировать ]

Хотя известно множество типов оракулов, выбор которых можно упростить, поскольку многие из них эквивалентны по вычислительной мощности. Оракул называется полиномиально сводимым к другому оракулу если есть звонок может быть смоделирован алгоритмом, который обращается к матроиду, используя только оракул и занимает полиномиальное время , измеряемое количеством элементов матроида; с точки зрения теории сложности, это сокращение Тьюринга . Два оракула называются полиномиально эквивалентными , если они полиномиально сводимы друг к другу. Если и полиномиально эквивалентны, то каждый результат, доказывающий существование или отсутствие алгоритма с полиномиальным временем для задачи матроида с использованием oracle также доказывает то же самое для оракула .

Например, оракул независимости полиномиально эквивалентен оракулу поиска цепей Эдмондса (1965) . Если доступен оракул для поиска цепей, набор можно проверить на независимость, используя не более вызовы оракула, начиная с пустого набора , добавляя элементы данного набора по одному элементу за раз и используя оракул поиска цепей, чтобы проверить, сохраняет ли каждое добавление независимость набора, который был создан до сих пор. В другом направлении, если доступен оракул независимости, схема в наборе можно найти, используя не более вызовы оракула путем тестирования для каждого элемента , ли является независимым и возвращает элементы, для которых ответ отрицательный. Оракул независимости также полиномиально эквивалентен оракулу ранга, охватывающему оракулу, первым двум типам оракула закрытия и портовому оракулу. [1]

Базисный оракул, оракул схемы и оракул, проверяющий, является ли данное множество замкнутым, слабее, чем оракул независимости: их можно моделировать за полиномиальное время с помощью алгоритма, который обращается к матроиду с помощью оракула независимости, но не наоборот. . Кроме того, ни один из этих трех оракулов не может моделировать друг друга за полиномиальное время. В том же смысле оракул обхвата сильнее оракула независимости. [9]

Помимо полиномиальных сокращений Тьюринга по времени, рассматривались и другие типы сводимости. В частности, Карп, Упфал и Вигдерсон (1988) показали, что:в параллельных алгоритмах оракулы ранга и независимости существенно различаются по вычислительной мощности. Оракул ранга позволяет построить базис минимального веса путем одновременные запросы префиксов отсортированного порядка элементов матроида: элемент принадлежит оптимальному базису тогда и только тогда, когда ранг его префикса отличается от ранга предыдущего префикса. Напротив, поиск минимального базиса с помощью оракула независимости происходит намного медленнее: его можно решить детерминированно в временные шаги, и существует нижняя граница даже для рандомизированных параллельных алгоритмов.

Алгоритмы

[ редактировать ]

Известно, что многие проблемы с матроидами могут быть решены за полиномиальное время с помощью алгоритмов, которые получают доступ к матроиду только через независимого оракула или другого оракула эквивалентной мощности, без необходимости каких-либо дополнительных предположений о том, какой тип матроида им предоставлен. К этим полиномиально решаемым задачам относятся:

  • Нахождение минимального или максимального веса взвешенного матроида с использованием жадного алгоритма . [2]
  • Разбиение элементов матроида на минимальное количество независимых наборов и поиск наибольшего набора, одновременно независимого в двух заданных матроидах. Последняя проблема называется пересечением матроидов , и решения обеих проблем тесно связаны друг с другом. [16]
  • Проверка того, является ли матроид -связный (в смысле Тутте 1966 ) для . [17]
  • Проверка того, является ли данный матроид графическим [18] или обычный . [19]
  • Нахождение разложения уха данного матроида, последовательности цепей, объединением которых является матроид и в которой каждая цепь остается схемой после того, как все предыдущие цепи в последовательности сжимаются. Такое разложение можно найти и с тем дополнительным свойством, что выбранный элемент матроида принадлежит каждой схеме. [15]
  • Нахождение разложения ветвей данного матроида, когда ширина его ветвей не превышает фиксированной константы. [20]
  • Перечисление всех оснований, квартир или схем матроида за полиномиальное время для каждого выходного набора. [21]
  • Аппроксимация количества оснований с помощью полностью полиномиальной рандомизированной схемы аппроксимации для матроида с элементы и ранг , с дополнительным предположением, что количество оснований находится в пределах полиномиального коэффициента числа - наборы элементов. [22]

Доказательства невозможности

[ редактировать ]

Для многих задач матроида можно показать, что оракул независимости не обеспечивает достаточной мощности, чтобы позволить решить проблему за полиномиальное время. Основная идея этих доказательств — найти два матроида. и на которых ответ на задачу различается и которые алгоритму трудно отличить друг от друга. В частности, если имеет высокую степень симметрии и отличается от только в ответах на небольшое количество запросов, тогда алгоритму может потребоваться очень большое количество запросов, чтобы быть уверенным в различении входных данных типа из входных данных, сформированных с использованием одной из симметрий к обменам . [3]

Простой пример этого подхода можно использовать, чтобы показать, что трудно проверить, является ли матроид однородным . Для простоты изложения пусть будь четным, пусть будь единым матроидом , и пусть быть матроидом, состоящим из сделав один из -элементные базисы зависимый, а не независимый. Чтобы алгоритм правильно проверял, являются ли его входные данные однородными, он должен уметь различать из всех возможных перестановок . Но для того, чтобы детерминированный алгоритм мог это сделать, он должен протестировать каждый из -элементные подмножества элементов: если он пропустит один набор, он может быть обманут оракулом, который выберет тот же самый набор в качестве зависимого. Поэтому проверка однородности матроида может потребовать

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

Дженсен и Корте (1982) формализовали этот подход, доказав, что всякий раз, когда существуют два матроида и на одном и том же наборе элементов, но с разными ответами на задачи, алгоритм, который правильно решает данную задачу на этих элементах, должен использовать как минимум

запросы, где обозначает автоморфизмов группу , обозначает семейство множеств, независимость которых отличается от к , и обозначает подгруппу автоморфизмов, отображающую самому себе. Например, группа автоморфизмов однородного матроида — это просто симметрическая группа размером , а в задаче о тестировании единых матроидов был только один набор с , меньший в экспоненциальном масштабе, чем . [24]

Проблемы, которые, как было доказано, невозможно вычислить с помощью матроидного алгоритма-оракула за полиномиальное время, включают:

  • Проверка того, является ли данный матроид однородным. [23]
  • Проверка того, содержит ли данный матроид фиксированный матроид. будучи несовершеннолетним, за исключением особых случаев, когда является однородным с рангом или корангом не более одного. В более общем смысле, если — фиксированное конечное множество матроидов, и в нем не существует однородного матроида. , то невозможно за полиномиальное время проверить, содержит ли данный матроид один или несколько матроидов в как несовершеннолетний. [25]
  • Проверка того, является ли данный матроид двоичным , представимым в любом конкретном фиксированном поле или существует ли поле, в котором он представим. [26]
  • Решение задачи сопоставления матроидов, в которой входными данными являются граф и матроид в его вершинах, а цель состоит в том, чтобы найти в графе соответствие как можно большего размера, при условии, что совпадающие вершины образуют независимое множество. . [27]
  • Проверка того, является ли данный матроид самодвойственным , трансверсальным , двудольным , эйлеровым или ориентируемым . [3]
  • Вычисление обхвата (размера наименьшего контура), размера наибольшего контура, количества контуров, количества оснований, количества квартир, количества квартир максимального ранга, размера наибольшего контура, полинома Тутте или связности заданного матроид. [3]

Среди множества всех свойств -элементных матроидов, доля свойств, проверка которых не требует экспоненциального времени, в пределе обращается в ноль, так как уходит в бесконечность. [6]

См. также

[ редактировать ]

Примечания

[ редактировать ]
  1. ^ Jump up to: а б Робинсон и Уэлш (1980) ; Хаусманн и Корте (1981) ; Куллард и Хеллерштейн (1996) .
  2. ^ Jump up to: а б Эдмондс (1971) .
  3. ^ Jump up to: а б с д и Дженсен и Корте (1982) .
  4. ^ Мэйхью (2008) .
  5. ^ Пифф и Уэлш (1971) ; Пифф (1973) ; Кнут (1974) ; Бансал, Пендавинг и ван дер Пол (2012) .
  6. ^ Jump up to: а б Робинсон и Уэлш (1980) .
  7. ^ Дополнительные исследования матроидов, основанные на аксиоматизации функции независимости, см., например, Радо (1957) , Лазарсон (1958) и Инглтон (1959) .
  8. ^ Ловас (1981) ; Сеймур (1981) ; Сеймур и Уолтон (1981) ; Дженсен и Корте (1982) ; Трумпер (1982) .
  9. ^ Jump up to: а б с д и ж Робинсон и Уэлш (1980) ; Хаусманн и Корте (1981) .
  10. ^ См . Каннингем (1986) , Келманс и Полесский (1994), Фуджишиге и Чжан (1995) , Чавес Ломели и Уэлш (1996) , Хачиян и др. (2005) и Оум и Сеймур (2007) .
  11. ^ Азар, Бродер и Фриз (1994) .
  12. ^ Карп, Упфал и Вигдерсон (1988) ; Куллард и Хеллерштейн (1996) .
  13. ^ Эдмондс (1971) ; Робинсон и Уэлш (1980) ; Хаусманн и Корте (1981) .
  14. ^ Jump up to: а б Хаусманн и Корте (1981) .
  15. ^ Jump up to: а б Куллард и Хеллерштейн (1996) .
  16. ^ Эдмондс (1965) ; Каннингем (1986) .
  17. ^ Биксби и Каннингем (1979) . Статья, в которой утверждается аналогичный результат для любой фиксированной константы. было объявлено Каннингемом и Эдмондсом примерно в одно и то же время, но, похоже, не было опубликовано. Трумпер (1998) , стр. 186–187, пишет: «Нахождение -суммы на общее гораздо сложнее... Мы не знаем, как это можно эффективно реализовать для бинарных матроидов, не говоря уже о матроидах общего назначения».
  18. ^ Сеймур (1981) .
  19. ^ Трумпер (1982) .
  20. ^ Оум и Сеймур (2007) .
  21. ^ Хачиян и др. (2005) .
  22. ^ Чавес Ломели и Уэлш (1996) . Напротив, детерминированные алгоритмы не могут точно аппроксимировать количество оснований матроида за полиномиальное время ( Azar, Broder & Frieze 1994 ).
  23. ^ Jump up to: а б Робинсон и Уэлш (1980) ; Дженсен и Корте (1982) .
  24. ^ не только в Jensen & Korte (1982) Эта формализация рассматривается , но и в Korte & Schrader (1981) . В большинстве случаев применения этой техники в Jensen & Korte (1982 ) является однородным, но Сеймур (1981) применил ту же идею к неоднородному, но очень симметричному матроиду.
  25. ^ Сеймур и Уолтон (1981) . Результаты Сеймура (1981) и Дженсена и Корте (1982) дают частные случаи этого для задач поиска минор и минор матроида Вамоса соответственно. Проверка того, является ли матроид графическим или регулярным, может быть выражена через конечный набор запрещенных миноров и может быть решена за полиномиальное время, но запрещенные миноры для этих задач включают однородный матроид. , поэтому они не противоречат этому результату о невозможности.
  26. ^ Сеймур (1981) показал это для бинарных матроидов, Сеймур и Уолтон (1981) для конечных полей, Трумпер (1982) для произвольных полей и Дженсен и Корте (1982) для существования поля, в котором матроид представим.
  27. ^ Ловас (1981) ; Дженсен и Корте (1982) . Однако частный случай этой проблемы для двудольных графов может быть решен за полиномиальное время как задача пересечения матроидов .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 78e50c11ad228eb59d8e176f219b3acf__1701253560
URL1:https://arc.ask3.ru/arc/aa/78/cf/78e50c11ad228eb59d8e176f219b3acf.html
Заголовок, (Title) документа по адресу, URL1:
Matroid oracle - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)