Inteligencia artificial

Solo disponible en BuenasTareas
  • Páginas : 8 (1986 palabras )
  • Descarga(s) : 7
  • Publicado : 22 de febrero de 2010
Leer documento completo
Vista previa del texto
Conexión condicional
Del tipo “si… entonces”.
P | Q | P => Q |
F | F | V |
F | V | V |
V | F | F |
V | V | V |

Conexión de conjunción
P | Q | P Q |
F | F | F |
F | V | F |
V | F | F |
V | V | V |

Conexión de disyunción
P | Q | P v Q |
F | F | F |
F | V | V |
V | F | V |
V | V | V |

Conexión de bicondicional. Del tipo “si y solo si”
P | Q | P <=> Q |
F | F | V |
F |V | F |
V | F | F |
V | V | V |

Tambien es posible definir este tipo de reglas en Prolog:
nervioso(Who) if ve(sara,Who)
La regla anterior indica que quien sea mirado por “sara” esta “nervioso”, tambien es posible usar el simbolo :- en lugar de “if”. La regla anterior quedaria:
nervioso(Who) :- ve(sara,Who)

B A C K T R A C K I N G
Prolog comienza a buscar en la primera cláusula siuna meta es satisfecha lo cual se conoce como backtracking. Cada que una submeta es satisfecha Prolog buscara hacia atrás de la base de datos siempre en un sentido de arriba abajo y de izquierda a derecha.
Este tipo de búsqueda se conoce como “primero en profundidad” o depth first. Esta se desarrolla partiendo de la meta principal hasta la primera submeta, luego a la primera sub-submeta y asisucesivamente hasta que se confirma la submeta de mas bajo nivel o se esta seguro que esta falla.
Lo anterior mueve hacia un nivel anterior de submeta (backtracking) e intenta ver la coincidencia de la submeta al siguiente nivel.
El operador ! (llamado de corte o “cut”) previene el bakctracking. Por ejemplo, en la siguiente regla:
A if B and C and ! and D
El operador ! evita que Prolog busquemúltiples valores para B y C.

T I P O S D E D O M I N I O S E S T A N D A R

DOMINIO DESCRIPCION
symbol Hay dos tipos de símbolos:
(1)Grupo consecutivo de caracteres que comienza con una minúscula.
(2)Grupo consecutivo de caracteres que comienza y termina con comillas (se puede iniciar con mayúscula).

string El segundo caso indicado en el dominio anterior.
integer Valor numérico desde-32768 hasta 32768.
real Cualquier valor numerico entre los rangos +/- 1E -307 hasta +/- 1E +308.
char Un carácter ASCII
file Para manejo de archivos predefinido (OM, LPT, etc) y definidos por el usuario.

O P E R A D O R E S A R I T M E T I C O S E S T A N D A R

OPERADOR OPERACIÓN PRIORIDAD
+ suma 1
- resta 1
* multiplicación 2
/ división 2
mod modulo de una division 3
divdivision entera 3
+ positivo (unaria) 4
- negativo (unaria) 4

A L G O R I T M O S G E N E T I C O S
Fueron desarrollados por John H. Holland a principios de la década de los sesenta para resolver algoritmos de aprendizaje de maquina.
En un algoritmo genético la cruza sexual (operador principal) tiene una gran efecto sobre el operador de mutación (operador secundario) y el de selecciónprobabilística.
El algoritmo básico es el siguiente:
1.- Generar (aleatoriamente) una población inicial.
2.- Calcular la aptitud de cada individuo.
3.- Seleccionar (probabilisticamente) con base en la aptitud.
4.- Aplicar operadores genéticos (cruza y mutación) para generar la siguiente población.
5.- Ciclar hasta que cierta condición se satisfaga.
La forma más común de representar unapoblación en un algoritmo genético es la binaria, aunque pueden manejarse otras que tienen igual eficiencia.
0123 0123 0123
1011 1100 0010
Cad1 Cad2 Cad3
Cada cadena cromosoma.
Cada posición en el cromosoma gene
Al valor de cada gene alelo
Para poder aplicar un algoritmo genético se requiere de 5 componentes:
1) Una representación de las soluciones potenciales del problema.
2)Una forma de crear una población inicial de posibles soluciones (generalmente aleatoria).
3) Una función de evaluación que juegue el papel del ambiente clasificado de las soluciones en términos de su aptitud.
4) Operadores genéticos que alteren la composición de los hijos que se producirán para las siguientes operaciones.
5) Valores para los diferentes parámetros que utiliza el...
tracking img