de la DAA 0-1 Mochila

Anuncios

En este tutorial, anteriormente hemos hablado de fracciones de Mochila problema utilizando Codiciosos enfoque. Hemos demostrado que el enfoque codicioso da una solución óptima para la mochila fraccionada. Sin embargo, este capítulo cubrirá 0-1 problema mochila y su análisis.

en la mochila 0-1, los artículos no se pueden romper, lo que significa que el ladrón debe tomar el artículo como un todo o debe dejarlo., Esta es la razón detrás de llamarlo como 0-1 Mochila.

Por lo tanto, en el caso de 0-1 Mochila, el valor de xi puede ser 0 o 1, donde otras restricciones siguen siendo las mismas.

0-1 mochila no se puede resolver por enfoque codicioso. El enfoque codicioso no garantiza una solución óptima. En muchos casos, el enfoque codicioso puede dar una solución óptima.

los siguientes ejemplos establecerán nuestra Declaración.

ejemplo-1

consideremos que la capacidad de la mochila es W = 25 y los elementos son como se muestra en la siguiente tabla.,

Elemento Un B C D
Beneficios 24 18 18 10
Peso 24 10 10 7

Sin tener en cuenta el beneficio por unidad de peso (pi/wi), si aplicamos Codiciosos enfoque para resolver este problema, el primer elemento de Una será seleccionada como contribuirá máximo beneficio entre todos los elementos.,

después de seleccionar el elemento A, no se seleccionará más elemento. Por lo tanto, para este conjunto dado de artículos el beneficio total es 24. Considerando que, la solución óptima se puede lograr mediante la selección de elementos, B y C, donde el beneficio total es 18 + 18 = 36.

Ejemplo-2

en lugar de seleccionar los elementos en función del beneficio general, en este ejemplo los elementos se seleccionan en función de la relación pi/wi. Consideremos que la capacidad de la mochila es W = 60 y los artículos son como se muestra en la siguiente tabla.,

Item A B C
Price 100 280 120
Weight 10 40 20
Ratio 10 7 6

Using the Greedy approach, first item A is selected. Then, the next item B is chosen. Hence, the total profit is 100 + 280 = 380., Sin embargo, la solución óptima de esta instancia se puede lograr seleccionando elementos, B y C, donde el beneficio total es 280 + 120 = 400.

Por lo tanto, se puede concluir que el enfoque codicioso puede no dar una solución óptima.

para resolver la mochila 0-1, se requiere un enfoque de programación dinámico.

declaración del problema

un ladrón está robando una tienda y puede llevar un peso máximo de W en su mochila. Hay n artículos y el peso del ith artículo es wi y el beneficio de seleccionar este artículo es pi. ¿Qué artículos debe tomar el ladrón?,

enfoque de programación dinámica

deje que yo sea el elemento más numerado en una solución óptima S Para W dólares. Entonces S ‘ = s – {i} es una solución óptima para W-wi dólares y el valor de la solución S es Vi más el valor del subproblema.

podemos expresar este hecho en la siguiente fórmula: define c como la solución para los ítems 1,2,…, i y el peso máximo w.,

El algoritmo tiene las siguientes entradas

  • El peso máximo W

  • El número de elementos n

  • Las dos secuencias v = <v1, v2, …, vn> y w = <w1, w2, …, wn>

El conjunto de elementos a tomar puede ser deducido de la tabla, a partir de c y el rastreo hacia atrás, donde los valores óptimos vino.

análisis

Este algoritmo toma θ(n, w) veces como la tabla c tiene (n + 1).(w + 1) entradas, donde cada entrada requiere θ (1) tiempo para calcular.,

Anuncios

Leave a Comment