modulo_901691

Upload: shintakun

Post on 04-Jun-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 Modulo_901691

    1/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIACONTENIDO DIDACTICO DEL CUSO: 90169 INTELIGENCIA ARTIFICIAL

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA

    PROGRAMA DE INGENIERA DE SISTEMAS

    90169 INTELIGENCIA ARTIFICIAL

    ANGELA MARIA GONZALEZ AMARILLO Directora Nacional

    MARCO ANTONIO LPEZ Acreditador

    Julio de 2013

  • 8/14/2019 Modulo_901691

    2/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIACONTENIDO DIDACTICO DEL CUSO: 90169 INTELIGENCIA ARTIFICIAL

    ASPECTOS DE PROPIEDAD INTELECTUAL Y VERSIONAMIENTO

    El presente mdulo fue iniciado en el ao 2005 por el Ing. Edgar Alberto Quiroga,docente de la UNAD, y ubicado en la zona Centro Boyac, el Ing. Quiroga esIngeniero de Sistemas, y especialista en Binica de MIT, se ha desempeado comotutor de la UNAD desde el 2001 hasta el ao 2007 hoy docente de la UPTC.

    El presente mdulo ha tenido tres actualizaciones, desarrolladas por el ing. JohnArroyave Gutirrez, quien ha sido tutor de la UNAD en el CEAD Medelln.Adicionalmente, el Ing. Nelson Castro Cacante, tutor de la UNAD en la Guajira,apoy el proceso de revisin de estilo del mdulo en aspectos disciplinares,didcticos y pedaggicos durante el proceso de acreditacin de material didcticodesarrollado en el mes de julio de 2009.

    El presente mdulo, como herramienta para el aprendizaje autnomo, no esperareinventar o redefinir el conocimiento sobre la Inteligencia Artificial sino que articulamltiples fuentes de informacin donde se publican teoras, problemas y ejercicioscomunes sobre el tema para que el estudiante adquiera el conocimiento ycompetencias esperadas. En ese orden de ideas es normal que el mdulo cuentecon mltiples referencias hacia otros textos o sitios web que extienden los temasaqu tratados y que se relacionan en las fuentes bibliogrficas.

    La ltima versin de este mdulo fue emitida en Junio de 2013.

  • 8/14/2019 Modulo_901691

    3/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    INTRODUCCIN AL CURSO

    Inteligencia Artificial es un curso de carcter terico, que se inscribe en el campo deformacin electiva profesional del Programa de Ingeniera de Sistemas con un valoracadmico de tres crditos.

    El estudiante en el desarrollo de este curso recibe una introduccin al rea de la InteligenciaArtificial (IA) conociendo algunos de los mtodos utilizados para construir sistemasinteligentes. Para ello se introducen las tcnicas ms comunes de manipulacin yrepresentacin del conocimiento y se analizan las caractersticas de las herramientasdisponibles para la construccin de aplicaciones reales.

    Dada la naturaleza constructiva y experimental de la IA se da una gran importancia a la parteprctica es decir se busca que el estudiante en forma personal trabaje en las tcnicas deprogramacin efectiva de este tipo de sistemas, tambin es de resaltar que como estudiante,a este nivel de la carrera, los conocimientos de las reas de teora de grafos, estructuras dedatos y lgica le van a permitir abordar el curso con ms suficiencia en los conocimientos.

    El enfoque "orientado al mtodo" que se utiliza en el curso hace hincapi en los modelos deresolucin de problemas, el aprendizaje, conexionismo, lenguajes de programacin oherramientas de construccin de sistemas basados en conocimientos. En lo referente a lasprcticas se concede mayor importancia a estas ya que el alumno debe utilizar lenguajes deprogramacin o herramientas de desarrollo para construir programas que apliquen losmtodos vistos en la teora para resolver pequeos problemas de mundo real.

    Como se expone en las lneas anteriores, aunque su carcter sea terico, en el curso seconsideran los trabajos prcticos complementarios como el medio ideal para:

    Fomentar la capacidad evaluadora y de decisin de los estudiantes. Comprender y afianzar los conocimientos adquiridos en el estudio terico del curso. Conseguir que los estudiantes tomen conciencia de la aplicabilidad de las tcnicas

    aprendidas.

    En este sentido, es importante resaltar que las prcticas de los alumnos no deben consistiren meros esfuerzos de programacin, el planteamiento que debe primar es el que el alumnose vea obligado a evaluar distintas posibilidades de solucin, seleccionar e integrar tcnicas,comprobar que las soluciones obtenidas respondan a lo esperado, comparar los resultadosobtenidos con tcnicas distintas y, en definitiva, aprender a aplicar la IA en dominioscotidianos. Segn esto, la programacin de tcnicas no debe considerarse como un fin en smismo, sino ms bien como un medio para alcanzar los objetivos mencionados. Ademsexiste una preferencia generalizada por la utilizacin de problemas reales, para potenciar lacapacidad de anlisis del estudiante.

    Durante este curso, la metodologa de trabajo buscar dinamizar la experiencia individual ygrupal as como el acompaamiento que el tutor realiza al estudiante para activar los

  • 8/14/2019 Modulo_901691

    4/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    aprendizajes y la formacin, que favorece la disposicin a ser partcipe en la solucin deproblemas.

    El trabajo que se promueve en el estudiante es de dos tipos: individual y grupal. El trabajoindividual que es un estudio independiente y personal en donde las actividades se realizanautnomamente como por ejemplo lecturas, desarrollo de tareas, interaccin con mediostecnolgicos y tutoriales, al igual que la revisin de los materiales que se presentan en elmdulo y el aula virtual. El trabajo grupal que se refiere a las actividades en pequeosgrupos colaborativos de aprendizaje para el desarrollo de talleres y tareas relacionadas.

    Mediante diversas actividades de aprendizaje que orientan el trabajo de los estudiantes sepretende que se logren los objetivos, de la siguiente manera:

    Tutor-estudiante: a travs del acompaamiento individual, foros, chat, correoelectrnico.

    Estudiante-estudiante: mediante la participacin activa en los grupos colaborativos deaprendizaje.

    Estudiantes-tutor: a travs del acompaamiento a los pequeos grupos colaborativosde aprendizaje, grupos de discusin, foros, chat, correo electrnico.

    Tutor-estudiantes: mediante el acompaamiento en grupo de curso. Estudiantes-estudiantes: en los procesos de socializacin que se realizan en el grupo

    de curso.

    El sistema de evaluacin del curso se realiza a travs de la evaluacin formativa, queconstituye distintas formas de comprobar el avance en el autoaprendizaje del estudiante. Eneste sentido, para algunas actividades se realizarn tres tipos de evaluacin alternativas ycomplementarias, estas son:

    Autoevaluacin: evaluacin que realiza el estudiante para valorar su propio proceso deaprendizaje.

    Coevaluacin: se realiza a travs de los grupos colaborativos, y pretende lasocializacin de los resultados del trabajo personal.

    Heteroevaluacin: Es la valoracin que realiza el tutor.

    No se debe olvidar que la evaluacin global del curso se compone de un examen nacional (oprueba final) con un peso del 40% y una calificacin de seguimiento obtenida como elcmputo de las calificaciones obtenidas en las diferentes actividades solicitadas por el tutor orealizadas a travs del aula virtual y con un peso del 60%.

    Para el desarrollo del curso es importante el papel que juegan los recursos tecnolgicoscomo medio activo e interactivo, buscando la interlocucin durante todo el proceso de dilogoTutor-estudiante.

    Los materiales impresos en papel, se han convertido en el principal soporte parafavorecer los procesos de aprendizaje autodirigido.

  • 8/14/2019 Modulo_901691

    5/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    Aula Virtual: propician el acercamiento al conocimiento, la interaccin y la produccinde nuevas dinmicas educativas.

    Sistemas de interactividades sincrnicas: permite la comunicacin a travs deencuentros presenciales directos o de encuentros mediados (chat, audio conferencias,videoconferencias, tutoras telefnicas)

    Sistemas de interactividades diferidas: permite la comunicacin en forma diferidafavoreciendo la disposicin del tiempo del estudiante para su proceso de aprendizaje,mediante la utilizacin de correo electrnico, foros, grupos de discusin, sitios web,entre otros.

    El acceso a documentos adquiere una dimensin de suma importancia en tanto lainformacin sobre el tema exige conocimientos y planteamientos preliminares, por tal raznes imprescindible el recurso a diversas fuentes documentales y el acceso a diversos medioscomo son: bibliotecas electrnicas, hemerotecas digitales e impresas y sitios Webespecializados 1.

    Por ltimo y para alcanzar los objetivos planteados en este curso es importante que ustedcomo gestor de su propio proceso de aprendizaje considere los siguientes puntos comorectores de sus tareas autnomas:

    Organizacin del tiempo. Organizacin del material. Desarrollo de actividades de autoaprendizaje. Desarrollo de tareas individuales y grupales.

    Organizacin del tiempo: dedique por lo menos una hora diaria al estudio de este curso. Elxito de este aprendizaje est fundamentado en la disciplina individual que usted seproponga como hbito personal. No deje acumular su trabajo para la vspera de la fecha deentrega de las tareas. Tenga presente que un crdito acadmico representa 48 horas deestudio y por lo tanto este curso espera que usted dosifique su tiempo para que estudie almenos 144 horas durante el perodo acadmico .

    Organizacin del material y de estudio: planifique diariamente tanto el tiempo como elmaterial que va a utilizar y revisar en cada actividad. Intercambie sus puntos de vista,materiales encontrados, opiniones de textos y autores con el propsito de alimentar yenriquecer su producto final.

    Desarrollo de actividades de autoaprendizaje: desarrolle ejercicios y actividades deautoaprendizaje, incorpore a su estudio otros contenidos que sean producto deinvestigaciones bibliogrficas y de Internet.

    Desarrollo de tareas individuales y grupales: desarrolle a conciencia cada una de las tareasindividuales y grupales a distancia. La suma de estos trabajos integra gran parte de su 1 La Universidad Nacional Abierta y a Distancia cuenta con una biblioteca virtual con ms de 30.000

    ejemplares en formato digital que le permiten al estudiante encontrar informacin sobre diferentes reas,descargarla, imprimirla, etc. Ms informacin en http://biblioteca.unad.edu.co

    http://biblioteca.unad.edu.co/http://biblioteca.unad.edu.co/http://biblioteca.unad.edu.co/http://biblioteca.unad.edu.co/
  • 8/14/2019 Modulo_901691

    6/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    trabajo final.

    Las competencias que promueve el curso y que son necesarias para todo ingeniero son:

    COGNITIVA: Capacidad de apropiarse de un conjunto de conocimientos a travs deldesarrollo, monitoreo y aplicacin de procesos de pensamiento.

    COMUNICATIVA: Capacidad de comprender, expresar mensajes y de desarrollarprocesos argumentativos, apoyados por la asertividad en las relacionesinterpersonales.

    CONTEXTUAL: Capacidad de ubicar el conocimiento en el contexto cientfico,poltico, cultural, tecnolgico, social y en el plano nacional e internacional, as como ladisposicin y capacidad para aplicarlo en procesos de transformacin que inciden enla calidad de vida de la poblacin.

    VALORATIVA: Capacidad de apropiarse de valores como el respeto a la vida. Ladignidad humana, la convivencia, la solidaridad, la tolerancia y la libertad que orientanlas acciones del individuo como persona, como ser social y como profesional.

    Para el logro de stas competencias, es necesario que se planifique de manera responsableel proceso de aprendizaje autnomo por parte del estudiante si se quieren lograr resultadospositivos en el aprendizaje de los conceptos incluidos en el curso, este proceso se puedeplanificar de la siguiente manera:

    Autoestudio: Estudio individual del material sugerido y consulta de otras fuentes(documentales, consulta en biblioteca, Internet, bibliografa recomendada, consulta abases de datos documentales, entre otros)

    Trabajo en grupo: Creacin de grupos de estudio o discusin con el propsito depreparar consultas estructuradas al tutor.

    Consultas al tutor: Consulta al tutor de las inquietudes surgidas en el punto anterior. Retroalimentacin: Una vez el tutor haya resuelto las inquietudes, estudie nuevamente

    el tema, teniendo en cuenta las sugerencias o respuestas dadas por el tutor. Procesos de evaluacin: Una vez se haya realizado el proceso de retroalimentacin,

    desarrolle los diferentes momentos de evaluacin propuestos en el curso como son laautoevaluacin, coevaluacin y heteroevaluacin cuando la actividad as lo solicite.

  • 8/14/2019 Modulo_901691

    7/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    INDICE DE CONTENIDO

    UNIDADES DIDCTICAS

    Primera Unidad Captulos Temas INTRODUCCINA LAINTELIGENCIAARTIFICIAL

    Objetivos yaplicaciones dela inteligenciaArtificial

    Inteligencia, definicin de Inteligencia Artificial (IA)y evolucin histrica Tcnicas de resolucin de problemas de IACriterios de xito de la IA Resolucin de problemas de IA:

    AgentesInteligentes

    Definiciones y caractersticas de un AgenteInteligente. Tipos y arquitecturas de agentes.

    Complejidad delos problemas.

    Problemas de tiempo polinomial (P)Problemas no polinomiales (NP)

    Segunda Unidad Captulos Temas LOS SISTEMASDE BUSQUEDA

    Introduccin a lossistemas debsquedas

    El papel de la bsqueda en la InteligenciaArtificial. Componentes de un sistema de bsquedaClasificacin.

    Bsquedas enespacios deestados

    Algoritmos generales de bsqueda.Estrategias de bsqueda. Bsqueda heurstica

    Otros tipos debsquedas

    Algoritmos Genticos Bsqueda en sistemas de juegos

    Tercera Unidad Captulos Temas REPRESENTACIN DELCONOCIMIENTO y RAZONAMIENTO

    El papel delconocimiento enla InteligenciaArtificial.

    Paradigmas simblico y conexionista.Modelos de representacin Puntos de vista declarativos y normativosAplicaciones en la ciencia e Ingeniera

    Representaciones basadas enlgicas

    El lenguaje de la lgica de predicadosExtensiones de la lgica clsicaProgramacin lgica

    Gestin de reglasde produccin

    Inferencia Reglas de produccin sin y con variablesIntroduccin al aprendizaje automtico de reglas.

  • 8/14/2019 Modulo_901691

    8/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    INTENCIONALIDADES FORMATIVAS

    PROPSITOS Facilitar la apropiacin de conocimientos para que el estudiante pueda Adquirir los

    conceptos bsicos de la Inteligencia Artificial.

    Lograr que el estudiante comprenda los elementos bsicos de representacin,eligiendo el formalismo ms adecuado y entender el funcionamiento de los diferentesalgoritmos de bsqueda.

    OBJETIVOS

    Estudiar los conceptos fundamentales de la inteligencia artificial (IA) y conoceralgunos de los mtodos ms utilizados para construir sistemas inteligentes.

    Analizar problemas y decidir si se puede o no aplicar bsqueda y en caso afirmativoque tipo de tcnica utilizar.

    Examinar las principales caractersticas de los Agentes Inteligentes, sufuncionamiento, estandarizacin y elementos que los componen.

    Explorar los conceptos bsicos sobre redes neuronales y lgica difusa.

    COMPETENCIAS El estudiante conoce La lgica de predicados consistente en un lenguaje para

    expresar proposiciones y reglas para inferir nuevas proposiciones a partir de las queya conocemos.

    El estudiante desarrolla la capacidad de abstraccin y anlisis terico en relacin conla teora, para adquirir herramientas como los algoritmos de bsqueda y los rboles debsqueda para aplica estas capacidades a algunas asignaturas de la carrera.

    METAS

    Al terminar el curso el estudiante: Debe demostrar la asimilacin de los conceptos fundamentales mediante la resolucin

    de problemas acerca de los mismos, as como la realizacin de un reducido grupo depracticas en el computador.

    Desarrollar la capacidad de entender los problemas computacionales, y lograr unacomprensin acabada de ciertos tpicos de la ciencia de la computacin; en particular,en lo referente a modelos bsicos de conmutabilidad y complejidad de problemas.

  • 8/14/2019 Modulo_901691

    9/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    JUSTIFICACIN

    Dentro del campo de la informtica una de las reas que ms ha hecho evolucionar losproblemas que se pueden resolver por la utilizacin de los computadores ha sido laInteligencia Artificial. El objetivo de la Inteligencia Artificial consiste en la construccin desistemas tanto en hardware como software que sean capaces de replicar aspectos de lo quese suele considerar inteligencia. Evidentemente este objetivo est muy ligado a la definicinde la propia palabra inteligencia de la que existe aproximadamente una definicin por cadapersona.

    Esto nos obliga a adoptar un punto de vista prctico y definir la Inteligencia Artificial como elconjunto de tcnicas mtodos herramientas y metodologas que nos ayudan a construirsistemas que se comportan igual que un humano en la resolucin de problemas concretos.

    Segn esta definicin la Inteligencia Artificial involucra a muchos campos de investigacin ydesarrollo diferentes tales como la robtica, la visin artificial, la resolucin de problemas, lossistemas expertos, la traduccin automtica, redes neuronales, sistemas difusos, etc.

    El curso acadmico se centra en las tcnicas bsicas de realizacin de este tipo de sistemas,que son la representacin del conocimiento y la bsqueda de soluciones. ya que el tipo deconocimiento que poseemos, sobre un determinado campo, no est normalmenteestructurado; segn los mecanismos de representacin utilizados en programacinconvencional como pilas, listas, matrices, variables etc. sino que estn estructurados,utilizando mecanismos de representacin ms complejos. Es necesario entonces, ampliar elconjunto de tcnicas computacionales bsicas, con un conjunto de formalismos derepresentacin, que permitan mostrar estas estructuras ms complejas que empleamos loshumanos.

    Estos formalismos son los que se estudiaran en la unidad didctica titulada Representacindel Conocimiento Una vez representado el conocimiento del humano, utilizando estosformalismos de representacin, es necesario resolver los mismos problemas que resuelve elhumano experto. Apoyados en la unidad didctica de los Sistemas de Bsquedaparticularmente en la bsqueda heurstica, en donde se estudian una serie de mtodos deseleccin, de las mejores alternativas de decisin para poder resolver problemas. Utilizandoel desarrollo de rboles de bsqueda que describen las posibles alternativas que tiene laresolucin de un determinado problema.

    As mismo se estudia cmo representar y manejar el conocimiento que hace que laspersonas expertas resuelvan directamente problemas complejos, seleccionando en la mayorparte de las ocasiones las mejores alternativas. Esto se har a partir del concepto deheurstica, y apoyados en el concepto de la Wikipedia 2 que indica que "heurstica es lacapacidad de un sistema para realizar de forma inmediata innovaciones positivas para susfines. La capacidad heurstica es un rasgo caracterstico de los humanos, desde cuyo puntode vista puede describirse como el arte y la ciencia del descubrimiento y de la invencin o de 2 Heurstica. (2010, 3) de junio.Wikipedia, La enciclopedia libre . Fecha de consulta: 19:30, junio 29, 2010 en Wikipedia

  • 8/14/2019 Modulo_901691

    10/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    resolver problemas mediante la creatividad y el pensamiento lateral o pensamientodivergente ".

    La palabra heurstica aparece en ms de una categora gramatical. Cuando se usa comosustantivo, identifica el arte o la ciencia del descubrimiento, una disciplina susceptible de serinvestigada formalmente. Cuando aparece como adjetivo, se refiere a cosas ms concretas,como estrategias heursticas, reglas heursticas o silogismos y conclusiones heursticas.Claro est que estos dos usos estn ntimamente relacionados ya que la heursticausualmente propone estrategias heursticas que guan el descubrimiento".

    Es decir que ayuda a los expertos en un campo a resolver problemas de forma ms eficiente,que a los faltos de experiencia en el mismo campo.

    Caractersticas de la Inteligencia Artificial.

    La caracterstica fundamental que distingue a los mtodos de Inteligencia Artificial de losmtodos numricos es el uso de smbolos no matemticos, aunque no es suficiente paradistinguirlo completamente.

    Las conclusiones de un programa declarativo no son fijas y son determinadas parcialmentepor las conclusiones intermedias alcanzadas durante las consideraciones al problemaespecfico. Los lenguajes orientados al objeto comparten esta propiedad y se hancaracterizado por su afinidad con la Inteligencia Artificial.

    El razonamiento basado en el conocimiento, implica que estos programas incorporanfactores y relaciones del mundo real y del mbito del conocimiento en que ellos operan. Alcontrario de los programas para propsito especfico, como los de contabilidad y clculoscientficos; los programas de Inteligencia Artificial pueden distinguir entre el programa derazonamiento o motor de inferencia y base de conocimientos dndole la capacidad deexplicar discrepancias entre ellas.

    Aplicabilidad a datos y problemas mal estructurados, sin las tcnicas de Inteligencia Artificiallos programas no pueden trabajar con este tipo de problemas. Un ejemplo es la resolucin deconflictos en tareas orientadas a metas como en planificacin, o el diagnstico de tareas enun sistema del mundo real: con poca informacin, con una solucin cercana y nonecesariamente exacta.

  • 8/14/2019 Modulo_901691

    11/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    UNIDAD DIDCTICA 1

    INTRODUCCIN A LA INTELIGENCIA ARTIFICIAL

    INTRODUCCIN

    La Inteligencia Artificial, o IA en trminos cortos, es una combinacin de la ciencia de loscomputadores, la sicologa y la filosofa. La IA cubre un espectro amplio, consistente encampos de estudio diferentes, estos van desde la visin por computador hasta las redesneuronales y los sistemas expertos. El elemento que los campos de la IA tienen en comn esla creacin o simulacin de maquinas que puedan " pensar ".

    Para clasificar las maquinas como pensantes, es necesario definir inteligencia. El problemaque aparenta ser simple es uno de los ms complejos del rea, en el entendido que lainteligencia puede representar, por ejemplo, la solucin adecuada de problemas complejos oa establecer generalizaciones y relaciones entre objetos. Qu se podra decir acerca de lapercepcin y la comprensin? Dnde podr situarse las formas de adquisicin delconocimiento? y, si el pensar es un acto natural concomitante con la naturaleza Cules sonlas herramientas que se necesitan para simular un comportamiento natural del pensarhumano?

    OBJETIVO GENERAL

    Establecer los principios que rigen la inteligencia artificial sus aplicaciones y evolucin.

    OBJETIVOS ESPECIFICOS

    Reconocer las diferentes definiciones de inteligencia artificial y la evolucin histricade la inteligencia artificial.

    Describir y usar las tcnicas de resolucin de problemas con el nimo de establecernormas para este propsito.

    Reconocer el uso de los agentes inteligentes y su aplicacin

    Estudiar la complejidad de los problemas y representar su estructura y las posiblessoluciones

  • 8/14/2019 Modulo_901691

    12/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    ESTRUCTURA TEMATICA

    Primera Unidad Captulos Temas 1. Introduccin ala InteligenciaArtificial

    1.1. Objetivos yaplicaciones de lainteligencia artificial

    1.1.1 Definicin de Inteligencia Artificial (IA) yevolucin histrica 1.1.2. Tcnicas de resolucin de problemas de IA 1.1.3. Criterios de xito de la IA 1.1.4. Resolucin de problemas de IA: 1.1.4.1. Definicin formal del problema 1.1.4.2. Estrategia de control: Mtodos debsqueda 1.1.4.3. Anlisis del problema

    1.2. AgentesInteligentes

    1.2.1 Definiciones y caractersticas de un AgenteInteligente. 1.2.2 Tipos y arquitecturas de agentes.

    1.3. Complejidadde los problemas

    1.3.1 Problemas de tiempo polinomial (P) 1.3.2 Problemas no polinomiales (NP)

    CONCEPTOS BSICOS

    1.1 Objetivos y Aplicaciones de la Inteligencia Artificial3

    1.1.1 Inteligencia, definicin de Inteligencia Artificial.4

    INTELIGENCIA

    Es completamente posible establecer una escala aproximada de la inteligencia: muchaspersonas son ms inteligentes que algunos chimpancs, un procesador de textos es unamquina ms inteligente que una maquina de escribir mecnica, etc. Sin embargo no existeuna definicin cientfica de inteligencia.

    Se reconoce que es difcil precisar el significado de la Inteligencia, sin embargo algunasdefiniciones mencionadas por algunos investigadores son:

    a) BINET: buen discernimiento, buena comprensin, buen razonamiento. b) SPEARMAN: la inteligencia general..... supone principalmente saber relacionar y

    correlacionar. c) TERMAN: capacidad para desarrollar conceptos y captar su significado.

    3 Inteligencia Artificial. (2010, 17) de mayo. Santiago, Pablo David. Fecha de consulta: marzo 15, 2010 disponible eneste enlace . 4 Introduccin a la Inteligencia Artificial. (2009, 21) de agosto. Absolo, Maria Jos. Universitat de Les Illes Balears. Fecha de consulta:

    marzo 15, 2010 disponible en este enlace .

  • 8/14/2019 Modulo_901691

    13/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    d) VERNON: todo lo relacionado con capacidad para pensar o eficiencia mental. e) BURT: capacidad innata, general, habilidad cognoscitiva. f) HEIM: la inteligencia denota capacidad para captar lo esencial de una situacin y

    responder en consecuencia. g) WECHSLER: capacidad general o global del individuo para actuar segn un propsito,

    pensar racionalmente y relacionarse eficazmente con su entorno. h) PIAGET: adaptacin al entorno fsico y social. i) MINSKy: inteligencia es todo lo que puede ser medido mediante pruebas de

    inteligencia.

    La combinacin de aptitudes, criterio, comprensin, razonamiento, conceptualizacin, saberresponder adecuadamente, adaptacin, etc. que se encuentran presentes en estasdefiniciones sealan la naturaleza polifactica de la inteligencia5.

    La inteligencia por otra parte esta relacionada con la habilidad para reconocer patrones,deducir conclusiones razonables, analizar sistemas complejos como elementos simples yresolver sus contradicciones, y aun es mucho ms que todo lo mencionado. La inteligenciaesta en un nivel mayor que la informacin y el conocimiento pero debajo del nivel de lasabidura.

    Una de las formas mas aceptadas para explicar la inteligencia, desde el punto de vistacomputacional, constituye la prueba de Alan Turing elaborada en 1950. La idea de la pruebade Turing es que si un interrogador decide errneamente que una mquina es una persona,entonces se dice que dicha mquina exhibe inteligencia.

    INTELIGENCIA ARTIFICIAL Resulta obvi que la inteligencia es de por s un concepto bastante complicado de definir. Poresta razn intentar definiciones para la inteligencia artificial es tambin compleja.

    Quiz la inteligencia artificial debera llamarse inteligencia sinttica para que concuerde mejorcon el lenguaje comercial. As los diamantes artificiales son falsas imitaciones, mientras quelos diamantes sintticos son diamantes autnticos, slo que manufacturados en lugar dedesenterrados. No obstante el nombre, la inteligencia artificial aspira a una inteligenciaautntica, no a una falsa imitacin.

    Marvin Minsky sugiere el carcter practico de la inteligencia artificial mencionando: "Lainteligencia artificial es la ciencia de hacer que las mquinas hagan cosas que requeriraninteligencia si fueran hechas por seres humanos".

    Elaine Rich: "La inteligencia artificial es el estudio de cmo hacer que los ordenadores hagancosas que por el momento las personas realizan de una forma ms perfecta ".

    5 Inteligencia Artificial I. (2007, 6) de junio. Jess Rocha Vera, Adrian Quisbert Vilela, Juan Condori Canaviri. Universidad Salesiana deBolivia. Fecha de consulta: abril 16, 2010 disponible eneste enlace .

  • 8/14/2019 Modulo_901691

    14/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    Otras definiciones que pueden darnos una idea de lo que se llama inteligencia artificial:

    Una de las reas de las ciencias computacionales encargadas de la creacin dehardware y software con comportamiento inteligentes.

    El estudio de las computaciones que permiten percibir, razonar y actuar. Estudia como lograr que las mquinas realicen tareas que, por el momento, son

    realizadas mejor por los seres humanos.

    Desde el punto de vista de los objetivos, la IA puede considerarse como parte de laingeniera o de la ciencia:

    El objetivo ingenieril de la IA es resolver problemas reales, actuando como unarmamento de ideas acerca de cmo representar y utilizar el conocimiento, y de comoensamblar sistemas.

    El objetivo cientfico de la IA es explicar varios tipos de inteligencia. Determinar quideas acerca de la representacin del conocimiento, del uso que se le da a ste, y delensamble de sistemas explican distintas clases de inteligencia.

    Algunas aplicaciones de la inteligencia art ificial :

    Tareas de la vida diaria (ms difcil para una mquina que las tareas de un experto) o Percepcin (visin y habla) o Lenguaje natural (comprensin, generacin, traduccin) o Sentido comn o Control de un robot

    Tareas formales o Juegos (ajedrez, backgammon, damas) o Matemticas (geometra, lgica, clculo, demostracin de propiedades)

    Tareas de los expertos (necesitan un conocimiento menor que el conocimientonecesario en las tareas ms comunes)

    o Ingeniera (diseo, deteccin de fallos, planificacin de manufacturacin) o Anlisis cientficoo Diagnosis mdicao Anlisis financiero

    Objetivos

    Puesto que la meta de la inteligencia artificial es desarrollar sistemas que se comporten demanera inteligente, es decir de manera similar a los seres humanos, Cercone & McCalla en1984 disearon objetivos que cualquier sistema ideal de inteligencia artificial debe cumplir.Un investigador de la inteligencia artificial debe ser capaz de:

    a) Desarrollar un sistema de trabajo que se comporte de una manera inteligente b) Validar el comportamiento del sistema mediante comparaciones con seres humanos

    (objetivo de diseo externo) c) Entender las implicaciones del sistema - su cobertura, lo que puede hacer (objetivo de

  • 8/14/2019 Modulo_901691

    15/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    diseo interno) d) Determinar que es lo que puede ser generalizado acerca del sistema, las lecciones

    que ensea, las reas de impacto.

    reas de investigacin

    Los mayores esfuerzos de la investigacin en inteligencia artificial se concentraron en elentendimiento del lenguaje natural, la visin por computadora, aprendizaje, prueba deteoremas y programacin lgica, bsqueda, solucin y planeacin de problemas, sistemasexpertos, representacin de conocimiento y otras categoras tales como instruccin y tutorainteligente asistida por computador, juegos, pronunciacin, programacin automtica yherramientas de inteligencia artificial.

    Sistemas Expertos Son programas computacionales diseados para actuar como expertos en un dominioparticular restringido. Es importante debido a que trabaja con conocimiento en lugar deltradicional dato.

    La investigacin en representacin de conocimiento es central para el avance de lossistemas expertos. Los componentes bsicos de un sistema experto son:

    a) Base de Conocimiento. Es la representacin el conocimiento del dominio para lasolucin de problemas especficos, normalmente dicho conocimiento se estructura en

    forma modular y declarativa. b) Mquina de Inferencia. Es el procedimiento que se encarga de realizar el

    razonamiento a partir de los datos y utilizando el conocimiento acumulado en la basede conocimiento. Es genrica, es decir, se puede aplicar a diferentes dominios slocambiando la base de conocimiento.

    c) Memoria de Trabajo. Es el lugar donde se almacenan los datos de entrada yconclusiones intermedias que se van generando durante el proceso de razonamiento.

    d) Interfaz de Usuario. Se refiere a la entrada/salida al usuario del sistema, incluyendo,

    normalmente, mecanismos de pregunta (porqu) y de explicacin (cmo). e) Interfaz de Adquisicin. Hace referencia a la interface para la adquisicin del

    conocimiento del dominio, puede incluir mecanismos para facilitar su adquisicin ydepuramiento interactivo y para automatizar la adquisicin (aprendizaje).

    Los Sistemas Expertos son uno de los puntos que componen las investigaciones en elcampo de la IA. Un sistema de computadores que trabaje con tcnicas de IA deber estar ensituacin de combinar informacin de forma "inteligente", alcanzar conclusiones y

  • 8/14/2019 Modulo_901691

    16/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    justificarlas. Los Sistemas Expertos son una expresin de los sistemas basados en elconocimiento.

    Con la aplicacin de tcnicas de Inteligencia Artificial finaliza la transicin del procesamientode datos al procesamiento de conocimientos.

    Los sistemas expertos se aplican por norma general en problemas que implican unprocedimiento basado en el conocimiento. Un procedimiento de solucin basado en elconocimiento comprende las siguientes capacidades:

    a) Utilizacin de normas o estructuras que contengan conocimientos y experiencias deexpertos especializados.

    b) Deduccin lgica de conclusiones. c) Capacidad para interpretar datos ambiguos. d) Manejo de conocimientos afectados por valores probabilsticos.

    Debido a la gran capacidad de almacenamiento de los computadores, los sistemas expertostienen el potencial de interpretar estadsticas, para interpretar el formalismo derepresentacin conocido como reglas de produccin. Un sistema experto trabaja de maneraparecida a un detective encargado de resolver un misterio. Utilizando la informacin, y unformalismo de representacin de conocimiento, un sistema experto puede resolver elproblema que se le plantee.

    El Procesamiento del Lenguaje Natural (PLN) es una parte esencial de la IA que investiga yformula mecanismos computacionalmente efectivos que faciliten la interrelacin hombremquina y permitan una comunicacin mucho ms fluida y menos rgida que los lenguajesformales. Todo sistema de PLN intenta simular un comportamiento lingstico humano; paraello debe tomar conciencia tanto de las estructuras propias del lenguaje, como delconocimiento general acerca del universo de discurso. De esta forma, una persona queparticipa en un dilogo sabe cmo combinar las palabras para formar una oracin, conocelos significados de las mismas, sabe cmo stos afectan al significado global de la oracin yposee un conocimiento del mundo en general que le permite participar en la conversacin.

    El PLN hace referencia a programas que permiten la comunicacin hombre-maquina en unlenguaje parecido al humano. Cuenta con dos reas: comprensin del lenguaje natural ygeneracin del lenguaje natural. La comprensin del lenguaje natural investiga los mtodosque permitan al computador comprender las instrucciones dadas en lenguaje natural, de talmanera que los computadores puedan entender de manera ms fcil al ser humano. Lageneracin del lenguaje natural intenta mostrar que el computador puede ser capaz deexpresarse en lenguaje ordinario, de tal forma que se pueda entender a los computadores deuna manera mucho ms sencilla.

    Reconocimiento del Habla

    Hace ya tiempo que se estudia la posibilidad de desarrollar interfaces hombre-mquinacontrolados por la voz para sustituir en ciertas aplicaciones a las interfaces tradicionales

  • 8/14/2019 Modulo_901691

    17/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    basadas en teclados, paneles y dispositivos similares. Este nuevo tipo de interfaz constarade dos mdulos de entrada/salida: uno de reconocimiento de habla, mediante el cual elordenador sera capaz de extraer informacin de los comandos orales del operador ousuario, y otro de sntesis de voz, que podra ser una de las vas de presentacin deresultados.

    La utilizacin de la voz, y el Reconocimiento de Habla, como va de dar rdenes a loscomputadores ofrece varias ventajas respecto al mtodo tradicional de comunicacin entre elusuario y la mquina:

    a) Hace esta comunicacin ms rpida, y ms agradable para los nuevos usuarios, yaque al ser la forma natural de comunicarse no se necesita ninguna habilidad especial.

    b) Permite tener las manos libres para utilizarlas en alguna otra actividad, a la vez que sevan dando rdenes por medio de la voz.

    c) Permite movilidad, ya que la voz se puede enviar a distancia y ser recogida por unmicrfono, por oposicin a un teclado que no se puede mover de la mesa de trabajo. d) Permite acceso remoto, al poder acceder a un ordenador usando la red telefnica, quees la red de comunicaciones ms extendida.

    e) Permite la disminucin del tamao de los paneles de control. Piense en el panel de unavin, cuantos conmutadores manuales podran suprimirse si se utilizara la voz comoforma de comunicacin con un sistema de control Esta rea de investigacin permiteque los ordenadores entiendan el habla humana, de tal manera que se puedan orvoces y reconocer palabras habladas, simplificando el proceso de comunicacininteractiva hombre - maquina. Incrementa el mtodo interactivo de comunicacinprimaria utilizada por las personas, el habla.

    Visin por Computador

    El trmino Visin por Computador (VC) dentro del campo de la Inteligencia Artificial puedeconsiderarse como el conjunto de todas aquellas tcnicas y modelos que permiten elprocesamiento, anlisis y explicacin de cualquier tipo de informacin espacial obtenida atravs de imgenes digitales. Desde sus inicios la VC ha inspirado sus desarrollos en elestudio del sistema visual humano el cual sugiere la existencia de diferentes tipos detratamiento de la informacin visual dependiendo de metas u objetivos especficos, es decir,la informacin visual percibida es procesada en distintas formas con base en lascaractersticas particulares de la tarea a realizar, por lo que la VC propone varias tcnicas

    que permiten obtener una representacin del mundo a partir del anlisis de imgenesobtenidas desde cmaras de video.

    Debido a que la informacin visual es una de las principales fuentes de datos del mundo real,resulta til el proveer a un computador digital del sentido de la vista (a partir de imgenestomadas con cmaras digitales o analgicas), que junto con otros mecanismos como elaprendizaje hagan de esta una herramienta capaz de detectar y ubicar objetos en el mundoreal.

  • 8/14/2019 Modulo_901691

    18/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    Por consiguiente la investigacin en visin por computador tiene como objetivo dotar a loscomputadores con la herramienta de visualizacin para el entendimiento y comprensin delentorno que el computador est observando.

    Robtica

    Cuando se escucha la palabra Robot, algunas ocasiones se piensa de manera directa enesas pelculas que han sorprendido por presentar Robots que realizan acciones superiores alas capacidades del ser humano. Los modelos ms famosos de robots han sido los creadospor George Lucas en su pelcula Star Wars a quienes se conoce como C3PO y R2D2.

    Mikell Groover, en su libro Automation, Production Systems and Computer lntegratedManufacturing , define al robot industrial como: "una mquina programable, de propsitogeneral, que posee ciertas caractersticas antropomrficas, es decir, con caractersticasbasadas en la figura humana...". Cabe destacar que la caracterstica antropomrfica mscomn en nuestros das es la de un brazo mecnico, el cual realiza diversas tareasindustriales. Existen en el mercado diversas empresas dedicadas a la fabricacin de robotsindustriales por lo que existen diferentes marcas y modelos. Estos ltimos son normalmenteasignados para identificarlos o de acuerdo a su funcin.

    Un resumen general de lo que constituye un robot industrial puede ser considerado sobre labase de los siguientes puntos:

    a) Un robot industrial es una mquina programable de propsito general que poseeciertas caractersticas antropomrficas.

    b) El componente principal lo constituye el manipulador, el cual consta de variasarticulaciones y sus elementos. c) Las partes que conforman el manipulador reciben los nombres de cuerpo, brazo,

    mueca y efector final o gripper. Otros elementos son el controlador, los mecanismosde entrada y salida de datos y los dispositivos especiales.

    d) Existen dos categoras de efectores finales (grippers): las pinzas y las herramientas.Las pinzas pueden ser de tipo pivotante o de movimiento lineal entre otras. Entre lasherramientas se tiene a los desarmadores y las pistolas para soldar.

    e) Los movimientos de un robot estn relacionados con los grados de libertad que posea.Un grado de libertad es un nmero o tipo de movimiento del manipulador. Los gradosde libertad se determinan por los movimientos que ejecutan el brazo y la mueca del

    robot que pueden ser de uno a tres cada uno. La investigacin en esta rea tiende al estudio de las capacidades de los robots de poderinsertarse en la sociedad a manera de seres mecnicos capaces de controlar y resolver losproblemas discretos y mecanizados de su entorno.

    Otras reas

    Otras reas significativas para su estudio al interior de la inteligencia artificial son: las lgicas

  • 8/14/2019 Modulo_901691

    19/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    no clsicas como la Lgica Difusa, las Redes Neuronales, los Algoritmos Genticos, laRealidad Virtual, la Vida Artificial, los Agentes Inteligentes, etc.

    En este mdulo se intenta brindar la comprensin, anlisis y aplicacin de estas reas de lainteligencia artificial. No es intencin revisar a detalle cada una de estas reas, sin embargoes menester reconocer la importancia que han cobrado en esta ltima dcada deinvestigacin en la inteligencia artificial. La mayor de las expectativas es compartir losprincipios y fundamentos bsicos que proporcionan la importancia natural a estas reas, tantrilladas y comentadas en este ultimo tiempo.

    Desarrol lo histrico de la Inteligencia Artificial segn Jackson: 1950-

    1965. Periodo "clsico""

    Gestacin [McColluck y Pitts, Shannon, Turing] 1956, la I.A. tuvo su boom a partir de la conferencia efectuada en Darmouth College.

    Estaban presentes importantes cientficos como McCarty (le dio el nombre a estanueva rea del conocimiento), Minsky (fundador del laboratorio de IA del MIT),Shannon (laboratorios Bell), Rodhester (IBM), Newell (presidente de la A.A.A.I.Asociacin Americana de IA), Simmon (premio Nbel de Carnegie Mellon University) -Redes neuronales, robtica (Shakey).

    Bsqueda en un espacio de estados, Heursticas, LISP. Resolutor general de problemas (GPS) [Newell, Simon]. Resolucin de problemas de

    sentido comn, los cuales incluyen razonamiento de objetos fsicos y sus relaciones,como tambin razonamiento de acciones y sus consecuencias. Solo se resolvierontareas muy simples, pues no se pudo crear un programa con la cantidad suficiente deconocimiento de un dominio especfico.

    Se pone principal nfasis en la implementacin de juegos (ajedrez, damas, etc.) ascomo en la demostracin de teoremas matemticos.

    Limitaciones de pura bsqueda, explosin combinatoria.

    1965-1975. Periodo "romntico

    Representacin "general del conocimiento. Redes semnticas [Quillian] Prototipos (frames) [Minsky] Perceptrn [Minsky y Papert] Lgica [Kowalski] Mundo de bloques (SHDRLU) [Winograd] Percepcin (visin y habla), compresin de lenguaje natural, robtica. Dificultades de representacin "general , problemas de "juguete .

    1975 - actualidad. Periodo "moderno , Inteligencia "especifica vs. "general

    Se identifica la necesidad de trabajar en sociedad con profesionales de otras reas de

  • 8/14/2019 Modulo_901691

    20/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    conocimiento. Representacin explcita del conocimiento especfico del dominio. Sistema experto mdico MyCIN (experto en enfermedades infecciosas de la sangre)

    iniciado en la Universidad de Stanford. Sistemas expertos o basados en conocimiento. Regreso de redes neuronales [Hopfield, Rumelhart, Hinton] , algoritmos genticos

    [Holland, Goldberg]. Reconocimiento de voz (HMM), incertidumbre (RB, Lgica difusa), planeacin,

    aprendizaje. Aplicaciones "reales (medicina, finanzas, ingeniera, exploracin, etc.). Comercializacin de la IA

    1.1.2 Tcnicas de resolucin de problemas de Inteligencia Artificial

    Uno de los resultados que surgieron de las primeras investigaciones en IA fue que lainteligencia necesita conocimiento. El conocimiento posee algunas propiedades pocodeseables como:

    Es voluminoso Es difcil caracterizarlo Cambia Se organiza de manera que se corresponde con la forma en que va a se usado

    Una tcnica de IA es un mtodo que explota el conocimiento representado de manera que secumpla que:

    Representa generalizaciones, es decir, no es necesario representar cada situacinindividual, sino que las situaciones que comparten propiedades importantes seagrupan.

    Debe ser entendido por las personas que lo provean. Puede ser modificado para corregir errores y reflejar cambios en el mundo Puede usarse en muchas situaciones aun sin ser totalmente exacto o completo Puede usarse para superar su propio volumen, y disminuir el rango de posibilidades

    que normalmente deben considerarse. Se pueden caracterizar las tcnicas de IA con independencia del problema a tratar.

    Para solucionar problemas complicados, los programas que utilizan las tcnicas de IApresentan numerosas ventajas con respecto a los que no lo hacen:

    Son menos frgiles, es decir, que no se despistan frente a una perturbacin pequeade la entrada.

    El conocimiento del programa es comprendido fcilmente por la gente. Usa generalizaciones. Tiene facilidad de extensin.

  • 8/14/2019 Modulo_901691

    21/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    Como contraposicin, generalmente tienen ms complejidad que otras soluciones.

    Se analizan brevemente a continuacin dos tipos de problemas bien diferenciados, ydentro de cada uno se ejemplifica lo que se entiende por una tcnica de IA.

    Ejemplo 1: Tres en raya

    A continuacin se plantean tres soluciones diferentes del problema de tres en rayaanalizando la conveniencia de cada una. Para mejor detalle de las mismas consultar[Rich98] 6

    Ejemplo de tres en raya finalizado.7

    El tres en raya, tambin conocido como juego del gato, tatet, triqui, tres en gallo, michi o lavieja, es un juego de lpiz y papel entre dos jugadores: O y X, que marcan los espacios deun tablero de 3x3 alternadamente. Un jugador gana si consigue tener una lnea de tres de

    sus smbolos: la lnea puede ser horizontal, vertical o diagonal. Esta partida la gana el primer jugador, X:

    Solucin 1:

    Una primera solucin directa a este juego podra ser la de almacenar en un vector las 19.693 (39) posibilidades de un tablero de 3 x 3 con tres valores posibles en cada casilla (vaco-X-O), as como las correspondientes jugadas sucesoras. Para realizar una jugada, bastara conacceder a la posicin del tablero actual y la jugada sucesora correspondiente. Lasdesventajas de este eficiente programa son bastante obvias: necesita gran cantidad dememoria; alguien debe realizar el pesado trabajo de introducir todas las jugadas y sussucesoras; y el juego no se puede ampliar, por ejemplo a tres dimensiones.

    Solucin 2:

    El programa posee una estrategia para cada turno de jugador. Analiza el posible triunfo a 6 [Rich98] Rich E., Knight K.lnteligencia Artificial . McGraw-Hill, ISBN: 84-481-1858-8, 1998 7 Tres en lnea. (2010, 1) de julio. Wikipedia, La enciclopedia libre . Fecha de consulta: 19:16, julio 6, 2010 disponible eneste enlace .

  • 8/14/2019 Modulo_901691

    22/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    partir de un estado del tablero dado. Aunque es menos eficiente que la solucin anterior entrminos de tiempo, tiene la ventaja que es ms eficiente en trminos de espacio. Suestrategia es ms fcil de comprender y realizar cambios, aunque el programador debecomprender la totalidad de la estrategia de antemano. Adems, no es posible generalizarparte del conocimiento del programa hacia un dominio distinto, como tres en raya 3D.

    Solucin 3:

    Una estructura contiene el tablero actual, as como una lista de posiciones del tablero quepodran ser el prximo movimiento, y una estimacin de la probabilidad de que esa jugadalleve a la victoria. Para decidir la siguiente jugada se tienen en cuenta las posiciones detablero que resultan de cada movimiento posible. Se decide la posicin que corresponde a lamejor jugada, considerando si la jugada produce la victoria, y en caso contrario considerandotodos los movimientos que el oponente puede realizar asumiendo que ste elegir el peorpara nosotros. El algoritmo inspecciona varias secuencias de movimientos intentandomaximizar la probabilidad de victoria. Necesita mucho ms tiempo que los dems, ya quedebe realizar una bsqueda en un rbol de posibilidades antes de realizar cada movimiento.Sin embargo, es superior a las dems soluciones pues podra ser ampliado para manipular

    juegos ms complicados. Adems, puede aumentarse su potencia usando conocimientosobre el juego, por ejemplo, en lugar de considerar todos los posibles movimientosconsiderar solo un subconjunto siguiendo algn criterio razonable. Este programa es unejemplo del uso de una tcnica de IA.

    Ejemplo 2: respuestas a preguntas

    Se quiere realizar un programa que a partir de un texto escrito en espaol pueda responder apreguntas en espaol sobre este texto. En este caso, es ms difcil que en el ejemplo anteriordeterminar formalmente y con precisin en qu consiste el problema y en qu consiste unasolucin correcta para l. Un ejemplo de programa de preguntas y respuestas en ingls es elprograma POLITICS (Carbonell, 1980).

    A continuacin se plantean tres soluciones diferentes analizando la conveniencia de cadauna. Para mejor detalle de las mismas consultar [Rich98]. 8

    Solucin 1: Se tienen conjunto de plantillas (templates) preguntas, por ejemplo "Que x y" asociada conpatrones (patterns) respuesta, por ejemplo "y x z". Responde a las preguntas usando el textode entrada de forma literal. Se hace coincidir fragmentos de texto de entrada con el patrnrespuesta, y se obtiene la respuesta, por ejemplo "z". Este algoritmo no puede contestar eltipo de preguntas que la gente puede responder despus de una simple lectura del texto. Lahabilidad para responder depende de la forma exacta de la pregunta, y de las variaciones 8 [Rich98] Rich E., Knight K.lnteligencia Artificial . McGraw-Hill, ISBN: 84-481-1858-8, 1998

  • 8/14/2019 Modulo_901691

    23/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    contempladas en el diseo de plantillas y patrones. El proceso de sustitucin de patronesusado es llamado pattern matching. Pese a que lo que se entiende por IA no incluyeprogramas como ste, sta tcnica es la usada en uno de los programas ms clebres de IA,ELIZA.

    Solucin 2:

    Transforma el texto de entrada dndole una estructura interna que intenta capturar elsignificado de las frases, y tambin transforma las preguntas de igual manera. Lasrespuestas se encuentran emparejando unas con otras formas estructuradas. Este enfoqueest ms basado en conocimiento que el primero, y tambin es ms efectivo. Puederesponder a la mayora de las preguntas cuyas respuestas se encuentran en el texto, y esmenos quebradizo con respecto a las formulaciones exactas de preguntas y respuestas.Algunas preguntas necesitan conocimiento adicional sobre el mundo con el que trate el texto,que esta solucin no posee.

    Solucin 3:

    Al igual que la solucin anterior se transforma el texto en forma estructurada, pero adiferencia del anterior, se combina esta forma con otras formas estructuradas que describenconocimiento previo sobre los objetos y situaciones que aparecen en el texto. Este programaes ms potente que los otros dos, debido a que responde a preguntas usando esta estructurade conocimiento aumentada. Se utiliza lo que se denomina tcnica de IA, pues est basadoen el conocimiento y en uso computacional eficaz de ese conocimiento.

    Estos ejemplos ponen de manifiesto tres importantes tcnicas de IA:

    Bsqueda: proporciona una forma de resolver problemas en los que no se dispone de unmtodo directo

    Uso del conocimiento: proporciona una forma de resolver problemas complejos explotandolas estructuras existentes entre los objetos involucrados

    Abstraccin: proporciona una forma de separar aspectos y variaciones importantes deaquellos otros sin importancia, y que en caso contrario podran colapsar el proceso.

    1.1.3 Criterios de xito de la Inteligencia Artificial Para determinar el xito de un programa de IA, se deben realizar las siguientes preguntas:

    Est definida con claridad la tarea? Existe un proceso instrumentado que efecta la tarea? Existe un conjunto de restricciones identificables a partir de las cuales el

    procedimiento implantado tiene poder? Resuelve un problema real?

  • 8/14/2019 Modulo_901691

    24/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    Crea una nueva oportunidad?

    Test de Turing

    En 1950, Alan Turing propuso el siguiente mtodo para determinar si una mquina es capazde pensar. Una persona es un entrevistador y se halla en una habitacin separada de otrapersona y un compuador a evaluar. El entrevistador hace preguntas a ambos de formaescrita. Si luego de un cierto nmero de preguntas y respuestas, el interrogador no puedeidentificar quin es el computador y quin es la persona, entonces podemos decir que elcomputador piensa.

    Se puede calibrar el xito de la IA en dominios ms restringidos? Por ejemplo,

    - el xito de un programa que juega al ajedrez se puede evaluar segn los jugadoresque pueda derrotar;

    - el xito de otros programas puede medirse comparando el tiempo que tarda uncomputador en llevar a cabo una tarea con el que tarda una persona en hacer lomismo. Por ej. programas usados en empresas informticas para configurar sistemasparticulares a las necesidades del cliente;

    - en tareas de cada da es ms difcil, por ej. parafrasear un artculo del peridico, lamejor forma de evaluarlo es ver si el programa responde de la misma forma que harauna persona.

    Cuando se quiere disear un programa de IA, se debe intentar especificar tan bien como seaposible el criterio de xito para el funcionamiento del programa en su dominio particular.

    1.1.4 Resolucin de problemas de Inteligencia Artificial

    Para construir un sistema que resuelva un sistema especfico, es necesario:

    1. Definir el problema formalmente con precisin. 2. Analizar el problema. 3. Representar el conocimiento necesario para resolver el problema. 4. Elegir la mejor tcnica que resuelva el problema y aplicarla.

    1.1.4.1. Definicin formal del problema

    El primer paso para disear un programa que resuelva un problema es crear una descripcinformal y manejable del propio problema. Sera adecuado contar con programas queproduzcan descripciones formales a partir de descripciones informales, proceso denominadooperacionalizacin. Dado que por ahora no se conoce la forma de construir estos programaseste proceso debe hacerse manualmente.

    Hay problemas que por ser artificiales y estructurados son fciles de especificar (por ej. elajedrez, el problema de las jarras de agua, etc. ). Otros problemas naturales, como por ej. la

  • 8/14/2019 Modulo_901691

    25/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    comprensin del lenguaje, no son tan sencillos de especificar.

    Para producir una especificacin formal de un problema se deben definir:

    Espacio de estados vlidos. Estado inicial del problema. Estado objetivo o final. Reglas que se pueden aplicar para pasar de un estado a otro.

    Un estado es la representacin de un problema en un instante dado. Para definir el espaciode estados no es necesario hacer una enumeracin exhaustiva de todos los estados vlidos,sino que es posible definirlo de manera ms general.

    El estado inicial consiste en uno o varios estados en los que puede comenzar el problema. Elestado objetivo consiste en uno o varios estados finales que se consideran solucinaceptable.

    Las reglas describen las acciones u operadores que posibilitan un pasaje de estados. Unaregla tiene una parte izquierda y una parte derecha. La parte izquierda determina laaplicabilidad de la regla, es decir, describe los estados a los que puede aplicarse la regla. Laparte derecha describe la operacin que se lleva a cabo si se aplica la regla, es decir, comoobtener el estado sucesor.

    Por ejemplo, en el problema de jugar al ajedrez:

    - El espacio de estados son la totalidad de tableros que se puede generar en un juegode ajedrez.

    - El estado inicial es el tablero de 8 x 8 donde cada celda contiene un smbolo deacuerdo a las piezas situadas.

    - El objetivo o estado final se define como cualquier posicin de tablero en la que elcontrario no puede realizar ningn movimiento legal y su rey est amenazado.

    - Las reglas son los movimientos legales, que pueden describirse mediante una partepatrn para ser contrastado con la posicin actual de tablero y otra parte que describeel cambio que debe producirse en el tablero.

    Dado que escribir exhaustivamente todas las reglas es imposible prcticamente, (en elejemplo, escribir todas las posiciones de tablero), las reglas deben escribirse de la manerams general posible.

    La representacin como espacio de estados forma parte de la mayora de los mtodos de IA.Su estructura se corresponde con la resolucin de problemas porque:

    Permite definir formalmente el problema, mediante la necesidad de convertir unasituacin dada en una situacin deseada mediante un conjunto de operacionespermitidas.

    Permite definir el proceso de resolucin de un problema como una combinacin de

  • 8/14/2019 Modulo_901691

    26/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    tcnicas conocidas y bsqueda (la tcnica general de exploracin del espacio intentaencontrar alguna ruta desde el estado actual hasta un estado objetivo).

    Ejercicio 1: Problema de las jarras de agua

    Se tienen dos jarras de agua, una de 4l y otra de 3l sin escala de medicin.Se desea tener 2l de agua en la jarra de 4l. Las siguientes operaciones son vlidas: llenar las

    jarras, tirar agua de las jarras, pasar agua de una jarra a otra.

    Solucin:

    El espacio de estados se define como:

    { (X,y) / X son los litros en la jarra de 4l con 0 (X, 0) 5. Pasar agua de la jarra de 4l a la jarra de 3l hasta llenarla: Si (X,y) AND X>0 AND

    X+y>=3 => (X-(3-y),3) 6. Pasar agua de la jarra de 3l a la jarra de 4l hasta llenarla: Si (X,y) AND y>0 AND

    X+y>=4 => (4, y-(4-X)) 7. Pasar toda el agua de la jarra de 4l a la jarra de 3l: Si (X,y) AND X>0 AND X+y

    (0,X+y) 8. Pasar toda el agua de la jarra de 3l a la jarra de 4l: Si (X,y) AND y>0 AND X+y

    (X+y,0)

    El programa debera encontrar un pasaje de estados para ir del estado (0,0) al estado (2,0).Puede existir ms de un pasaje de estados hacia la solucin, por ejemplo:

    (0,0) => (0,3) => (3,0) => (3,3) => (4,2) => (0,2) => (2,0)

    En la cual, a partir del estado inicial, se aplicaron las reglas 2, 8, 2, 6, 3 y 8, hasta conseguirel estado objetivo.

  • 8/14/2019 Modulo_901691

    27/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    Otro pasaje de estados hacia la solucin es la siguiente:

    (0,0) => (4,0) => (1,3) => (1,0) => (0,1) => (4,1) => (2,3) => (2,0)

    En la cual se aplicaron las reglas 1, 5, 4, 7, 1, 5 y 4

    Con respecto a las reglas se puede concluir que:

    Las condiciones que se establecen en la parte izquierda a veces no son altamentenecesarias pero restringen la aplicacin de la regla a estados ms adecuados.

    Esto incrementa la eficiencia del programa que utiliza las reglas. En el ejemplo anterior, laregla:

    1. Llenar la jarra de 4l: Si (X,y) AND X (4,y)

    Contiene la condicin (X0 => (X-Q, y)

    Es decir, tirar agua sin cuantificar, intuitivamente se concluye que la aplicacin de esta reglanunca nos acercar a la solucin del problema. A veces, cuando se alcanzan algunos estados resulta obvio cmo se debe continuar hacia lasolucin. Es posible agregar reglas de propsito especial que capturen el conocimiento sobrecasos especiales que conducen a la resolucin del problema. En el ejemplo anterior, sepueden agregar las siguientes reglas de propsito especial:

    Si (X,2) => (2,0) Si (2,y) AND y>0 => (2,0)

    Estas reglas no aaden ms potencia al sistema ya que las operaciones que describen lasproporcionan otras reglas ms generales. En el ejemplo, la primera regla agregada esequivalente a la aplicacin de las reglas generales 3 y 8; y la segunda regla agregada esequivalente a la aplicacin de la regla general 4. Dependiendo de la estrategia de control quese utilice para seleccionar reglas durante la resolucin del problema se puede mejorar elrendimiento si se les da preferencia a las reglas de casos especiales.

  • 8/14/2019 Modulo_901691

    28/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    Ejercicio 2: Problema de los Canbales y Monjes

    Se tienen 3 monjes y 3 canbales en el margen Oeste de un ro. Existe una canoa concapacidad para dos personas como mximo. Se desea que los seis pasen al margen Estedel ro, pero hay que considerar que no debe haber ms canbales que monjes en ningnsitio porque entonces los canbales se comen a los monjes. Adems, la canoa siempre debeser conducida por alguien.9

    Solucin:

    El espacio de estados est definido por:

    {(Mo, Co, Me, Ce, C) / Mo es el nmero de monjes en el margen oeste con 0

  • 8/14/2019 Modulo_901691

    29/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    8. Viaja un monje de E a O: Si (Mo, Co, Me, Ce, E) AND Me>=1 AND (Me-1=0 OR Ce=1 AND (Me=0 OR Ce+1 (Mo, Co-1, Me,Ce+1, E)

    1o. Viaja un canbal de E a O: Si (Mo, Co, Me, Ce, O) AND Ce>=1 AND (Mo=0 OR Co+1 (Mo, Co+1, Me, C1, E)

    Nota: En referencia a la regla 3 la condicin Ce (3,1,0,2,E) => (3,2,0,1,O) => (3,0,0,3,E) => (3,1,0,2,O) => (1,1,2,2,E) => (2,2,1,1,O) => (0,2,3,1,E) => (0,3,3,0,O) => (0,1,3,2,E) => (0,2,3,1,O) =>(0,0,3,3,E)

    1.1.4.2. Estrategia de control: Mtodos de bsqueda 10

    El problema puede resolverse con el uso de reglas en combinacin con una estrategia decontrol para trasladarse a travs del espacio de estados hasta encontrar un camino desde elestado inicial hasta el estado final. Se elige una regla entre aquellas cuya parte izquierdaconcuerda con el estado actual. Se aplica la regla elegida realizando el cambio de estado talcomo se describe en la parte derecha de la regla. Si el nuevo estado es estado objetivo ofinal se ha encontrado la solucin. En caso contrario se contina con la aplicacin de reglasal nuevo estado.

    Una estrategia de control especifica el orden en el que se deben aplicar las reglas, ascomo tambin la forma de resolver conflictos cuando es posible aplicar ms de una regla.Para que una estrategia de control sea vlida debe cumplir con dos requisitos:

    Causar cambios:

    las estrategias de control que no causan cambios de estado nunca alcanzan lasolucin. Un ejemplo de estrategia de control que no causa cambios es seleccionarsiempre la primera regla aplicable de la lista de reglas definidas. En el ejemplo de las

    jarras de agua, se continuara indefinidamente aplicando las reglas 1 y 3 sinposibilidad de arribar a la solucin.

    Ser sistemtica : las estrategias de control que no son sistemticas pueden utilizar secuencias de

    10 Una ampliacin del tema puede ser encontrada en la segunda unidad didctica de este mdulo.

  • 8/14/2019 Modulo_901691

    30/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    operaciones no apropiadas varias veces hasta alcanzar la solucin. Un ejemplo deestrategia de control no sistemtica es seleccionar la regla a aplicar al azar. Estaestrategia puede encontrar la solucin eventualmente, pero luego de haber realizadovarios pasos innecesarios e incluso haber vuelto varias veces al mismo estado.

    En caso de no contar con una aproximacin directa al problema, el proceso de bsquedaresulta fundamental en la resolucin del mismo. Los algoritmos de bsqueda detallados acontinuacin son ejemplos de estrategias de control sistemticas. Todos se basan enconsiderar un rbol de estados cuya raz es el estado inicial, y en cada nivel se hallan losestados sucesores correspondientes.

    Bsqueda Breadth-First Search (primero en ancho)

    Este algoritmo de bsqueda visita cada nodo del rbol por niveles, es decir, visita todos losnodos de un nivel antes de visitar los del siguiente. A continuacin se detalla un pseudo-cdigo de este algoritmo:

    Lista_nodos = [estado_inicial];Mientras Not Vacia(lista_nodos)

    estado_actual = lista_nodos.primero; Si EstadoFinal(estado_actual) entonces

    Terminar; Sino

    lista_reglas = ReglasAplicables (estado_actual);Mientras NOT Vacia(lista_reglas)

    estado_sucesor = AplicarRegla (lista_reglas);lista_nodos = lista_nodos + [estado_sucesor];

    Fin Mientras; Fin Sino;

    Fin Mientras;

    Este algoritmo bsico debera modificarse para detectar el caso en que se vuelva a alcanzarun estado que ya ha sido visitado con anterioridad. En este caso, debera realizarse una"poda" de la rama del rbol, ya que en caso contrario se volvera a generar un subrbol yagenerado.

    Con la bsqueda a lo ancho se asegura que una vez alcanzada una solucin no existe otraruta hacia la solucin que tenga menor cantidad de pasos. Una desventaja de este algoritmoes que para alcanzar una solucin de n pasos, debe haber explorado todo el espacio deestados hasta ese nivel.

    Ejercicio: Realizar el rbol de bsqueda a lo ancho para encontrar la solucin del problema de las

    jarras de agua. Se le recomienda al lector realizar este ejercicio como prctica.

  • 8/14/2019 Modulo_901691

    31/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    Bsqueda Depth-Firs t Search (primero en profundidad)

    Este algoritmo de bsqueda contina por una rama del rbol hasta encontrar la solucin odecidir terminar la bsqueda por esa direccin (por llegar al estado final, por tener un largode ruta que supera una cota mxima determina, por haber llegado a un estado ya visitado,etc.). Al fracasar una ruta, se realiza un backtracking o vuelta atrs, continuando laexploracin en el paso inmediatamente anterior. A continuacin se detalla un pseudo-cdigode este algoritmo recursivo que inicialmente es llamado con el estado_inicial:

    Funcin Buscar (estado_actual) devuelve BooleanComienzo

    Si EstadoFinal(estado_actual) entoncesDevolver TRUE;

    Sino exito = FALSE; lista_reglas = ReglasAplicables (estado_actual);Mientras NOT exito AND NOT Vacia(lista_reglas)

    estado_sucesor = AplicarRegla (lista_reglas);exito = Buscar (estado_sucesor);

    Fin Mientras;Devolver exito;

    Fin Sino;Fin Buscar;

    Este algoritmo bsico debera modificarse para terminar la bsqueda en una rama que sealcanza un estado que ya visitado. Con la bsqueda en profundidad no es necesario tener almacenado todo el espacio deestados, sino slo el camino que se est explorando. Puede encontrar la solucin sin tenerque explorar gran parte del espacio de estados. Como desventajas de este algoritmo seseala que puede seguir una ruta infructuosa durante muchos pasos, y adems la primerasolucin que encuentra puede distar mucho de ser la solucin de mnima cantidad de pasos.

    Bsqueda Heurstica

    Existen algunos problemas en los que resulta imposible explorar el rbol del espacio deestados pues resulta en una explosin combinatoria. Por ej. en el problema del viajante, sedebe encontrar la ruta mnima entre N ciudades a visitar. Si se aplica cualquiera de los dosalgoritmos de bsqueda anteriores, nos encontramos ante un costo computacional nopolinomial O(N!).

    Una heurstica es una tcnica que aumenta la eficiencia de un proceso de bsqueda. Elobjetivo es guiar al proceso de bsqueda en la direccin ms provechosa sugiriendo elcamino a seguir cuando hay ms de una opcin.

  • 8/14/2019 Modulo_901691

    32/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    Las heursticas pueden ser:

    Generales : son adecuadas para una amplia variedad de dominios. Por ej. la heursticadel vecino ms prximo (nearest neighbor) se aplica a muchos problemascombinatorios. En el ejemplo del problema del viajante, se comienza por una ciudadarbitraria continuando en cada paso por la ciudad ms cercana no visitada. Estoresulta en una reduccin del costo computacional a O(N2).

    De propsito especial: explotan el conocimiento especfico de un dominio pararesolver problemas particulares.

    Las heursticas pueden sacrificar la completitud, es decir, pueden pasar por alto una buenasolucin. Sin embargo, existen varios argumentos a favor de usarlas:

    Sin el uso de heursticas se puede tener una explosin combinatoria.

    En muchos casos no se necesita la solucin ptima sino una buena aproximacin.Segn Simon (1981), las personas resuelven problemas "satisfaciendo" y no"optimizando".

    Las aproximaciones que se logran con heursticas pueden ser malas para los peorescasos de un problema, pero stos raramente sedan en el mundo real.

    El esfuerzo de intentar comprender por qu funciona o no una heurstica sirve paraprofundizar en la comprensin del problema.

    Las heursticas se pueden incorporar a un proceso de bsqueda basado en reglas de dosmaneras:

    Dentro de las mismas reglas. Por ej. en el ajedrez, las reglas pueden describir,adems de los movimientos legales, tambin las buenas jugadas.

    Como una funcin que evala estados determinando su grado de "deseable". Estafuncin evala aspectos del problema dando pesos a aspectos individuales, demanera que el valor que devuelve es una estimacin de que el nodo pertenece a laruta que conduce a la mejor solucin. Por ej. en el ajedrez se puede tener una funcina maximizar la cual devuelve el nmero de piezas de ventaja; en el problema delviajante se puede tener una funcin a minimizar la cual devuelve la suma de distanciasrecorridas; en el tres en raya se puede tener una funcin que compute un punto porcada ficha en cada fila, columna o diagonal que se pueda ganar.

    En conclusin, las heursticas representan el conocimiento general y especfico del mundo,que hace que sea abordable solucionar problemas complejos.

  • 8/14/2019 Modulo_901691

    33/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    1.1.4.3. Anlisis del problema

    Luego de definir el problema formalmente, el segundo paso en la resolucin del problema esel anlisis del mismo. A fin de poder elegir el mtodo ms apropiado para resolver unproblema particular, es necesario analizar distintas cuestiones que afectan a al definicin delmismo y a las caractersticas de la solucin deseada. Existen varias preguntas a responderacerca del problema:

    1. Puede descomponerse el problema en subproblemas ms pequeos? 2. Pueden deshacerse pasos inadecuados hacia la solucin? 3. Es predecible el universo del problema? 4. Una solucin es buena de manera absoluta o relativa? 5. La solucin deseada es un estado o la ruta hacia un estado? 6. El conocimiento se necesita para resolver el problema o para restringir la bsquedade la solucin? 7. El programa que soluciona el problema busca la solucin solo o necesita interactuar

    con una persona?

    1. Puede descomponerse el problema en subproblemas ms pequeos?

    Algunos problemas pueden descomponerse en subproblemas independientes, de maneraque encontrar una solucin global es la composicin de soluciones particulares. Por ej. en laresolucin de integrales, una integral puede descomponerse por partes, y resolver las partessimples directamente o descomponerlas recursivamente. Por otra partes, existen otros problemas que no pueden descomponerse y componer lasolucin a partir de las soluciones parciales de sus partes. Por el contrario, una solucinnecesita considerar globalmente el problema. Por ej. el problema del mundo de los bloques.

    2. Pueden deshacerse pasos inadecuados hacia la solucin?

    Algunos problemas permiten deshacer uno o varios pasos hacia una solucin una vezrealizados. En este aspecto, existen tres categoras en las que puede dividirse un problema:

    Recuperables: En un punto dado es posible deshacer todos los pasos inadecuados hacia la solucin.Por ej. en el juego 8-puzzle. La estructura de control se implementa con una pila push-down en la que se almacenan las decisiones para poder volver atrs.

    No recuperables: En un punto dado no es posible deshacer ningn paso realizado. Por ej. en unapartida de ajedrez no se puede volver atrs una vez movidas las piezas. En estos

  • 8/14/2019 Modulo_901691

    34/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    problemas el sistema debe esforzarse en la toma de decisiones pues stas sonirrevocables. Algunos usan una planificacin en la que se analiza por adelantado unasecuencia de pasos antes de realizar el primer paso para descubrir a donde conduce.

    Ignorables: En un punto dado es posible ignorar los pasos realizados hasta el momento ycomenzar de nuevo con una nueva solucin. Por ej. un demostrador de teoremaspuede abandonar una demostracin basada en un lema dado y comenzarnuevamente. Estos problemas se resuelven con estrategias de control sencillas quenunca vuelven hacia atrs.

    3. Es predecible el universo del problema?

    Los problemas pueden se de:

    Consecuencia cierta: Es posible planificar una secuencia de movimientos estando seguros del resultado aobtener. Se puede realizar una planificacin para generar operadores que garanticenllegar a la solucin.

    Consecuencia incierta: No es posible planificar con certeza pues no se sabe que ocurrir luego del siguientemovimiento. Sin embargo, se puede realizar una planificacin para generaroperadores que tengan una buena probabilidad de llegar a la solucin. Los problemas ms difciles de resolver son los no recuperables de consecuenciaincierta. Por ej. el control del brazo de un robot: es de consecuencia incierta puesalguien puede interponer un objeto en la ruta del brazo, se puede atascar, etc.

    4. Una solucin es buena de manera absoluta o relativa?

    La solucin de un problema puede consistir en encontrar:

    Algn camino: Slo importa encontrar una solucin sin importar si existen otros caminos queconducen a la solucin. Generalmente se resuelven con heursticas. Por ej. programade respuestas a preguntas. El mejor camino: Importa encontrar la ruta ms corta hacia la solucin. Son problemas ms complicadosde computar. Algunos requieren una bsqueda ms exhaustiva que usandoheursticas. Por ej. en el problema del viajante importa encontrar la ruta ms cortaentre las ciudades a visitar.

  • 8/14/2019 Modulo_901691

    35/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    5. La solucin deseada es un estado o la ruta hacia un estado?

    La solucin de un problema puede consistir en encontrar:

    Un estado final: No es necesario el registro del proceso seguido, slo importa arribar a la solucin final.Por ej. Interpretar texto.

    Una ruta hacia un estado final: Se necesita dar el camino seguido desde el estado inicial al estado final. Por ej.Problema de las jarras de agua.

    6. El conocimiento se necesita para resolver el problema o para restringir labsqueda de la solucin?

    El conocimiento puede emplearse para:

    Reconocer la solucin: Se necesita gran cantidad de conocimiento acerca del problema para poder encontraruna solucin. Por ej. comprensin de texto.

    Acotar la bsqueda: La solucin bsica puede encontrarse con poco conocimiento, pero para restringir elrbol de bsqueda y encontrar la solucin de manera ms eficiente es necesariocontar ms conocimiento. Por ej. en el ajedrez se necesita bsicamente pococonocimiento para conocer los movimientos legales y un mecanismo sencillo debsqueda. Pero dado que para aumentar la eficiencia de la bsqueda sta deberestringirse, se necesita conocimiento de heursticas de buenas estrategias y tcticaspara jugar.

    7. El programa que soluciona el problema busca la solucin solo o necesitainteractuar con una persona?

    Con respecto a la relacin programa-usuario, existen dos tipos de programas que solucionanel problema:

    Solitarios: Reciben como entrada el problema y dan como salida la solucin. No importa elrazonamiento que haya seguido la mquina para encontrar la solucin. Por ej.problema de las jarras de agua.

    Conversacionales: Existe una comunicacin hombre-mquina de manera que el usuario puede ayudar ala mquina o la mquina puede informar al usuario durante la bsqueda de la solucin.

  • 8/14/2019 Modulo_901691

    36/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    Para que esta comunicacin sea posible debe existir una correspondencia entre elrazonamiento seguido por la mquina y la forma de razonamiento humano. Por ej. enun sistema experto de diagnstico mdico, el usuario no aceptara el veredicto de unamquina si no puede comprender el razonamiento que la llev a l.

    Ejercicio propuesto: Torres de Hanoi11

    Definir formalmente y analizar los 7 puntos anteriores en el siguiente problema:

    Se hallan N discos de distinto tamao apilados sobre una base 1 de manera que cada discose encuentra sobre uno de mayor radio. Existen otras dos bases vacas 2 y 3. El objetivo esllevar todos los discos de la base 1 hasta la base 3, para lo cual puede usarse la base 2.Considerar que se puede mover slo un disco a la vez, y cada disco puede descansarsolamente en las bases y no en el suelo. Recordar que los discos deben situarse siempresobre uno de mayor radio.

    Estado inicial del juego:

    Solucin:

    11 Una versin en lnea del juego puede ser encontrada en la web de Gonzalo Mena-Mendoza a travs de este enlace .

  • 8/14/2019 Modulo_901691

    37/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    AGENTES INTELIGENTES12

    Una de las ramas de la inteligencia artificial que empieza a tener ms auge hoy en da, es lade los Agentes Inteligentes. A pesar de que sta tuvo su origen a principios de los 80s, esapenas hasta ahora cuando se empieza a ver su aplicacin debido al gran desarrollo que hantenidos las redes.

    Los Agentes Inteligentes se caracterizan por desenvolverse en un entorno, ejecutar accionessobre el, basndose en percepciones para lograr metas deseadas por el usuario.

    INTRODUCCION

    Hoy en da lo que podemos encontrar en Internet son servicios sofisticados y herramientaspara acceder a ellos, como servidores de informacin o navegadores. Pero lo que losusuarios desean realmente son soluciones concretas: encontrar en la red el hotel mscmodo al mejor precio o la mejor inversin en bolsa.

    Para lograr estos los Agentes Inteligentes dialogan con el usuario de forma sencilla y naturaldefiniendo as lo que este realmente desea, despus de haber definido el problema, elagente empieza a solucionarlo consultando sus fuentes de informacin o dialogando conotros agentes, y le va informando de manera evolutiva las soluciones logradas al usuario. Siste no queda satisfecho, contina la bsqueda hasta agotar las fuentes o hasta que elusuario quede satisfecho con la solucin.

    La inteligencia del agente es demostrada a travs de su funcionalidad. El usuario se darcuenta de esta a medida que el agente le resuelva las tareas que le plantee, de maneraeficiente; su funcionalidad mejorar a medida que resuelve mayor nmero de casos. Estacapacidad de adaptacin permite al agente conocer mejor las preferencias de los usuarios yatenderlos de forma personalizada.

    Los Agentes Inteligentes se caracterizan por actuar en un ambiente en particular y sercapaces de realizar ciertas acciones, basados en su entorno, hasta realizar la tarea que lesfue encomendada, esas tareas van desde recomendaciones para el usuario hasta solucinde problemas.

    A pesar de que los Agentes Inteligente son una rama de la Inteligencia Artificial relativamentemuy nueva, se tienen grandes expectativas sobre estos ya que tiene enormes perspectivasde aplicacin.

    QU ES UN AGENTE?

    Existen muchas definiciones de Agentes, pero una de las mas simples es la de Franklin and

    12 Agentes Inteligentes, Luz Adriana Roldn Pardo. Estudiante de Ingeniera de sistemas Cod.200010075010, Universidad EAFIT, Abril de2004

  • 8/14/2019 Modulo_901691

    38/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    Graesser "Un agente es un sistema situado en y parte de un entorno que siente ese entornoy acta sobre l, a travs del tiempo, persiguiendo sus propios objetivos de forma que afectelo que siente en el futuro."

    Basndonos en algunos ejemplos que mostraremos posteriormente, el entorno en el cualesta situado el agente, es Internet, la percepcin se puede ver cuando acta sobre elentorno a medida que va recibiendo e instruyndose de las peticiones que hace el usuariosobre el y las acciones se clarifican cuando el agente nos muestra informacin que el mismoha buscado en Internet.

    Como podemos ver en la imagen de laderecha 13 el agente percibe suambiente mediante sensores y acta enl mediante actuadores, para entenderesto de una mejor manera, observemosun agente humano, este posee ojos yodos los cuales le sirven comosensores, as como piernas, manos,boca y otros rganos que le sirvencomo actuadores.

    Conceptos bsicos de Agentes 14

    13 V. Julin, V. Botti Dpto. sistemas Informticos y Computacin Universidad Politcnica de Valenciavbotti,vinglada@dsic upv es 14 Agentes y Sistemas Multiagente: Integracin de conceptos bsicos. Grupo de Investigacin HIDRA . Universidad de los Andes. Fecha

    de consulta: febrero 10, 2010 disponible en este enlace .

  • 8/14/2019 Modulo_901691

    39/125

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERACONTENIDO DIDCTICO DEL CUSO: 90169 - INTELIGENCIA ARTIFICIAL

    AGENTE INTELIGENTE15

    Imaginmonos al llegar por la maana al trabajo, sentarse al teclado del computador eingresar a nuestra cuenta de correo electrnico, muchas personas se ven inundadas pordecenas, incluso cientos de mensajes de correo electrnico. Algunos de esos mensajestienen algo interesante: se refieren a una pregunta que alguien haba hecho anteriormente,contienen informacin que puede conducir a una venta, o son simplemente un mensaje de unamigo hacindonos una invitacin. Otros, solo, contienen correo basura. La cuenta de correo,solo nos proporciona informacin mnima sobre el contenido del mensaje: el nombre delautor, su direccin de correo, a veces una lnea de Subject o tema que tiene que ver con elcontenido, a veces no.

    Imaginemos, por el contrario: al sentarnos frente al computador y encontrar una ventana quese abre en pantalla y nos muestra dos o tres mensajes de correo, clasificados comoimportantes o urgentes. Tambin nos da la opcin de leer los menos urgentes, y muestraclaramente un cubo de basura al cual han sido enviados otros mensajes. Al da siguiente, losmensajes similares a los "menos urgentes" ledos anteriormente son considerados msimportante