viernes, 21 de marzo de 2014

ABECEDARIO



LA MANERA DE ENSEÑAR EL ABECEDARIO AHORA



Heuristica y el problema del viajero


Heurística


La palabra heurística significa hallar o inventar, en disciplina científica se aplica a cualquier ciencia e incluye la elaboración de cambios auxiliares, principios, reglas, estrategias  y programas que faciliten resolver tareas de cualquier tipo.

Según Horst Müller:



 Los procedimientos heurísticos son formas de trabajo y de pensamiento que apoyan la realización consciente de actividades mentales exigentes.
Los procedimientos heurísticos como método científico pueden dividirse en principios, reglas y estrategias.

  1. Principios heurísticos: Constituyen sugerencias para encontrar (directamente) la idea de solución; posibilita determinar, por tanto, a la vez, los medios y la vía de solución. Dentro de estos principios se destacan la analogía y la reducción.

  1. Reglas heurísticas: Actúan como impulsos generales dentro del proceso de búsqueda y ayudan a encontrar, especialmente, los medios para resolver los problemas.
Las Reglas heurísticas que más se emplean son:
  1. Separar lo dado de lo buscado.
  2. Confeccionar figuras de análisis: esquemas, tablas, mapas, etc.
  3. Representar magnitudes dadas y buscadas con variables.
  4. Determinar si se tienen fórmulas adecuadas.
  5. Utilizar números (estructuras más simples) en lugar de datos.
  6. Reformular el problema.

  1. Estrategias heurísticas: Se comportan como recursos organizativos del proceso de resolución, que contribuyen especialmente a determinar la vía de solución del problema abordado. Existen dos estrategias:
  2. El trabajo hacia adelante: se parte de lo dado para realizar las reflexiones que han de conducir a la solución del problema.
  3. El trabajo hacia atrás: se examina primeramente lo que se busca y, apoyándose de los conocimientos que se tienen, se analizan posibles resultados intermedios de lo que se puede deducir lo buscado, hasta llegar a los dados.

En computación, dos objetivos fundamentales son encontrar algoritmos con buenos tiempos de ejecución y buenas soluciones, usualmente las óptimas.
Una heurística es un algoritmo que abandona uno o ambos objetivos; por ejemplo, normalmente encuentran buenas soluciones, aunque no hay pruebas de que la solución no pueda ser arbitrariamente errónea en algunos casos; o se ejecuta razonablemente rápido, aunque no existe tampoco prueba de que siempre será así. Las heurísticas generalmente son usadas cuando no existe una solución óptima bajo las restricciones dadas tiempo, espacio, etc.


El Problema Del Agente Viajero
 


“Un vendedor tiene una lista de ciudades cada una de las cuales debe visitar solamente una vez; existen carreteras directas entre cada par de ciudades de la lista. Se debe encontrar la ruta que el vendedor debería seguir para que, siguiendo el camino más corto posible, visitara todas las ciudades, comenzando por cualquiera de ellas y volviendo a la misma. Un ejemplo de éste tipo de problemas para seis ciudades se plantea en la figura 2.6.



En principio se puede resolver éste problema explorando el árbol de todos los caminos posibles y eligiendo aquél que tenga la longitud mínima; pero, si existen n ciudades, el número de caminos diferentes entre ellas es (n-1)!, esto significa que el tiempo requerido para resolver el problema es proporcional a n!. Por lo tanto, si tenemos once ciudades, (11-1)! = 10*9*8*7*6*5*4*3*2*1 = 3, 628,000 rutas son posibles, es decir, se trata de un problema típico de explosión combinatoria en el que es útil aplicar técnicas heurísticas.
Una técnica heurística de propósito general que es útil para resolver problemas combinatorios es el 'algoritmo del vecino más próximo', que trabaja seleccionando la alternativa más cercana que aún no ha sido visitada y así sucesivamente hasta recorrer todos los nodos y retornar al punto de partida:
1. Seleccionar arbitrariamente una ciudad de partida.
2. Para seleccionar la siguiente ciudad, analizar todas las ciudades que aún no se han visitado y seleccionar aquélla que sea la más cercana a la ciudad actual; ir a ella en el siguiente paso.
3. Repetir el paso dos hasta que se hayan visitado todas las ciudades. éste algoritmo se ejecuta en un tiempo proporcional al cuadrado de n lo que representa una mejora significativa sobre n!.” (Edgar Altamirano Carmona 2014, p.11, 12)


El algoritmo del agente viajero se puede representar de la siguiente manera:

Definir el número de nodos, su posición y el costo por cada arista (i, j) donde i = ciudad 1 y j = ciudad 2
Elegir el nodo inicial i
Hacer
Si el nodo más cercano no se ha visitado
Visitar nodo j
Actualizar lista de nodos visitados
Costo_total = costo_total + costoij
Nodo i = nodo j
Hasta haber visitado todos los nodos


Conclusión:

Por heurística entendemos una estrategia, método, criterio o truco usado para hacer más sencilla la solución de problemas difíciles. El conocimiento heurístico es un tipo especial de conocimiento usado por los humanos para resolver problemas complejos.
En el área de computación su objetivo primordial es encontrar algoritmos con buenos tiempos de ejecución y que de buenas soluciones, preferentemente óptimas.
En el caso del problema del agente viajero se debe encontrar la ruta más corta que sea posible, es ahí donde entra la heurística porque le da la solución más óptima.

Bibliografía:

APUNTES DE INTELIGENCIA ARTIFICIAL
Edgar Altamirano Carmona    
Universisda Autónoma De Guerrero, 2014

ISC. Patricia Horta Rosado
Inteligencia Artificial (n.d.). Evaluando las Fuentes Electrónicas. Consultado el 17 de marzo del 2014. , página web  Instituto Tecnológico de Veracruz. http://ia.comeze.com/subtemas/un1/1.7.html


martes, 18 de marzo de 2014

Sistemas De Producción


Sistemas De Producción

Un sistema de producción busca convertir a la computadora en una máquina que pueda resolver problemas específicos.


Un sistema de producción proporciona una estructura que facilita la descripción y la ejecución de un proceso de búsqueda.

Un sistema de producción consiste de:

Un conjunto de facilidades para la definición de reglas.
Mecanismos para acceder a una o más bases de conocimientos y datos.
Una estrategia de control que especifica el orden en el que las reglas son procesadas, y la forma de resolver los conflictos que pueden aparecer cuando varias reglas coinciden simultáneamente.
Un mecanismo que se encarga de ir aplicando las reglas.

“El algoritmo básico del aplicador de reglas puede escribirse en forma no determinística como sigue:

Algoritmo sisprod.
1. [Establecer la base de datos inicial.]
DATOS <--- base de datos inicial;
2. [Aplicar reglas hasta que se satisfaga alguna condición de terminación
del problema (éxito ó fracaso)]
while DATOS no satisfaga la condición de terminación del problema
{
seleccionar alguna regla R del conjunto de reglas, tal que
pueda ser aplicada a DATOS;
DATOS <--- resultado de aplicar R a DATOS;
}
3. [Fin]
presentar los resultados.
end.” (Edgar Altamirano Carmona 2014, p.10)



Conclusión:

En mi opinión el sistema de producción busca que la maquina pueda resolver problemas específicos, bajo algoritmos que se le implementen.
Así bien teniendo reglas que se prueban hasta encontrar una secuencia que cumplan una condición determinada.


Bibliografía:

APUNTES DE INTELIGENCIA ARTIFICIAL
Edgar Altamirano Carmona    
Universidad Autónoma De Guerrero, 2014

domingo, 9 de marzo de 2014

RESOLUCIÓN DE PROBLEMAS DE ESPACIO Y ESTADO

RESOLUCIÓN DE PROBLEMAS  DE ESPACIO Y ESTADO



Resolución de Problemas


