martes, 23 de marzo de 2010

BUSQUEDA HEURISTICA.

Para comenzar a hablar de búsqueda heurística es primordial empezar diciendo que una heurística se deriva del griego “heuriskein”, lo cual significa encontrar, para Feigenbaum y Feldman la heurística se define como: “Una heurística es una regla para engañar, simplificar o para cualquier otra clase de ardid el cual limita drásticamente la búsqueda de soluciones en grandes espacios estados”.

Por la definición anterior, entonces se puede decir que una Heurística es un algoritmo que la mayoría de las veces se utiliza cuando no existe una solución óptima de un problema, el cual se encuentra bajo el régimen de ciertas condiciones. Cabe mencionar que la heurística realiza un análisis de datos basados en experiencias anteriores en sus consecuencias; esto es de vital importancia para la Inteligencia Artificial.

Para resolver muchos de los problemas difíciles es necesario en ocasiones desarrollar una estructura de control, la cual no siempre garantice encontrar la mejor respuesta, sino que casi siempre encuentra una buena respuesta. Es por esto que una técnica heurística mejora la eficacia del proceso de búsqueda, reduciendo así la cantidad de nodos recorridos en una búsqueda requerida para encontrar una solución. Es por esto que los métodos de búsqueda heurística, llamados también métodos fuertes son mejores que los de búsqueda ciega.

El empleo de la heurística es muy utilizada en los juegos para computadoras, es decir, si por ejemplo en un juego de pelea uno de los jugadores es manipulado por medio de un control por una persona y el otro es manipulado por el ordenador, entonces cuando se de por iniciada la pelea, el jugador manipulado por el ordenador tratara de ganar el juego a la persona, esquivando, golpeando, maniobrando, etc, en fin siguiendo todas las reglas estipuladas por el juego, en ocasiones lograra ganar en otras perderá, pero esto permitirá que con cada pelea realizada se guarden experiencias basadas en cada una de las peleas lo cual admitirá sortear errores pasados.

En otras palabras, lo que se hace es recabar información y utilizarla para hallar una buena solución a un problema dado, sin tener la certeza de que esa solución sea la mejor o la correcta.

Las principales ventajas y desventajas de la heurística son:

Los métodos heurísticos generalmente por su tipo de búsqueda nos puede conducir a errores u operaciones equivocadas; aunque raras veces aparecen los peores casos en la práctica.

Algunas heurísticas se pueden contradecir al aplicarse al mismo problema, creando con esto confusión.

Las soluciones óptimas determinadas por la heurística pueden hacer menos exhaustiva la búsqueda.

Como nos podemos dar cuenta los métodos de búsqueda heurística son la mejor opción, aunque recordemos que no siempre la mejor opción es la correcta, sino que más bien, todo depende del cristal con que lo veamos.

domingo, 7 de marzo de 2010

EL TEST DE TURING.


Para hablar del acerca del Test de Turing, me parece indispensable primero comentar que fue Alan Mathison Turing (matemático, computador científico y filosofo), padre de la computación y la computación digital moderna; quien a través de su trabajo “La Teoría de la Computación” se creó lo que hoy conocemos como Test de Turing la cual es la prueba que sirve para descubrir la existencia de inteligencia en una maquina o computador.

Es preciso decir que fue en el año de 1950 cuando Alan Turing publico en la revista “Mind” un procedimiento que era capaz de determinar si una maquina poseía inteligencia. Lo que Turing desconocía en aquellos años, era que esta prueba sería tomada como una de las principales medidas para evaluar la Inteligencia Artificial.

La Prueba de Turing, como también se llama, trata de una prueba que realiza un ser humano el cual a través de una conversación simultanea con otro ser humano y un ordenador, tratara de establecer cual de los dos es la maquina. Se puede decir que esta prueba es superada si la persona que funge como juez, es decir; que la persona que evalúa no es capaz de descubrir cual de los dos es el ordenador, entonces se puede decir que esta maquina es capaz de utilizar un lenguaje natural, razonar, tener conocimientos y aprender.

Sin embargo en el ser humano existen comportamientos que no implican tener algún grado superior de inteligencia, ellas son las emociones como el enojo, la tristeza o el mentir para evadir una situación o simplemente por naturaleza, esto es algo que ningún ordenador inteligente podría conseguir aun cuando contara con la inteligencia suficiente para hacerlo, además si una maquina inteligente lograra superar la capacidad con la que cuenta un ser humano para resolver un problema con un grado de dificultad demasiado alto, el Test de Turing fallaría, pues quedaría al descubierto una inteligencia superior.

METODOS DE BUSQUEDA.


Ejercicio.


Búsqueda de Profundidad.


a) 1 - 12 - 17 - 19 - 20 - 16 - 15 - 10 - 8 - 4 - 21.


b) 1 - 9 - 7 - 2 - 3 - 4 - 21.



Búsqueda a lo Ancho.


1 - 12 - 14 - 13 - 17 - 19 - 20 - 16 - 15 - 10 - 11 - 10 - 8 - 4 - 21.

miércoles, 3 de marzo de 2010

EJERCICIOS PROLOG.

Ejemplo 1: Árbol familiar.
progenitor(pamela,roberto).
progenitor(tomas,roberto).
progenitor(tomas,elizabeth).
progenitor(roberto,ana).
progenitor(roberto,patricia).
progenitor(patricia,jaime).
Resultado:
1 ?- progenitor(roberto,patricia).
true.

2 ?- progenitor(elizabeth,patricia).
false.

3 ?- progenitor(tomas,benjamin).
false.

4 ?- progenitor(X,elizabeth).
X = tomas .

5 ?- progenitor(roberto,X).
X = ana ;
X = patricia.


6 ?- progenitor(X,Y).
X = pamela,
Y = roberto ;
X = tomas,
Y = roberto ;
X = tomas,
Y = elizabeth ;
X = roberto,
Y = ana ;
X = roberto,
Y = patricia ;
X = patricia,
Y = jaime.




Ejercicios.
1. Asumiendo las relaciones definidas en el ejemplo, ¿qué contestará Prolog a las siguientes preguntas?
9 ?- progenitor(jaime,X).
false.

10 ?- progenitor(X,jaime).
X = patricia.

11 ?- progenitor(pamela,X),progenitor(X,patricia).
X = roberto.

13 ?- progenitor(pamela,X),progenitor(X,Y),progenitor(Y,jaime).
X = roberto,
Y = patricia.

2. Formula en prolog las siguientes preguntas a cerca de la relación progenitor:

a). ¿Cómo se llama el progenitor de Patricia?
15 ?- progenitor(X,patricia).
X = roberto .

b). ¿Tiene Elizabeth algún hijo?
16 ?- progenitor(elizabeth,X).
false.

c). ¿Cómo se llama el abuelo de Patricia?
17 ?- progenitor(X,Y),progenitor(Y,patricia).
X = pamela,
Y = roberto ;
X = tomas,
Y = Roberto.