Seminario de sistemas
pope.ortegaTarea7 de Mayo de 2016
754 Palabras (4 Páginas)256 Visitas
[pic 1][pic 2]
UNIVERSIDAD AUTONOMA DE NUEVO LEON
FACULTAD DE INGENIERIA MECANICA Y ELECTRICA
Actividad Fundamental 6
Edgar Guadalupe Ortega Martinez 1524623
MATERIA: Seminario de sistemas
HORA: N1-N3 Jueves 2-101
La Inteligencia Artificial es una materia muy controversial, pero la manera en la que acercaré en este artículo es simple y rápida. La forma en que he estado acercándome a la IA no es a través del aspecto filosófico o biológico, sino como un tema computacional. Cuando los humanos quieren volar, no tienen que estudiar las aves para aprender como lo hacen, tan sólo se montan en un avión. Esta es mi manera de acercarme a la IA. Queremos resolver acertijos y juegos a través de una computadora sin realmente comparar la forma en que un ser humano resuelve tareas de modo diferente a una computadora.
Por primera vez en la historia de mi escuela, estuvieron ofreciendo una clase de Inteligencia Artificial (IA). Estaba muy excitado con respecto a esa clase porque uno escucha demasiado sobre IA, pero realmente no se ve mucho en revistas y artículos en línea.
Probablemente el ejemplo más grande de una aplicación de IA es el test de Turing. El test consiste en una persona que está en una habitación con una terminal, y esta persona comenzará a chatear con la computadora. Al final del test la persona debería darse cuenta si estuvo hablando con una persona real o con un programa de computadora. Y si la persona confunde la persona con la computadora entonces habremos conseguido la IA.
En LU escogimos Prolog para que sea la herramienta de implementación para la IA. Nuestros laboratorios en la escuela están cimentados en Windows NT y poseemos solamente una sola máquina con Linux la cual está destinada a los estudiantes. Pero he sido un usuario Linux por casi dos años, y quería implementar mi tarea de Prolog en Linux.
Realicé algunas búsquedas en la red y encontré un gran compilador de Prolog para Linux. Prolog es como Linux en ciertas aspectos, hay una gran variedad de sabores que usted puede elegir. El que elegí fue SWI Prolog). Prolog es un lenguaje muy flexible. Al contrario de otros lenguajes como C, C++ o Java, Prolog está basado en lógica matemática formal, en este caso: Predicate Calculus. (Cálculo de Predicados). Un programa en Prolog es normalmente realizado por hechos con un conjunto de reglas. Para alcanzar la solución final tiene que satisfacer este conjunto de reglas. Interpretar estas reglas le permite a la computadora deducir la solución por sí misma. En Prolog los hechos normalmente son almacenados en un archivo separado llamado la base de conocimientos, y las reglas en otro archivo que es el programa actual.
Permítanme mostrarles un algoritmo de búsqueda muy básico conocido como la Búsqueda Inicial en Profundidad (haga click para ver la imagen).
Este programa le permite a usted encontrar un camino de solución desde el punto de INICIO hasta alguna META. El algoritmo BIP es muy simple de implementar, ya que es un algoritmo recursivo. Lo que el algoritmo BIP hace es ir a través del hijo de cada nodo en una manera secuencial, por consiguiente aunque es una forma muy fácil de implementar un algoritmo de búsqueda, no es eficiente con respecto al tiempo.
Pero... ¿Por qué buscar un grafo?
Los nodos de un grafo corresponden a los estados parciales de la solución del problema y los arcos corresponden a los pasos del proceso de resolución de problemas. El grafo además define una o más condiciones para la meta, las cuales son soluciones para una instancia del problema. El proceso de encontrar un camino de solución desde el inicio hasta la meta es llamado Estado en un Ámbito de Búsqueda (Luger y Stubblefield 1997).
A través de un grafo usted puede encontrar las soluciones a varios problemas que en su mente parecen muy fáciles. Por ejemplo, un juego completo de ajedrez puede ser representado con grafos, problemas matemáticos, virtualmente cualquier cosa que involucre una toma de decisiones.
...