SlideShare una empresa de Scribd logo
1 de 15
UNIVERSIDAD AUTÓNOMA DE GUERERO
FACULTAD DE MATEMATICAS
ASIGNATURA: LENGUAJES FORMALES Y
AUTÓMATAS
TEMA:FUNCIÓN COMPUTABLE Y
PARCIALMENTE COMPUTABLE
PROFESOR:EUGENIO AVILUZ RAMIREZ
ALUMNA: ANA MENDEZ MARTINEZ
SEXTO SEMESTRE
FECHA: 07/05/2013
INTRODUCCION
El presente trabajo nos muestra que existen funciones que no conocíamos, y que son difíciles de
resolver mediante un algoritmo de algún lenguaje de programación.
No trataremos de resolverlas pero si veremos que algunas se pueden resolver, y otras
definitivamente no tienen solución
Lo interesante de este tema es mostrar que existen diferentes funciones o problemas computables
y parcialmente computables que han venido surgiendo desde hace algunos años y que gracias a
algunas personas como Alan Turing, Kurt Gödel etc. nos han ayudado a demostrar que si hay
solución para ciertas funciones
Contenido
INTRODUCCION ........................................................................................................................................ 2
OBJETIVO:................................................................................................................................................... 5
1. FUNCION COMPUTABLE Y PARCIALMENTE COMPUTABLE ..................................................... 6
1.2. FUNCIÓN COMPUTABLE:.................................................................................................................... 7
1.2.1TEORIA DE LA COMPUTABILIDAD:................................................................................................. 9
1.3. FUNCION PARCIALMENTE COMPUTABLE ........................................................................................ 11
1.4. PROBLEMAS NO COMPUTABLES...................................................................................................... 11
CONCLUSION ........................................................................................................................................... 13
REFERENCIAS.......................................................................................................................................... 14
INDICE DE FIGURAS
Imagen 1 resolver problemas mediante una computadora.......................................................................... 8
Imagen 2 cajero automático (ejemplo de función computable)................................................................ 10
5
OBJETIVO:
Conocer cuáles son las funciones computables, las formas tan complicadas que son de
solucionarlas y lo mucho que son usadas en nuestros días.
Definir y conocer las funciones parcialmente computables y los problemas no computables ya
que algunos no tienen solución y no son muy usados en los sistemas de trabajo más sin embargo
es importante conocerlos y plantearnos por qué no tienen solución.
6
1. FUNCION COMPUTABLE Y PARCIALMENTE
COMPUTABLE
Comenzaremos nuestra investigación considerando el poder expresivo de un determinado
lenguaje de programación. Recordemos que existen funciones que no pueden calcularse con
ningún programa escrito en ese lenguaje. La pregunta que debemos plantearnos ahora es si esta
limitación es debida al diseño del lenguaje, o si, por el contrario, es un reflejo de las limitaciones
de los procesos algorítmicos en general. Es decir, nos preguntamos si la imposibilidad de calcular
una función por un programa en un determinado lenguaje significa que el lenguaje es incapaz de
expresar un algoritmo, o más bien que no existe ningún algoritmo que pueda calcular esa función.
Para responder esta pregunta, primero identificaremos una clase de funciones que contiene la
totalidad de las funciones computables, es decir, todas aquellas funciones que pueden calcularse
por medios algorítmicos, sin importar como pueda expresarse o implementarse ese algoritmo.
Después mostraremos que las funciones de esta clase pueden calcularse por medio de las
máquinas de Turing, y también mediante algoritmos expresados en un subconjunto muy
sencillo de la mayoría de los lenguajes de programación. A partir de esto llegaremos a la
conclusión de que los limites detectados en las máquinas de Turing y en la mayor parte de los
lenguajes de programación son el reflejo de las limitaciones de los procesos computacionales,
no del diseño de la máquina o del lenguaje que se emplee.
7
1.2. FUNCIÓN COMPUTABLE:
Las funciones computables son el objeto básico de estudio de la teoría de la computabilidad y
son, específicamente, las funciones que pueden ser calculadas por una máquina de Turing.
Un problema es computable cuando existe un procedimiento efectivo (algoritmo) que permite
obtener, para cualquier entrada, una cadena que le corresponde como solución del problema.
Las funciones computables son una formalización de la noción intuitiva de algoritmo y según
la Tesis de Church-Turing son exactamente las funciones que pueden ser calculadas con una
máquina de cálculo. La noción de la computabilidad de una función puede ser relativizada a
unconjunto arbitrario de números naturales A, o equivalentemente a una función arbitraria f de los
naturales a los naturales, por medio de máquinas de Turing extendidas con un oráculo por A o f.
Tales funciones pueden ser llamadas A-computable o f-computablerespectivamente. Antes de la
definición precisa de una función computable los matemáticos usaban el término
informal efectivamente computable.
Las funciones computables son usadas para discutir sobre computabilidad sin referirse a
ningún modelo de computación concreto, como el de la máquina de Turing o el de la máquina de
registros. Los axiomas de Blum pueden ser usados para definir una teoría de complejidad
computacional abstracta sobre el conjunto de funciones computables.
Según la Tesis de Church-Turing, la clase de funciones computables es equivalente a la clase de
funciones definidas por funciones recursivas, cálculo lambda, o algoritmos de Markov
Alternativamente se pueden definir como los algoritmos que pueden ser calculados por
una máquina de Turing, unamáquina de Post, o una máquina de registros.
En teoría de la complejidad computacional, el problema de determinar la complejidad de una
función computable es conocido como un problema de funciones. [1].
8
Imagen 1 resolver problemas mediante una computadora
9
1.2.1TEORIA DE LA COMPUTABILIDAD:
La Teoría de la computabilidad es la parte de la computación que estudia los problemas de
decisión que pueden ser resueltos con un algoritmo o equivalentemente con una máquina de
Turing.
Un problema de decisión es un problema en donde las respuestas posibles son «sí» o «no». Un
ejemplo típico de problema de decisión es la pregunta: ¿Es un número entero dado primo? Una
instancia de este problema sería: ¿Es 17 primo? [2].
FUNCIONES COMPUTABLES CALCULADAS POR PROGRAMAS -While
Hay funciones computables que se calculan por programas-while. Si P es un programa-while y
es la lista de variables en P entonces consideraremos a las primeras variables como
variables de entrada y a las últimas como de salida, de manera sólo un poco más precisa, para
consideraremos
El programa Pcalcula, o computa, a la función
Donde
En este caso definimos,
10
En adelante omitiremos los subíndices n,m y k.
escomputable si existe un programa-while tal que f=fP.
EJEMPLO: un ejemplo de función computable, es una máquina que devuelve el cambio (cajero
automático)
Imagen 2 cajero automático (ejemplo de función computable)
11
1.3. FUNCION PARCIALMENTE COMPUTABLE
Una función parcialmente computable posee un algoritmo que nos permite computar su valor
para elementos de su dominio, pero que nos tendrá computando eternamente si intentamos
obtener un valor funcional para un elemento que no está en su dominio, sin asegurarnos nunca
que no obtendremos un valor. En otras palabras, cuando es posible una respuesta, el algoritmo la
provee; cuando no es posible, el algoritmo nos mantiene buscando la respuesta en vano por un
tiempo infinito [3].
Si una función es parcialmente computable, la máquina que la calcula puede no parar, o parar
con una salida indefinida, para aquellos valores en los que la función no esté definida.
1.4. PROBLEMAS NO COMPUTABLES
Siempre se había creído que todo problema, ya fuera fácil o difícil, podía resolverse en una serie
de pasos. Además esta idea se remonta miles de años atrás.Pero no, esto es una idea errónea ya
que una computadora no lo puede solucionar todo.
Para David Hilbert, un notable matemático, el hecho de que hubiera problemas que no contaran con una
solución exacta, supuso una gran insatisfacción, porque él mismo pensaba en lo siguiente:“Todo
problema matemático definido debe ser necesariamente susceptible de un planteamiento exacto, ya sea
en forma de una respuesta real a la pregunta planteada o debido a la constatación de la imposibilidad
de resolverlo, a lo que se debería la falla necesaria de todos los intentos... una de las cosas que
nos atrae más cuando nos dedicamos a un problema matemático es precisamente a que dentro de
nosotros siempre escuchamos la llamada: aquí el problema, busca la solución; puedes
encontrarla por pensamiento puro, ya que en matemáticas no existe cosa alguna que no pueda
conocerse”.
Lo que en realidad quería Hilbert era disponer de un sistema que pudiera resolver con precisión
un determinado problema. Es decir, disponer de un algoritmo para resolver cualquier problema.
Esto no fue así ya que demostraron que ciertos problemas resultaban ser no computables. Con
esto se venía abajo la teoría de Hilbert. Todo ello supuso una gran sorpresa para los matemáticos
sobre todo después de que Kurt Gödel publicara su “teorema de la incompletitud”. El primer
12
teorema de la incompletitud de Gödel afirma: “En cualquier formalización consistente de las
matemáticas que sea lo bastante fuerte para definir el concepto de números naturales, se puede
construir una afirmación que ni se puede demostrar ni se puede refutar dentro de ese sistema”.
El segundo teorema de la incompletitud de Gödel afirma: “Ningún sistema consistente se puede
usar para demostrarse a sí mismo”. No sólo Gödel encontró problemas que no tuvieran solución
sino también importantes matemáticos como Alonso Church, Stephen Kleene, Mil Post, Alan
Turing.
Ejemplos de problemas no computables:
Su demostración se basa en el método de la diagonal.
El problema de la palabra para Grupos. “Dado un subconjunto S de elementos de un grupo G, se
trata de decidir si una expresión compuesta por elementos de S y con las operaciones del grupo
es igual al elemento neutro del grupo”.
Décimo problema de Hilbert. “Una ecuación diofántica es la ecuación de los ceros enteros de un
polinomio con coeficientes enteros. El décimo problema de Hilbert trata de encontrar un
algoritmo que determine si una ecuación diofántica polinómica dada con coeficientes enteros
tiene solución entera”. Matiyasevich demostró que no existe dicho algoritmo.
Decidibilidad de las teorías lógicas:
El cálculo de predicados no es decidible. Esto lo demostraron Church y Turing.
13
CONCLUSION
Concluimos en que las funciones computables son aquellas que pueden resolverse por medio de
un algoritmo, las funciones parcialmente computables son las de recursividad o las indefinidas en
algunos valores de la función, y por ultimo las no computables son las que no tienen solución
14
REFERENCIAS
[1]:http://es.wikipedia.org/wiki/Funci%C3%B3n_computable
[2]. http://es.wikipedia.org/wiki/Teor%C3%ADa_de_la_computabilidad
[3].http://books.google.com.mx/books?id=hV35XvRAhvgC&pg=PA82&lpg=PA82&dq=funcion+computabl
e+y+parcialmente+computable+en+informatica&source=bl&ots=2ty88yCVos&sig=IOS7B1p8WyMdx_WZl
H56wBBb5HE&hl=es&sa=X&ei=P5OEUcH_AqWE0QGYh4CYCw&ved=0CDAQ6AEwAQ#v=onepage&q=fun
cion%20computable%20y%20parcialmente%20computable%20en%20informatica&f=false
15

