Co to są nakładające się podproblemy?

Spisu treści:

Co to są nakładające się podproblemy?
Co to są nakładające się podproblemy?

Wideo: Co to są nakładające się podproblemy?

Wideo: Co to są nakładające się podproblemy?
Wideo: Dynamic Programming | Set 1 (Overlapping Subproblems Property) | GeeksforGeeks 2024, Listopad
Anonim

W informatyce mówi się, że problem ma nakładające się podproblemy, jeśli problem można podzielić na podproblemy, które są wielokrotnie używane lub algorytm rekurencyjny dla problemu rozwiązuje ten sam podproblem w kółko, zamiast zawsze generować nowe podproblemy.

Jaka jest optymalna podstruktura i nakładające się podproblemy w programowaniu dynamicznym?

Problem ma optymalną właściwość podstruktury, jeśli optymalne rozwiązanie danego problemu można uzyskać za pomocą optymalnego rozwiązania jego podproblemów. Programowanie dynamiczne korzysta z tej właściwości, aby znaleźć rozwiązanie.

Co nakłada się na podproblem w programowaniu dynamicznym?

1) Zachodzące na siebie podproblemy:

Programowanie dynamiczne jest używane głównie wtedy, gdy ciągle potrzebne są rozwiązania tych samych podproblemów. W programowaniu dynamicznym obliczone rozwiązania podproblemów są przechowywane w tabeli, dzięki czemu nie trzeba ich ponownie przeliczać.

Jaka jest różnica między optymalną podstrukturą a nakładającymi się podproblemami?

Rozumiem docelowe podejście dla obu metod, w których Optymalna podstruktura oblicza optymalne rozwiązanie na podstawie danych wejściowych n, podczas gdy nakładające się podproblemy dotyczą wszystkich rozwiązań dla zakresu danych wejściowych, powiedzmy od 1 do n. W przypadku problemu takiego jak problem z cięciem pręta.

Która z tych technik wykorzystuje nakładanie się podproblemów?

Programowanie dynamiczne to technika rozwiązywania problemów z nakładającymi się podproblemami. W tym celu przechowujemy wynik rozwiązania problemu podrzędnego, który został rozwiązany raz, do ponownego wykorzystania w przyszłości. Technika przechowywania rozwiązań podproblemów nazywa się zapamiętywaniem.

Zalecana: