User:Erick Stanley

Categorías de la inteligencia artificial[editar]
Búsqueda heurística. Podemos definir una heurística como un truco o estrategia que limita grandiosamente la búsqueda de soluciones ante grandes espacios de problemas. Por lo tanto, ante un problema, nos ayuda a seleccionar las bifurcaciones dentro de un árbol con más posibilidades; con ello se restringe la búsqueda, aunque no siempre se garantiza una solución adecuada. Todo lo que se debe tener en cuenta para que una heurística sea adecuada es que nos proporcione soluciones que sean lo suficientemente buenas. Además, con la utilización de la búsqueda heurística, no será necesario replantear un problema cada vez que se afronte, ya que si ya ha sido planteado anteriormente, ésta sugerirá la forma en que se ha de proceder para resolverlo.

Representación del conocimiento. La representación es una cuestión clave a la hora de encontrar soluciones adecuadas a los problemas planteados. Si analizamos más detenidamente el término encontramos varias definiciones: según Barr y Feigenbaum, la representación del conocimiento es una combinación de estructuras de datos y procedimientos de interpretación que, si son utilizados correctamente por un programa, éste podrá exhibir una conducta inteligente; según Fariñas y Verdejo, la Inteligencia Artificial tiene como objetivo construir modelos computacionales que al ejecutarse resuelvan tareas con resultados similares a los obtenidos por una persona, por lo que el tema central de esta disciplina es el estudio del conocimiento y su manejo; y según Buchanan y Shortliffe, la Representación del Conocimiento en un programa de Inteligencia Artificial significa elegir una serie de convenciones para describir objetos, relaciones, y procesos en el mundo. Gran parte del esfuerzo realizado en la consecución de ordenadores inteligentes, según Rahael, ha sido caracterizado por el intento continuo de conseguir más y mejores estructuras de representación del conocimiento, junto con técnicas adecuadas para su manipulación, que permitiesen la resolución inteligente de algunos de los problemas ya planteados. Otra característica importante es la inclusión en los programas de Inteligencia artificial, aunque por separado, de los conocimientos y la unidad que controla y dirige la búsqueda de soluciones. Dada esta disposición, en estos programas la modificación, ampliación y actualización de los mismos es sencilla.

El razonamiento que puede tener cualquier persona, ha demostrado ser una de los aspectos más difíciles de modelar "dentro" de un ordenador. El sentido común a menudo nos ayuda a prever multitud de hechos y fenómenos corrientes, pero, como ya hemos dicho, es muy complicado representarlos en un ordenador, dado que los razonamientos son casi siempre inexactos y que sus conclusiones y reglas en las que se basan solamente son aproximadamente verdaderas. Lenguajes, entornos y herramientas de Inteligencia Artificial En la Inteligencia Artificial, se han desarrollado diferentes lenguajes específicos para los diferentes campos de aplicación. Estos lenguajes en su mayoría cuentan con una serie de características comunes que podemos resumir de la siguiente forma: Este tipo de softwareofrece una gran modularidad. Poseen gran capacidad de tomar decisiones de programación hasta el último momento, es decir cuando el programa ya está ejecutándose. Ofrecen grandes facilidades en el manejo de listas, y esto es importante, ya que las listas son la estructura más habitual usada para la representación del conocimiento en la Inteligencia Artificial. Facilitan la realización de ciertos tipos de deducción automática permitiendo también la creación de una base de hechos (lugar donde se recogen los datos iniciales del problema a resolver y los resultados intermedios una vez obtenidos). Permite el uso simultáneo de estructuras que incorporan conocimiento declarativo y conocimiento procedimental. Tienen una marcada orientación gráfica. Además, las herramientas de Inteligencia Artificial permiten hacer un seguimiento de todos los cambios realizados a lo largo de toda la sesión Disponen herramientas capaces de desarrollar programas que son capaces de comprender otros programas y también de realizar modificaciones sobre ellos.