Más contenido relacionado

La actualidad más candente

Funciones
FuncionesFunciones
Funcionesadark
 
Presentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado FinitoPresentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado Finitojunito86
 
Maquina de turing y resolubilidad e Irresolubilidad
Maquina de turing y resolubilidad e IrresolubilidadMaquina de turing y resolubilidad e Irresolubilidad
Maquina de turing y resolubilidad e Irresolubilidadlluis31
 
Teoremas Booleanos
Teoremas BooleanosTeoremas Booleanos
Teoremas BooleanosWendy Diaz
 
Ordenamientos burbuja e inserción
Ordenamientos burbuja e inserciónOrdenamientos burbuja e inserción
Ordenamientos burbuja e inserciónAlvaro Enrique Ruano
 
Matrices y conclusiones
Matrices y conclusionesMatrices y conclusiones
Matrices y conclusionesSelvin Loayes
 
algebra-booleana matematicas discretas
algebra-booleana matematicas discretasalgebra-booleana matematicas discretas
algebra-booleana matematicas discretastomas vergersent
 
APLICACION DEL CALCULO EN LA INFORMATICA
APLICACION DEL CALCULO EN LA INFORMATICAAPLICACION DEL CALCULO EN LA INFORMATICA
APLICACION DEL CALCULO EN LA INFORMATICAJoseph Mendoza
 
