En el sentido más estricto del término, esa integral es computable porque es igual a $1$ . Las cuestiones de computabilidad son independientes de si un ordenador puede "averiguar" las reducciones necesarias. Si vas a utilizar una integral de Lebesgue, es injusto pedirle al ordenador que haga algo diferente.
En un mundo de pensamiento más difuso, podríamos querer que nuestro algoritmo en realidad realizar una suma de Riemann, en lugar de "Oye, eso $1$ . Voy a salir $1$ ." Si queremos tomar una suma de Riemann para la integral, entonces necesitamos algunos ingredientes:
- Algunos $x$ 's
- Algunos $f(x)$ 's.
Ahora, dado que los ordenadores no trabajan con números reales, tenemos que averiguar cómo estamos representando un número real, y resulta que esto es crítico . He aquí algunas formas razonables de hacerlo:
Dejemos que $x$ ser representado por alguna caja negra (es decir, otra máquina u oráculo) que pueda escupir dígitos de $x$ de uno en uno, para siempre.
Bueno, ahora $f$ es incalculable porque su primer dígito nunca puede determinarse a partir de un número finito de valores. Por lo tanto, nuestro método numérico no puede hacer nada. Dado que esta es una forma bastante común de modelar el cálculo de funciones sobre los reales, es un poco decepcionante. Y si tuviéramos algún oráculo que nos dijera el valor de $f$ Dado ese flujo de bits entonces -bueno, ahora estamos alimentando una caja negra a otra- y no está claro de dónde sacó nuestro algoritmo todos estos dispositivos mágicos o cómo se supone que debe trabajar con ellos.
Dejemos que $x$ ser representado por una máquina de Turing, que produce los dígitos de un número.
Bien. Ahora $f$ es computable. Oh, excepto que, donde la definición anterior realmente funciona en todo $\mathbb R$ , éste sólo funciona en los números computables. Y $f$ es idéntico a cero en ese dominio - por lo que el hecho de que lo hayamos definido de otra manera en otro lugar es totalmente irrelevante - es es a todos los efectos, la función cero.
Dejemos que $x$ ser representado como algún definición de un número real en algún sistema lógico.
Si dijéramos que podemos representar los reales mediante alguna expresión que defina un valor único, por ejemplo $$x=\sum_{i=0}^{\infty}2^{-BB(i)}$$ donde $BB$ es la función del castor ocupado. Podemos ver rápidamente que un montón de expresiones dan números bien definidos - pero estos números podrían no ser computables, como el de arriba. Por supuesto, estoy casi seguro (pero no puedo demostrarlo sin una definición adecuada) que decidir si una expresión es computable es un problema no computable - así que $f$ es incalculable. Pero si pudiéramos introducir nuestras expresiones en un oráculo que diera como resultado el valor de $f$ , podríamos obtener $0$ o $1$ y no necesariamente obtendría $0$ como la salida de la integral.
Pero no olvidemos un hecho crucial: No hay integral de Riemann para $f$ . ¿Qué espera que hagan los métodos numéricos?
2 votos
Si quieres integrar numéricamente esta función, primero debes implementarla numéricamente. ¿Cómo lo harías?
0 votos
@celtschk No había considerado eso en absoluto. Puedo ver cómo sería un problema. Supongo que cualquier sistema capaz de tomar un número no computable como entrada sería lo suficientemente "inteligente" como para usar la teoría de conjuntos para evaluar la integral.
0 votos
No puedes introducir un número si no lo has calculado antes. ¿Cómo piensas calcular un número no computable?
0 votos
@CiaPan Yo no. Por eso pensaba que cualquier integral numérica daría 0 (ahora me doy cuenta de que es incorrecto)