To bit or not to bit: ¡Confirman que la informática no es una ciencia exacta!

Gianni Sabbione . Vista 9031 veces

¿Se han preguntado cómo puede ser que después de tanto tiempo de evolución de la informática los programas se sigan colgando de la misma manera?

Siempre se ha discutido acerca de qué tan exacta es la ciencia de la informática. En esta entrega les presentamos un nuevo análisis que no hace más que confirmar lo que ya sospechábamos: a pesar de tanto parafernalia, la informática es una de las ciencias menos exactas, ¡y no parece que eso vaya a cambiar!


  • Tengo un pen drive conectado a mi notebook. Cuando hago un descanso en mi trabajo suelo hibernarla. Algunas veces, cuando la vuelvo a encender, me encuentro con un cartel de “USB not recognized”. ¿Por que eso sucede algunas veces sí y otras no? Se pueden ensayar varias explicaciones técnicas, como que el momento de cerrarla… el driver… la interrupción… el flush del buffer de datos… bla, bla… Pero desde nuestra perspectiva como usuarios, lo que estamos percibiendo es un “resultado inesperado”.

    Dos más dos es cuatro solo en la teoría, en donde los números están a salvo de las contingencias de la realidad espacio-temporal.

     

    Revisemos un poco los conceptos: para que una operación se lleve a cabo, una serie de elementos tienen que funcionar bien en forma simultánea. Si uno de los elementos falla, la secuencia completa no va a funcionar. En términos lógicos, podríamos decir que una operación lógica “Y” (“AND”) de una serie de elementos tiene que ser verdadera, por lo que cada operando debe ser verdadero para que toda la ecucación funcione.

     

    Ejemplo para el caso de un llamado telefónico:

    funcion(llamado telefónico)
    SI
    SmartphoneEncendido AND
    AndroidRunning AND
    OSPatchesInstalled AND
    PhoneAppRunning AND
    SignalLevelOK AND
    IntermediateRoutingOK AND
    PlanTelefonicoPago AND
    laTelefonicaQuiere AND
    .
    .
    .
    
    ENTONCES
    LlamadoTelefónicoOK

     

     

    La realidad es que, si refinamos la secuencia, la lista de ANDs puede hacerse casi infinita. Sabemos que basta con que uno de los elementos falle para que toda la secuencia falle. En la práctica, si esto sucede los resultados pueden ser imprecedibles, desde ruidos o baja calidad del llamado, hasta la imposibilidad de comunicarse. La cantidad de posibles resultados de la operación está en función de la cantidad de operandos, con una combinatoria algo así como de 2 elevado a la N, y esto solo en caso de trabajar con unos y ceros.

     

     


    Musiquita electrónica hecha con los sonidos de los mensajes de error de Windows (sí, el video no es muy emocionante, pero con algo teníamos que ilustrar la nota).

     

    Ahora bien, nosotros, como personas, ¿no somos lo mismo? Una sucesión de elementos seudo-aleatorios que pueden funcionar de una manera o de otra, con una gran cantidad de combinatorias posibles, en el fondo posiblemente explicables, pero que desde nuestra perspectiva de individuos nos da como resultado la “imprevisibilidad humana”. ¿Por qué en el caso de las personas decimos que los errores se producen “porque somos humanos” y en el caso de un dispositivo complejo insistimos en decir que es algo lógico que falla?

     

    Ejemplo concreto que nos da la naturaleza, acerca de que uno más uno puede ser distinto de dos. Ejemplo concreto que nos da la naturaleza, acerca de que uno más uno puede ser distinto de dos.

     

     

    Dos más dos es cuatro solo en la teoría, en donde los números están a salvo de las contingencias de la realidad espacio-temporal. Dos patitos más dos patitos van a dar cuatro sólo si en el medio de la operación no se nos escapa uno de ellos.

    Estamos en la realidad contante y sonante y hay que asumir que no es posible controlar todo. Es bueno saberlo para evitarse un estrés innecesario. Ya lo dice la vieja frase: “si quieres hacer reír a Dios, cuéntale tus planes”.

    Como se imaginarán, o como os imaginaréis, según de qué lado del Atlántico estén o estéis, queridos lectores, el foro aquí debajo está ansioso por recibir sus quejas, elogios, críticas y sesudas reflexiones.

     

     