Stuart Russell y Peter Norvig diferencian estos tipos de la inteligencia artificial:8​
 * Sistemas que piensan como humanos.- Estos sistemas tratan de emular el pensamiento humano; por ejemplo las redes neuronales artificiales. La automatización de actividades que vinculamos con procesos de pensamiento humano, actividades como la toma de decisiones, resolución de problemas y aprendizaje.9​
 * Sistemas que actúan como humanos.- Estos sistemas tratan de actuar como humanos; es decir, imitan el comportamiento humano; por ejemplo la robótica. El estudio de cómo lograr que los computadores realicen tareas que, por el momento, los humanos hacen mejor.10​
 * Sistemas que piensan racionalmente.- Es decir, con lógica (idealmente), tratan de imitar o emular el pensamiento lógico racional del ser humano; por ejemplo los sistemas expertos. El estudio de los cálculos que hacen posible percibir, razonar y actuar.11​
 * Sistemas que actúan racionalmente (idealmente).– Tratan de emular de forma racional el comportamiento humano; por ejemplo los agentes inteligentes. Está relacionado con conductas inteligentes en artefactos.12​

Escuelas de pensamiento[editar]
La IA se divide en dos escuelas de pensamiento:
 * La inteligencia artificial convencional.
 * La inteligencia computacional.

Inteligencia artificial convencional[editar]
Se conoce también como IA simbólico-deductiva. Está basada en el análisis formal y estadístico del comportamiento humano ante diferentes problemas:
 * Razonamiento basado en casos: Ayuda a tomar decisiones mientras se resuelven ciertos problemas concretos y, aparte de que son muy importantes, requieren de un buen funcionamiento.
 * Sistemas expertos: Infieren una solución a través del conocimiento previo del contexto en que se aplica y ocupa de ciertas reglas o relaciones.
 * Redes bayesianas: Propone soluciones mediante inferencia probabilística.
 * Inteligencia artificial basada en comportamientos: Esta inteligencia contiene autonomía y puede auto-regularse y controlarse para mejorar.
 * Smart process management: Facilita la toma de decisiones complejas, proponiendo una solución a un determinado problema al igual que lo haría un especialista en la dicha actividad.

Inteligencia artificial computacional[editar]
Artículo principal: Inteligencia computacional

La Inteligencia Computacional (también conocida como IA subsimbólica-inductiva) implica desarrollo o aprendizaje interactivo (por ejemplo, modificaciones interactivas de los parámetros en sistemas de conexiones). El aprendizaje se realiza basándose en datos empíricos.

