 | | DIVISIÓN POR CERO |
“El cero, una idea peligrosa” (Charles Seife)
“Nulidad (Nullity) es el eslabón perdido que convierte la aritmética real en una aritmética total” (James Anderson)
El Problema de la División por Cero
Un problema histórico
Desde la invención del cero por los hindúes, hace más de mil años, la gente se queda perpleja, atónita, dudosa cuando se enfrenta a dividir un número por cero. Ante esta situación hay varias opiniones sobre el resultado:
- Es un número infinito (∞) porque el denominador es el límite de un número real positivo que tiende a cero.
- Es −∞ porque el denominador es el límite de un número real negativo que tiende a cero.
- Es a la vez +∞ y −∞.
- Es el propio número, porque al dividirlo entre nada, es decir, al no dividirlo, queda invariable.
- Es un número imaginario.
- Es un número indeterminado.
- No es un número.
- La operación es imposible.
De todas estas interpretaciones, la más aceptada es que el resultado es infinito.
Otro problema, relacionado con el anterior, es la expresión 0/0. En este caso, también hay varias opiniones sobre el resultado:
- Es 1, pues numerador y denominador son iguales.
- Es 0, porque al dividir un número entre nada, es decir, no dividirlo, queda invariable.
- Es un valor “indeterminado”, no un número concreto. Se basaba en que si 0÷0 = c, entonces, por la operación inversa, c×0 = 0, y esto lo cumple cualquier c.
En este caso, la interpretación más aceptada es esta última.
De estos dos problemas se sacan dos conclusiones:
- La aritmética no es completa, pues no está definidas las operaciones 1/0 y 0/0.
- Las dos interpretaciones de 1/0 y 0/0 implican trascender la propia aritmética, pues son abstracciones superiores a la abstracción de número. Además, pueden originar paradojas matemáticas. Una de ellas es: 0×1 = 0×2 = 0. Dividiendo por cero, (0/0)×1 = (0/0)×2. Eliminado el factor común, 1 = 2.
El estándar IEEE 754
En informática, un intento de dividir por cero produce una excepción, un mensaje de error, y el resultado es que “no es un número” (Not a Number, NaN). Este acrónimo forma parte del estándar IEEE 754, un término utilizado en la aritmética de punto flotante de los ordenadores.
Para prevenir la división por cero, los programas deben preguntar siempre si el divisor es cero, y si es así, bifurcar a una rutina que trate esta circunstancia. También debe chequearse si el divisor es menor que un cierto valor, pues el resultado puede causar “overflow”. También debe verificarse que no sea muy grande para que no produzca “underflow”.
Según la norma IEEE 754, el resultado NaN se puede representar en formato de punto flotante con unos en el exponente y con números diferentes de cero en la mantisa.
Las operaciones aritméticas que involucran un NaN producen un NaN, con lo que este valor se propaga a través de los cálculos. En el estándar hay dos tipos de NaN: simple (quiet NaN), que no generan excepciones adicionales en la propagación), y señalizada (signalling NaN), donde se propaga.
En la propuesta del estándar revisado (IEEE 754r) se establecen también unos valores máximo (maxnum) y mínimo (minnum), de tal manera que un NaN se puede producir en varias circunstancias: división por cero, al intentar calcular la raíz cuadrada de un número negativo, por underflow (generar un valor menor que minnum), por overflow (generar un valor mayor que maxnum), etc.
El estándar IEEE 754 contempla, además del NaN, el cero con signo (+0 y −0) y el infinito con signo (+∞ y −∞). Contempla una serie de axiomas que involucran a estos tres elementos (se detallan en el siguiente apartado). La justificación del signo se basa en conocer el signo del resultado, en el caso de underflow.
Un caso de problema grave de división por cero ocurrió en el Remote Data Base Manager a bordo del USS Yorktown (CG-48), provocando que fallara el sistema de propulsión de la nave.
La solución de James Anderson
James Arthur Dean Anderson (conocido como James Anderson), profesor de informática de la Universidad de Reading (Reino Unido), ganó relevancia pública en el año 2006 cuando afirmó “haber resuelto un viejo problema de 1200 años de antigüedad: la división por cero”. Al final se llegó a la conclusión de que realmente se trataba de una variante del concepto NaN.
Anderson inventó la aritmética transreal, posteriormente denominada transaritmética o transmatemática. Incluía todos los números reales y otros tres: +∞, −∞ y Φ (nullity, nulidad), en donde Φ es la representación de 0÷0, un número que cae fuera de la recta real. Φ simboliza un cero dividido por sí mismo.
Los axiomas de la aritmética transreal son idénticos a los de la aritmética flotante estándar del IEEE, excepto el último. La tabla comparativa es :
Aritmética transreal | IEEE
|
0 ÷ 0 = Φ | 0 ÷ 0 = NaN
|
+1 ÷ 0 = +∞ | 1 ÷ +0 = −1 ÷ −0 = +∞
|
−1 ÷ 0 = −∞ | 1 ÷ −0 = −1 ÷ 0 = −∞
|
∞ × 0 = Φ | ∞ × 0 = NaN
|
∞ − ∞ = Φ | ∞ − ∞ = NaN
|
Φ + a = Φ | NaN + a = NaN
|
Φ × a = Φ | NaN × a = NaN
|
−Φ = Φ | −NaN = NaN
|
¿Φ = Φ? = V | ¿Φ = Φ? = F
|
En la aritmética transreal x − x no es siempre 0, porque Φ − Φ = Φ. Y tampoco x÷x = 1 porque Φ÷Φ = Φ.
Anderson califica a a su aritmética como “total”, en el sentido de que la división es aplicable a todos los números, como en las operaciones de suma, resta y multiplicación.
La solución de Jesper Carlström
Carlström (Universidad de Estocolmo) inventó el concepto de “rueda” (wheel), la teoría de la rueda (wheel theory), donde los números reales se extienden a una rueda. El término “rueda” está inspirado por la imagen de una circunferencia proyectada sobre la recta real, que incluye el punto 0/0.
Es un tipo de álgebra donde la división está siempre definida, y donde la división por cero tiene sentido. En esta álgebra la división no es una operación binaria (de dos argumentos), sino que la división se considera una operación unaria (de un argumento). La operación /x indica algo similar (pero no idéntico) a x−1, donde
Una rueda es una estructura algebraica (anillo conmutativo) (W, 0, 1, +, ·, /) con las operaciones binarias de suma y producto, el operador unario “/” y las constantes 0 y 1, con los axiomas siguientes:
//x = x
/(x·y) = /x·/y
x·z + y·z = (x + y)·z + 0·z
(x + y·z)/y = x/y + z + 0·y
(x + 0·y)/z = x·z + 0·y
/(x + 0·y) = /x + 0·y
0·0 = 0
0/0 + x = 0/0
En este álgebra se cumple:
0·x ≠ 0
x − x ≠ 0
x·x ≠ 1
0·(/x) ≠ 0
/x − /x ≠ 0
/x·/x ≠ 1
La Solución en MENTAL
La división por cero es un problema, pero también es una oportunidad. El cero simboliza la conciencia. Y la división por cero es un momento de máxima conciencia. No es una curiosidad. Tiene gran interés, como ocurre con las paradojas, con todo lo que desafía a lo racional y a la lógica, que obliga a buscar una solución que trascienda a la aritmética.
En MENTAL podemos capturar el evento de una división por cero mediante la expresión genérica
De esta forma, los programas no necesitan preguntar siempre en cada operación si el divisor es cero, pues esta expresión genérica contempla todos los casos.
Es claro que 0/0 es un valor indeterminado porque si consideramos que resultado es r, el producto de r por 0 es cero. Luego cualquier r lo cumple.
En MENTAL ya tenemos una expresión que representa a una expresión cualquiera (no nula), numérica o no: α, la expresión existencial. Entonces podemos inferir y definir que
0÷0 = α, y se cumple:
Análogamente podemos definir 1÷0 = β.
El cálculo con α y β
Cuando un proceso de cálculo encuentra un valor de 0÷0, por evaluación inversa, se sustituye por α. Y, análogamente, cuando encuentra 1÷0, se sustituye por β.
Las tablas de operaciones aritméticas son:
+ | 0 | 1 | α | β
|
0 | 0 | 0 | α | β
|
1 | 1 | 2 | α | β
|
α | α | α | α | α
|
β | β | β | α | α
|
r | r | r+1 | α | β
|
− | 0 | 1 | α | β
|
0 | 0 | −1 | α | −β
|
1 | β | 1 | α | 0
|
α | α | α | α | α
|
β | β | β | α | α
|
r | r | r−1 | α | −β
|
× | 0 | 1 | α | β
|
0 | 0 | 0 | α | α
|
1 | 0 | 1 | α | β
|
α | α | α | α | α
|
β | α | β | α | β
|
r | 0 | r | α | rβ
|
÷ | 0 | 1 | α | β
|
0 | α | 0 | α | 0
|
1 | β | 1 | α | 0
|
α | α | α | α | α
|
β | β | β | α | α
|
r | rβ | r | α | 0
|
Con los elementos α y β, y con estas operaciones definidas, los programas de ordenador no producen ninguna excepción y se puede llegar a un resultado final, que puede incluir α, β o a ambos.
Notas:
- α y β son expresiones imaginarias con las que se realizan operaciones directas, pero no se cumplen las propiedades de la aritmética tradicional
Si x×y = z, entonces x = z/y, y si x/y = z, entonces x = z×y
Por ejemplo, de α×1 = α no se infiere que α/α = 1, pues α/α = α.
- La expresión 00 es también α. En efecto: 00 = 0n/0n = 0/0. Por lo tanto, (0^0 = α).
- El número r puede ser negativo. Por ejemplo, (−1)×α = α.
- α es invariante respecto a todas las operaciones aritméticas:
r+α = α, r−α = α, r·α = α, r/α = α
Lo trascendente
Las expresiones α y β son abstracciones de orden superior, y se pueden considerar dos números imaginarios. Representan dos elementos duales y trascendentes, en donde α es más trascendente (o superior) a β, porque α es de de tipo cualitativo: es un invariante respecto a todas las operaciones aritméticas, incluyéndose a sí mismo y a β (α×β = α). Y β es un elemento cuantitativo: β+β = 2β.
Los avances en matemática han estado ligados al descubrimiento de elementos desconocidos en las operaciones y en la expresiones. Así se descubrieron:
- Los números negativos, por ejemplo, en 5+x = 2. Hubo una época en que los números negativos se consideraban imaginarios.
- Los números racionales, por ejemplo en 5x = 2.
- Lo números irracionales, como en x2 = 2.
- Los números imaginarios, con x2 = −1.
- El infinitesimal ε, un número imaginario definido como ε2 = 0. Es una sustitución (porque si fuera una ecuación sería ε = 0). Esta definición es mucho más simple que la tradicional de límite.
Ahora es necesario considerar las expresiones α y β como fundamento de una aritmética ampliada y completa basada en la división por cero. Un nuevo paradigma.
Aritmética transreal vs. MENTAL
Ambos sistemas son similares, pero con algunas diferencias:
- En la aritmética transreal se necesitan axiomas para definir la aritmética extendida, concretamente 32, 13 más que en la aritmética ordinaria. Los axiomas extra son los axiomas en los que intervienen los números estrictamente transreales (−∞, +∞, Φ).
En MENTAL no hace falta más que dos axiomas, que son las definiciones de α y β. El resultado se obtiene aplicando las reglas de la aritmética, concretamente estas cuatro:
x÷y + u÷v = (x×v + u×y)÷(y×v)
x÷y − u÷v = (x×v − u×y)÷(y×v)
x÷y × u÷v = (x×u)÷(y×v)
x÷y ÷ u÷v = (x×v)÷(y×u)
Por ejemplo,
x + α = x÷1 + 0÷0 = (0×x + 0×1)÷(0×1) = 0÷0 = α
En todo momento se mantiene la semántica.
- En la aritmética transreal, nullity es un número desconocido y fijo. En MENTAL, su equivalente es α, que es una expresión no nula. Al ser α una expresión, y no solo un número, la aritmética conecta con algo superior, concretamente con la lógica, pues θ y α representan las expresiones (o metaexpresiones existenciales) nula y no-nula, respectivamente, que sustituyen a los valores F (falso) y V (verdadero) de la lógica binaria. La expresión α no es algo desconocido ni fijo, sino algo que se sitúa en un nivel superior, más allá de la aritmética y de semántica definida.
- En la aritmética transreal, 1/0 se considera que es infinito (∞), una cualidad, no una cantidad. En MENTAL, a 1/0 lo denominamos simplemente β, sin otra semántica asociada que la propia expresión.
- No tiene sentido hablar de distinguir entre +0 y −0, puesto que en el número cero convergen todos los números opuestos. Y el cero es el opuesto de sí mismo.
- Comparación entre expresiones:
Aritmética transreal | MENTAL
|
0 ÷ 0 = Φ | 0 ÷ 0 = α
|
+1 ÷ 0 = +∞ | 1 ÷ 0 = β
|
−1 ÷ 0 = −∞ | −β = −1 ÷ 0
|
a + ∞ = ∞ | a + β = β
|
a − ∞ = −∞ | a − β = −β
|
a × ∞ = ∞ | a − β = β
|
∞ × 0 = Φ | β × 0 = α
|
∞ − ∞ = Φ | β − β = α
|
1 ÷ ∞ = 0 | 1 ÷ β = 0
|
Φ + a = Φ | α + a = α
|
Φ × a = Φ | α × a = α
|
−Φ = Φ | −α = α
|
1 ÷ Φ = Φ | 1 ÷ α = α
|
¿Φ = Φ? = V | ¿α = α? = V
|
Adenda
La difusión de la aritmética transreal
Anderson ha tratado de comercializar sus ideas de la aritmética transreal y las máquinas Perspex a inversores. Cree que su trabajo puede producir ordenadores que funcionen varios órdenes de magnitud más rápidos que los ordenadores actuales. Y que ello puede ayudar a enriquecer nuestro entendimiento del universo y de la matemática, mejorar nuestras vidas, así como resolver problemas como la gravedad cuántica, la conexión mente-cuerpo, la conciencia y el libre albedrío.
Anderson presentó al público su aritmética transreal, junto con el concepto de Nullity, en la BBC en Diciembre de 2006. Se le presentó como el “descubridor· de la solución al problema de la división por cero, más que un intento de formalizarlo. Tras la presentación, hubo muchísimas personas que se interesaron por su trabajo.
Anderson ha tratado de generalizar su aritmética transreal a los números complejos (números transcomplejos) y al cálculo diferencial (¿números transdiferenciales?).
Una pequeña historia del problema de la división por cero
El número cero fue conocido en el siglo VII en India. Brahmagupta (eln su texto Brahmasphutasiddhanta) trató el cero como un número en su propio derecho (y no como un mero símbolo marcador de posición) y describió varias reglas para operar con él, y sus propiedades relativas a la suma, resta y producto, afirmando que “cero dividido por cero es cero”.
En el siglo IX, en India, Mahavira, actualizó las ideas de Brahmagupta y afirmó que “un número permanece inalterable cuando es dividido por cero”.
En el siglo XII, Bhaskara escribió sobre el tema de la división por cero. Aunque no lo expresó claramente, se suele interpretar que afirmaba que la división por cero es infinito.
En el siglo XVIII, Newton y Leibniz inventaron el cálculo diferencial, un cálculo extraordinariamente útil basado en números infinitesimales, próximos a cero, pero no iguales a cero.
En 1985 aparece el estándar IEEE 754, que nació para detectar la división por cero en la ejecución de programas de ordenador, y donde adoptó el concepto NaN (Not a Number).
En 2004, Jesper Carlström inventó unas estructuras algebraicas llamadas “wheels” (ruedas) que permiten la división por cero. También utiliza axiomas, pero poco intuitivos.
En 2006, James Anderson inventó la aritmética transreal mediante una serie de axiomas.
Finalmente, aparece MENTAL, un lenguaje formal universal, que resuelve el problema de la manera más simple posible definiendo dos expresiones imaginarias (α y β) que convierten la aritmética en completa, y sin necesidad de axiomas.
La conclusión es que en el cero (en la nada), paradójicamente, reside todo, reside un enorme poder, precisamente porque el cero simboliza la conciencia (por ser la unión de opuestos) y el alma (porque en él no hay espacio ni tiempo).
Bibliografía
- Anderson, James. Representing Geometrical Knowledge. Internet, 1997.
- Anderson, James. Transmathematics. Internet, 2009.
- Anderson, James. Transarithmetics. Internet, 2007.
- Anderson, James. Perspex Machine IX: Transreal Analysis. Internet, 2006.
- Anderson, James. Transreal Computing. Research and Portfolio − Company Showcase. Internet, 2006.
- Anderson, James. Evolutionary and revolutionary effects of transcomputation. In 2nd IMA Conference on Mathematics in Defence. Institute of Mathematics and its Applications, Oct. 2011.
- Cajori, Florian. Absurdities due to división by zero: An historical note. The Mathematics Teacher, pp. 366-8.
- Carlström, Jesper. Wheels: On the división by zero. Mathematical Structures in Computer Science, vol. 14, 2004, pp. 143-184. Disponible online.
- Grupo del IEEE sobre la norma 754: http://grouper.ieee.org/groups/754/
- Kaplan, Robert. The Nothing that is: A Natural History of Zero. Internet, 2000.
- Reis, Tiago S. dos; Anderson, James. Construction of the Transcomplex Numbers From the Complex Numbers. Internet, 2004.
- Seife, Charles. Cero: la biografía de una idea peligrosa. Ellago, 2006.
- Setzer, Anton. Wheels. Internet, 2007.