Bibliotecas o libreria de c++
Bibliotecas o libreria de c++Bibliotecas o libreria de c++
Bibliotecas o libreria de c++Idalia Tristan
 
REDES NEURONALES ADALINE
REDES NEURONALES ADALINEREDES NEURONALES ADALINE
REDES NEURONALES ADALINEESCOM
 
Red NEURONAL MADALINE
Red NEURONAL MADALINERed NEURONAL MADALINE
Red NEURONAL MADALINEESCOM
 
La maquina de Turing, sus tipos y aplicaciones.
La maquina de Turing, sus tipos y aplicaciones.La maquina de Turing, sus tipos y aplicaciones.
La maquina de Turing, sus tipos y aplicaciones.Emmanuel Colon
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfijaOmarzingm
 
Librerias Básicas y sus Funciones Lenguaje de Programación C
Librerias Básicas y sus Funciones Lenguaje de Programación CLibrerias Básicas y sus Funciones Lenguaje de Programación C
Librerias Básicas y sus Funciones Lenguaje de Programación CCristian Maza
 

La actualidad más candente (20)

Funciones
FuncionesFunciones
Funciones
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Sistema hexadecimal
Sistema hexadecimalSistema hexadecimal
Sistema hexadecimal
 
Presentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado FinitoPresentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado Finito
 
