domingo, 6 de septiembre de 2009

La maquina de Turing

Fue ideada por Alan Turing en 1936 y trataba de estudiar si hay un método definido que pueda aplicarse a una sentencia matemática y que nos diga si esa sentencia es cierta o no. Fue así que Turing imagino este dispositivo con la finalidad de dar una definición matemáticamente precisa de lo que es un algoritmo. Lo que confiere a este dispositivo su extraordinaria importancia es que puede resolver cualquier problema matemático a condición que haya sido reducido a un algoritmo.
Esta máquina es un autómata que se mueve sobre una secuencia lineal de datos; puede leer un solo dato de la secuencia a la vez y realiza ciertas acciones en base a una tabla que contiene su estado actual (interno) y su último dato leído; de acuerdo con esto puede escribir nuevos datos, recorrer la secuencia en ambos sentidos (izquierda o derecha) y cambiar su estado dentro de un conjunto finito de estados definidos.
La máquina de Turing consta de un cabezal lector/escritor, una cinta infinita en la que el cabezal lee el contenido, borra y escribe un nuevo valor; sus operaciones se limitan a: avanzar el cabezal lector / escritor a la izquierda, y avanzar el cabezal avanzar el cabezal lector / escritor a la derecha; también existe un registro de estado que almacena el estado de una maquina (su número de estados posibles es finito y no se exige un estado en especial para iniciar la maquina). Existe una tabla de acción que contiene las instrucciones de lo que hará la máquina y la ejecución de de cada instrucción en la tabla de acción consta de cuatro pasos:
o Leer un carácter en la posición actual.
o Escribir un nuevo símbolo en esta posición (puede ser el mismo que había). El símbolo a escribir es alguno del alfabeto de la máquina, y depende del carácter leído y del estado actual.
o Desplazar el cabezal una celda a derecha o izquierda (R/L); en algunos modelos el desplazamiento puede ser nulo (detener H).
o Decidir cuál será el nuevo estado en función del carácter que se acaba de leer y del estado actual. Si la tabla de acción no contiene ninguna correspondencia con el estado actual y el símbolo leído, entonces la máquina detiene su funcionamiento.
La tabla quedaría así:

+---+---++---+---+---+
| S | R || W | M | N |
+---+---++---+---+---+
| 0 | 0 || 0 | R | 0 |
| 0 | 1 || 1 | R | 1 |
| 1 | 0 || 1 | R | 2 |
| 1 | 1 || 1 | R | 1 |
| 2 | 0 || 0 | H | 2 |
| 2 | 1 || 0 | H | 2 |
+---+---++---+---+---+

S = Estado actual
R = Carácter leído
W = Carácter escrito
M = Dirección del movimiento
N = Nuevo estado

Algo que vale la pena subrayar es que el diseño de Turing lleva implícita la idea de que puede cambiar su propio programa, además de que se puede comportar como la mente es decir no se puede predecir lo que hará ya que esto depende no solo de su tabla de acción (interna), sino que también depende de la entrada recibida (externa).

Supongamos una máquina de Turing con un alfabeto unario, en la que el nulo (ausencia de dato) lo señalamos con 0. La máquina puede tener cinco estados que denominamos {e0, e1, e2, e3, e4}.
La sucesión de pasos de cómputo es la siguiente (suponemos un estado inicial cualquiera ex):



S: Estado anterior
R: Símbolo leído
W: Símbolo a escribir
M: Movimiento (R, L).
N: Nuevo estado.


1.- Se lee un carácter c (en nuestro caso es necesariamente 0 o 1)
2.- Se mira en la tabla que fila corresponde a la combinación ex/c.
3a.- Si no existe entrada la máquina se detiene.
3b.- Si existe entrada se ejecuta la instrucción en el siguiente orden:
3b1.- Se escribe en la posición actual el carácter señalado (puede ser el mismo que había).
3b2.- Se mueve el cabezal una posición a izquierda o derecha.
3b3.- Se pasa al estado señalado en la última columna (puede implicar no cambiar de estado).
3b4.- Se repite el ciclo desde el punto 1.

El programa hace que el autómata lea la cantidad y la repita a la derecha separadas por un nulo (0). Por ejemplo, si encuentra 111100000 lo transforma en 111101111.




