Haben Sie jemals eine Geschäftsanforderung hatte, die ein NP-vollständiges Problem stellte sich heraus zu sein?

StackOverflow https://stackoverflow.com/questions/628568

  •  06-07-2019
  •  | 
  •  

Frage

NP-Vollständigkeit scheint mir, wie eines jener Dinge, die meist sind nur theoretisch und nicht wirklich etwas, das Sie in in einer normalen Arbeitsumgebung führen würden.

Also ich irgendwie bin neugierig, ob jemand jemals ein Problem bei ihrer Arbeit ausführen, die NP-vollständig, entpuppte und dass das Design geändert werden muß für sich aufzunehmen?

War es hilfreich?

Lösung

Wie die andere gesagt haben, die Tornister (für die Verpackung von Fracht) und Handlungsreis Problem sind wahrscheinlich die häufigste „reale Welt“ NP-vollständige Probleme.

Ich neige dazu, Probleme bei der Arbeit auszuführen, die nachgewiesen werden können, nicht NP vollständig oder unvollständig sein, weil sie nicht sehr gut definiert.

Andere Tipps

Jede Art von Mapping-Tool, wo man eine optimale Fahrpunkte zwischen mehr als zwei Orten finden müssen, können ohne irgendwelche Änderungen zu einem NP-vollständiges Problem

Das Problem Welle der Optimierung von einem Lager Kommissionierung entspricht das Reisen Salesman Problem .

Das heißt, Sie haben N-Bestellungen abgeholt werden warten, und Sie mögen die n besten Aufträge finden von einem Picker besucht zu minimieren zurückgelegte Strecke und verschiedene Kommissionierplätzen.

ich auf dieses Problem vor kurzem kam. Wir punted und verwendet, um eine Annäherung, die gut für den durchschnittlichen Fall funktionieren wird, kann aber manchmal suboptimal Ergebnisse liefern.

Auch die Knapsackproblems (die NP-schwer ist) zeigt ziemlich häufig auf. Es ist eine verführerische Falle Dinge zu optimieren, um zu versuchen.

Es ist erwähnenswert, dass es heuristische Approximationstechniken für „gut genug“ Antworten für NP-vollständige Probleme, wie zum Beispiel simulierte Glühen und komprimierte Glühen zu erhalten. Wenn Sie Ihr NP-vollständiges Problem auf das Reiseproblem reduzieren können, können Sie diese Ansätze verwenden. (Alle NP-vollständiges Problem kann auf jedes andere NP-vollständiges Problem reduziert werden, aber tatsächlich tun, das ist manchmal ein Schmerz in den Arsch.)

Wie auch immer, es simuliert Glühen und Druckglühen Implementierungen gibt; ein solcher ist Djinni , die in C ++ geschrieben ist und hat Python-Bindings.

stimmte ich Software für einen Freund Vater zu schreiben, wenn ich im ersten Jahr College-Student war. Es war für die Planung von Ressourcen. Ich wusste es nicht an der Zeit, aber es stellte sich heraus, ein NP vollständiges Problem zu sein.

Zum Glück nur eine Lösung zu finden war akzeptabel - nicht brauchen, um die optimale Lösung zu finden. Es war Spaß beim Schreiben Heuristiken - eigentlich eine Reihe von ihnen -, die geändert werden können, während das Programm lief und versuchen, das Problem zu lösen.

Ich hatte eine Lösung in einem Sommer getan, aber arbeitete dann auf neue Versionen jedes Jahr in Folge. Meine große Pläne es fiel flach zu verkaufen. Ich war ein besserer Entwickler als Vermarkter.

Es war eine Menge Spaß und lehrte mich früh auf eine Menge über die reale Welt der Entwicklung - (Endverbraucher, Erfassung von Anforderungen, Prüfung, etc. - eine Menge Dinge, die Sie nicht in under CS erhalten DO)

Ihre Frage zu beantworten - es für einen Lehrer ist, die Studenten für spezielle Anweisung hatte zu planen. Er war ein Logopäde und Akustiker - aber es könnte zu einem ähnlichen Feld angewandt werden. Er hatte vorhandene Lehrer, Klassenzimmer und Studentenaktivitäten arbeiten um und hatte mit den Schülern eine bestimmte Anzahl von Malen pro Woche zu treffen. Es ist die Knapsackproblems oder eine beliebige Anzahl anderer ähnlicher / Äquivalent Planungsprobleme.

Auch hier zeigte sich, dass nur eine Lösung bekommen war in Ordnung - wir nichts zu maximieren oder zu minimieren hatte - wir mussten nur alle Schüler aufnehmen.

Ich kann nur daran erinnern, dass Testfälle in der Lage zu lösen, die ich verwendet Szenarien laufen - alle Probleme, die er im Laufe der Jahre stellten wir gelöst.

ich war nie in der Lage, es zu vermarkten - vor allem, weil ich keine Ahnung hatte, was ich tat, und ich war nicht sicher, wie mein Markt / Käufer zu erreichen.

Das Reiseproblem ist ein perfektes Beispiel. Die gleiche Art von logistischen Problemen gelten für Fluggesellschaften, Postämter, und alle Arten von Industrien.

Ein weiteres Beispiel ist, dass die Unternehmen mit regionalen Distributionszentren, vor allem denjenigen, die direkt an den Kunden (zB Netflix) liefern, müssen über die Familie von NP-vollständigen Problemen wie Lage der Einrichtung .

In der Tat, die Idee, dass NP-vollständige Probleme in der realen Welt relevant sind, wird durch die Tatsache belegt, dass Approximationsalgorithmen für sie so zeigt sich häufig in Zeitschriften der operativen Forschung.

Ich arbeite an einem Mapping-Programm ein paar Jahre zurück, wie eine native Google Maps. Ich habe kleine Markierungen auf der Karte für Standorte, aber viele Marker wurden eng an bestimmten Standorten gebündelt. Mein Chef sagte: „Lassen Sie mich es so mache, kann ich nur den Marker zieht weg ein wenig“ (und es würde eine Linie oder Sprechblase-Zeiger-Dingen von der Markierung der tatsächlichen Lage gehen hat).

Ich dachte, es albern war der Benutzer dies tut zu machen, vor allem, da er 5 Minuten verbringen würde es perfekt zu machen, und dann die Zoomstufe ändern, und dann wäre alles falsch sein.

ich beschlossen, zu versuchen, eine Funktion zu schreiben, einen Weg finden Labels wie zu legen, dass der gesamte Bildschirmabstand von jedem Etikett seiner Lage minimiert wurde. Ich glaube, dass ich mich damals überzeugt, dass dies NP-vollständig, aber dass die Anzahl der Punkte klein genug sein, könnte es noch möglich sein, zumindest in vielen Fällen. (Ich erinnere mich, wir viel zu viel Zeit in der Klasse auf NP-Vollständigkeitsbeweise ausgegeben, und nicht genug auf alternative Lösungen: Wenn Ihr Chef will etwas getan, kann man nicht einfach sagen: „NP hart, nicht tun“ - Sie müssen noch kommen mit etwas ).

Dann kam Google Maps zusammen und nur splatted alle Etiketten auf der jeweils anderen, die völlig saugt (und ich es verfluchen jeden Tag), aber ich kann mit ihren anderen Funktionen, die nicht konkurrieren, so habe ich aufgegeben. : - (

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top