miércoles, 25 de febrero de 2009

REPRESENTACIÓN DEL CONOCIMIENTO

Representación de conocimiento

Una representación es algo que significa algo o quiere decir algo.
Una representación es un conjunto de convenciones sobre la forma de describir un tipo de cosas. Una descripción aprovecha las convenciones de una representación para describir alguna cosa en particular.
Las características de una buena representación son:
· Los objetos y las relaciones importantes deben aparecer explícitamente y de forma conjunta
· Las restricciones inherentes al problema se muestran pero no los detalles irrelevantes.
· La representación debe ser transparente: se entiende lo que se dice.
· Completa y concisa: Están representados con eficacia todos los objetos y relaciones.
· Rápidos y computables: Se puede almacenar y recuperar la información con rapidez, y se pueden crear mediante un procedimiento ya existente
La representación de conocimiento es importante por que en IA ayuda a reducir los problemas de construcción de sistemas inteligentes a problemas de búsqueda.

Partes de una representación:
Sintaxis: símbolos y conjunto de reglas para combinarlos.
Semántica: significado de las expresiones construidas.
Existen dos tipos d e representación de conocimiento:

Método declarativo (saber que ): el conocimiento se representa mediante un conjunto de sentencias junto con unos procedimientos generales que las manipulan.caracteristicas de este método son:
· Economía de representación: una única sentencia admite varios usos.
· Naturalidad: basta leer una sentencia para comprender su significado (eficiencia rotacional).
· Ineficiencia: basta cambiar una sentencia para cambiar el conocimiento.
· Ineficiencia: nunca sabemos cual es el conocimiento relevante para resolver un problema concreto.
Métodos proceduales (saber como): El conocimiento esta descrito mediante un conjunto de procedimientos que permite resolver un problema. Sus características son:
· Eficiencia: en cada momento utilizamos el conocimiento preciso .
· Inflexibles_ modificar el conocimiento puede exigir revisar todo el sistema.
Los LRCs más modernos (frames, prototipos….) consiguen una integración aceptable de ambos, con un “aspecto” básicamente declarativo.

viernes, 20 de febrero de 2009

martes, 17 de febrero de 2009

Lógica Difusa




















LÓGICA DIFUSA

La lógica difusa fue investigada, por primera vez, a mediados de los años setenta en la Universidad de Berkeley (California) por el ingeniero Lofty A. Zadeh cuando se dio cuenta de lo que él llamó principio de incompatibilidad:”Conforma al complejidad de un sistema aumenta, nuestra capacidad para ser precisos y construir instrucciones sobre su comportamiento disminuye hasta el umbral más allá del cual, la precisión y el significado son características excluyentes”. Introdujo entonces el concepto de conjunto difuso (Fuzzy set) bajo el que reside la idea de que los elementos sobre lo que se construye el pensamiento humano no son números sino también etiquetas lingüísticas cualitativo y no necesariamente cuantitativo, en el lenguaje matemático a través de teoría de conjuntos difusos y funciones asociadas a ellos. Permite trabajar a la vez con datos numéricos y términos lingüísticos: los términos lingüísticos son inherentes menos precisos que los datos numéricos pero en muchas ocasiones aportan una información más útil para el horizonte humano.
Es la lógica que utiliza expresiones que no son ni totalmente ciertas ni totalmente falsas, es decir, es la lógica aplicada a conceptos que pueden tomar un valor cualquiera de veracidad dentro de un conjunto de valores que oscilan entre dos extremos, la verdad absoluta y la falsedad total.

La lógica difusa es una metodología que proporciona una manera simple y elegante de obtener una conclusión a partir de información de entrada vaga, ambigua, imprecisa, con ruido o incompleta, en general la lógica difusa imita como una persona toma decisiones basada en información con las características mencionadas.

En Psicología: Resolución de problemas que implica cierto grado de inferencia e intuición para lograr la conclusión propia; vista como una distinción crucial entre la inteligencia humana y la mecánica.
En Inteligencia Artificial: Método de razonamiento de maquina similar al pensamiento humano, que puede procesar información incompleta o incierta, característico de muchos sistemas expertos.

