INFORMATICA BASICALic. Marcio Rodas
Presentado por:PTEG-G- Grupo N° 7 -Lista N° 8,9,13,20,49 -Visita N°4-
cap. N°12- Tema:
Teoría de computación
Funciones y su computabilidadUna función en su sentido matemático es una correspondencia entre un conjunto de
posibles valores de entrada y un conjunto de valores de salida, de modo que a cada una de
las posibles entradas se les asigne una única salida.
Agentes inteligentes
Un agente es un dispositivo que responde a un estimulo procedente de un entorno. Es
natural pensar en agente como si fuera una maquina individual, ejemplo. Un robot. Aunque
un agente puede adoptar otras formas; por ejemplo la de un aeroplano autónomo o la de un
proceso que se comunica con otros procesos a través de internet.
Teoría de las funciones recursivas
Una ves que los investigadores comenzaron a identificar problemas que son irresolubles,
en el sentido que no disponen de solución algorítmica, otras personas comenzaron a
estudiar esos problemas intentando comprender su complejidad. Hoy día, esta área de
investigación es una de las partes principales de un tema conocido con el nombre de
teoría de funciones recursivas.
Maquinas de Turing
Es un intento de comprender las capacidades y limitaciones de las maquinas, muchos
investigadores han propuesto y estudiado diversos dispositivos computacionales, uno de
ellos es la maquina de turing.
Orígenes de la maquina de Turing
Allan Turing desarrollo el concepto de de maquina de Turig en 1930 mucho antes
de que la tecnología fuera capas de proporcionarnos las técnicas que
conocemos hoy dia. La visión de turing era proporcionar un modelo con el que
estudiar los limites de los “procesos computacionales”
Fundamentos de la maquina de Turing
Esta compuesta por una unidad de control que puede leer y escribir símbolos en
una cinta por medio de un cabezal de lectura/escritura.
Componentes de una maquina de Turing
La tesis de Church Turing
La maquina de Turing, ejem: anterior se puede utilizar para calcular la función conocida con el
nombre de función sucesora, que asigna a cada entero no negativo n que se le proporcione como
el valor de entrada, un valor de salida igual a n +1
Simplemente necesitamos colocar el valor de entrada en formato binario en la cinta de maquina,
operar la maquina hasta que se detenga y luego leer el valor de salida de la cinta.
Toda función que pueda computarse de esta forma mediante una maquina de Turing se dice que es computable según turing.
Lenguajes de programación universales
Es un lenguaje de programación simple de carácter imperativo que sea lo suficientemente rico como para permitirnos
expresar programas que sirvan para calcular todas las funciones computables según Turing.
Lenguaje de Bare Bones
Estas sentencias permiten a los programadores darse el lujo de pensar en términos de estructura de datos y de tipos
de datos(tales como matrices de valores numéricos y cadenas de caracteres alfabéticos).aunque la propia maquina
se limita a manipular los patrones de bits sin tener ningún conocimiento de que es lo que esos patrones representan.
Programación en vare bones
Combinando las sentencias de asignación, cualquier valor(cualquier entero no
negativo) se puede asociar con una. Ejemplo:
La sig. Secuencia asigna el valor 3 a la variable x asignándole al primer lugar el valor
cero y luego incrementando su valor tres veces.
Una función no computable
El problema de la detención: es el problema de tratar de predecir de antemano si un programa continuara o se terminará o se detendrá, si se inicia bajo ciertas condiciones. Ejemplo:
si ejecutamos un programas con valor inicial de X a 0, el blucle no se ejecutara y el programa terminara rápidamente. Sin embargo, si le asignamos otro valor a X el bucle se ejecutara para siempre por lo que tendremos un proceso que no termina.
Una función no computable
El problema de la detención: es el problema de tratar de predecir de antemano si un
programa continuara o se terminará o se detendrá, si se inicia bajo ciertas condiciones.
Ejemplo:
si ejecutamos un programas con valor inicial de X a 0, el blucle no se ejecutara y el
programa terminara rápidamente. Sin embargo, si le asignamos otro valor a X el bucle se
ejecutara para siempre por lo que tendremos un proceso que no termina.
La irresolubilidad del problema de detención
Las entradas de la función en cuestión son versiones codificadas de programas de
Bare Bones, sus salidas están limitadas a 0 y 1, definiremos la función de modo que
una entrada que represente un programa auto-terminante genere el valor de salida ,
mientras que un programa que no sea auto-terminante genere un valor igual a 0; nos
referimos a esta función como función de la detención.
Veamos el siguiente ejemplo.
Complejidad de los problemas
medida de complejidad de un problema: consideremos que un problema simples aquel que
tiene una solución simple y el complejo el que no dispone de una solución simple.
el hecho de que un programa no tenga una solución simple no implica que el problema sea
complejo, después de todo un problema dispone de múltiples soluciones y alguna de ellas
tendera a ser compleja
Problemas polinómicos y no polinómicos
suponga que f(n) y g(n) son expresiones matemáticas. Decir que g(n) esta esta acotada por
f(n)significa que la grafica de f(n), esta sobre la de g(n).
Es un problema polinomico si pertenece a la clase o(f(n)), en la que la expresión f(n) es un
polinimio ella misma esta acotada por un polinomio. El conjunto de todos los problemas
polinomicos se denomina P.
Problemas NP
EL PROBLEMA DEL VIAJANTE: Relativo a un viajante que tiene que visitar a tos sus
clientes en diferentes cuidades sin tener que exeder el presupuesto asignado para el viaje.
una solución tradicional a este problema es considerar todas las rutas potenciales de
manara sistematica, comparando la longitud de cada ruta con el limite de kilómetros hasta
encontrar una ruta aceptable a hasta haber analizada todas las posibilidades.
En particular, la siguiente lista de instrucciones puede ejecutarse rápidamente y tendría el
potencial de resolver el problema
sin embargo, esta instrucción no es un algoritmo en el sentido técnica de la palabra. Su primera
instrucción es ambigua ya que no especifica que ruta hay que tomar y tampoco especifica como hay que
tomar la decisión.
Criptografía de clave publica
ahora estamos preparados para construir y un sistema de cifrado de clave publica basado
en algoritmo RSA.
Primero seleccionamos dos números primos diferentes P y Q, cuyo producto re
´resentamos n, a continuación seleccionamos dos enteros positivos e y d tales que exd=
k(p – 1) ( q – 1 ) + 1para algún entero positivo k. Llamamos a estos valores e y d porque
formaran parte delcifrado y desifrado respectivamente.
Introducción a la Computación
11° Edición
J. Glenn Brookshear
FUENTE BIBLIOGRAFICA
Top Related