jueves, 30 de octubre de 2008

CONCEPTO DE COMPUTABILIDAD


El concepto de "computabilidad" es uno de los pilares fundamentales de la matemática moderna. Se han elaborado diferentes teorías, todas ellas equivalentes, para precisar el concepto de computabilidad pero me interesa resaltar por su simplicidad y accesibilidad la teoría que Alan Turing elaboró en los años 30.

El proceso de elaboración de la teoría de lo computable arranca y completa otra teoría matemática más antigua y fundamental: la teoría de los algoritmos. Inicialmente un algoritmo era una secuencia ordenada de operaciones que resolvían determinados problemas matemáticos de un mismo tipo. Por ejemplo, utilizamos frecuentemente en matemáticas básicas el algoritmo (el procedimiento) para multiplicar dos números dados, o también el que permite extraer la raiz cuadrada o el algoritmo que resuelve ecuaciones de segundo grado.

Cualquier algoritmo se define en términos matemáticos empleando simbolos de un conjunto dado y aplicando determinadas reglas de combinación entre los mismos. Con ello obtenemos un "mensaje" compuesto por una cadena de símbolos que tiene un determinado significado. LA cadena de símbolos puede a su vez traducirse a una cadena meramente numérica aplicando un sistema dado de codificación. De esta forma entonces cualquier algoritmo escrito en cualquier sistema de símbolos puede ser transformado en un mensaje puramente numérico. Por ejemplo: "el cuadrado de la suma de dos números es la suma de los cuadrados de cada uno de ellos mas el doble del producto del primero por el segundo". O también podemos codificarlo como:

(a + b)2 = a2 + b2 + 2*a*b.

Pero también aplicando una codificación estrictamente numérica puede resultar como: 00012202000022110100222202002222233013302

Uno de los algoritmos más populares y antiguos es el algoritmo de Euclides que determina el máximo número que es a la vez divisor de dos dados. Los árabes tomaron el relevo de la matemática griega desarrollando la geometría y la aritmética. En concreto generalizaron la expresión de "2+3" mediante la expresión "a+b", es decir pasaron de la aritmética de los números a la aritmética de los símbolos inventando el "algebra". El posterior desarrollo del álgebra incluye la teoría de algoritmos. De hecho la palabra algebra viene del título del libro xxxxxxxxxxxx que significa xxxxxx. La palabra algoritmo procede del nombre de su autor xxxxxxxx, matemático árabe.

Los matemáticos pretendían encontrar cada vez algoritmos más generales que resolvieren problemas de clases cada vez más amplias también. Por ejemplo, si tenemos algoritmos para determinar las raices de ecuaciones de segundo grado porqué no buscar un algoritmo que determine las raices de una ecuación de grado n. De esta forma se intentaba dar respuesta a la pregunta de si existía un superalgoritmo que diese respuesta a cualquier problema matemático. Pero los matemáticos se toparon con la evidencia de que ni siquiera para determinados problemas parecía existir algoritmo. Además del lado de la lógica matemática vino una aportación también desalentadora de la mano de K. Gödel, ya que demostró que existen sismemas de códigos y reglas los cuales no eran capaces de demostrar si una sentencia o mensaje generado dentro del propio sistema era verdadera o falsa (o dicho de otro modo, con estos conjuntos de reglas y símbolos se podía construir un mensaje que a priori dentro del propio sistema no podía decirse si era verdadero o falso, como por ejemplo la frase: "esta frase es falsa"; lo que en matemática se denominaban sistemas incompletos).

En esta búsqueda infructuosa de superalgoritmos los matemáticos se dieron cuenta de que para responder a la pregunta de si existía ese tal superalgoritmo debía precisarse conpletamente qué era un algoritmo. En este punto entra la definición que de algoritmo elaboraron Alan Turing y Emile Post mediantes sendas máquinas teóricas: la máquina de Turing y la máquina de Post.

Turing y POst en realidad buscaban una definición de computabilidad, es decir una definición de qué y cómo algp puede ser computable o calculable. Para ello centraron sus argumentaciónes en torno a unas máquinas de computar teóricas que se denominaron popularmente como máquinas de Turing y Post respectivamente. Así hablamos de números "turingcomputables", funciones "turingcomputables" etc, cuando pueden calcularse por medio de una máquina de turing y de forma similar también en una máquina de Post.

martes, 30 de septiembre de 2008

¿QUÉ PODEMOS CALCULAR?

Los ordenadores son m·quinas que trabajan con n˙meros. Los c·lculos se realizan con n˙meros, las operaciones tambiÈn se realizan con n˙meros, la informaciÛn se representa con un cÛdigo estrictamente numÈrico... Incluso las instrucciones que determinan el comportamiento del computador se codifican con n˙meros y por extensiÛn cualquier programa de computadora es en esencia un conjunto de n˙meros.



El modelo simplificado descrito de computaciÛn se denomina "computaciÛn simbÛlica" o "computaciÛn digital". La base de funcionamiento es la representaciÛn y procesado de la informaciÛn por medio de sÌmbolos. Cuando estos sÌmbolos son estrictamente n˙meros, dÌgitos, entonces podemos hablar del termino "digital" ampliamente utilizado en nuestros dias.



