Lenguajes de Programación para la construcción de SE

Slides:



Advertisements
Presentaciones similares
INTELIGENCIA ARTIFICIAL
Advertisements

¿Qué es Sofware? Son el conjunto de instrucciones que dirigen las actividades del Hardware Consiste en programas, módulos de soporte y archivos de datos,
Cb00843 Traductores Rogelio Dávila Pérez Profesor Planta
Tipos de Organización ... La organización de máquinas multiprocesadores más típicas son: Mesh Networks. Binary Tree Networks. Hypertree Networks. Pyramid.
INTELIGENCIA ARTIFICIAL
Conceptos preliminares
Secuencia finita, ordenada y lógica de instrucciones (ó pasos), los cuales permiten realizar una ó varias tareas.
¿Cómo hacer para que una máquina comprenda el LN?
LENGUAJES DE PROGRAMACIÓN
DESARROLLO DE PROGRAMAS
Lenguajes de programación
Servicios Web.
Inteligencia Artificial
Iván ventura presenta.
INSTITUTO TECNOLOGICO DE MINATITLAN
Sistemas de Razonamiento Lógico
Programación de Sistemas
UNIVERSIDAD LATINA (UNILA) V. EVALUACION DE ALGORITMOS.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Programación 1 Introducción
Traducción dirigida por la Sintaxis
Introducción a la programación
CAPITULO 2 La Representación del Conocimiento
LOGICA DE NEGOCIOS ADAN GONZALEZ BARRERA.
Introducción. Agenda Clase 1 ● Preámbulo histórico. ● Razones de la Diversidad de Lenguajes. ● Razones del Éxito de un Lenguaje. ● Clasificación ● Motivación.
PROGRAMACIÓN LÓGICA.
ALGORITMOS, LENGUAJES Y TECNICAS DE PROGRAMACION
Representación del conocimiento
Inteligencia artificial

DISEÑO DE SOFTWARE 1ª. Parte
SISTEMAS EXPERTOS 2004 QUÉ ES CLISP ?. INTRODUCCIÓN A CLISP Características Generales: -Fácil implementación y modificación: rapidez para demostrar algoritmos.
UNIDAD I INTERFAX DEL USUARIO  CARACTERISTICAS GENERALES  SISTEMAS HIPERMEDIALES.
 Un programa informático es un conjunto de instrucciones que una vez ejecutadas realizarán una o varias tareas en una computadora. Sin programas, estas.
U1. Introducción a la programación
Tipos de Datos. Entrada-Salida.. La entrada-salida (I/O) le permite a un programa comunicarse con el mundo exterior. Esta comunicación puede realizarse.
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN.
Metodología para la construcción de programas
 CLIPS es una herramienta que provee un entorno de desarrollo para la producción y ejecución de sistemas expertos. Fue creado a partir de 1984, en el.
Sistema Experto Construcción. Un sistema experto puede ser construido así:  Un ingeniero entrevista al experto y aprende de lo que el hace y como lo.
INTRODUCCIÓN A LA INTELIGENCIA ARTIFICIAL Y LOS SISTEMAS EXPERTOS
Programación Java y Desarrollo de Aplicaciones
Importancia en la efectividad del:
LENGUAJES DE PROGRAMACION
Lenguajes de Programación
Sistemas Operativos.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) TRADUCTORES Y ANALIZADOR LEXICOGRÁFICO.
“PARADIGMAS Y LENGUAJES DE PROGRAMACION”
ESCUELA NORMAL “PROF. DARÍO RODRÍGUEZ CRUZ” Licenciatura en educación preescolar Alumnas: *Mayra * Monserrat * Idalia *Cinthia Curso: las TIC en la educación.
¿Qué es una Base de datos?
Prof. Flor Narciso Departamento de Computación
Fundamentos de Sistemas Expertos
CALIDAD Y VALIDACIÓN DE SISTEMAS EXPERTOS
Joscelyn Vega Chaparro Carlos Gonzalez Gatica.  Definición 1:  Es una aplicación informática capaz de solucionar un conjunto de problemas que exigen.
Lenguajes de Programación
Barbara Mercedes Parada Urieta Estudiante
III. DESARROLLO DE SISTEMAS.. Podemos definir el desarrollo de sistemas informáticos como el proceso mediante el cual el conocimiento humano y el uso.
POO U1: INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.
Unidad 3 MODELO DE ANALISIS.
TEMA: DISEÑO DE LA SOLUCION INTREGRANTES DE EQUIPO: ERIKA CRUZ MARTINEZ RODOLFO LOPEZ ANOTA LUIS ARMANDO LIÑA QUECHA JOSE FRANCISCO MEZO VARELA LUIS ENRIQUE.
Unidad TemáticaI. Conceptos Básicos Horas Prácticas10 Horas Teóricas8 Horas Totales18 Objetivo El alumno determinará las entradas, procesos y salidas.
Es un tipo especial de software que nos permite *Crear *Desarrollar *Programar otras aplicaciones. Haciendo uso de sus conocimientos lógicos y lenguajes.
Software Tipos y clasificación.
TEMA 4: MÉTODOS Y ELEMENTOS DE PROGRAMACIÓN
 Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.
