Traduccion Computability, Algorithms, and Complexity.
Enviado por Kate • 11 de Abril de 2018 • 33.430 Palabras (134 Páginas) • 428 Visitas
...
Pueda ser que proviene algún quirk del lenguaje de programación. Quizás una versión mejor de Java o cualquier cosa lo evitaría. En Separa yo del curso nuestro objetivo es primero para mostrar que la `paradoja' encima es extremadamente general y ocurre en todos los modelos razonables de computar. Haremos este por examinar un modelo muy sencillo de un ordenador. A pesar de su simplicidad daremos evidencia para su ser plenamente general, capaz de hacer cualquier cosa que un ordenador — real o imaginado — podría.
Nosotros entonces rediscover la `paradoja' en nuestro modelo sencillo. Tengo que decir al llegar a este punto aquello allí es no paradoja real aquí. El argumento encima contuvo una suposición implícita. [Qué?] Empero, hay todavía un problema: la suposición implícita no puede ser evitada, porque si pueda, realmente tendríamos una paradoja. Así que no podemos `remendar' nuestro programa P para sacar la suposición!
Pero ahora, porque nuestro modelo sencillo es tan general, estamos forzar para dibujar funda-conclusiones mentales sobre las limitaciones de informática él. Seguro precisamente-declaró los problemas son irresolubles por un ordenador incluso en principio. (No podemos escribir un remiendo para P.)
Hay muchos problemas irresolubles! Incluyen:
- Comprobando mechanically si un programa arbitrario parará en una entrada dada (el `problema de la parada')
- Imprimiendo fuera todas las declaraciones ciertas aproximadamente aritmética y no falso unos (Godel ¨ teorema de incompletud).
- Decidiendo si una frase dada de primer-lógica de predicado del orden es válida o no (el teorema de la iglesia).
Undeniably Estos son problemas para qué soluciones serían muy útiles.
En Parte III del curso aplicaremos la idea de self-referencia otra vez a NP-problemas completos — no ahora a la cuestión de qué podemos computar, pero a qué rápidamente puede lo computamos. Aquí nuestros resultados serán más positivos en tono.
1.2 Qué es un algoritmo ?
Para mostrar que nuestra `paradoja' no es la culpa de diseño de lengua mala tenemos que tomar una vista muy general de computar. Nuestra vista es que ordenadores (de cualquier amables) implementa algoritmos. Así que examinaremos lo que un algoritmo es.
Primero, una definición de Diccionario de Cuartos.
---------------------------------------------------------------
1.2. Qué es un algoritmo?
11
Algoritmo, al'ir-ridhm, n. Una regla para solucionar un problema matemático en un número finito de pasos. [Raíz: latino Tardío algorismus, del Ara-bic nombre al-Khwarazmi,¯ el indígena de Khwarazm¯ (Khiva), i.e., el matemático de siglo IX Abu Ja'Mohammed lejano ben Musa.]
Mejoraremos en este, cuando veremos.
- Algoritmos tempranos
Uno de los algoritmos más tempranos estuvo ingeniado entre 400 y 300 B.C. Por Euclides: encuentra el factor común más alto de dos números, y es todavía utilizó. El tamiz de Eratos-thenes es otro algoritmo viejo. Mohammed al-Khwarazmi¯ está abonado con ingeniar las reglas bien sabidas para adición, sustracción, multiplicación y división de números decimales normales.
Los ejemplos más tardíos de máquinas controlaron por los algoritmos incluyen tramar telares (1801, el trabajo de J. M. Jacquard, 1752–1834), el piano de jugador o piano-corro (el pianola, 1897 — discutible, tan hay un aspecto de equivalente (qué?)), y el 1890 censo tabu-lating máquina de Herman Hollerith, immortalised como el `H' del `formato' declaración en el lenguaje de programación temprano Fortran (p. ej., FORMATO 4Habcd). Estas máquinas todo utilizó los agujeros pegaron en tarjetas. En el siglo XIX Charles Babbage planeó un multi-el propósito que calcula máquina, el `motor analítico', también controlado por pegó tarjetas.
- Formalizando Algoritmo
En 1900, el matemático grande David Hilbert preguntó si hay un algoritmo que respuestas cada problema matemático. Tan las personas intentaron encontrar tal un algoritmo, sin éxito. Pronto empezaron para pensarlo no podría ser hecho! Finalmente algunos preguntaron: puede probamos que hay no tal algoritmo? Esta cuestión implicó asuntos bastante dif-ferent de aquellos necesitados para ingeniar algoritmos. Levante la necesidad de ser precisa aproximadamente lo que un algoritmo de hecho es: para formalizar la idea de `algoritmo' .
Por qué nadie da una definición precisa de algoritmo en el precediendo dos thou-años de arena? Quizás porque la mayoría de cuestiones en algoritmos son de la forma encuentra uno para solucionar este problema tengo. Esto puede ser hecho sin una definición formal de algo-rithm, porque sabemos un algoritmo cuándo vemos uno. Tan un elefante es fácil de reconocer pero duro de definir, puedes escribir un programa para ordenar una lista sin saber exactamente lo que un algoritmo es. Es bastante para inventar algo que intuitively es un algoritmo, y aquello soluciona el problema en cuestión. Nosotros esto todo el tiempo.
Pero suponer tuvimos un problema (gusta Hilbert es) para qué muchos intentos para encontrar una solución algorítmica había fallado. Entonces podríamos sospechar que la tarea es imposible, así que nos gustaría probar que ningún algoritmo soluciona el problema. Para tener cualquier esperanza de hacer este, es claramente esencial de definir precisamente lo que un algoritmo es, porque tenemos para saber lo que cuentas como un algoritmo. De modo parecido, para contestar las cuestiones que se preocupan todos los algoritmos necesitamos saber exactamente lo que un algoritmo es. Otherwise, cómo podría procedemos en absoluto?
---------------------------------------------------------------
12 1. Qué es un algoritmo?
- Por qué formalizar Algoritmo?
Cuando dijimos, formalizamos algoritmo de modo que podemos razonar sobre algoritmos en general, y (quizás) prueba que algunos problemas tienen no solución algorítmica. Cualquier formalisa-tion de la idea de un algoritmo tendría que ser:
- Preciso e inequívoco, sin suposiciones
...