P1: La máquina ejecuta el primer paso. Arranca en el estado e0, donde lee un 1; entonces, de acuerdo con su tabla de acción escribe un 0 en esa posición, se mueve a la derecha y entra en estado e1.
P2: En e1 lee un 1, escribe un 1 y se mueve a la derecha. Sigue en e1.
P3: En e1 lee 0, escribe 0, se mueve a la derecha y cambia a e2
P4: En e2 lee 0, escribe 1, se mueve a la izquierda y cambia a e3
P5: En e3 lee 0, escribe 0, se mueve a la izquierda y cambia a e4
P6: En e4 lee 1, escribe 1, se mueve a la izquierda y sigue en e4
El proceso sigue la misma lógica a través de los sucesivos pasos hasta llegar al último.
P15: En e0 lee 0; no existe ninguna entrada en la tabla para esta combinación, por lo que el autómata se detiene. Comprobamos como al final ha escrito en la cinta la cantidad esperada: 11011.

viernes, 28 de agosto de 2009

HISTORIA DE LA PALABRA ALGORITMO

La palabra algoritmo proviene del matemático árabe Al’Khwarizmi quien escribiera un tratado de los números, en este describe fórmulas para posibilitar que con un número limitado de pasos e indicaciones claras de ejecución se pudieran resolver ecuaciones de primer y segundo grado. Se dice que en la antigua mesopotamia se utilizaban algoritmos para resolver problemas de tipo comercial.
La palabra algoritmo es un termino matemático y su definición es: Lista bien ordenada,definida y finita de operaciones a seguir en la solución de un problema cualquiera. Esta definición no solamente aplica a términos matemáticos sino que es general para todos los problemas (se llevan a cabo algoritmos al resolver problemas de la vida cotidiana por ejemplo al amarrarse las agujetas, vestirse etc).
De esta forma los algoritmos fueron introducidos a la computación a mediados del siglo XX para que las computadoras realizaran por medio de éstos cálculos y llevaran a cabo las ordenes que se les dieran. A partir de ahí el termino algoritmo a sido relacionado mas con la computación que con cualquier otro ámbito del conocimiento, aunque ya sabemos de la generalidad de los algoritmos.

jueves, 30 de julio de 2009

SISTEMAS OPERATIVOS

En mi opinión, y siendo solamente un usuario no especializado de Windows puedo mencionar solamente que algunas de sus ventajas son el uso generalizado que se hace de él lo cual lo hace muy comercial y conocido por todos los que tienen acceso a una computadora, no he tenido la oportunidad de probar su compatibilidad con otros sistemas operativos pero puedo decir que al ser muy utilizado por la sociedad su compatibilidad con la mayoría de los softwares es muy amplia, es de una manejabilidad relativamente fácil, una de sus desventajas es que tiene vulnerabilidad a los virus además de que si la computadora en la cual esta instalado no cumple con la mayoría de los requerimientos que windows exige o incluso cumpliendolos este tiene muchos fallos en cuanto a velocidad y optimizacion del equipo, y por ultimo diria de windows que es un sistema operativo caro respecto a lo que se paga por él y tomando en cuenta que cada vez requiere mas recursos por parte del equipo aumentando el costo total.
Del sitema operativo linux puedo decir que su unica desventaja frente a windows es la poca utilizacion que se hace de él; pues en cuanto a compatibilidad con otros sistemas operativos se puede decir que éste si tiene la capacidad de poder trabajar con archivos de windows, tiene una manejabilidad igual que window a pesar del tabu que se tiene de él; no requiere de tantos recursos por parte de la maquina e incluso optimiza su funcionaminto; una de las mejores cosas que se pueden decir de él es que es un sistema operativo inmune a virus y si a esto agregamos que es gratis y es un sistema operativo libre se podria llegar a la conclusion que linux es mejor que windows, solo es cosa de perderle el miedo.




¿Qué aplicaciones se les da a las tics?

Las tecnologías de la información y de la comunicacion tienen un sin fin de aplicaciones como son el uso de Internet ya sea para establecer comunicacion con otras personas en cualquier parte del mudo o para conseguir información y también para compartirla,al hacer uso de los medios de comunicacion como son la television, el radio; un porcentaje importante del uso de las tics lo comprenden el uso de teléfonos celulares.Y en general al hacer uso de cualquier cosa que implique tecnología para la comunicacion estaremos haciendo un uso de las tics.

¿Qué son las tics?

Las tecnologías de la información y de la comunicación son las herramientas tecnológicas de las que se vale la sociedad para satisfacer algunas de sus necesidades de almacenar, procesar y difundir todo tipo de información, telemática, etc. Las tecnologías de la información y de la comunicación son herramientas, sistemas, dispositivos, medios electrónicos, medios de comunicación, infraestructuras, tecnología. Y sus funciones y aplicaciones en la vida diaria son prácticamente ilimitadas, incluso me atrevo a decir que son indispensables para la vida moderna.

viernes, 24 de julio de 2009