Historia[editar]
Artículo principal: Historia de la inteligencia artificial
 * El término “inteligencia artificial” fue acuñado formalmente en 1956 durante la conferencia de Darthmounth, pero para entonces ya se había estado trabajando en ello durante cinco años en los cuales se había propuesto muchas definiciones distintas que en ningún caso habían logrado ser aceptadas totalmente por la comunidad investigadora. La IA es una de las disciplinas más nuevas junto con la genética moderna.
 * Las ideas más básicas se remontan a los griegos, antes de Cristo. Aristóteles (384-322 a. C.) fue el primero en describir un conjunto de reglas que describen una parte del funcionamiento de la mente para obtener conclusiones racionales, y Ctesibio de Alejandría (250 a. C.) construyó la primera máquina autocontrolada, un regulador del flujo de agua (racional pero sin razonamiento).
 * En 1315 Ramon Llull en su libro Ars magna tuvo la idea de que el razonamiento podía ser efectuado de manera artificial.
 * En 1936 Alan Turing diseña formalmente una Máquina universal que demuestra la viabilidad de un dispositivo físico para implementar cualquier cómputo formalmente definido.
 * En 1943 Warren McCulloch y Walter Pitts presentaron su modelo de neuronas artificiales, el cual se considera el primer trabajo del campo, aun cuando todavía no existía el término. Los primeros avances importantes comenzaron a principios del año 1950 con el trabajo de Alan Turing, a partir de lo cual la ciencia ha pasado por diversas situaciones.
 * En 1955 Herbert Simon, Allen Newell y J. C. Shaw, desarrollan el primer lenguaje de programación orientado a la resolución de problemas, el IPL-11. Un año más tarde desarrollan el LogicTheorist, el cual era capaz de demostrar teoremas matemáticos.
 * En 1956 fue inventado el término inteligencia artificial por John McCarthy, Marvin Minsky y Claude Shannon en la Conferencia de Dartmouth, un congreso en el que 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 1957 Newell y Simon continúan su trabajo con el desarrollo del General Problem Solver (GPS). GPS era un sistema orientado a la resolución de problemas.
 * En 1958 John McCarthy desarrolla en el Instituto de Tecnología de Massachusetts (MIT) el LISP. Su nombre se deriva de LISt Processor. LISP fue el primer lenguaje para procesamiento simbólico.
 * En 1959 Rosenblatt introduce el Perceptrón.
 * A finales de la década de 1950 y comienzos de la de 1960 Robert K. Lindsay desarrolla «Sad Sam», un programa para la lectura de oraciones en inglés y la inferencia de conclusiones a partir de su interpretación.
 * En 1963 Quillian desarrolla las redes semánticas como modelo de representación del conocimiento.
 * En 1964 Bertrand Raphael construye el sistema SIR (Semantic Information Retrieval) el cual era capaz de inferir conocimiento basado en información que se le suministra. Bobrow desarrolla STUDENT.
 * A mediados de los años 60, aparecen los sistemas expertos, que predicen la probabilidad de una solución bajo un set de condiciones. Por ejemplo DENDRAL, iniciado en 1965 por Buchanan, Feigenbaum y Lederberg, el primer Sistema Experto, que asistía a químicos en estructuras químicas complejas euclidianas, MACSYMA, que asistía a ingenieros y científicos en la solución de ecuaciones matemáticas complejas.
 * Posteriormente entre los años 1968-1970 Terry Winograd desarrolló el sistema SHRDLU, que permitía interrogar y dar órdenes a un robot que se movía dentro de un mundo de bloques.
 * En 1968 Marvin Minsky publica Semantic Information Processing.
 * En 1968 Seymour Papert, Danny Bobrow y Wally Feurzeig desarrollan el lenguaje de programación LOGO.
 * En 1969 Alan Kay desarrolla el lenguaje Smalltalk en Xerox PARC y se publica en 1980.
 * En 1973 Alain Colmenauer y su equipo de investigación en la Universidad de Aix-Marseille crean PROLOG (del francés PROgrammation en LOGique) un lenguaje de programación ampliamente utilizado en IA.
 * En 1973 Shank y Abelson desarrollan los guiones, o scripts, pilares de muchas técnicas actuales en Inteligencia Artificial y la informática en general.
 * En 1974 Edward Shortliffe escribe su tesis con MYCIN, uno de los Sistemas Expertos más conocidos, que asistió a médicos en el diagnóstico y tratamiento de infecciones en la sangre.
 * En las décadas de 1970 y 1980, creció el uso de sistemas expertos, como MYCIN: R1/XCON, ABRL, PIP, PUFF, CASNET, INTERNIST/CADUCEUS, etc. Algunos permanecen hasta hoy (Shells) como EMYCIN, EXPERT, OPSS.
 * En 1981 Kazuhiro Fuchi anuncia el proyecto japonés de la quinta generación de computadoras.
 * En 1986 McClelland y Rumelhart publican Parallel Distributed Processing (Redes Neuronales).
 * En 1988 se establecen los lenguajes Orientados a Objetos.
 * En 1997 Gari Kaspárov, campeón mundial de ajedrez, pierde ante la computadora autónoma Deep Blue.
 * En 2006 se celebró el aniversario con el Congreso en español 50 años de Inteligencia Artificial - Campus Multidisciplinar en Percepción e Inteligencia 2006.
 * En el año 2009 ya hay en desarrollo sistemas inteligentes terapéuticos que permiten detectar emociones para poder interactuar con niños autistas.
 * En el año 2011 IBM desarrolló una supercomputadora llamada Watson, la cual ganó una ronda de tres juegos seguidos de Jeopardy!, venciendo a sus dos máximos campeones, y ganando un premio de 1 millón de dólares que IBM luego donó a obras de caridad.13​
 * En 2016, un programa informático ganó cinco a cero al triple campeón de Europa de Go.14​
 * Existen personas que al dialogar sin saberlo con un chatbot no se percatan de hablar con un programa, de modo tal que se cumple la prueba de Turing como cuando se formuló: «Existirá Inteligencia Artificial cuando no seamos capaces de distinguir entre un ser humano y un programa de computadora en una conversación a ciegas».
 * Como anécdota, 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».

La inteligencia artificial, la conciencia y los sentimientos[editar]
El concepto de IA es aún demasiado difuso. Contextualizando, y teniendo en cuenta un punto de vista científico, podríamos definir esta ciencia como la encargada de imitar el cerebro, que no el cuerpo, de una persona en todas sus funciones. Estas pueden ser las ya existentes en el humano o bien otras novedosas e incorporadas en el desarrollo de una máquina inteligente.

En relación a la conciencia y las emociones, y aunque por el momento la mayoría de los investigadores en el ámbito de la Inteligencia Artificial se centran sólo en el aspecto racional, hay expertos que consideran seriamente la posibilidad de incorporar componentes «emotivos» como indicadores de estado, a fin de aumentar la eficacia de los sistemas inteligentes en determinadas situaciones.

A diferencia de los humanos, hay términos que la Inteligencia Artificial no puede comprender o entender conceptos humanos como el amor, el matrimonio, el sentido de la vida, el libre albedrío el cariño o las emociones humanas

Particularmente, en el caso de los robots móviles, es necesario que estos cuenten con algo similar a las emociones con el objeto de saber –en cada instante y como mínimo– qué hacer a continuación [Pinker, 2001, p. 481].

Al tener «sentimientos» y, al menos potencialmente, «motivaciones», podrán actuar de acuerdo con sus «intenciones» [Mazlish, 1995, p. 318]. Así, se podría equipar a un robot con dispositivos que controlen su medio interno; por ejemplo, que «sientan hambre» al detectar que su nivel de energía está descendiendo o que «sientan miedo» cuando este esté demasiado bajo.

Esta señal podría interrumpir los procesos de alto nivel y obligar al robot a conseguir el preciado elemento [Johnson-Laird, 1993, p. 359]. Incluso se podría introducir el «dolor» o el «sufrimiento físico», a fin de evitar las torpezas de funcionamiento como, por ejemplo, introducir la mano dentro de una cadena de engranajes o saltar desde una cierta altura, lo cual le provocaría daños irreparables.

Esto significa que los sistemas inteligentes deben ser dotados con mecanismos de retroalimentación que les permitan tener conocimiento de estados internos, igual que sucede con los humanos que disponen de propiocepción, interocepción, nocicepción, etcétera. Esto es fundamental tanto para tomar decisiones como para conservar su propia integridad y seguridad. La retroalimentación en sistemas está particularmente desarrollada en cibernética: por ejemplo, en el cambio de dirección y velocidad autónomo de un misil, utilizando como parámetro la posición en cada instante en relación al objetivo que debe alcanzar. Esto debe ser diferenciado del conocimiento que un sistema o programa computacional puede tener de sus estados internos, por ejemplo la cantidad de ciclos cumplidos en un loop o bucle en sentencias tipo do... for, o la cantidad de memoria disponible para una operación determinada.

A los sistemas inteligentes el no tener en cuenta elementos emocionales les permite no olvidar la meta que deben alcanzar. En los humanos el olvido de la meta o el abandonar las metas por perturbaciones emocionales es un problema que en algunos casos llega a ser incapacitante. Los sistemas inteligentes, al combinar una memoria durable, una asignación de metas o motivación, junto a la toma de decisiones y asignación de prioridades con base en estados actuales y estados meta, logran un comportamiento en extremo eficiente, especialmente ante problemas complejos y peligrosos.

En síntesis, lo racional y lo emocional están de tal manera interrelacionados entre sí, que se podría decir que no sólo no son aspectos contradictorios sino que son –hasta cierto punto– complementarios.

Véase también: La era de las máquinas espirituales

Críticas[editar]
Las principales críticas a la inteligencia artificial tienen que ver con su capacidad de imitar por completo a un ser humano. Sin embargo, hay expertos en el tema que indican que ningún humano individual tiene capacidad para resolver todo tipo de problemas, y autores como Howard Gardner han teorizado que existen inteligencias múltiples. Un sistema de inteligencia artificial debería resolver problemas por lo que es fundamental en su diseño la delimitación de los tipos de problemas que resolverá y las estrategias y algoritmos que utilizará para encontrar la solución.

