У Вас когда-либо было бизнес-требование, которое оказалось Полной NP проблемой?

Если вы хотите три отдельных строки, вы можете использовать for loop.

Попробуйте следующий код:

x = ['nm0000131', 'nm0000432', 'nm0000163']
for value in x:
    print(value) 

Вывод будет выглядеть следующим образом:

nm0000131                                                                                                                      
nm0000432                                                                                                                      
nm0000163

Следующий код будет отображать вывод, подобный "nm0000131" ,"nm0000432" ,"nm0000163":

[ 112]

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

y = {'131': 'a', '432': 'b', '163': 'c'}
w = []
for key, value in y.items():
    w.append(value)

print(w)

Вывод:

['c', 'a', 'b'] 
7
задан 4 revs, 4 users 60% 5 August 2009 в 18:17
поделиться

9 ответов

Как другие заявили, ранец (для упаковки груза) и проблема коммивояжеров является, вероятно, наиболее распространенным "реальным миром" полные NP проблемы.

Я склонен сталкиваться с проблемами на работе, которая, как могут доказывать, не является NP, завершенным или неполным, потому что они очень хорошо не определяются.

7
ответ дан 6 December 2019 в 21:20
поделиться

Любой вид отображающегося инструмента, где необходимо найти оптимальные точки перемещения больше чем между двумя местами, может без любых изменений становиться Полной NP проблемой

1
ответ дан 6 December 2019 в 21:20
поделиться

Проблема оптимизации волны, выбирающей со склада, эквивалентна проблеме Коммивояжера.

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

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

1
ответ дан 6 December 2019 в 21:20
поделиться

Проблемой коммивояжера является идеальный пример. Тот же вид логистических проблем относится к авиакомпаниям, почтовым отделениям и всем видам отраслей промышленности.

0
ответ дан 6 December 2019 в 21:20
поделиться

Кроме того, задача о ранце (который является NP-трудным) обнаруживается справедливо часто. Это - обольстительное прерывание для попытки оптимизировать вещи.

1
ответ дан 6 December 2019 в 21:20
поделиться

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

. было глупо заставлять пользователя делать это, тем более что он тратил 5 минут на доведение до совершенства, а затем менял уровень масштабирования, и тогда все было бы неправильно.

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

Затем появились Google Maps и просто расклеили все метки друг на друга, что полный отстой (и я проклинаю это каждый день), но я могу не конкурировать с их другими функциями, поэтому я сдался. : - (

0
ответ дан 6 December 2019 в 21:20
поделиться

Стоит отметить, что существуют методы эвристической аппроксимации для получения "достаточно хороших" ответов на NP-полные проблемы, такие как имитация отжига и отжиг со сжатием. Если вы можете свести проблему NP-complete к проблеме коммивояжера, вы можете использовать эти подходы. (Любая NP-полная проблема может быть сведена к любой другой NP-полной проблеме, но на самом деле это иногда становится головной болью.)

В любом случае, существуют реализации моделируемого отжига и сжатого отжига; одним из них является Djinni , который написан на C ++ и имеет привязки к Python.

1
ответ дан 6 December 2019 в 21:20
поделиться

Другой пример: компании с региональными распределительными центрами, особенно те, которые доставляют товары напрямую клиентам (например, Netflix), должны беспокоиться о семействе проблем NP-Complete, известных как location .

На самом деле идея о том, что NP-Complete задачи актуальны в реальном мире, подтверждается тем фактом, что аппроксимационные алгоритмы для них так часто появляются в журналах операционных исследований.

0
ответ дан 6 December 2019 в 21:20
поделиться

Я согласился написать программу для отца друга, когда был студентом первого курса колледжа. Это было для планирования ресурсов. Я не осознавал этого в то время, но это оказалось полной проблемой NP.

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

Летом у меня было решение, но потом каждый год работал над новыми версиями. Мои большие планы продать это рухнули. Я был лучшим разработчиком, чем маркетологом.

Это было очень весело и рано научило меня многому о реальном мире разработки - (конечные пользователи, сбор требований, тестирование и т. Д.) - многое из того, что вы ДОН' Я попадаю в бакалавриат CS)

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

Опять же, оказалось, что просто получить решение было нормально - нам не нужно было ничего максимизировать или минимизировать - нам просто нужно было приспособить всех студентов.

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

Я никогда не мог продавать его - в основном потому, что я понятия не имел, что делаю, и не знал, как выйти на свой рынок / покупателей.

1
ответ дан 6 December 2019 в 21:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: