Informática, Programación
Programación dinámica, os principios básicos
Para seleccionar a solución óptima ao realizar as tarefas de programación ás veces son necesarios para clasificar grandes cantidades de combinacións de datos que leva a memoria do ordenador persoal. Tales métodos inclúen, por exemplo, o método de programación de "dividir para reinar". Neste caso, o algoritmo fornece problema de separación en subtarefas menores separadas. Este método só é aplicable en caso de que as pequenas subtarefas son independentes entre si. Para evitar a execución dun traballo necesario, se sub-tarefas interdependentes, usa o método de programación dinámica proposta estadounidense R.Bellmanom na década de 50.
o método
A programación dinámica é determinar a solución óptima do problema n-dimensional, compartindo os seus n etapas separadas. Cada un deles é unha sub-tarefa con respecto a unha variable.
A principal vantaxe desta visión pode ser considerado que os desenvolvedores involucrados no problema de optimización unidimensional subtarefas no canto dun problema n-dimensional, eo noso principal obxectivo vai "bottom-up".
É aconsellable aplicar unha programación dinámica nos casos en que as sub-tarefas están interrelacionados, é dicir, Teñen unidades máis comúns. O algoritmo fornece a decisión de cada un dos sub-tarefas xa, e as respostas de aforro se realiza nunha mesa especial. Isto fai posible para non calcular unha resposta cando se atoparon de novo coa mesma sub-tarefa.
tarefa de programación dinámica resolve o problema de optimización. O autor deste método foi formulado por principio optimality R. Bellman: calquera que sexa o estado inicial de cada un dos pasos ea solución definida neste paso, as seguintes características para escoller o mellor en relación ao estado, que recibe o sistema a finais do paso.
O método mellora o desempeño das tarefas resoltas por medio de variantes, ou de recorrencia.
algoritmo tarefa edificio
algoritmo de programación dinámica implica a construción dunha tal tarefa, en que a tarefa está dividido polo que dúas ou máis subtarefas que a súa solución está composta de unha solución ideal para as subtarefas, que inclúe. Ademais, é necesario escribir unha relación de recorrencia, e calculando os valores dos parámetros ideais para a tarefa no seu conxunto.
Ás veces, no 3º paso é lembrar aínda unha información básica sobre o progreso de cada subtarefa. Isto chámase o movemento de retorno.
método de aplicación
A programación dinámica aplícase cando hai dous síntomas característicos:
- óptima para subtarefas;
- presenza no problema da superposición de sub-problemas.
Resolver o problema de optimización por programación dinámica, primeiro precisa para describir a estrutura da solución. A tarefa debe ser ideal se a solución está composta das mellores decisións das súas subtarefas. Neste caso, é aconsellable o uso de programación dinámica.
A segunda propiedade do problema, esencial neste método, - un pequeno número de sub-tarefas. solución recursiva para o problema está a utilizar os mesmos sub-problemas sobrepostas, cuxo número depende do tamaño da información inicial. A resposta é almacenada nunha mesa especial, o programa aforrar tempo usando estes datos.
Especialmente eficaz é o uso de programación dinámica cando a tarefa é esencialmente necesario para tomar decisións en etapas. Por exemplo, considerada un exemplo simple do problema da substitución e reparación de equipos. Digamos que na fábrica de máquinas de fundición para a produción de pneumáticos á vez facer o pneumático en dúas formas diferentes. No caso de que unha das formas falla, cómpre desmontar a máquina. É comprensible que, ás veces, máis rendíbel para substituír e unha segunda forma, a fin de desmontar a máquina en caso e esta forma será inviable na seguinte fase. Especialmente dende que é máis doado para substituír tanto o xeito de traballo antes de comezar a fallar. método de programación dinámica determina a mellor estratexia na cuestión da substitución destas formas, tendo en conta todos os factores: os beneficios de formularios continuos de explotación, perda de tempo de máquina parada, o custo de pneumáticos desbotados e moito máis.
Similar articles
Trending Now