La resolución de problemas es una capacidad que consideramos inteligente
Somos capaces de resolver problemas muy diferentes:
  • Encontrar el camino en un laberinto
  • Resolver un crucigrama
  • Jugar a un juego
  • Diagnosticar una enfermedad
  • Decidir si invertir en bolsa

El objetivo es que un programa también sea capaz de resolverlos

Deseamos definir cualquier tipo de problema de manera que se pueda
resolver automáticamente.
Necesitamos:

  • Una representación común para todos los problemas
  • Algoritmos que usen alguna estrategia para resolver problemas
  • definidos en esa representación común.

Definición de un Problema

Si abstraemos los elementos de un problema podemos identificar:
  • Un punto de partida
  • Un objetivo a alcanzar
  • Acciones a nuestra disposición para resolver el problema
  • Restricciones sobre el objetivo
  • Elementos que son relevantes en el problema definidos por el tipo de
  • dominio

Representación de problemas

Existen diferentes formas de representar problemas para resolverlos de
manera automática.
Representaciones generales:

Espacio de estados:
  • un problema se divide en un conjunto de paso de resolución desde el inicio hasta el objetivo.
Reducción a subproblemas:
  •  un problema se puede descomponer en una jerarquía de subproblemas
Representaciones para problemas específicos:
  • Resolución de juegos
  • Satisfacción de restricciones

Representación de problemas: Estados

Podemos definir un problema por los elementos que intervienen y sus relaciones.
En cada instante de la resolución de un problema esos elementos tendrán unas características y relaciones específicas.

Denominaremos Estado a la representación de los elementos que describen el problema 
en un momento.
Distinguiremos dos estado especiales el Estado Inicial (punto de partida) y el Estado Final 
(objetivo del problema).



Modificación del estado: operadores

Para poder movernos entre los diferentes estados necesitamos operadores de transformación.

Operador: Función de transformación sobre la representación de un estado que lo convierte 
en otro estado.
Los operadores definen una relación de accesibilidad entre estados .
Representación de un operador:
  • Condiciones de aplicabilidad
  • Función de transformación

Espacio de estados

Los estados y su relación de accesibilidad conforman lo que se denomina espacio de estados.
Representa todos los caminos que hay entre todos los estados posibles de un problema.
Podría asimilarse con un mapa de carreteras de un problema.
La solución de nuestro problema esta dentro de ese mapa.



Solución de un problema en Espacio de Estados

Solución: Secuencia de pasos que llevan del estado inicial al final
(secuencia de operadores) o también el estado final.
Tipos de solución: una cualquiera, la mejor, todas.
Coste de una solución: Gasto en recursos de la aplicación de los operadores a los estados. 
Puede ser importante o no según el problema y que tipo de solución busquemos.



Descripción de un problema en Espacio de Estados
  • Definir el conjunto de estados del problema (explícita o implícitamente)
  • Especificar el estado inicial
  • Especificar el estado final o las condiciones que cumple
  • Especificar los operadores de cambio de estado (condiciones de aplicabilidad y función de transformación)
  • Especificar el tipo de solución:
  • La secuencia de operadores o el estado final
  • Una solución cualquiera, la mejor (definición de coste), .


Ejemplo: 8 puzzle


Espacio de estados: Configuraciones de 8 fichas en el tablero
Estado inicial: Cualquier configuración
Estado final: Fichas en orden específico
Operadores: Mover hueco
                    Condiciones: El movimiento está dentro del tablero.
                    Transformación: Intercambio entre el hueco y la ficha en la posición del
                     movimiento.
Solución: Qué pasos + El menor númer



Ejemplo: N reinas


Espacio de estados: Configuraciones de 0 a n reinas en el tablero con sólo una por fila y columna.
Estado inicial: Configuración sin reinas en el tablero.
Estado final: Configuración en la que ninguna reina se mata entre si.
Operadores: Colocar una reina en una fila y columna.
                    Condiciones: La reina no es matada por ninguna ya colocada
                    Transformación: Colocar una reina mas en el tablero en una fila y 
                    columna determinada
