Tema3 Flashcards

(30 cards)

1
Q

¿Qué característica principal define a los algoritmos voraces?

A

En cada etapa eligen la mejor decisión posible sin considerar sus consecuencias futuras.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Qué técnica utiliza la vuelta atrás para explorar soluciones?

A

Construye un árbol de expansión y retrocede cuando detecta ramas que no llevan a soluciones válidas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿Cuál es el principio de optimalidad en programación dinámica?

A

Toda subsecuencia de una solución óptima también es óptima.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

¿Qué tipo de grafos utiliza el algoritmo de Prim?

A

Grafos conexos, ponderados y no dirigidos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Cómo se representa una solución al problema de las ocho reinas?

A

Como un vector donde cada posición indica la columna y el valor indica la fila de la reina.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿El algoritmo de Kruskal puede formar ciclos?

A

No, descarta aristas que formen ciclos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿La técnica “Divide y vencerás” asegura siempre la mejor solución?

A

No, depende del diseño del algoritmo y el equilibrio de las divisiones.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿En qué tipo de problemas no funciona el principio de optimalidad?

A

En problemas como el viajante, donde caminos parciales óptimos no garantizan la mejor solución global.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿Es eficiente la técnica voraz para todos los problemas?

A

No, solo para problemas donde la solución parcial conduce a la mejor solución final.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿La programación dinámica requiere memoria adicional?

A

Sí, para almacenar cálculos intermedios en tablas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

En programación dinámica, el solapamiento de subproblemas genera ____.

A

ineficiencia.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

El algoritmo de Prim selecciona el arco de menor coste que conecta vértices seleccionados y ____.

A

no seleccionados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

En la técnica de vuelta atrás, las restricciones determinan si una rama es ____.

A

prometedora.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

El algoritmo voraz utiliza una función de ____ para elegir la mejor opción en cada etapa.

A

selección.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

En “Divide y vencerás”, las soluciones de los subproblemas deben ser ____.

A

combinables.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

¿Qué estrategia utiliza la técnica de programación dinámica?

A) Descartar soluciones no prometedoras.
B) Guardar cálculos intermedios para evitar repeticiones.
C) Resolver problemas directamente mediante fuerza bruta.

A

B) Guardar cálculos intermedios para evitar repeticiones.

17
Q

¿Qué técnica combina eficientemente soluciones parciales?

A) Algoritmos voraces.
B) Vuelta atrás.
C) Divide y vencerás.

A

C) Divide y vencerás.

18
Q

¿Cuál es la complejidad del algoritmo de Prim?

A) O(n²).
B) O(n log n).
C) O(n³).

19
Q

¿Cuál es una limitación de los algoritmos voraces?

A) Requieren almacenamiento adicional.
B) No siempre encuentran la solución óptima global.
C) Solo funcionan en grafos dirigidos.

A

B) No siempre encuentran la solución óptima global.

20
Q

¿Qué problema ejemplifica la técnica de vuelta atrás?

A) Cambio de monedas.
B) Ocho reinas.
C) Torres de Hanói.

A

B) Ocho reinas.

21
Q

Describe el algoritmo de Kruskal para grafos.

A

Ordena las aristas por peso, seleccionando aquellas que no formen ciclos para construir un árbol de recubrimiento mínimo.

22
Q

¿Cómo se utiliza la recursividad en “Divide y vencerás”?

A

Descompone el problema en subproblemas más pequeños, los resuelve recursivamente y combina las soluciones parciales.

23
Q

¿Qué elementos definen un problema para algoritmos voraces?

A

Un conjunto de candidatos, una función de selección, una función objetivo y restricciones para descartar opciones no válidas.

24
Q

Explica cómo la programación dinámica evita redundancias.

A

Utiliza tablas para almacenar resultados intermedios, evitando recalcular soluciones de subproblemas solapados.

25
¿Qué papel juegan las restricciones en la técnica de vuelta atrás?
Ayudan a descartar ramas no prometedoras, reduciendo el número de soluciones exploradas.
26
Explica el defecto de los algoritmos voraces con un ejemplo.
En el sistema de monedas (11, 5, 1), el algoritmo voraz para C=15 elige primero la moneda de 11, resultando en una solución subóptima (1, 0, 4).
27
¿Cómo garantiza la programación dinámica la optimalidad de las soluciones?
Se basa en el principio de optimalidad de Bellman, que asegura que las soluciones intermedias también son óptimas.
28
¿Cuál es la importancia de la modelización con grafos?
Permite representar problemas complejos de manera eficiente, facilitando la aplicación de algoritmos existentes como Prim o Kruskal.
29
¿Por qué es útil la técnica de vuelta atrás en problemas complejos?
Proporciona soluciones óptimas mediante un análisis exhaustivo y sistemático, reduciendo el espacio de búsqueda con restricciones.
30
Explica cómo “Divide y vencerás” asegura la finalización del algoritmo.
Cada etapa reduce el tamaño del subproblema, garantizando que eventualmente llegue a una solución trivial.