viernes, 10 de julio de 2009

ENFOQUES DE LA PROGRAMACIÓN DINÁMICA:
TOP-down; el problema se divide en subproblemas y los subproblemas se resuelven recordando soluciones nuevamente.
Es una combinación de memorización y recursión.

BOTTOM-up; Todos los subproblemas que puedan ser necesarios, se resuelven de antemano y despés se usan para resolver problemas mayores. Es mejor en cuanto al consumo de espacio y llamadas a funciones, pero es poco intuitivo para encontrar todos los subproblemas necesarios para resolver un problema dado.


OPTIMIZAR: Es buscar la mejor solución entre muchasd alternativas posibles.
Si dad una subsecuencia siempre se conoce la decisión (PARA SER ÓPTIMA) y se resuelve trivialmente, tomando una decisión detrás de la otra, le llamamos;ESTRATEGIA VORAZ.

BELLMAN Y SU PRINCIPIO DE OPTIMALIDAD: Dada una seccuencia óptima de decisiones, toda subsecuencia de ella es, a su vez óptima. Aquí es posible tomar decisiones elementales. La combinac ión de ellas seguirá siendo óptima, pero es necesario buscar muchas secuencias de decisiones para dar con al correcta, es allí donde interviene la PROGRAMACIÓN DINÁMICA.

La programación dinámica equivale a una expresión: " Divide y reinarás"

jueves, 9 de julio de 2009



PROGRAMACIÓN DINÁMICA

En la Informática, la programación dinámica es un método para reducir el tiempo de ejecución de un algoritmo mediante la utilización de subproblemas superpuestos y subestructuras óptimas, como se describe a continuación.

El matemático Richard Bellman inventó la programación dinámica en 1953.

Una subestructura óptima significa que soluciones óptimas de subproblemas pueden ser usadas para encontrar las soluciones óptimas del problema en su conjunto. Por ejemplo, el camino más corto entre dos vértices de un grafo se puede encontrar calculando primero el camino más corto al objetivo desde todos los vértices adyacentes al de partida, y después usando estas soluciones para elegir el mejor camino de todos ellos. En general, se pueden resolver problemas con subestructuras óptimas siguiendo estos tres pasos:

1. Dividir el problema en subproblemas más pequeños.

2. Resolver estos problemas de manera óptima usando este proceso de tres pasos recursivamente.

3. Usar estas soluciones óptimas para construir una solución óptima al problema original.
Los subproblemas se resuelven a su vez dividiéndolos ellos mismos en subproblemas más pequeños hasta que se alcance el caso fácil, donde la solución al problema es trivial.

Decir que un problema tiene subproblemas superpuestos es decir que un mismo subproblema es usado para resolver diferentes problemas mayores. Por ejemplo, en la sucesión de Fibonacci, F3 = F1 + F2 y F4 = F2 + F3 ,calcular cada término supone calcular F2. Como ambos F3 y F4 hacen falta para calcular F5, una mala implementación para calcular F5 acabará calculando F2 dos o más veces. Esto ocurre siempre que haya subproblemas superpuestos: una mala implementación puede acabar desperdiciando tiempo recalculando las soluciones óptimas a subproblemas que ya han sido resueltos anteriormente.

Esto se puede evitar guardando las soluciones que ya hemos calculado. Entonces, si necesitamos resolver el mismo problema más tarde, podemos obtener la solución de la lista de soluciones calculadas y reutilizarla. Este acercamiento al problema se llama memorización. Si estamos seguros de que no volveremos a necesitar una solución en concreto, la podemos descartar para ahorrar espacio. En algunos casos, podemos calcular las soluciones a problemas que sabemos que vamos a necesitar de antemano.

En resumen, la programación dinámica hace uso de:
  • Subproblemas superpuestos
  • Subestructuras óptimas
  • Memorización
2º Exposiciones Lúdicas de Matemáticas; dichas exposiciones, a manera de Feria, se realizarán en el Aula Máxima de la InstituciNegritaón, el mismo 22 de Julio.
Particularmentelos estudiantes de grado 11º y algunos de otros grados, contarán con un espacio, donde desde primera instancia ponen a prueba toda su creatividad, para que a manera de "Juegos Didácticos Matemáticos"; ilustren y enseñen a sus compañeros y estudiantes de otros grados, especialmente de grados inferiores; como incentivar en: habilidad y agilidad mental, concentración, análisis de secuencias, retentiva, entre otros procesos.
De otro lado, también contaremos con espacios donde utilizamos juegos en el computador, recordaremos como multiplicaban los Mayas, el origen de los algoritmos de los números arábigos, y mucho más.
Al final del recorrido, votarán por el mejor Juego de la exposición, donde los propios estudiantes lo elegirán.

Es pues toda una fiesta del Saber Matemático, que busca motivar e incentivar a los
estudiantes a que vean desde otra perspectiva el verdadero valor de las Matemáticas.

sábado, 4 de julio de 2009

Programación Dinámica


Benjamín Asmed Martínez;
Físico Matemático;
Trabajo en el
Colegio bilingüe
AngloAmericano
y en la
Institución Educativa Jesús María Ormaza.
Participo de un proyecto práctico en Educación de adultos con el Instituto Kennedy.
Mi labor docente, se orienta con un perfil práctico, donde lo vivencial es la escencia del aprendizaje.

Estamos proyectando en el Colegio bilingüe AngloAmericano para el próximo 22 de Julio;
la 1ª Feria de Matemáticas.
Dicha Feria tiene dos aspectos:

1. La Olimpiada de matemáticas; la cual es una prueba a la que se someteran todos los estudiantes , desde grado segundo hasta grado once, distribuidos por niveles, así:


  1. Nivel I : 2º y 3º
  2. Nivel II : 4º y 5º
  3. Nivel III: 6º y 7º
  4. Nivel IV : 8º y 9º
  5. Nivel V : 10º y 11º
La prueba consiste en la solución de 25 preguntas de los temas vistos durante el primer semestre, con formato tipo ICFES, donde tendrán un tiempo de una hora para su solución ( Todos los niveles simultáneamente presentan la prueba ).

Tendrán una hoja de respuesta, y habrá un ganador por cada nivel.