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 ...
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
- Page 58 and 59: Capítulo 3. Representación del co
- Page 60 and 61: Capítulo 3. Representación del co
- Page 62 and 63: Capítulo 3. Representación del co
- Page 64 and 65: Capítulo 3. Representación del co
- Page 66 and 67: Capítulo 3. Representación del co
- Page 68 and 69: Capítulo 3. Representación del co
- Page 70 and 71: Capítulo 3. Representación del co
- Page 72 and 73: Capítulo 3. Representación del co
- Page 74 and 75: Capítulo 3. Representación del co
- Page 76 and 77: Capítulo 3. Representación del co
- Page 78 and 79: Capítulo 3. Representación del co
- Page 80 and 81: Capítulo 3. Representación del co
- Page 82 and 83: Capítulo 3. Representación del co
- Page 84 and 85: Capítulo 4. Esquema de representac
- Page 86 and 87: Capítulo 4. Esquema de representac
- Page 88 and 89: Capítulo 4. Esquema de representac
- Page 90 and 91: Capítulo 4. Esquema de representac
- Page 92 and 93: Capítulo 4. Esquema de representac
- Page 94 and 95: Capítulo 4. Esquema de representac
- Page 96 and 97: Capítulo 4. Esquema de representac
- Page 98 and 99: Capítulo 4. Esquema de representac
- Page 100 and 101: Capítulo 4. Esquema de representac
- Page 102 and 103: Capítulo 4. Esquema de representac
- Page 104 and 105: Capítulo 4. Esquema de representac
- Page 106 and 107: Capítulo 4. Esquema de representac
- Page 110 and 111: Capítulo 4. Esquema de representac
- Page 112 and 113: Capítulo 4. Esquema de representac
- Page 114 and 115: Capítulo 4. Esquema de representac
- Page 116 and 117: Capítulo 4. Esquema de representac
- Page 118 and 119: Capítulo 4. Esquema de representac
- Page 120 and 121: Capítulo 4. Esquema de representac
- Page 122 and 123: Capítulo 4. Esquema de representac
- Page 124 and 125: Capítulo 4. Esquema de representac
- Page 126 and 127: Capítulo 4. Esquema de representac
- Page 128 and 129: Capítulo 4. Esquema de representac
- Page 130 and 131: Capítulo 4. Esquema de representac
- Page 132 and 133: Capítulo 4. Esquema de representac
- Page 134 and 135: Capítulo 4. Esquema de representac
- Page 136 and 137: Capítulo 4. Esquema de representac
- Page 138 and 139: Capítulo 4. Esquema de representac
- Page 140 and 141: Capítulo 4. Esquema de representac
- Page 142 and 143: Capítulo 4. Esquema de representac
- Page 144 and 145: Capítulo 4. Esquema de representac
- Page 146 and 147: Capítulo 4. Esquema de representac
- Page 148 and 149: Capítulo 4. Esquema de representac
- Page 150 and 151: Capítulo 4. Esquema de representac
- Page 152 and 153: Capítulo 4. Esquema de representac
- Page 154 and 155: Capítulo 4. Esquema de representac
- Page 156 and 157: Capítulo 4. Esquema de representac
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