En los humanos, la capacidad de resolver problemas tiene dos aspectos: los aspectos innatos y los aspectos aprendidos. Los aspectos innatos permiten, por ejemplo, almacenar y recuperar información en la memoria, mientras que en los aspectos aprendidos reside el saber resolver un problema matemático mediante el algoritmo adecuado. Del mismo modo que un humano debe disponer de herramientas que le permitan solucionar ciertos problemas, los sistemas artificiales deben ser programados de modo tal que puedan llegar a resolverlos.

Muchas personas consideran que el test de Turing ha sido superado, citando conversaciones en que al dialogar con un programa de inteligencia artificial para chat no saben que hablan con un programa. Sin embargo, esta situación no es equivalente a un test de Turing, que requiere que el participante esté sobre aviso de la posibilidad de hablar con una máquina.

Otros experimentos mentales como la Habitación china, de John Searle, han mostrado cómo una máquina podría simular pensamiento sin realmente poseerlo, pasando el test de Turing sin siquiera entender lo que hace, tan solo reaccionando de una forma concreta a determinados estímulos (en el sentido más amplio de la palabra). Esto demostraría que la máquina en realidad no está pensando, ya que actuar de acuerdo con un programa preestablecido sería suficiente. Si para Turing el hecho de engañar a un ser humano que intenta evitar que le engañen es muestra de una mente inteligente, Searle considera posible lograr dicho efecto mediante reglas definidas a priori.

Uno de los mayores problemas en sistemas de inteligencia artificial es la comunicación con el usuario. Este obstáculo es debido a la ambigüedad del lenguaje, y se remonta a los inicios de los primeros sistemas operativos informáticos. La capacidad de los humanos para comunicarse entre sí implica el conocimiento del lenguaje que utiliza el interlocutor. Para que un humano pueda comunicarse con un sistema inteligente hay dos opciones: o bien que el humano aprenda el lenguaje del sistema como si aprendiese a hablar cualquier otro idioma distinto al nativo, o bien que el sistema tenga la capacidad de interpretar el mensaje del usuario en la lengua que el usuario utiliza.

Un humano, durante toda su vida, aprende el vocabulario de su lengua nativa o materna, siendo capaz de interpretar los mensajes (a pesar de la polisemia de las palabras) utilizando el contexto para resolver ambigüedades. Sin embargo, debe conocer los distintos significados para poder interpretar, y es por esto que lenguajes especializados y técnicos son conocidos solamente por expertos en las respectivas disciplinas. Un sistema de inteligencia artificial se enfrenta con el mismo problema, la polisemia del lenguaje humano, su sintaxis poco estructurada y los dialectos entre grupos.

Los desarrollos en inteligencia artificial son mayores en los campos disciplinares en los que existe mayor consenso entre especialistas. Un sistema experto es más probable que sea programado en física o en medicina que en sociología o en psicología. Esto se debe al problema del consenso entre especialistas en la definición de los conceptos involucrados y en los procedimientos y técnicas a utilizar. Por ejemplo, en física hay acuerdo sobre el concepto de velocidad y cómo calcularla. Sin embargo, en psicología se discuten los conceptos, la etiología, la psicopatología y cómo proceder ante cierto diagnóstico. Esto dificulta la creación de sistemas inteligentes porque siempre habrá desacuerdo sobre la forma en que debería actuar el sistema para diferentes situaciones. A pesar de esto hay grandes avances en el diseño de sistemas expertos para el diagnóstico y toma de decisiones en el ámbito médico y psiquiátrico (Adaraga Morales, Zaccagnini Sancho, 1994).

Al desarrollar un robot con inteligencia artificial se debe tener cuidado con la autonomía,15​hay que tener cuidado en no vincular el hecho de que el robot interaccione con seres humanos a su grado de autonomía. Si la relación de los humanos con el robot es de tipo maestro esclavo, y el papel de los humanos es dar órdenes y el del robot obedecerlas, entonces sí cabe hablar de una limitación de la autonomía del robot. Pero si la interacción de los humanos con el robot es de igual a igual, entonces su presencia no tiene por qué estar asociada a restricciones para que el robot pueda tomar sus propias decisiones.

Tecnologías de apoyo[editar]

 * Interfaces de usuario
 * Visión artificial
 * Smart process management