PARADIGMA Es un marco de referencia que impone reglas sobre cómo se deben hacer las cosas. CONCEPTO DE PARADIGMA DE PROGRAMACION colección de modelos conceptuales.
INGENIERIA EN SISTEMAS COMPUTASIONALES. SISTEMAS EXPERTOS Es una aplicación informática capaz de solucionar un conjunto de problemas que exigen un gran.
PROGRAMACIÓN LÓGICA ODERAY CUBILLA GUILLERMO SALAZAR KRYSTHELLE AGUILAR INSTITUTO TECNOLÓGICO BARÚ.
LENGUAJE DE PROGRAMACIÓN PARA JUEGOS Integrantes: Ruiz José Vargas Mary.
Transcripción de la presentación:

Lenguajes de Programación para la construcción de SE

Maneras de Construir un Sistema Experto Usando un lenguaje de programación En un Shell

Diseñando un lenguaje Una alfabeto (conjunto de símbolos) Un léxico (vocabulario) Reglas gramaticales Las cuales contaran con una semántica Una sintaxis

Diseñando un lenguaje Este lenguaje debe de ser sencillo de aprender Leer y entender. La escritura de las reglas y hechos deben ser sencillas de trasladar desde el lenguaje natural al nuevo lenguaje Sus elementos léxicos y reglas sintácticas deben de hacer que el nuevo lenguaje resulte natural (similar al lenguaje hablado)

El lenguaje debe de servir a las necesidades de la materia de interés del experto. El lenguaje necesita un que lenguaje que imite la manera en que un experto Habla Piensa Opera

Representación A Lenguaje Representación B Lenguaje Traductor

Recordemos nuevamente que Todos los días usamos representaciones tales como: Letras y números Ecuaciones matemáticas Señales viales Fotografías de personas, lugares y cosas Caricaturas y dibujos animados Alarmas audibles y señales auditivas Etc. [Artificial Intelligence Illuminated, B Chopin]

Todo esto lo podemos representar formalmente en: Lógica proposicional Redes semánticas Arboles de búsqueda Marcos conceptuales

Programación Funcional Programación Lógica PROLOG GOLOG Programación Funcional LISP PYTON RUBY Programación Procedural C,JAVA

Programación Lógica Básicamente hace uso de la lógica de primer orden Ejemplo de ello es el modus ponems Si A entonces B A->B Programación Declarativa Gira en torno a un objeto y la relación entre este otro.

Programación Lógica Permite formalizar hechos del mundo real y sus reglas

Aplicaciones de la Programación Lógica Demostrar hipótesis lógicas. Bases de datos relacionales Entender el lenguaje natural Diseño automático Análisis de estructuras bioquímicas Análisis de estructuras macroscópicas como el medio ambiente.

Programación Funcional Paradigma de la computación basado en la utilización de funciones Tiene sus raíces en el calculo lambda Función Parámetros Proceso Valor de retorno entrada salida

Prolog Viene del Francés Progammation Logique Desarrollado en la Universidad Aix-Marseille I Se basa en la definición de reglas y axiomas Desarrolla una b SWI-Prolog,CiaoProlog, GNUProlog,PSharp

GOLOG Desarrollado por Hector Levesque Acciones que desempeña GOLOG (if,while,proc) Esta dividido en acciones primitivas Flujos Estados en el que se encuentra Mantiene una programación explicita del mundo dinámico que esta siendo modelado

LISP Su nombre significa List Processor Desarrollado por John McCarthy en el MIT Primer Lenguaje de la IA Lenguajes Populares Common LISP y Scheme Desarrollo en Tiempo real

Prolog ¿Cuenta con un alfabeto? ¿Reglas gramaticales? ¿Menciona una regla gramatical de Prolog? ¿Es sencillo de aprender? ¿Es fácil de aprender? ¿El código de Prolog se lee de manera natural?

