Modelos de Conocimiento Basados en Ontologías para la ...

Modelos de Conocimiento Basados en Ontologías para la ... Modelos de Conocimiento Basados en Ontologías para la ...

buleria.unileon.es
from buleria.unileon.es More from this publisher
08.05.2013 Views

Capítulo 4. Esquema de representación propuesto El concepto correspondiente al número real está compuesto (tiene un slot que lo recoge) por un valor numérico, expresado en el tipo de datos adecuado dentro del agente que almacene ese valor. En la presente ontología este valor es un tipo float del lenguaje de programación Java, o lo que es lo mismo, un número en coma flotante de simple precisión según el estándar IEEE 754 con tamaño de almacenamiento de 32 bits (rango de 1.40239846e–45 a 3.40282347e+38) 82 . La clase que representa a los números reales se denomina RealNumber y el slot donde se recoge el valor numérico se denomina hasNumericalValue. En cuanto a los números complejos éstos están representados por la clase ComplexNumber que, al igual que en caso de los polinomios, tiene slots en los que se almacenan las formas de describir un número complejo. En esta ontología se han representado la forma "parte real y parte imaginaria" y la forma "módulo y argumento". En la figura 4.7 se puede ver un ejemplo de instancia de número complejo. La instancia a la izquierda pertenece a la clase ComplexNumber, las dos siguientes son instancias de la clase RealAndImaginaryPartsDescription y ModulusAndArgumentDescription (ambas subclases de ComplexNumberDescription). Los slots de estas clases almacenan instancias de la clase RealNumber, que aparecen en la parte derecha. En estas instancias de RealNumber aparecen, como valores de los slot hasNumericalValue, los tipos de datos float con los que se almacenan los números reales en java/Protégé. 88 3.0 + j 2.0 hasModulusAndArgumentDescription Ins#23 hasRealAndImaginaryPartDescription Ins#56 Ins#23 hasRealPart hasImaginaryPart Ins#56 3.0 2.0 hasModulus 3.605 hasArgument 0.588 Figura 4.7. Instancia de número complejo 3+j2 82 http://java.sun.com/docs/books/jls/third_edition/html/typesValues.html#4.2.3 3.0 hasNumericalValue 3.0 3.0 hasNumericalValue 3.605 2.0 hasNumericalValue 0.588 3.605 hasNumericalValue 0.588

Capítulo 4. Esquema de representación propuesto La figura 4.8 es una captura del editor Protégé en el que se puede ver un esquema similar al presentado en la figura 4.7 pero con instancias reales de la ontología. Figura 4.8. Instancia de número complejo en la ontología Tanto RealNumber como ComplexNumber se han creado como subclases de la clase Number. En este punto es conveniente comentar algo sobre el uso de las instancias que representan números en la ontología. La misma instancia de un número puede utilizarse en varios sitios siempre que haga referencia a un mismo individuo ó cuando aparezca solamente con el fin de procesar su valor numérico, por ejemplo en las comparaciones, donde se comparan valores numéricos y no instancias de números estrictamente hablando. Pero por otro lado las raíces de un polinomio, por ejemplo, siempre serán instancias de números complejos diferentes aunque tengan los mismos valores como parte real e imaginaria (incluyendo el 0+0j) 83 , es 83 El formalismo de marcos postula la presunción de nombre único (Unique Name Assumption - UNA -). Esto significa que no puede existir una instancia con dos nombres diferentes ni dos instancias diferentes con el mismo nombre. Esto no 89

Capítulo 4. Esquema <strong>de</strong> repres<strong>en</strong>tación propuesto<br />

El concepto correspondi<strong>en</strong>te al número real está compuesto (ti<strong>en</strong>e un slot que lo<br />

recoge) por un valor numérico, expresado <strong>en</strong> el tipo <strong>de</strong> datos a<strong>de</strong>cuado <strong>de</strong>ntro <strong>de</strong>l<br />

ag<strong>en</strong>te que almac<strong>en</strong>e ese valor. En <strong>la</strong> pres<strong>en</strong>te ontología este valor es un tipo float<br />

<strong>de</strong>l l<strong>en</strong>guaje <strong>de</strong> programación Java, o lo que es lo mismo, un número <strong>en</strong> coma<br />

flotante <strong>de</strong> simple precisión según el estándar IEEE 754 con tamaño <strong>de</strong><br />

almac<strong>en</strong>ami<strong>en</strong>to <strong>de</strong> 32 bits (rango <strong>de</strong> 1.40239846e–45 a 3.40282347e+38) 82 .<br />

La c<strong>la</strong>se que repres<strong>en</strong>ta a los números reales se <strong>de</strong>nomina RealNumber y el slot<br />

don<strong>de</strong> se recoge el valor numérico se <strong>de</strong>nomina hasNumericalValue. En<br />

cuanto a los números complejos éstos están repres<strong>en</strong>tados por <strong>la</strong> c<strong>la</strong>se<br />

ComplexNumber que, al igual que <strong>en</strong> caso <strong>de</strong> los polinomios, ti<strong>en</strong>e slots <strong>en</strong> los<br />

que se almac<strong>en</strong>an <strong>la</strong>s formas <strong>de</strong> <strong>de</strong>scribir un número complejo. En esta ontología<br />

se han repres<strong>en</strong>tado <strong>la</strong> forma "parte real y parte imaginaria" y <strong>la</strong> forma "módulo y<br />

argum<strong>en</strong>to". En <strong>la</strong> figura 4.7 se pue<strong>de</strong> ver un ejemplo <strong>de</strong> instancia <strong>de</strong> número<br />

complejo. La instancia a <strong>la</strong> izquierda pert<strong>en</strong>ece a <strong>la</strong> c<strong>la</strong>se ComplexNumber, <strong>la</strong>s<br />

dos sigui<strong>en</strong>tes son instancias <strong>de</strong> <strong>la</strong> c<strong>la</strong>se<br />

RealAndImaginaryPartsDescription y<br />

ModulusAndArgum<strong>en</strong>tDescription (ambas subc<strong>la</strong>ses <strong>de</strong><br />

ComplexNumberDescription). Los slots <strong>de</strong> estas c<strong>la</strong>ses almac<strong>en</strong>an<br />

instancias <strong>de</strong> <strong>la</strong> c<strong>la</strong>se RealNumber, que aparec<strong>en</strong> <strong>en</strong> <strong>la</strong> parte <strong>de</strong>recha. En estas<br />

instancias <strong>de</strong> RealNumber aparec<strong>en</strong>, como valores <strong>de</strong> los slot<br />

hasNumericalValue, los tipos <strong>de</strong> datos float con los que se almac<strong>en</strong>an los<br />

números reales <strong>en</strong> java/Protégé.<br />

88<br />

3.0 + j 2.0<br />

hasModulusAndArgum<strong>en</strong>tDescription<br />

Ins#23<br />

hasRealAndImaginaryPartDescription<br />

Ins#56<br />

Ins#23<br />

hasRealPart<br />

hasImaginaryPart<br />

Ins#56<br />

3.0<br />

2.0<br />

hasModulus<br />

3.605<br />

hasArgum<strong>en</strong>t<br />

0.588<br />

Figura 4.7. Instancia <strong>de</strong> número complejo 3+j2<br />

82 http://java.sun.com/docs/books/jls/third_edition/html/typesValues.html#4.2.3<br />

3.0<br />

hasNumericalValue<br />

3.0<br />

3.0<br />

hasNumericalValue<br />

3.605<br />

2.0<br />

hasNumericalValue<br />

0.588<br />

3.605<br />

hasNumericalValue<br />

0.588

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!