Aplicaciones de la inteligencia artificial[editar]
Artículo principal: Aplicaciones de la inteligencia artificial

Un asistente automático en líneadando servicio de atención al cliente en un sitio web – una de las muchas aplicaciones primitivas de la inteligencia artificial.

Las técnicas desarrolladas en el campo de la inteligencia artificial son numerosas y ubicuas. Comúnmente cuando un problema es resuelto mediante inteligencia artificial la solución es incorporada en ámbitos de la industria y de la vida diaria de los usuarios de programas de computadora, pero la percepción popular se olvida de los orígenes de estas tecnologías que dejan de ser percibidas como inteligencia artificial. A este fenómeno se le conoce como el efecto IA.16​
 * Lingüística computacional
 * Minería de datos (Data Mining)
 * Industria.
 * Medicina
 * Mundos virtuales
 * Procesamiento de lenguaje natural (Natural Language Processing)
 * Robótica
 * Mecatrónica
 * Sistemas de apoyo a la decisión
 * Videojuegos
 * Prototipos informáticos
 * Análisis de sistemas dinámicos
 * Smart Process Management
 * Simulación de multitudes

Aplicaciones prácticas[editar]
La mayoría de los juegos de mesa y una gran cantidad de problemas informáticos mediante la modelización del problema en estados con la posterior aplicación de un algoritmo de búsqueda entre estos estados.

La aplicación más evidente es el control de los PNJ en el juego. La búsqueda de ruta es otro de uso común para la IA, buscar un camino para mover un PNJ de un punto en un mapa a otro, teniendo en cuenta el terreno y evitando los obstáculos. Más allá de búsqueda de caminos, la navegación es un subcampo de la IA del juego que se centra en dar a los PNJ la capacidad de navegar en su entorno, la búsqueda de un camino hacia un objetivo, evitando colisiones con otras entidades o colaborar con ellos. La IA también está involucrada con el equilibrio de la dificultad del juego, que consiste en el ajuste de la dificultad de un juego de videojuego en tiempo real basado en la habilidad del jugador, aumentando la dificultad del juego se aumentaría la capacidad de la IA reduciendo así el "tiempo de reacción" a determinados sucesos.

Las tres en raya[editar]
Una de las aplicaciones de la IA en la que es muy fácil entender el funcionamiento y la programación de la misma es por ejemplo en el tic-tac-toe, es decir, "las tres en raya".¿Cómo podría programarse un juego de este tipo?:

Para empezar, el tablero es una estructura de datos de tipo matriz que contiene unas casillas las cuales están ocupadas por un jugador o vacías. Una partida es una secuencia de estados por los que pasa un tablero. Para programar la inteligencia artificial para que pueda ganarnos debemos hacer que aprenda los distintos estados e ir avanzando por los que pueda ganar:
 * Una opción para enseñar a la inteligencia artificial es enseñarle todos los distintos estados ganadores que pueden darse en el tablero. Pero esto puede ser muy costoso ya que cuantas más casillas tenga el tablero, mas estados tiene.

Normalmente para estos juegos se utiliza la estrategia minimax, la cual imita el comportamiento humano tras examinar un cierto número de jugadas anteriormente. En este enfoque existe una función de evaluación que da un valor a cada posible movimiento.
 * Otro punto de vista sería programar la IA para que actúe en cada turno, es decir, que la instruyamos para que actúe de acuerdo a unas instrucciones estipuladas. Por ejemplo, cuando el jugador tenga dos fichas alineadas, la IA debe colocar su ficha en la posición en la que el jugador fuese a ganar para cortarle la victoria, así pues, cuando la IA tenga dos fichas alineadas la siguiente que debe colocar es en la posición ganadora. Si no se da ninguno de estos dos casos podría elegir un sitio aleatorio.

Investigadores en el campo de la inteligencia artificial[editar]

 * Jeff Hawkins
 * John McCarthy
 * Marvin Minsky
 * Judea Pearl
 * Alan Turing, discípulo de John von Neumann, diseñó el Test de Turing que debería utilizarse para comprender si una máquina lógica es inteligente o no.
 * Joseph Weizenbaum
 * Raúl Rojas
 * Ray Kurzweil