Solución: Una solución, pero no nos importan los pasos


Búsqueda en el espacio de estados

  • La resolución de un problema con esta representación pasa por explorar el espacio de estados
  • Partimos del estado inicial evaluando cada paso hasta encontrar un estado final
  • En el caso peor exploraremos todos los posibles caminos entre el estado inicial del problema hasta llegar al estado final
Estructura del espacio de estados
Primero definiremos una representación del espacio de estados para poder implementar 
algoritmos que busquen soluciones.
  • Estructuras de datos: Árboles y Grafos
  • Estados = Nodos
  • Operadores = Arcos entre nodos (dirigidos)
  • Árboles: Solo un camino lleva a un nodo
  • Grafos: Varios caminos pueden llevar a un nodo

Algoritmo Básico

  • El espacio de estados puede ser infinito
  • Es necesaria una aproximación diferente par buscar y recorrer árboles y grafos                      (no podemos tener la estructura en memoria)
  • La estructura la construimos a medida que hacemos la búsqueda
Función: Búsqueda en espacio de estados()
Datos: El estado inicial.
Resultado: Una solución.
Seleccionar el primer estado como el estado actual
Mientras estado actual #= estado final hacer
               Generar y guardar sucesores del estado actual (expansión)
               Escoger el siguiente estado entre los pendientes (selección)
Fin


  • La selección del siguiente nodo determinará el tipo de búsqueda                                         (orden de selección o expansión).
  • Es necesario definir un orden entre los sucesores de un nodo (orden de generación).
  • Nodos abiertos: Estados generados pero aún no visitados
  • Nodos cerrados: Estados visitados y que ya se han expandido
  • Tendremos una estructura para almacenar los nodos abiertos.
  • Las diferentes políticas de inserción en la estructura determinarán el tipo de búsqueda.
  • Si exploramos un grafo puede ser necesario tener en cuenta los estados repetidos                       (esto significa tener una estructura para los nodos
  • cerrados). Merece la pena si el número de nodos diferentes es pequeño respecto al número       de caminos.

Características de los algoritmos
  • Completitud: ¿Encontrará una solución?
  • Complejidad temporal: ¿Cuanto tardará?
  • Complejidad espacial: ¿Cuanta memoria gastará?
  • Optimalidad: ¿Encontrará la solución óptima?



Algoritmo General de Búsqueda

Algoritmo: Busqueda General
Est_abiertos.insertar(Estado inicial)
Actual← Est_abiertos.primero()
mientras no es_final?(Actual) y no Est_abiertos.vacia?() hacer
               Est_abiertos.borrar_primero()
               Est_cerrados.insertar(Actual)
               Hijos ← generar_sucesores(Actual)
               Hijos ← tratar_repetidos(Hijos, Est_cerrados, Est_abiertos)
               Est_abiertos.insertar(Hijos)
              Actual ← Est_abiertos.primero()
fin
  • Variando la estructura de abiertos variamos el comportamiento del algoritm                        (orden de visita de los nodos)
  • La función generar_sucesores seguirá el orden de generación de sucesore definido                    en el problema.
  • El tratamiento de repetidos dependerá de cómo se visiten los nodos.

Tipos de algoritmos

Algoritmos de búsqueda ciega:
  • No tienen en cuenta el coste de la solución en la búsqueda
  • Su funcionamiento es sistemático, siguen un orden de visitas y generación de nodos             establecido por la estructura del espacio de búsqueda.
  • Anchura prioritaria, Profundidad prioritaria, Profundidad iterativa
Algoritmos de búsqueda heurística:
  • Utilizan una estimación del coste de la solución para guiar la búsqueda
  • No siempre garantizan el óptimo, ni una solución
  • Hill-climbing, Branch and Bound, A∗, IDA∗


Búsqueda en Anchura Prioritaria