Conjuntos difusos
El concepto clave para entender como trabaja la lógica difusa es el de conjunto difuso, se puede definir un conjunto difuso de la siguiente manera.
Teniendo un posible rango de valores al cual llamaremos U, por ejemplo U=Rn, donde Rn es un espacio de n dimensiones, a U se le denominara Universo de Discurso. En U se tendrá un conjunto difuso de valores llamado F el cual es caracterizado por de una función de pertenencia uf tal que uf: U->[0, 1], donde uf(u) representa el grado de pertenencia de un u que pertenece a U en el conjunto difuso F.
Por ejemplo supongamos que se desea representar con conjuntos difusos la variable altura de una persona, en este caso el universo de discurso será el rango de posibles valores de la altura que tenga un persona adulta, se escogerá un rango entre 140 cm y 200 cm, valores por fuera de este rango son posibles pero son muy escasos. El universo de discurso U = [140, 200], para denominar los conjuntos difusos se suelen trabajar con etiquetas lingüísticas similares a las que se usan de manera coloquial por ejemplo, en la vida diaria decimos que una persona es Muy Baja (MB), Baja (B), Mediana (M), Alta (Alta) y Muy Alta (MA)


Etiqueta Rango [min, max]
MB [140,160]
B [160,170]
M [170,180]
A [180,190]
MA [190,200]

Figura No. 1 Conjuntos difusos para la altura de una persona


Operaciones entre conjuntos difusos

En la figura 3, se muestran dos conjuntos difusos los cuales nos servirán para definir las operaciones fundamentales que entre ellos se pueden realizar.
Figura No. 3 Conjuntos difusos entre los se definirán las operaciones
Intersección.
La idea intuitiva de intersección heredada de los conjuntos clásicos expresa que el conjunto intersección de dos conjuntos A y B, se define como los elementos que están en el conjunto A Y en el conjunto B; de esta manera la intersección entre conjuntos se puede entender como el una operación tipo AND entre los mismos.
Siguiendo esta idea, se podría graficar la intersección de los conjuntos difusos mostrados en la figura 3.





Figura No. 4 Intersección entre dos conjuntos difusos

De manera similar a como se define el nivel de pertenencia a un conjuntos difuso, vamos a encontrar el nivel de pertenencia de valor x= 4.5 a la intersección de los dos conjuntos difusos mostrados.





Figura No. 5 Cual es el valor de pertencia de x=4.5 a la intersección de los conjuntos difusos A y B

Gráficamente se que el valor x=4.5 tiene un nivel de pertenencia de 0.8 al conjunto A y de 0.2 al conjunto B, y el valor de pertenencia de x= 4.5 a la intersección (zona sombreada) se desea expresar como una operación entre estos valores se observa que de estos dos valores, el que "toca" la zona sombreada es el de 0.2 por lo que de manera intuitiva se puede afirmar que el valor de pertenencia del valor dado a la intersección de los conjuntos A y B es el valor mínimo de los valores de pertenencia del dicho valor a los conjuntos de manera individual, de manera matemática lo anterior se puede expresar así:

Unión.
La idea intuitiva de unión herededa de los conjuntos clásicos expresa que el conjunto unión de dos conjuntos A y B, se define como los elementos que están en el conjunto A OR están en el conjunto B. de esta manera la intersección entre conjuntos se puede entender como el una operación tipo OR entre los mismos.Siguiendo esta idea, se podría graficar la unión de los conjuntos difusos mostrados en la figura 3.

Figura No. 6 Unión entre dos conjuntos difusos