Maquina de turing y resolubilidad e Irresolubilidad
Maquina de turing y resolubilidad e IrresolubilidadMaquina de turing y resolubilidad e Irresolubilidad
Maquina de turing y resolubilidad e Irresolubilidad
 
Unidad aritmética lógica (ALU)
Unidad aritmética  lógica (ALU)Unidad aritmética  lógica (ALU)
Unidad aritmética lógica (ALU)
 
Teoremas Booleanos
Teoremas BooleanosTeoremas Booleanos
Teoremas Booleanos
 
espacios vectoriales
espacios vectorialesespacios vectoriales
espacios vectoriales
 
Ordenamientos burbuja e inserción
Ordenamientos burbuja e inserciónOrdenamientos burbuja e inserción
Ordenamientos burbuja e inserción
 
Matrices y conclusiones
Matrices y conclusionesMatrices y conclusiones
Matrices y conclusiones
 
algebra-booleana matematicas discretas
algebra-booleana matematicas discretasalgebra-booleana matematicas discretas
algebra-booleana matematicas discretas
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
APLICACION DEL CALCULO EN LA INFORMATICA
APLICACION DEL CALCULO EN LA INFORMATICAAPLICACION DEL CALCULO EN LA INFORMATICA
APLICACION DEL CALCULO EN LA INFORMATICA
 
Bibliotecas o libreria de c++
Bibliotecas o libreria de c++Bibliotecas o libreria de c++
Bibliotecas o libreria de c++
 
REDES NEURONALES ADALINE
REDES NEURONALES ADALINEREDES NEURONALES ADALINE
REDES NEURONALES ADALINE
 
Red NEURONAL MADALINE
Red NEURONAL MADALINERed NEURONAL MADALINE
Red NEURONAL MADALINE
 
La maquina de Turing, sus tipos y aplicaciones.
La maquina de Turing, sus tipos y aplicaciones.La maquina de Turing, sus tipos y aplicaciones.
La maquina de Turing, sus tipos y aplicaciones.
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfija
 
Librerias Básicas y sus Funciones Lenguaje de Programación C
Librerias Básicas y sus Funciones Lenguaje de Programación CLibrerias Básicas y sus Funciones Lenguaje de Programación C
Librerias Básicas y sus Funciones Lenguaje de Programación C
 
Técnica del backtracking o vuelta atrás
Técnica del backtracking o vuelta atrásTécnica del backtracking o vuelta atrás
Técnica del backtracking o vuelta atrás
 

Destacado

Tipos de computadoras 2
Tipos de computadoras 2Tipos de computadoras 2
Tipos de computadoras 2theiluminados
 
Aplicaciones de la computación
Aplicaciones de la computaciónAplicaciones de la computación
Aplicaciones de la computación11425078
 
