Вы находитесь на странице: 1из 3

Problema de la parada

Un progrma te da como respuesta un si o no, y si en un momento de su operacion entra en un


bucle

este problema no se puede resolver

Washdog

Es un temporizador electrónico que se usa para detectar y resolver fallas de funcionamiento de


la computadora.

if p(x) -> si else -> no

si el programa dura una cantidad de tiempo, si entra en un bucle infinito no se puede calcular
eso.

En el washdog vigila que no se de estos casos, ve que las operaciones no se queden ejecutando
en el mimso lugar.

CLASES DE PROBLEMAS

Problemas indecibles: Cuando lo puedes definir pero no lo puedes resolver

TAREA: Encontrar dos problemas indecibles(describir y que soluciones parciales se presentan)


aparte de la lectura 2

Problemas decibles: Son aquellos en los que un programa si puede resolverlos, estos se dividen
en:

- Problema P: Son aquellos que son de la forma O(n a la k)

- Problema NP-completo: Son aquellos de la forma O(k a la n)

Lo que vale de un programa no este sino la respuesta

Los problemas np-hard no se pueden resolver de forma lineal

Algoritmo genetico

Cuando se tiene un problema del tipo np-hard, lo que se hace es buscarv un espacio de
soluciones, se va a asumir que evaluar la solucion no tiene un costo elevado, las soluciones
tienen vectores de soluciones posibles.

Es necesario identificar la entrada y salida, dos buenos genes pueden dar un buen gen, esto da
una logica optima

Parametrizar a traves de la aptitud, maximizar o minimizar


Por ejmeplo este es un problema clasico, que se va a construir

Solucion

el agente maximo tiene 9 ciudades, la solucoion te da una matriz entre la distancia de las
ciuydades, si uno encuentra una solucion buena, y luego encuentra otra solucion buena,, si lo
junto puedo encontrar una mejor solucion

Si hubiese 4 ciudades,

ABCD

ABDC

ACBD

ACDB

ADBC

ADCB

la direccion puede ser en ambos lados, se define un cromosoma(solucion posible al problema


que se esta trabajando), ese proceso tiene 4 etapas:

Esquema de funcionamiento de un AG

1. Lo primero que se va a hacer es representar el problema en un vector(puede tener tamaño 1


o n)

Representar

vector

Generar una poblacion de solucion(aqui dentro hay posibles soluciones al problema) -> Calcular
la aptitud (se determina la funcion de aptitud a cada individuo se encuentra su aptitud) ->
Seleccionar (ordenar en funcion de su actitud)

Hay varias tecnicas de solucion, una de ellas es la que elimina a las de menor aptitud, luedo de
eso se hace un cruce) -> Cruce

A B | C D -> A C | B D

Se permite la cantidad de posibles cruces, el cruce es el de los buenos -> Mutacion: implica que
del vector algunas celditas las cambio por un valor nuevo, eso quiere decir que el individuo no es
el mismo -> Calcular la aptitud, hasta que se encuentre la solucion optima.

Esto termina cuando se define un valor, o cuando ya no se dan mas calculos de aptitud

los mejores se juntan y no dejan avanzar la mutacion

Ejemplo

Se va a asumir que se quiere encontrar el maximo valor resultado de la funcion

se tiene una funcion aleatoria, en el archivo se representa el genotipo, la funcion de aptitud,


Fitness(es por haber pasado el valor)

Practica 2: Implementar el agente viajero en pyevolve

http://pyevolve.sourceforge.net/examples.html#example-12-the-travelling-salesman-problem-
tsp

Se pondra dos restricciones para usar el alevo

Explicar como hace el programa para encontrar sus soluciones

alelo:

se tiene que tomar una condicion para que los alelos de las posiciones sean diferentes

conclusiones:

Para determinar el tamaño, se determina tal instruccion

para calcular los alelos se usa tal instruccion

Definicion

Genoma

Cada vez que se quiera calcular la funcion se hace una llamado a esa funcion

El problema es ver como se hace la configuracion

habra control de lectura

Вам также может понравиться