NP-сложна ли эта комбинаторная задача оптимизации?

Я работаю над проблемой комбинаторной оптимизации, которая, как я подозреваю, является NP-сложной, и генетический алгоритм хорошо работает с нашим набором данных. Мы исследовательская группа и планируем опубликовать наши результаты в нашей области (не в математике или CS), и я хотел бы изучить NP-сложный вопрос, прежде чем отправлять рукопись на рассмотрение.

Есть два основных вопроса:

1) Хотелось бы узнать, изучалась ли именно эта оптимизационная задача. Я тщательно искал освещенный, но не видел ничего точно такого же.

2) Если проблема не была изучена, я мог бы попробовать сделать доказательство сводимости и хотел бы получить несколько указателей на хороших NP-полных кандидатов для редукции.

Проблема может быть описана двумя способами: как вариант подпоследовательности и как проблема двудольного графа.

Во вкусе подпоследовательностей я хочу найти «расслабленную» подпоследовательность, которая допускает перестановки, и оптимизировать, чтобы минимизировать количество перестановок. Например: (. = Любой другой символ)

Запрос: abc, Цель: ..b.a.b.c., Результат: abc (обычная подпоследовательность)

Запрос: abc, Цель: ..b.a.c.a., Результат: bac (подпоследовательность с одной перестановкой)

Двудольная формулировка - это проблема сопоставления или задача линейного присвоения, при которой граф разделен на узлы символов запроса и узлы целевых символов. Ребра соединяют символы запроса с целевыми символами, так что есть ровно одно ребро от каждого символа запроса к целевому символу. Целевая функция состоит в том, чтобы минимизировать количество пересечений краев (также называемое «числом пересечений» в освещении). Это похоже на алгоритмы компоновки двудольного графа, которые меняют порядок размещения узлов, чтобы минимизировать пересечение ребер, но моя проблема требует, чтобы оба порядка узлов оставались фиксированными.

Есть мысли экспертов по вопросам 1 или 2?

Заранее спасибо!


comment
Если вы не публикуете материалы по математике или компьютерной науке, результат NP-полноты не имеет значения и просто раздражает биолога или доктора медицины, проводящего обзор. Был там.   -  person piccolbo    schedule 14.10.2010
comment
Что вы имеете в виду под перестановкой? Один, состоящий только из двух символов? Или только два соседних? Я думаю, что перестановка в общем смысле позволяет переставить всю строку, но тогда проблема становится тривиальной?   -  person piccolbo    schedule 14.10.2010
comment
Если я докажу это NP-сложно, получу ли я соавторство?   -  person piccolbo    schedule 14.10.2010
comment
Будет ли, Запрос: abc Цель: ..c.b.a.a Результат: cba, тогда будет три перестановки (в соответствии с вашим использованием термина)? Если да, то, возможно, вы имеете в виду перестановки, а не перестановки. Транспонирование - это замена двух соседних символов. Кроме того, из любопытства, сколько уникальных символов содержится в запросе / цели?   -  person Justin Peel    schedule 15.10.2010


Ответы (4)


Просто идея: это как-то эквивалентно поиску минимального количества подкачки, необходимого для сортировки массива (MIN-SBR)? Если да, то это NP-Hard.

(кстати, вы работаете над чем-то похожим на это?)

person J-16 SDiZ    schedule 14.10.2010

Я не думаю, что это NP-сложно. См. Работы Певзнера и Ханнехали. На ум приходит статья под названием `` От капусты до репы ''. Идея состоит в том, чтобы найти минимальное количество инверсий для перехода от одной строки к другой. Для этого у них есть алгоритм полифайма.

person Swapnil Bhatia    schedule 03.01.2014

Проблема со словом "проблема" должна быть сложнее, не так ли? - J-16 SDiZ 14

Да, наличие нескольких вхождений символа в цель, кажется, делает мою проблему сложнее, чем MIN-SBR, поэтому с этой точки зрения моя проблема будет по крайней мере такой же сложной, как NP-complete. С другой стороны, мне еще не ясно, как их центральное понятие разворота блоков повлияет на мое заявление о NP-полноте.

Я уверен, что было бы неплохо узнать, можно ли решить мою оптимизацию за полиномиальное время. Другими словами, было бы неудобно, если бы рецензент вернулся с пятью строками псевдокода, который находит глобальный максимум за O (n).

person fred    schedule 14.10.2010

Будет ли, Запрос: abc Цель: ..c.b.a.a Результат: cba, тогда будет три перестановки (в соответствии с вашим использованием термина)? Если да, то, возможно, вы имеете в виду перестановки, а не перестановки. Транспонирование - это замена двух соседних символов местами.

Хороший вопрос. Мы заинтересованы в отображении из Query -> Target, которое имеет как можно меньше пересечений. Это очень большая мотивация для упоминания двусторонних пересечений краев в исходном посте. В качестве альтернативы вы можете подумать о максимизации статистики ранга, такой как Ро Спирмена, по сопоставлению.

Также из любопытства, сколько уникальных символов содержится в запросе / цели? - Джастин Пил, 18 лет

Типичный запрос: 100, типичная цель: 1000. Комбинаторно это огромное пространство для решения.

person fred    schedule 15.10.2010