Sistema de computacion
Sistema de computacionSistema de computacion
Sistema de computacionteq06
 
Introduccion a la ciencias de la computacion
Introduccion a la ciencias de la computacionIntroduccion a la ciencias de la computacion
Introduccion a la ciencias de la computacioncarrionelizabeth
 
Sistema computacional
Sistema computacionalSistema computacional
Sistema computacionalnelson0007
 
Definicion y Funcionamiento de Maquina de Turing
Definicion y Funcionamiento de Maquina de TuringDefinicion y Funcionamiento de Maquina de Turing
Definicion y Funcionamiento de Maquina de Turinglourdesnbv
 
INTRODUCCIÓN A LAS CIENCIAS DE LA COMPUTACIÓN.
INTRODUCCIÓN A LAS CIENCIAS DE LA COMPUTACIÓN.INTRODUCCIÓN A LAS CIENCIAS DE LA COMPUTACIÓN.
INTRODUCCIÓN A LAS CIENCIAS DE LA COMPUTACIÓN.milko09
 
ELEMENTOS DEL SISTEMA COMPUTACIONAL Y SISTEMAS OPERATIVOS
ELEMENTOS DEL SISTEMA COMPUTACIONAL Y SISTEMAS OPERATIVOSELEMENTOS DEL SISTEMA COMPUTACIONAL Y SISTEMAS OPERATIVOS
ELEMENTOS DEL SISTEMA COMPUTACIONAL Y SISTEMAS OPERATIVOSGisel Milagros Vaderna Martinez
 
Ciencias de la Computación
Ciencias de la ComputaciónCiencias de la Computación
Ciencias de la Computaciónmajochir
 
Elementos de un sistema de computo (Hardware, software, humanware)
Elementos de un sistema de computo (Hardware, software, humanware)Elementos de un sistema de computo (Hardware, software, humanware)
Elementos de un sistema de computo (Hardware, software, humanware)2503778
 
Que Es Un Sistema Computo
Que Es Un Sistema ComputoQue Es Un Sistema Computo
Que Es Un Sistema Computoshanpu
 
Sistemas de computo
Sistemas de computoSistemas de computo
Sistemas de computoxDavidx2x
 

Destacado (15)

Tipos de computadoras 2
Tipos de computadoras 2Tipos de computadoras 2
Tipos de computadoras 2
 
Aplicaciones de la computación
Aplicaciones de la computaciónAplicaciones de la computación
Aplicaciones de la computación
 
Sistema de computacion
Sistema de computacionSistema de computacion
Sistema de computacion
 
Introduccion a la ciencias de la computacion
Introduccion a la ciencias de la computacionIntroduccion a la ciencias de la computacion
Introduccion a la ciencias de la computacion
 
Sistema computacional
Sistema computacionalSistema computacional
Sistema computacional
 
Definicion y Funcionamiento de Maquina de Turing
Definicion y Funcionamiento de Maquina de TuringDefinicion y Funcionamiento de Maquina de Turing
Definicion y Funcionamiento de Maquina de Turing
 
INTRODUCCIÓN A LAS CIENCIAS DE LA COMPUTACIÓN.
INTRODUCCIÓN A LAS CIENCIAS DE LA COMPUTACIÓN.INTRODUCCIÓN A LAS CIENCIAS DE LA COMPUTACIÓN.
INTRODUCCIÓN A LAS CIENCIAS DE LA COMPUTACIÓN.
 
ELEMENTOS DEL SISTEMA COMPUTACIONAL Y SISTEMAS OPERATIVOS
ELEMENTOS DEL SISTEMA COMPUTACIONAL Y SISTEMAS OPERATIVOSELEMENTOS DEL SISTEMA COMPUTACIONAL Y SISTEMAS OPERATIVOS
ELEMENTOS DEL SISTEMA COMPUTACIONAL Y SISTEMAS OPERATIVOS
 
Ciencias de la Computación
Ciencias de la ComputaciónCiencias de la Computación
Ciencias de la Computación
 
Sistemas computacionales
Sistemas computacionalesSistemas computacionales
Sistemas computacionales
 
Elementos de un sistema de computo (Hardware, software, humanware)
Elementos de un sistema de computo (Hardware, software, humanware)Elementos de un sistema de computo (Hardware, software, humanware)
Elementos de un sistema de computo (Hardware, software, humanware)
 