De este modo, tomemos la palabra "HOLA", que se encuentra codificada por medio de los sÌmbolos del alfabeto; fijemos que a su vez cada letra puede ser representada por un n˙mero o una combinaciÛn de n˙meros, pudiendo dar lugar por ejemplo a.. 123465343 o a 110100100010100010. En el primer caso hemos utilizado una codificaciÛn numÈrica decimal y en el otro binaria para representar "HOLA".



EL lenguaje determina la mayor parte de nuestra comunicaciÛn interpersonal y de nuestra interacciÛn con el mundo. Sin polemizar sobre quÈ y con quÈ nivel de detalla puede o no ser descrito con el lenguaje escrito o hablado, afirmÈmos que nuestro lenguaje reduce la codificaciÛn de nuestras experiencias, pensamientos y sentimientos a letras y n˙meros con unas determinadas reglas de combinaciÛn para que resulte inteligible. De esta forma es f·cil pensar que de igula modo que codifico numericamente la palabra "HOLA" puedo codificar una frase como "HOLA ESTAS SOLA". El n˙mero de digitos se ampliar· para representar en mensaje. De igual forma puedo representar cualquier texto o discurso aplicando una codificaciÛn numÈrica o incluso tambiÈn procesos mentales m·s complicados como la resoluciÛn de un problema. Supongamos que quieron digitlizar (convertir en sÌmbolos puramente numÈricos) una operaciÛn aritmÈtica simple como 4+5 o una expresiÛn del tipo "suma A y B". Si previamente hemos fijado por ejemplo los cÛdigos de operaciÛnes como:

suma=+= 00, resta= - = 01, etc. y sabemos que A y B ser·n n˙meros la expresiÛn



suma A y B se digitalizar· como "00AB" o por ejemplo m·s concretamente como "0045".





Consideremos ahora la codificaciÛn numÈrica de cuestiones m·s complicadas como procedimientos de c·lculo del tipo de la resoluciÛn de ecuaciones simples o c·lculo del m·ximo com˙n divisor de dos n˙meros o el c·lculo de la Ûrbita Ûptima de estabilizaciÛn de un satÈlite. No es complicado codificar con digitos estos proceso de la misma forma que hicimos con el ejemplo de la suma. Esto es posible porque los procesos de c·lculo anteriores pueden ser descritos mediante secuencias ordenadas de sentencias que determinan la soluciÛn del problema matem·tico y las todas las posibiliades que se generan en la din·mica de resoluciÛn del mismo. De hecho cualquier proceso que pueda ser descrito con un sistema de sentencias o instrucciones ordenadas que lo determinan de forma completa, puede sr codificado con palabras y por tanto, como hemos visto, puede ser codificado con n˙meros.°y si puede codificarse numÈricamente puede ser manejado por una computadora digital!





La conclusiÛn final y fundamental de este razonamiento es que cualquier aspecto de la realidad que pueda ser descrito de forma matem·tica, de forma simbÛlica, puede, en principio (ya contemplaremos ciertas condiciones m·s adelante), calcularse en un computador. El problema reside en encontrar la forma matem·tica de describir el problema o la realidad.





Recapitulando hemos llegado a la conclusiÛn de que gran parte de la realidad puede ser descrita utilizando un sistema de codificaciÛn formado por un conjunto de sÌmbolos y sus reglas de combinaciÛn. Denominamos a este tipo de representaciÛn de la realidad "representaciÛn simbÛlica". Cuando los sÌnbolos empleados son n˙meros hablamos de representaciÛn numÈrica o digital. Un ejemplo de esta idea es nuestro propio lenguaje hablado y escrito. Una vez encontrada una descripciÛn digital de la realidad esta puede ser manejada por un computador digital. En este sentido hablamos de lo que puede ser computable digitalmente. La condiciÛn para que podamos computar es en realidad la condiciÛn para que podamos calcular algo. En principio es calculable todo aquello que pueda ser descrito mediante un "proceso de c·lculo" que a su vez puede ser codificado mediante un lenguaje matemÈtico y que a su vez puede ser calculado o computado en una m·quina digital.

lunes, 28 de julio de 2008

jueves, 10 de julio de 2008

Clase práctiica para crear blogs


Hoy con mis alumnos hemos visto cómo acceder de forma fácil a un blog.
Accede a googlse y poincha en mas y todavía mas y despueés en Blogger.
Primero : crearse una cuenta en gmail.
Segundo: acceder
tercero: seguir el tutorial (crear entradas, etc....)

martes, 8 de julio de 2008

MI WEB PERSONAL

ENTRA EN MI WEB PERSONAL

pincha aqui

miércoles, 11 de junio de 2008

ChadraLab:

Laboratorio interactivo de la fundación chandra.
Aumentar la competencia digital.

Accede al laboratorioVirtual

REDES NEURONALES VENTAJAS Y DESVENTAJAS

Interesante página de la ingeniero chilena E. Kafati.