Teoría Computacional: Introducción 29 ENERO, 2017OSCAR ROSAS Las computadoras calculan. Eso parece bastante intuitivo. ¿Pero la informática es exclusiva de las computadoras? Cuando una computadora está haciendo su trabajo para abrir una aplicación, realizar operaciones aritméticas ¿qué está haciendo exactamente? ¡Hora de Definiciones! ¿Qué es computación? CS, Computer Science, informática o computación es el estudio de las computadoras y los sistemas computacionales. (si, no pienso poner una definición más escrita, creo que todos entendemos eso) Los informáticos diseñan y analizan algoritmos para resolver programas y estudiar el rendimiento del hardware y software de la computadora. Los problemas que encontramos van desde lo abstracto, determinando qué problemas pueden resolverse con los ordenadores y la complejidad de los algoritmos que los resuelven, hasta las aplicaciones de diseño tangible que funcionan bien en dispositivos de mano, fáciles de usar y que defienden las medidas de seguridad. Principio de la Computación: La informática se basa fundamentalmente en los procesos de información. Una de las grandes ideas de la informática es que los procesos de información pueden realizarse puramente mecánicamente mediante la manipulación de símbolos. El agente que hace la computación, ya sea un ser humano pensante o una máquina (computadora), no importa. ¿Qué estudia la Teoría Computacional? La Teoría computacional es matemática y abstracta en espíritu, pero deriva su motivación de la computación práctica y cotidiana. Anuncios INFORMA SOBRE ESTE ANUNCIO Su objetivo es comprender la naturaleza de la computación y, como consecuencia de este entendimiento, proporcionar metodologías más eficientes. Todos los trabajos que introduzcan o estudien conceptos y métodos matemáticos, lógicos y formales son bienvenidos, siempre y cuando su motivación se desprenda claramente del campo de la informática. Teoría de la Computación Según Peter Denning, la pregunta fundamental que subyace a la informática es «¿Qué puede automatizarse (eficientemente) «. La teoría de la computación se centra en responder a preguntas fundamentales sobre lo que se puede calcular y la cantidad de recursos necesarios para realizar esas Computaciones. En un esfuerzo por responder a la primera pregunta, la teoría de la computabilidad examina qué problemas computacionales son solubles en varios modelos teóricos de computación. La segunda pregunta es abordada por la teoría de la complejidad computacional, que estudia los costos de tiempo, recursos y espacio asociados con diferentes enfoques para resolver una multitud de problemas computacionales. Preguntas más importantes en esta materia: ¿De que partes esta echa nuestra computadora de estudio? Suele considerarse que una computadora digital consta de tres partes: • • • Almacenamiento Unidad procesadora Control Almacenamiento El almacenamiento es el acopio de información y corresponde al papel sobre el que se efectúa la computación humana, ya sea el papel en que la persona realiza los cálculos o aquél en el cual está impreso el libro de reglas. Del mismo modo que el computador humano efectúa sus cálculos con su cabeza, parte del almacenamiento corresponde a la memoria de la máquina. Unidad Procesadora La unidad procesadora es el sector que realiza las distintas operaciones de cálculo. La naturaleza de estas operaciones varía de una máquina a otra. Generalmente pueden efectuar operaciones bastante largas, tales como «Multiplicar 3540675445 por 7076345687», pero en algunas máquinas sólo pueden llevarse a cabo operaciones muy simples, tales como «Escribe 0». Control: Donde pasa lo interesante Hemos mencionado que el «libro de reglas», de que se vale el computador, se sustituye en la máquina por una parte del almacenamiento. Esta se denomina «tabla de instrucciones». Corresponde al control comprobar que las instrucciones se sigan correctamente y en su debido orden. El control está construido de tal manera que es infalible. La información almacenada suele estar dividida en paquetes de tamaño relativamente modesto. En una máquina concreta, por ejemplo, el paquete puede constar de diez dígitos decimales. Se asignan números a las partes del almacenamiento en que se guardan los diversos paquetes de información, con arreglo a una modalidad sistemática. Un ejemplo de instrucción corriente podría ser: «Suma la cifra almacenada en la posición 6809 a la situada en la 4302 y devuelve el resultado de la última posición de almacenamiento». Ni que decir tiene que la operación no se desarrolla en la máquina expresada de este modo, sino que se lleva a cabo siguiendo una codificación como 6809430217. La cifra 17 indica cuál de las posibles operaciones hay que efectuar con las dos cifras. En cuyo caso la operación es la anteriormente descrita: «Suma la cifra…». Se advertirá que la instrucción consta de diez dígitos y, por lo tanto, constituye exactamente un paquete informativo. El control suele captar las instrucciones a seguir en el orden de posición en que están almacenadas, aunque a veces pueda surgir una instrucción como ésta: «Sigue ahora la instrucción almacenada en la posición 5606 y continúa», o bien: «Si la posición 4505 contiene 0, sigue la instrucción almacenada en 6707; en caso contrario continúa». Las instrucciones de este tipo son muy importantes porque permiten la repetición de una secuencia de operaciones una y otra vez hasta que se cumple un determinado requisito, pero, al hacerlo, la máquina sigue en cada repetición, no nuevas instrucciones, sino las mismas indefinidamente. El concepto de computadora digital es antiguo. Charles Babbage, profesor de matemáticas en la Universidad de Cambridge entre 1828 y 1839 concibió una a la que denominó Máquina Analítica, pero no la terminó. Aunque Babbage expuso los principios fundamentales, la máquina no representaba en aquella época gran interés. Su rapidez habría sido mucho mayor que la de un computador humano, pero unas 100 veces inferior a la de la máquina de Manchester, que a su vez es una de las máquinas modernas más lentas. El almacenamiento era puramente mecánico y se efectuaba por medio de ruedas y tarjetas. El hecho de que la Máquina Analítica de Babbage estuviera concebida de forma totalmente mecánica nos ayudará a despejar cualquier superstición. Muchas veces se atribuye importancia al hecho de que las computadoras digitales modernas son eléctricas, igual que el sistema nervioso. Como la máquina de Babbage no era eléctrica, y como todas las computadoras digitales son en cierto modo equivalentes a ella, el empleo de la electricidad no es teóricamente relevante.