Shell de un sistema experto Hoy en día son la forma mas común para el desarrollo de Sistemas Expertos Un shell de un sistema experto básicamente es un Sistema experto sin una base de conocimiento. Un shell provee el sistema experto con el motor de inferencia, la interfaz de usuario y el sistema de explicación y algunas facilidades para la adquisición del conocimiento.

Shell Motor de Inferencia Sistema de Explicación Editor de Base de Conocimiento Interfaz de Usuario Usuario

Shells vs Lenguajes de Programación Características Shell Lenguaje de Programación Facilidad y velocidad de uso Alta Baja Estructura de la Base de Conocimiento y razonamiento Restringida por la herramienta. Se puede desarrollar según las necesidades. Mantenimiento de la base de Conocimiento Sencilla De acuerdo a las características del software. Interfaz No siempre amigable Se tiene que desarrollar Eficiencia/Desempeño de la explicacion Restringida por la herramienta Se puede desarrollar según las necesidades

CLIPS C Language Integrated Production System Es un Shell gratuito implementado en C Provee un lenguaje para expresar las reglas Usa principalmente razonamiento hacia adelante para derivar conclusiones de un conjunto de reglas. Creado en 1985

Caracteristicas Escenciales de CLIPS Representación del conocimiento: Tiene una herramienta que soporta tres paradigmas de la programación: orientado a objetos, procedural y lógica. Portable: MACOS-X Windows,Windows Integración/extensibilidad: Se puede integrar con C,Java,Fortran

Verificación/Validación: Con el propósito de la validación de los SE. Desarrollo Interactivo: Debugger, editor integrado, Interfaces graficas. Verificación/Validación: Con el propósito de la validación de los SE. Soporte de diseño modular Particionado de la Base de conocimientos Verificación de argumentos de valores y funciones Análisis semántico de los patrones de la reglas para prevenir inconsistencias.[1] http://clipsrules.sourceforge.net/WhatIsCLIPS.html

CLIPS> (assert (hoy es sabado)) <Fact-0> Los hechos pueden enlistarse CLISP> (facts) F-0 (hoy es sabado)

Los hechos pueden borrarse (retractarse) CLISP>(retract 0) CLISP> (facts) Para definir reglas (defrule nombre_de_regla “comentarios” Condicion => accion )

JESS Java Expert System Shell Java Sistemas expertos basados en reglas. Ernest Friedman Hill API Estructura similar a la LISP Puede ser implementado en Eclipse http://www.jessrules.com/jessdemo/

Comparador de Patrones Arquitectura de JESS Memoria Activa Motor de Inferencia Motor de ejecución Comparador de Patrones Base de Reglas Agenda

Protégé Sirve para modelar aplicaciones basadas en conocimiento Es una plataforma que soporta básicamente dos manera de modelado de ontologías. Protege Frames Protege-OWL Los formatos que soporta son RDF (Resource Description Frames), RDFS, OSL y XML Schema

Basado en Java SWRLJessTab Puede usar el motor de inferencia Jess RacerProTG es un plugin que ofrece las funcionalidades de razonamiento a Protégé Para visualizacion, OWLVIz y Jambalaya,etc.

CYC Es un proyecto de Inteligencia Artificial que busca construir una Base de datos de conocimiento general 1984-Cycorp CYC es un ejemplo de una sistema de representación basado en marcos CYC hoy tiene mas de 100,000 diferentes conceptos de todos los diferentes campos del conocimiento humano.

Tiene cerca de 400 relaciones diferentes CYC pude conocer hechos acerca de Dracula, sabe que no existe pero incluso razonar acerca de el. CYC entiende analogías, descubre nuevas analogías examinándolas el mismo por las similaridades entre estas.

Sus creadores dicen que descubrió la analogía entre el concepto familia y el concepto nación. 100,000,000 de reglas El agua causa humedad

Wolfram Alpha Motor de Búsqueda de Conocimiento Desarrollado por la empresa Wolfram Research Lanzado en Mayo de 2009 El usuario realiza consultas vía texto. El buscado busca las respuesta en su base de conocimiento

Wolfram Alpha Su meta es hacer todo el conocimiento sistemático, inmediatamente computable y accesible para todos. Dentro de sus propósitos tiene recolectar y refinar toda la información objetiva. Es decir sistematizar el conocimiento.

Ingresamos una búsqueda

Actividad Realizar un resumen, de los temas expuesto hoy. Por ejemplo Lenguajes de Programación y Shells