Los nodos se visitan y generan por niveles.
La estructura para los nodos abiertos es una cola (FIFO).
Un nodo es visitado cuando todos los nodos de los niveles superiores y sus hermanos                   precedentes han sido visitados.
Características:
  • Completitud: El algoritmo siempre encuentra una solución
  • Complejidad temporal: Exponencial respecto al factor de ramificación y la profundidad de la         solución O(r^p)
  • Complejidad espacial: Exponencial respecto al factor de ramificación y la profundidad de la solución O(r^p)
  • Optimalidad: La solución que se encuentra es óptima en número deniveles desde la raíz


Búsqueda en Profundidad Prioritaria

Los nodos se visitan y generan buscando los nodos a mayor profundidad y retrocediendo cuando       no se encuentran nodos sucesores.
La estructura para los nodos abiertos es una pila (LIFO)
Para garantizar que el algoritmo acaba debe imponerse un límite en la profundidad de exploración
Características:
  • Completitud: El algoritmo encuentra una solución si se impone un límite de profundidad             y existe una solución dentro de ese límite.
  • Complejidad temporal: Exponencial respecto al factor de ramificación y la profundidad             del límite de exploración  O(r^p).
  • Complejidad espacial: En el caso de no controlar los nodos repetidos el coste es lineal        respecto al factor de ramificación y el límite de profundidad O(rp). Si tratamos repetidos el    coste es igual que en anchura. Si la implementación es recursiva el coste es O(p).
  • Optimalidad: No se garantiza que la solución sea óptima.


Búsqueda en Profundidad Limitada

Procedimiento: Busqueda en profundidad limitada (limite: entero)
Est_abiertos.insertar(Estado inicial)
Actual ← Est_abiertos.primero()
mientras no es_final?(Actual) y no Est_abiertos.vacia?() hacer
            Est_abiertos.borrar_primero()
            Est_cerrados.insertar(Actual)
           si profundidad(Actual) ≤ limite entonces
           Hijos ← generar_sucesores (Actual)
           Hijos ← tratar_repetidos (Hijos, Est_cerrados, Est_abiertos)
           Est_abiertos.insertar(Hijos)
fin
Actual ← Est_abiertos.primero()
fin

  • La estructura de abiertos es ahora una pila.
  • Se dejan de generar sucesores cuando se llega al límite de profundidad.
  • Esta modificación garantiza que el algoritmo acaba.
  • Si tratamos repetidos el ahorro en espacio es nulo.


ID (iterative deepening): profundidad iterativa

  • Intenta combinar el comportamiento espacial del DFS con la optimalidad del BFS.
  • El algoritmo consiste en realizar búsquedas en profundidad sucesivas con un nivel                     de profundidad máximo acotado y creciente en cada iteración.
  • Así se consigue el comportamiento de BFS pero sin su coste espacial, ya que la           exploración es en profundidad, y además los nodos se regeneran a cada iteración.
  • Además esto permite evitar los casos en que DFS no acaba (existen ramas infinitas).
  • En la primera iteración la profundidad máxima será 1 y este valor irá aumentando en           sucesivas iteraciones hasta llegar a la solución.
  • Para garantizar que el algoritmo acaba si no hay solución, se puede definir una cota           máxima de profundidad en la exploración.


ID (iterative deepening)




Búsqueda en profundidad iterativa


  • Completitud: El algoritmo siempre encontrará la solución
  • Complejidad temporal: La misma que la búsqueda en anchura. El regenerar el árbol en           cada iteración solo añade un factor constante a la función de coste O(r^p).
  • Complejidad espacial: Igual que en la búsqueda en profundidad.
  • Optimalidad: La solución es óptima igual que en la búsqueda en anchura.



BILIOGRAFIA
http://www.lsi.upc.edu/~bejar/ia/transpas/teoria/2-BH1-introduccion_busqueda.pdf

viernes, 7 de marzo de 2014

INTELIGENCIA ARTIFICIAL

INTELIGENCIA ARTIFICIAL


-¿Que es la Inteligencia?

- ¿Que es Artificial?

-¿Que es Inteligencia Artificial?

-Historia de la Inteligencia Artificial

-El Futuro de la Inteligencia Artificial