Que Es Un Sistema Computo
Que Es Un Sistema ComputoQue Es Un Sistema Computo
Que Es Un Sistema Computo
 
Sistemas de computo
Sistemas de computoSistemas de computo
Sistemas de computo
 
Qué son las tics
Qué son las ticsQué son las tics
Qué son las tics
 
TIC's
TIC'sTIC's
TIC's
 

Similar a Funcion computable y parcialmente computable (20)

Pteg i-grupo7-lista 4,13,38,39,40,45-visita4-expo cap 12 -teoria de la comput...
Pteg i-grupo7-lista 4,13,38,39,40,45-visita4-expo cap 12 -teoria de la comput...Pteg i-grupo7-lista 4,13,38,39,40,45-visita4-expo cap 12 -teoria de la comput...
Pteg i-grupo7-lista 4,13,38,39,40,45-visita4-expo cap 12 -teoria de la comput...
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Teoria de la computacion
Teoria de la computacionTeoria de la computacion
Teoria de la computacion
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Introduccion Analisis Algoritmos
Introduccion Analisis AlgoritmosIntroduccion Analisis Algoritmos
Introduccion Analisis Algoritmos
 
Complejidad
ComplejidadComplejidad
Complejidad
 
Tema1 faa 16_17
Tema1 faa 16_17Tema1 faa 16_17
Tema1 faa 16_17
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmo Matematicas
Algoritmo MatematicasAlgoritmo Matematicas
Algoritmo Matematicas
 
Algoritmo , MATEMÁTICA
Algoritmo ,  MATEMÁTICAAlgoritmo ,  MATEMÁTICA
Algoritmo , MATEMÁTICA
 
Computacion s.m
Computacion s.mComputacion s.m
Computacion s.m
 
Semana 02 software libre maxima
Semana 02 software libre maximaSemana 02 software libre maxima
Semana 02 software libre maxima
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Algoritmos univ colombia
Algoritmos univ colombiaAlgoritmos univ colombia
Algoritmos univ colombia
 
Private
PrivatePrivate
Private
 