De manera similar a como se define el nivel de pertenencia a un conjuntos difuso, vamos a encontrar el nivel de pertenencia de valor x = 4.5 a la unión de los dos conjuntos difusos mostrados.
Figura No. 7 Cual es el valor de pertencia de x=4.5 a la unión de los conjuntos difusos A y B
Gráficamente se que el valor x=4.5 tiene un nivel de pertenencia de 0.8 al conjunto A y de 0.2 al conjunto B, y el valor de pertenencia de x= 4.5 a la unión (zona sombreada) se desea expresar como una operación entre estos valores se observa que de estos dos valores, el que "toca" la zona sombreada es el de 0.8 por lo que de manera intuitiva se puede afirmar que el valor de pertenencia del valor dado a la unión de los conjuntos A y B es el valor máximo de los valores de pertenencia de dicho valor a los conjuntos de manera individual, de manera matemática lo anterior se puede expresar así:
Complemento.
En conjuntos clásicos se define el complemento como el conjunto de los elementos que le faltan a un conjunto para ser igual al conjunto universo.
De la misma manera en conjuntos difusos se habla del complemento como el conjunto formado por los valores de pertencias que le permitirían al conjunto obtener el valor máximo de pertenencia posible, siendo 1 el valor máximo de pertenencia que un conjunto difuso puede suministrar, este conjunto se podría formar restando le a 1 los valores de pertenencia del conjunto difuso al que se desea encontrar el complemento.
Gráficamente esto se visualiza así:

Figura No. 8 Complemento de un conjunto difuso

En la grafica anterior el conjunto complemento se ha dibujando con trazo negro. De manera similar a como se define el nivel de pertenencia a un conjuntos difuso, vamos a encontrar el nivel de pertenencia de valor x =6 al complemento del conjunto difusos A
Figura No. 9 Cual es el valor de pertencia de x=6 al complemento del conjunto difusos A

En x=6 se observa que el valor de pertenencia al conjunto A es de 0.8, si pensamos en el complemento como lo que le falta a esta valor para alcanzar el máximo valor posible se que es 1 se tendría que el nivel del pertencia de x=6 al complemento es de 0.2, el la grafica se puede verificar esta conclusión. Matemáticamente esta operación se expresa así:










Referencias:
Jesús Alfonso López. Lógica Difusa: Introducción y conceptos básicos. Actualización: 12 mayo 2001. Recuperado el 17 de febrero de 2009, de:
http://members.tripod.com/jesus_alfonso_lopez/FuzzyIntro.html

Descripción General de las técnicas de lógica difusa. Recuperado el 17 de febrero de 2009, de
http://www.tdr.cesca.es/TESIS_UPC/AVAILABLE/TDX-0207105-105056//04Rpp04de11.pdf
Lógica Difusa. Recuperado el 17 de febrero de 2009, de:
http://www.dei.uc.edu.py/tai2000/logica/3.htm

Síntesis de lectura

Según Whiten Jeffrey. & Bentley Lonnie. & Barlow Víctor. (2001) en su libro “Análisis y diseño de sistemas de información” se refiere al ciclo de vida de desarrollo de un sistema como al proceso por el cual los analistas de sistemas, los ingenieros de software, los programadores y los usuarios finales elaboran sistemas de información y aplicaciones informáticas.

El ciclo de vida del desarrollo de sistemas más que nada una herramienta que nos ayuda a poder gestionar los proyectos de desarrollo de sistemas de modo que se pueda planear, ejecutar y controlar el seguimiento del mismo. Whiten y Barlow plantean 8 principios:1) involucrar al usuario en el desarrollo del sistema, 2 ) aplicar un método para resolver e problema,3) definir fases y actividades,4) establecer normas de desarrollo y una documentación consistente, 5) justificar un sistema como una inversión de capital,6) poder detectar cuando se puede cancelar el sistema y cuando revisarlo,7) dividir el sistema en pequeños para que estos formen un supersistema,8) diseñar el sistema para que pueda crecer y cambiar.