¿Qué es la Inteligencia?


La inteligencia es la capacidad de relacionar conocimientos que poseemos para resolver una determinada situación. Si indagamos un poco en la etimología de la propia palabra encontramos en su origen latino inteligere, compuesta de intus (entre) y legere(escoger). Por lo que podemos deducir que ser inteligente es saber elegir la mejor opción entre las que se nos brinda para resolver un problema. Por ejemplo, si a una persona se le plantea subir al tejado de una casa, la persona seleccionará los instrumentos que cree necesario para subir, pues con los conocimientos que ya posee (lógicos, matemáticos, ...) ha ideado una forma para ejecutar una acción que le permitirá subir al tejado. Unos dirán que con una escalera, otros con una cuerda, otros necesitarán una serie de instrumentos, ... Una persona más inteligente que otra escogerá una opción mejor que otra. ¿Cómo se mide la inteligencia? Tristemente la mayoría de los test que miden la inteligencia de un ser humano sólo tienen en cuenta las capacidades lógica-matemática y lingüisticas. Según la teoría de las inteligencias múltiples según Howard Gardner podemos distinguir tipos diferentes de inteligencia formal:

  • Inteligencia Lógica-Matemática: Es la habilidad que poseemos para resolver problemas tanto lógicos como matemáticos. Comprende las capacidades que necesitamos para manejar operaciones matemáticas y razonar correctamente. Nuestra procesamiento aritmético, lógico, razonado, ... va ligado a ella.

  • Inteligencia Lingüistica-Verbal: Es la fluidez que posee una persona en el uso de la palabra. Destreza en la utilización del lenguaje, haciendo hincapié en el significado de las palabras, su orden sintáctico, sus sonidos, ... Esta inteligencia nos capacita para escribir poemas, historias, ...

  • Inteligencia Visual-Espacial: Es la habilidad de crear un modelo mental de formas, colores, texturas, ... Está ligada a la imaginación. Una persona con alta inteligencia visual está capacitada para transformar lo que crea en su mente en imágenes, tal como se expresa en el arte gráfico. Esta inteligencia nos capacita para crear diseños, cuadros, diagramas y construir cosas.

  • Inteligencia Corporal-Cinética: Es la habilidad para controlar los movimientos de todo el cuerpo para realizar actividades físicas. Se usa para efectuar actividades como deportes, que requiere coordinación y ritmo controlado.

  • Inteligencia Musical: Es la habilidad que nos permite crear sonidos, ritmos y melodías. Nos sirve para crear sonidos nuevos para expresar emociones y sentimientos a través de la música.

  • Inteligencia Interpersonal: Consiste en relacionarse y comprender a otras personas. Incluye las habilidades para mostrar expresiones faciales, controlar la voz y expresar gestos en determinadas ocasiones. También abacar las capacidades para percibir la afectividad de las personas.

  • Inteligencia Intrapersonal: Es nuestra conciencia. Entender lo que hacemos nosotros mismos y valorar nuestras propias acciones.

  • Inteligencia Naturalista: Consiste en el entendimiento del entorno natural y la observación científica de la naturaleza como la biología, geología o astronomía.


¿Qué es  Artificial?

El término ‘artificial’ se utiliza como adjetivo para designar a todos aquellos elementos, objetos o situaciones que son creadas por el hombre a semejanza de lo que lo rodea y que forma parte de la naturaleza. La palabra artificial proviene del sustantivo ‘artificio’ o ‘artefacto’, ambos haciendo referencia a elementos que son elaborados a partir de la inteligencia y creatividad del ser humano. Si bien esto no es siempre así, en algunos casos la idea de artificial puede tener ciertas implicaciones negativas, en el sentido de no ser natural o normal.


