[escepticos] RE Errores de programación(ERAClonespoco parecidos)

Eloy Anguiano Rey eloy.anguiano en gmail.com
Sab Mayo 17 22:40:09 WEST 2008


El sáb, 17-05-2008 a las 11:59 -0700, Moreno escribió:
> On Sat, 17 May 2008 00:11:43 +0200, "Eloy Anguiano Rey"
> <eloy.anguiano en gmail.com> said:
> > El vie, 16-05-2008 a las 05:25 -0700, Moreno escribió:
> > > Solo una cosa: no hace falta recurrir a la "ciencia", el algoritmo es
> > > perfectamente decidible matemáticamente.
> > 
> > Como algoritmo sí, como programa no. Un programa (proceso) está
> > interrelacionado con muchos elementos que, de igual forma se puede
> > decidir si algorítmicamente son correctos. De igual forma se puede
> > discriminar si sus interacciones son correctas, pero la complejidad de
> > estas interacciones y la cantidad de algoritmos a analizar llevan a una
> > indecibilidad pragmática que sólo puede inducirse de forma científica.
> > 
> > 
> > 
> > > El problema de la parada de una máquina de Turing es otra cosa; lo que
> > > niega es la existencia de un método genérico para decidir si un
> > > algoritmo se detiene, pero se pueden hallar demostraciones particulares
> > > para algoritmos particulares, que son perfectamente decidibles.
> > 
> > 
> > En efecto, pero si uno tiene en cuenta todo el sistema la máquina de
> > Turing real no es sólo el algoritmo que yo he programado. Y sí, es
> > conceptualmente decidible pero no lo es pragmáticamente.
> > 
> > Sí, ya sé que lo primero que hace un matemático para calcular cuanto
> > vale 2+2 es determinar primero si la solución está acotada y es única
> > (en este caso que es decidible) pero como yo soy muy pragmático me gusta
> > saberlo y eso no creo que sea razonablemente posible (en un tiempo
> > razonable y tal).
> 
> No van por ahí los tiros. Lo de la solución acotada o única vale para un
> cálculo aritmético, yo estoy hablando de la verificabilidad de un
> algoritmo. En el correo de respuesta a Jorge Frías esbozaba la técnica
> habitual para este problema.


Te repito lo mismo, el programa es más que el algoritmo, es un proceso
dentro de un sistema operativo (y yo hablaba del programa). En esa
situación la máquina de Turing completa es muy compleja y el algoritmo
completo es enorme.

Si te refieres al algoritmo para resolver el problema pues sí, se puede
determinar si es correcto o no pero un programa tiene que tener en
cuenta los posibles fallos del sistema y demás elementos que permiten
que el algoritmo convertido en programa se ejecute correctamente.

> Por lo demás, me quedo con eso de la "indecibilidad pragmática".

Claro, en este entorno intenta decidir si el algoritmo completo
(teniendo en cuenta los algoritmos de asignación de memoria,
planificación, asignación de otros recursos, etc, etc) con todas sus
interacciones es correcto. Vamos, no creo que podamos decidirlo en un
tiempo medianamente razonable.



Más información sobre la lista de distribución Escepticos