Funcion computable y parcialmente computable

  • 1. UNIVERSIDAD AUTÓNOMA DE GUERERO FACULTAD DE MATEMATICAS ASIGNATURA: LENGUAJES FORMALES Y AUTÓMATAS TEMA:FUNCIÓN COMPUTABLE Y PARCIALMENTE COMPUTABLE PROFESOR:EUGENIO AVILUZ RAMIREZ ALUMNA: ANA MENDEZ MARTINEZ SEXTO SEMESTRE FECHA: 07/05/2013
  • 2. INTRODUCCION El presente trabajo nos muestra que existen funciones que no conocíamos, y que son difíciles de resolver mediante un algoritmo de algún lenguaje de programación. No trataremos de resolverlas pero si veremos que algunas se pueden resolver, y otras definitivamente no tienen solución Lo interesante de este tema es mostrar que existen diferentes funciones o problemas computables y parcialmente computables que han venido surgiendo desde hace algunos años y que gracias a algunas personas como Alan Turing, Kurt Gödel etc. nos han ayudado a demostrar que si hay solución para ciertas funciones
  • 3. Contenido INTRODUCCION ........................................................................................................................................ 2 OBJETIVO:................................................................................................................................................... 5 1. FUNCION COMPUTABLE Y PARCIALMENTE COMPUTABLE ..................................................... 6 1.2. FUNCIÓN COMPUTABLE:.................................................................................................................... 7 1.2.1TEORIA DE LA COMPUTABILIDAD:................................................................................................. 9 1.3. FUNCION PARCIALMENTE COMPUTABLE ........................................................................................ 11 1.4. PROBLEMAS NO COMPUTABLES...................................................................................................... 11 CONCLUSION ........................................................................................................................................... 13 REFERENCIAS.......................................................................................................................................... 14
  • 4. INDICE DE FIGURAS Imagen 1 resolver problemas mediante una computadora.......................................................................... 8 Imagen 2 cajero automático (ejemplo de función computable)................................................................ 10
  • 5. 5 OBJETIVO: Conocer cuáles son las funciones computables, las formas tan complicadas que son de solucionarlas y lo mucho que son usadas en nuestros días. Definir y conocer las funciones parcialmente computables y los problemas no computables ya que algunos no tienen solución y no son muy usados en los sistemas de trabajo más sin embargo es importante conocerlos y plantearnos por qué no tienen solución.
  • 6. 6 1. FUNCION COMPUTABLE Y PARCIALMENTE COMPUTABLE Comenzaremos nuestra investigación considerando el poder expresivo de un determinado lenguaje de programación. Recordemos que existen funciones que no pueden calcularse con ningún programa escrito en ese lenguaje. La pregunta que debemos plantearnos ahora es si esta limitación es debida al diseño del lenguaje, o si, por el contrario, es un reflejo de las limitaciones de los procesos algorítmicos en general. Es decir, nos preguntamos si la imposibilidad de calcular una función por un programa en un determinado lenguaje significa que el lenguaje es incapaz de expresar un algoritmo, o más bien que no existe ningún algoritmo que pueda calcular esa función. Para responder esta pregunta, primero identificaremos una clase de funciones que contiene la totalidad de las funciones computables, es decir, todas aquellas funciones que pueden calcularse por medios algorítmicos, sin importar como pueda expresarse o implementarse ese algoritmo. Después mostraremos que las funciones de esta clase pueden calcularse por medio de las máquinas de Turing, y también mediante algoritmos expresados en un subconjunto muy sencillo de la mayoría de los lenguajes de programación. A partir de esto llegaremos a la conclusión de que los limites detectados en las máquinas de Turing y en la mayor parte de los lenguajes de programación son el reflejo de las limitaciones de los procesos computacionales, no del diseño de la máquina o del lenguaje que se emplee.
  • 7. 7 1.2. FUNCIÓN COMPUTABLE: Las funciones computables son el objeto básico de estudio de la teoría de la computabilidad y son, específicamente, las funciones que pueden ser calculadas por una máquina de Turing. Un problema es computable cuando existe un procedimiento efectivo (algoritmo) que permite obtener, para cualquier entrada, una cadena que le corresponde como solución del problema. Las funciones computables son una formalización de la noción intuitiva de algoritmo y según la Tesis de Church-Turing son exactamente las funciones que pueden ser calculadas con una máquina de cálculo. La noción de la computabilidad de una función puede ser relativizada a unconjunto arbitrario de números naturales A, o equivalentemente a una función arbitraria f de los naturales a los naturales, por medio de máquinas de Turing extendidas con un oráculo por A o f. Tales funciones pueden ser llamadas A-computable o f-computablerespectivamente. Antes de la definición precisa de una función computable los matemáticos usaban el término informal efectivamente computable. Las funciones computables son usadas para discutir sobre computabilidad sin referirse a ningún modelo de computación concreto, como el de la máquina de Turing o el de la máquina de registros. Los axiomas de Blum pueden ser usados para definir una teoría de complejidad computacional abstracta sobre el conjunto de funciones computables. Según la Tesis de Church-Turing, la clase de funciones computables es equivalente a la clase de funciones definidas por funciones recursivas, cálculo lambda, o algoritmos de Markov Alternativamente se pueden definir como los algoritmos que pueden ser calculados por una máquina de Turing, unamáquina de Post, o una máquina de registros. En teoría de la complejidad computacional, el problema de determinar la complejidad de una función computable es conocido como un problema de funciones. [1].
  • 8. 8 Imagen 1 resolver problemas mediante una computadora
  • 9. 9 1.2.1TEORIA DE LA COMPUTABILIDAD: La Teoría de la computabilidad es la parte de la computación que estudia los problemas de decisión que pueden ser resueltos con un algoritmo o equivalentemente con una máquina de Turing. Un problema de decisión es un problema en donde las respuestas posibles son «sí» o «no». Un ejemplo típico de problema de decisión es la pregunta: ¿Es un número entero dado primo? Una instancia de este problema sería: ¿Es 17 primo? [2]. FUNCIONES COMPUTABLES CALCULADAS POR PROGRAMAS -While Hay funciones computables que se calculan por programas-while. Si P es un programa-while y es la lista de variables en P entonces consideraremos a las primeras variables como variables de entrada y a las últimas como de salida, de manera sólo un poco más precisa, para consideraremos El programa Pcalcula, o computa, a la función Donde En este caso definimos,
  • 10. 10 En adelante omitiremos los subíndices n,m y k. escomputable si existe un programa-while tal que f=fP. EJEMPLO: un ejemplo de función computable, es una máquina que devuelve el cambio (cajero automático) Imagen 2 cajero automático (ejemplo de función computable)
  • 11. 11 1.3. FUNCION PARCIALMENTE COMPUTABLE Una función parcialmente computable posee un algoritmo que nos permite computar su valor para elementos de su dominio, pero que nos tendrá computando eternamente si intentamos obtener un valor funcional para un elemento que no está en su dominio, sin asegurarnos nunca que no obtendremos un valor. En otras palabras, cuando es posible una respuesta, el algoritmo la provee; cuando no es posible, el algoritmo nos mantiene buscando la respuesta en vano por un tiempo infinito [3]. Si una función es parcialmente computable, la máquina que la calcula puede no parar, o parar con una salida indefinida, para aquellos valores en los que la función no esté definida. 1.4. PROBLEMAS NO COMPUTABLES Siempre se había creído que todo problema, ya fuera fácil o difícil, podía resolverse en una serie de pasos. Además esta idea se remonta miles de años atrás.Pero no, esto es una idea errónea ya que una computadora no lo puede solucionar todo. Para David Hilbert, un notable matemático, el hecho de que hubiera problemas que no contaran con una solución exacta, supuso una gran insatisfacción, porque él mismo pensaba en lo siguiente:“Todo problema matemático definido debe ser necesariamente susceptible de un planteamiento exacto, ya sea en forma de una respuesta real a la pregunta planteada o debido a la constatación de la imposibilidad de resolverlo, a lo que se debería la falla necesaria de todos los intentos... una de las cosas que nos atrae más cuando nos dedicamos a un problema matemático es precisamente a que dentro de nosotros siempre escuchamos la llamada: aquí el problema, busca la solución; puedes encontrarla por pensamiento puro, ya que en matemáticas no existe cosa alguna que no pueda conocerse”. Lo que en realidad quería Hilbert era disponer de un sistema que pudiera resolver con precisión un determinado problema. Es decir, disponer de un algoritmo para resolver cualquier problema. Esto no fue así ya que demostraron que ciertos problemas resultaban ser no computables. Con esto se venía abajo la teoría de Hilbert. Todo ello supuso una gran sorpresa para los matemáticos sobre todo después de que Kurt Gödel publicara su “teorema de la incompletitud”. El primer
  • 12. 12 teorema de la incompletitud de Gödel afirma: “En cualquier formalización consistente de las matemáticas que sea lo bastante fuerte para definir el concepto de números naturales, se puede construir una afirmación que ni se puede demostrar ni se puede refutar dentro de ese sistema”. El segundo teorema de la incompletitud de Gödel afirma: “Ningún sistema consistente se puede usar para demostrarse a sí mismo”. No sólo Gödel encontró problemas que no tuvieran solución sino también importantes matemáticos como Alonso Church, Stephen Kleene, Mil Post, Alan Turing. Ejemplos de problemas no computables: Su demostración se basa en el método de la diagonal. El problema de la palabra para Grupos. “Dado un subconjunto S de elementos de un grupo G, se trata de decidir si una expresión compuesta por elementos de S y con las operaciones del grupo es igual al elemento neutro del grupo”. Décimo problema de Hilbert. “Una ecuación diofántica es la ecuación de los ceros enteros de un polinomio con coeficientes enteros. El décimo problema de Hilbert trata de encontrar un algoritmo que determine si una ecuación diofántica polinómica dada con coeficientes enteros tiene solución entera”. Matiyasevich demostró que no existe dicho algoritmo. Decidibilidad de las teorías lógicas: El cálculo de predicados no es decidible. Esto lo demostraron Church y Turing.
  • 13. 13 CONCLUSION Concluimos en que las funciones computables son aquellas que pueden resolverse por medio de un algoritmo, las funciones parcialmente computables son las de recursividad o las indefinidas en algunos valores de la función, y por ultimo las no computables son las que no tienen solución
  • 15. 15