Si algo artificial es entendido como todo aquello creado por el ser humano, entonces podemos decir que este adjetivo se puede aplicar a períodos tan antiguos como la Prehistoria, momento el cual el ser humano empezó a crear y diseñar los primeros artefactos de caza y subsistencia. A lo largo de la historia, los artefactos inventados por el hombre han variado tanto y tan grandemente que es casi imposible relacionar unos con otros, pero sin duda alguna, también es imposible pensar que se podría haber llegado a lograr todos los inventos actuales sin milenios de previas tecnologías.
Gran parte de los elementos artificiales que ha creado el ser humano a lo largo de la historia tuvieron que ver con la búsqueda de mejorar la calidad de vida. Hoy en día, por eso, el ser humano actual se halla rodeado por un estilo de vida que poco tiene de natural y que ha perdido casi contacto con todo lo que estaba ya en la Tierra antes de su llegada. Las grandes ciudades carecen de contacto con los elementos naturales y la vida está completamente dominada por una variedad signficativa de artificios y artefactos de distinto tipo. Para muchos críticos, esto es uno de los aspectos más negativos de la idea de artificial, aquella que implica la pérdida de relación con la naturaleza.



¿Qué es la Inteligencia Artificial?

Se define la inteligencia artificial como aquella inteligencia exhibida por artefactos creados por humanos (es decir, artificial). A menudo se aplica hipotèticamente a los computadores. El nombre tambièn se usa para referirse al campo de la investigaciòn cientìfica que intenta acercarse a la creaciòn de tales sistemas.
Puede decirse que la Inteligencia Artificial (IA) es una de las àreas màs fascinantes y con màs retos de las ciencias de la computaciòn, en su àrea de ciencias cognoscitivas. Naciò como mero estudio filosòfico y razonìstico de la inteligencia humana, mezclada con la inquietud del hombre de imitar la naturaleza circundante (como volar y nadar), hasta inclusive querer imitarse a sì mismo. Sencillamente, la Inteligencia Artificial busca el imitar la inteligencia humana. Obviamente no lo ha logrado todavìa, al menos no completamente.

