Als «dynamic-programming» getaggte Fragen

Fragen zu Problemen, die durch die Kombination rekursiv erhaltener Lösungen von Teilproblemen gelöst werden können.

3
Rucksackproblem - NP-komplett trotz dynamischer Programmierlösung?
Rucksackprobleme lassen sich leicht durch dynamische Programmierung lösen. Dynamische Programmierung läuft in Polynomialzeit; deshalb machen wir das, richtig? Ich habe gelesen, dass es sich tatsächlich um ein NP-vollständiges Problem handelt, was bedeuten würde, dass das Lösen des Problems in einem Polynomproblem wahrscheinlich unmöglich ist. Wo ist mein Fehler?

3
Festlegen von Unterproblemen für die dynamische Programmierung
Ich habe die Technik des dynamischen Programmierens mehrmals angewendet, aber heute fragte mich ein Freund, wie ich meine Unterprobleme definiere. Mir wurde klar, dass ich keine Möglichkeit hatte, eine objektive formale Antwort zu geben. Wie definieren Sie formal ein Unterproblem für ein Problem, das Sie mit dynamischer Programmierung lösen würden?


4
Worum geht es bei dynamischer Programmierung?
Sorry im Voraus, wenn diese Frage dumm klingt ... Soweit ich weiß, funktioniert das Erstellen eines Algorithmus mit dynamischer Programmierung folgendermaßen: Drücken Sie das Problem als wiederkehrende Beziehung aus. Implementieren Sie die Wiederholungsbeziehung entweder durch Auswendiglernen oder durch einen Bottom-up-Ansatz. Soweit ich weiß, habe ich alles über dynamische Programmierung gesagt. …

5
Eine Fallunterscheidung zur dynamischen Programmierung: Benötigtes Beispiel!
Ich arbeite seit einiger Zeit an dynamischer Programmierung. Die kanonische Methode zum Auswerten einer dynamischen Programmierrekursion besteht darin, eine Tabelle mit allen erforderlichen Werten zu erstellen und zeilenweise zu füllen. Siehe zum Beispiel Cormen, Leiserson et al .: "Introduction to Algorithms" für eine Einführung. Ich konzentriere mich auf das tabellenbasierte …

6
Wie unterscheidet sich dynamische Programmierung von Brute Force?
Ich habe mich gerade mit dynamischer Programmierung befasst, als ich auf folgendes Zitat gestoßen bin Ein dynamischer Programmieralgorithmus untersucht alle Möglichkeiten zur Lösung des Problems und wählt die beste Lösung aus. Daher können wir uns die dynamische Programmierung grob als intelligente Brute-Force-Methode vorstellen, die es uns ermöglicht, alle möglichen Lösungen …

3
Größte durch n teilbare Summe
Ich habe diese Frage auf StackOverflow gestellt , aber ich denke, hier ist ein geeigneterer Ort. Dies ist ein Problem aus dem Kurs Einführung in Algorithmen : Sie haben ein Array aaa mit nnn positiven ganzen Zahlen (das Array muss nicht sortiert oder die Elemente eindeutig sein). Schlagen Sie einen …


3
Memoisierung ohne Array
In der Einführung in Algorithmen von Cormen et al. Wird in Abschnitt 15.3 Elemente der dynamischen Programmierung das Speichern wie folgt erläutert: Ein gespeicherter rekursiver Algorithmus verwaltet einen Eintrag in einer Tabelle zur Lösung jedes Teilproblems. Jeder Tabelleneintrag enthält anfangs einen speziellen Wert, der angibt, dass der Eintrag noch ausgefüllt …

2
Wann kann ich mit dynamischer Programmierung die zeitliche Komplexität meines rekursiven Algorithmus reduzieren?
Dynamisches Programmieren kann die Zeit reduzieren, die zum Ausführen eines rekursiven Algorithmus erforderlich ist. Ich weiß, dass dynamisches Programmieren die zeitliche Komplexität von Algorithmen reduzieren kann. Sind die allgemeinen Bedingungen so, dass bei Erfüllung durch einen rekursiven Algorithmus die Verwendung einer dynamischen Programmierung die zeitliche Komplexität des Algorithmus verringert? Wann …


2
Wortfaktorisierung in
Wenn zwei Zeichenfolgen S1,S2S1,S2S_1, S_2 , schreiben wir S1S2S1S2S_1S_2 für ihre Verkettung. Bei einer Zeichenkette SSS und Integer k≥1k≥1k\geq 1 , wir schreiben (S)k=SS⋯S(S)k=SS⋯S(S)^k = SS\cdots S für die Verkettung von kkk Kopien von SSS . Wenn wir nun einen String haben, können wir ihn mit dieser Notation 'komprimieren', dh …

1
Variante des Rucksackproblems
Wie würden Sie das Rucksackproblem in einer dynamischen Programmiersituation angehen, wenn Sie jetzt die Anzahl der Elemente im Rucksack durch eine Konstante begrenzen müssten ? Dies ist das gleiche Problem (maximales Gewicht von , jeder Gegenstand hat einen Wert und ein Gewicht ), aber Sie können dem Rucksack nur Gegenstände …

2
Dynamische Programmierung mit vielen Teilproblemen
Dynamische Programmierung mit vielen Teilproblemen. Ich versuche also, dieses Problem in der Interview Street zu lösen: Gitter Gehen (50 Punkte) , Sie sind in einem befindet NNN -dimensionalen Gitter an der Position (x1,x2,…,xN)(x1,x2,…,xN)(x_1,x_2,\dots,x_N) . Die Abmessungen des Gitters sind (D1,D2,…,DN(D1,D2,…,DN(D_1,D_2,\dots,D_N ). In einem Schritt können Sie in einer der NNN …


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.