¿Y tú, qué opinas?

  • #1 Julio César Sosa Yeladaqui
    Julio César Sosa Yeladaqui sábado, 22 de septiembre de 2012, 01:22

    Lo que comprendí.. Es que nunca la informática por si misma en su definición de ciencia con su conjunto de teorías deja de ser una ciencia exacta... la mentada inexactitud... es una mera percepción humana.... siempre es exacta... solo que la cantidad de permutaciones y condiciones puede ser tan grande que nuestro entender común es sobre pasado y por ende al fallar alguna de las condiciones es normal que exista una incertidumbre para definir que es lo que fallo en concreto..

    Responder >> Attention Minus Plus Votos: 21 de 23
  • #2 pitfiend
    pitfiend sábado, 22 de septiembre de 2012, 02:40

    1+1 generalmente es 2, hasta que le preguntas a un contador.

    Responder >> Attention Minus Plus Votos: 23 de 25
  • #3 caucel
    caucel sábado, 22 de septiembre de 2012, 03:01

    Es la discusión de toda la vida de Hume retomada por Popper sobre el problema de la racionalidad de la ciencia por el tema de la inducción. Si tomamos en concepto de ciencia de Popper la informática vuelve a ser ciencia con todas las de la Ley.

    Descubrir que las cosas no funcionan como deberían solo nos hace replantearnos que métodos e instrumentos debemos usar para que funcionen mejor.

    Responder >> Attention Minus Plus Votos: 12 de 12
  • #4 Bambi
    Bambi sábado, 22 de septiembre de 2012, 03:10

    Ya lo sabía, :)

    Responder >> Attention Minus Plus Votos: -4 de 10
  • #5 petete
    petete sábado, 22 de septiembre de 2012, 03:54

    . . .

    Responder >> Attention Minus Plus Votos: -5 de 5
  • #6 el_jefe
    el_jefe sábado, 22 de septiembre de 2012, 04:34

    el video me hizo mucha gracia, a mi me pasa exactamente lo mismo en linux hahaha

    Responder >> Attention Minus Plus Votos: 2 de 12
  • #7 Raul
    Raul sábado, 22 de septiembre de 2012, 04:36

    #1 señor, me ha leido la mente

    Responder >> Attention Minus Plus Votos: 4 de 6
  • #8 asd
    asd sábado, 22 de septiembre de 2012, 04:48

    De hecho las matemáticas, aunque en la vida real son exactas, dentro de un lenguaje de programación no lo son, según cuál sea puede ser más o menos exactas, algunos tienen severos problemas de exactitud con una simple división de números de un dígito por ejemplo, algunos no dan el ancho con números enteros muy grandes y se requieren métodos específicos para usarlos.

    Responder >> Attention Minus Plus Votos: 4 de 8
  • #9 conectado
    conectado sábado, 22 de septiembre de 2012, 05:09

    1+1=2 siempre que trabajes con los reales... 2+2=0 en Z sub 2 2+2=1 en Z sub 3

    Responder >> Attention Minus Plus Votos: -2 de 8
  • #10 Time Master
    Time Master sábado, 22 de septiembre de 2012, 12:12

    Es imposible que sea una ciencia exacta, para empezar, porque si hay que tratar con un número infinito no puede realizarse el cálculo a la perfección ya que un ordenador no puede tratar con el infinito. Se acercará mucho, pero la respuesta será errónea.

    Responder >> Attention Minus Plus Votos: -1 de 7
  • #11 Time Master
    Time Master sábado, 22 de septiembre de 2012, 12:16

    Por cierto, con mi anterior comentario me refería a que el procesador no puede trabajar con un número infinito. Un procesador de 64 bits evidentemente puede contener una cadena numérica muchísimo mayor que un ordenador de 8 bits pero aún así no puede realizar un cálculo perfecto. Siempre hay un margen de error.

    Responder >> Attention Minus Plus Votos: 1 de 5
  • #12 loolo
    loolo sábado, 22 de septiembre de 2012, 15:08

    "AND la telefónica quiere" esa si que es una variable difícil de controlar!

    Responder >> Attention Minus Plus Votos: 3 de 5
  • #13 infrony
    infrony sábado, 22 de septiembre de 2012, 16:37

    Aunque inventen el software perfecto, nosotros mismos siempre lo colgaremos ya que no somos perfectos. Tambien nos equivocamos.

    Responder >> Attention Minus Plus Votos: 1 de 3
  • #14 kmruiz
    kmruiz sábado, 22 de septiembre de 2012, 16:39

    #11 ¿Cómo que no puede? Puede tratar el concepto infinito igual que lo haces tú en papel. Eso no es más que una abstracción matemática: el número infinito no existe.

    Simplemente, lo único exacto es lo que no se mancha con la realidad inexacta.

    Responder >> Attention Minus Plus Votos: 1 de 3
  • #15 David
    David sábado, 22 de septiembre de 2012, 18:36

    Mucho habéis dicho para no haber dicho nada, el artículo no tiene nada que ver con su título, sé nota que de informática no tenéis ni idea.

    Responder >> Attention Minus Plus Votos: -9 de 9
  • #16 <a href="../../foro/member.php?u=81308" target="_self">scairon</a>
    scairon sábado, 22 de septiembre de 2012, 19:04

    Bueno soy de los que cree que la ciencia si es exacta lo que no es exacta es la capacidad Humana de general diferentes situaciones con elementos iguales. pues and siempre sera verdadero cuando las proposiciones que la conformen sean verdadera, ahora que no tomes encuenta todas las posibles combinaciones entre esas proposiciones es otra cosa y no creo que sea problema de la ciencia.

    Responder >> Attention Minus Plus Votos: 4 de 4
  • #17 sinhue
    sinhue sábado, 22 de septiembre de 2012, 20:10

    la computadora si es exacta, lo que no es exacto son los programas que son hechos por el hombre, no es lo mismo que un programa lo haga un experto senior a que lo haga un recien salido de la escuela, lo digo por experiencia, puedes tener sistemas libres de errores pero tienes que contemplar muchos escenarios y al final de cuentas la computadora hace lo que nosotros le digamos, asi de que la computadora si es exacta pero sigue teniendo errores mientras dependa de los humanos

    Responder >> Attention Minus Plus Votos: 2 de 2
  • #18 BestmanPi
    BestmanPi sábado, 22 de septiembre de 2012, 21:10

    #14
    Se refiere a que la mantisa es finita y por tanto nunca jamás se podrá representar exactamente un número cuya mantisa sea mayor que la que maneja el ordenador y para eso no hace falta acercarse tan siquiera al infinito. Piensa por ejemplo en el número Pi, la raíz de 2 o cualquier otro número decimal con más dígitos que los que caben en la mantisa que maneja el ordenador.

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #19 simon
    simon sábado, 22 de septiembre de 2012, 21:47

    No estoy seguro si la noticia es en serio o el autor es un troll

    en fin, un par de cosas:

    1) la suma es una operación que la nota asume que funciona solo sobre números, lo cual al utilizar estructuras abstractas de datos deja de ser así

    2) los problemas de cuelgue muchas veces son por problemas de concurrencia, direcciones inválidas de memoria, etc

    3) para hacer un programa sin fallas sería necesario aplicar alguna lógica para derivar formalmente el mismo a partir de su especificación, esto es posible pero el tiempo requerido es tanto que si se hicieran todos los programas de esta forma no tendriamos casi ninguno

    4) confunden errores de...
    Leer más

    Responder >> Attention Minus Plus Votos: 4 de 18
  • #20 phd
    phd sábado, 22 de septiembre de 2012, 23:06

    Lo que siempre me ha gustado de estas notas es cómo ponen en evidencia a los que no tienen sentido del humor.....

    Responder >> Attention Minus Plus Votos: 8 de 8
  • « «« Anterior12Siguiente »» »
    Cargando...Cargando...

  • nuevo comentario
    Nombre

    Campo obligatorio

    Email

    Escriba una dirección de correo electrónico con el formato sunombre@ejemplo.com.

    Campo obligatorio

 
Ir arriba