Para que se lleve a cabo el ciclo de vida de desarrollo de un sistema estos autores toman en cuenta 5 etapas: La etapa de planeación en esta fase se plantea se identifican y se establecen las prioridades de las aplicaciones e información que traiga beneficios a la empresa, se toman en cuenta las misiones de la empresa, detalles o limitaciones que pueda existir. La etapa de análisis de sistemas: el propósito de esta etapa es como su nombre lo dice analizar el problema o situación en la que se encuentra la empresa y de ahí poder determinar cuales son las necesidades para la creación del sistema. En esta fase nos podemos dar cuenta que no siempre se necesita un sistema informático. La etapa de diseño de sistemas esta etapa habla del diseño técnico que tendrá el sistema para que pueda satisfacer las necesidades esto se lleva a cavo tomando en cuenta sugerencias, opiniones y recomendaciones por los usuarios, prácticamente nos dice como seguirá el sistema satisfacer las necesidades de empresa de los usuarios. La etapa de implantación esta etapa se encarga de todos los componentes tecnológicos que la aplicación necesitará para llevar a cavo sus actividades. Y la ultima etapa soporte técnico tiene como principal propósito sostener y mantener durante el resto de su vida útil
Este ciclo de vida de desarrollo de un sistema así como se plantea se tiene que paso a paso, esto quiere decir que solo terminando una etapa puedes pasarse a la siguiente. Y como ya tiene una plantación bien definida desde n principio no admite cambios durante su desarrollo.

Existe otra propuesta de ciclo de vida de desarrollo de un sistema por Schach (2006) nos habla de un ciclo de vida que consta de tan solo 4 etapas: Requerimientos, análisis, diseño e implantación. Este hace la diferencia entre como se debe desarrollar un ciclo de vida teórico y un ciclo de vida practico así como el que propone él. Según él, la plantación se va ando de acorde a como se va avanzando en el desarrollo, pues en ocasiones surgen cambios repentinos que no se tenían contemplados, así que permite hacer modificaciones, en cambio el otro modelo propuesto por los otros autores no permite hacer cambios.

Esta propuesta de ciclo de vida supone que como ya se conoce la metodología de plantación, al comenzar el desarrollo ya se toman las medidas adecuadas, así que están listos para empezar.
En cambio los primeros autores es como si te llevaran de la mano para que puedas llevar a cavo un buen desarrollo, pero solo prepara el sistema en base a los requerimientos actuales no toma en cuenta que pueden surgir modificaciones futuras.



Referencias


WHITEN, Jeffrey. & BENTLEY, Lonnie. & BARLOW, Victor.(2003) . Análisis y Diseño de Sistemas de Información ( 1ª edición). Mc Graw Hill. México

SCHACH, Stephen (2006). Ingeniería de Software Clásica y orientada a objetos (1ª edición). Mc Graw Hill. México

sábado, 7 de febrero de 2009

jueves, 5 de febrero de 2009

Lo que ESPERO que pase en este semestre!!!!

  • En primera es cumplir con mis trabajos, tarea y compromisos, por encima de mi flojera.



  • Poner toda la atencion posible en clase



  • NO DEJAR QUE ME GANE LA FLOJERA


Tambièn espero que esta materia sea lo mas práctica y dinamica, para que no se vuelva tediosa, al igual que la profesora sea pasiente ya que aun no recuperamos el ritmo que llevabamos anteriormente con ella.




Que la relació con mis compañeros sea más unida, que al fin sea posible que se pueda trabajar en equipo, y que los trabajos sean mejores.




Otra cosa imortante es que debemos tomar encuenta el tiempo, se debe organizar para que las actividades se distribuyan y se cumplan en su totalidad, y no nos agarren las prisas.




Y a todos les dijo que las cosas salen mejor si tenemos el apoyo de los demás.....










martes, 3 de febrero de 2009

Inteligencia Artificial


La inteligencia artificial es la que trata de estudiar el funcionamiento mental y aplicarlo en maquinas basándose en algoritmos para el control de las mismas. Sus principales objetivos son:

1. El análisis teórico de las posibles explicaciones del comportamiento inteligente

2. La explicación de habilidades mentales humanas

3. La construcción de artefactos (computadoras) inteligentes.

Algunas aplicaciones en hardware:

§ Los robots son dispositivos compuestos de censores que reciben datos de entrada que manda una computadora, la cual ordena al robot que efectúe una determinada acción.

§ Fabricación y gestión de procesos científicos

§ Redes de ordenadores, equipos mecánicos, averías telefónicas, instrumentación electrónica, circuitos electrónicos, averías automovilísticas.

Algunas aplicaciones en software:

§ Desarrollo de software: programación automática.

§ Problemas médicos

§ Monitorización de procesos

§ funciones vitales de pacientes hospitalizados.