Historia de la Inteligencia Artificial
- La idea de algo parecido a la inteligencia artificial existe desde hace millones de años. El primer hombre primitivo que tomo conciencia de su propia existencia, y de que era capaz de pensar, seguramente se pregunto como funcionaria su pensamiento y posteriorme llegaria a la idea de un “creador superior”. Por lo tanto, la idea de que un ser inteligente cree a otro, la idea de un diseño virtual para la inteligencia, es tan remota como la toma de conciencia del ser humano.
- Los juegos matematicos antiguos, como el de la torres de hanoi (aprox 3000ac), demuestran el interes por la busqueda de un bucle resolutor, una IA capaz de ganar en los minimos movimientos posibles.
- En 1903 Lee De  inventa el triodo (tambien llamados bulbo o valvula de vacio). Podria decirse que la primera gran maquina inteligente diseñada por el hombre fue el computador ENIAC, compuesto por 18.000 valvulas de vacio, teniendo en cuenta que el concepto de “inteligencia” es un termino subjetivo que depende de la inteligencia y la tecnologia que tengamos en esa epoca. Un indigena del amazonas en el siglo 20 podria calificar de inteligente un tocadiscos, cuando en verdad no lo es tanto.
- En 1937, el matemàtico inglès Alan Mathison Turing (1912-1953) publicò un artìculo de bastante repercusiòn sobre los “Nùmeros Calculables”, que puede considerarse el origen oficial de la Informàtica Teòrica.
En este artìculo, introdujo la Màquina de Turing, una entidad matemàtica abstracta que formalizò el concepto de algoritmo y resultò ser la precursora de las computadoras digitales. Con ayuda de su màquina, Turing pudo demostrar que existen problemas irresolubles, de los que ningùn computador serà capaz de obtener su soluciòn, por lo que a Alan Turing se le considera el padre de la teorìa de la computabilidad.
Tambièn se le considera el padre de la Inteligencia Artificial, por su famosa Prueba de Turing, que permitirìa comprobar si un programa de ordenador puede ser tan inteligente como un ser humano.
- En 1951 William Shockley inventa el transistor de union. El invento del transistor hizo posible una nueva generaciòn de computadoras mucho màs ràpidas y pequeñas.
- En 1956, se acuño el tèrmino “inteligencia artificial” en Dartmouth durante una conferencia convocada por McCarthy, a la cual asistieron, entre otros, Minsky, Newell y Simon. En esta conferencia se hicieron previsiones triunfalistas a diez años que jamàs se cumplieron, lo que provocò el abandono casi total de las investigaciones durante quince años.
- En 1980 la historia se repitiò con el desafìo japonès de la quinta generaciòn, que dio lugar al auge de los sistemas expertos, pero que no alcanzò muchos de sus objetivos, por lo que este campo ha sufrido una nueva detenciòn en los años noventa.
- En 1987 Martin Fischles y Oscar Firschein describieron los atributos de un agente inteligente. Al intentar describir con un mayor àmbito (no solo la comunicaciòn) los atributos de un agente inteligente, la IA se ha extendido a muchas àreas que han creado ramas de investigaciòn enormes y diferenciadas. Dichos atributos del agente inteligente son:
1. Tiene actitudes mentales tales como creencias e intenciones
2. Tiene la capacidad de obtener conocimiento, es decir, aprender.
3. Puede resolver problemas, incluso particionando problemas complejos en otros màs simples.
4. Entiende. Posee la capacidad de crearle sentido, si es posible, a ideas ambiguas o contradictorias.
5. Planifica, predice consecuencias, evalùa alternativas (como en los juegos de ajedrez)
6. Conoce los lìmites de su propias habilidades y conocimientos.
7. Puede distinguir a pesar de las similitud de las situaciones.
8. Puede ser original, creando incluso nuevos conceptos o ideas, y hasta utilizando analogìas.
9. Puede generalizar.
10. Puede percibir y modelar el mundo exterior.
11. Puede entender y utilizar el lenguaje y sus sìmbolos.
Podemos entonces decir que la IA incluye caracterìsticas humanas tales como el aprendizaje, la adaptaciòn, el razonamiento, la autocorrecciòn, el mejoramiento implìcito, y la percepciòn modelar del mundo. Asì, podemos hablar ya no sòlo de un objetivo, sino de muchos dependiendo del punto de vista o utilidad que pueda encontrarse a la IA.
- Muchos de los investigadores sobre IA sostienen que “la inteligencia es un programa capaz de ser ejecutado independientemente de la màquina que lo ejecute, computador o cerebro”.
El Futuro de la Inteligencia Artificial
Un robot de charla o chatterbot es un programa de inteligencia artificial que pretende simular una conversaciòn escrita, con la intenciòn de hacerle creer a un humano que està hablando con otra persona.
El cerebro humano tiene 100.000 millones de neuronas. Un programa de ordenador puede simular unas 10.000 neuronas.
Si a la capacidad de proceso de un ordenador la sumamos la de otros 9.999.999 ordenadores, tenemos la capacidad de proceso de 10.000.000 ordenadores.
Multiplicamos 10.000.000 ordenadores por 10.000 neuronas cada uno y da = 100.000 millones de neuronas simuladas. Un cerebro humano sera simulado en el futuro gracias a internet y cualquiera puede programarlo.
Una vez que la inteligencia artificial tenga una inteligencia igual o superior a la del hombre, obligatoriamente surgira un cambio politico y social, en el que la IA tiene todas las de ganar si se da cuenta que no necesita a los humanos para colonizar el universo. Suena a ciencia ficcion pero actualmente orbitando estan los satelites de comunicaciones con sus procesadores 486.
En el futuro, la inteligencia artificial autoreplicante podria facilmente hacerse con todas las colonias humanas fuera de la tierra, y la raza humana nunca podra luchar en el espacio vacio en igualdad de condiciones.
El futuro de una inteligencia superior puede ser la investigacion de tecnologias como la teleportacion, los viajes estelares y cualquier otra tecnologia para aumentar “artificialmente” la inteligencia.


BIBLIOGRAFIA:
http://solvasquez.wordpress.com/2010/08/15/inteligencia-artificial/