Sé un poco sobre lo que es un turing-machine y un idioma, pero para entender mejor, ¿alguien podría dar ejemplos de idiomas que no están completos? (tal vez incluso las máquinas que no son Turing, también?)Buscando idiomas que no están completos Turing
Respuesta
Las expresiones regulares, en la definición formal, que consiste solamente en:
- concatenación (ab)
- repetición ilimitada (a *)
- alternancia (a | b)
- agrupación ((ab) | (cd))
solo se pueden reconocer idiomas regulares. Un lenguaje de programación completo de Turing puede reconocer lenguajes enumerables recursivamente.
Un ejemplo es que las expresiones regulares no pueden decirle si una cadena consta de pares de paréntesis coincidentes: por ejemplo, se acepta ()(())
mientras ()((())()
, mientras que los lenguajes de programación de Turing pueden completar.
(Tenga en cuenta que las expresiones regulares en lenguajes de programación modernos son más poderosos que la definición académica formal de expresiones regulares. Algunos pueden incluso ser Turing completo.)
Regular languages - los que se pueden describir como expresiones regulares - son not Turing complete.
Los lenguajes de marcado (utilizados para describir datos, no el cálculo) como XML y JSON no están completos.
La diferencia entre los datos y el cálculo es complicado. [LaTeX] (http://stackoverflow.com/questions/2968411/ive-heard-that-latex-is-turing-complete-are-herehere-any-programs-written-in-latex) es Turing-completo, a pesar de siendo un lenguaje de procesamiento de texto. –
@Phillip: No del todo justo, ya que LaTeX tiene acceso a todos los TeX que se pretende (al menos en parte) para ser un lenguaje de uso general. Consulte la página de Knuth, donde responde la pregunta "¿Cuál es su idioma favorito?". – Charles
- 1. ¿Los archivos MAKE están completos?
- 2. ¿Cuáles son todos los idiomas conocidos que las máquinas de Turing no pueden aceptar?
- 3. Formulario que no envía datos completos
- 4. ¿Están terminados los árboles de expresión de LINQ Turing?
- 5. ¿Cómo saber cuando todas las llamadas ajax están completos
- 6. carga de archivos bluetooth jquery - callbacks "completos", "completos" que no funcionan para IE 9
- 7. Idiomas que no sean SQL en postgres
- 8. Buscando una lista de todos los idiomas disponibles en iOS
- 9. C++ templates Turing-complete?
- 10. Clasificación de nombres que no están en inglés con MySQL
- 11. ¿Los preprocesadores están obsoletos en los idiomas modernos?
- 12. ¿Puede un hipergraph representar una máquina de Turing no determinista?
- 13. Buscando en Xcode no encontrando resultados (buscando en mi fuente)
- 14. mysql group_concat no trae datos completos
- 15. ¿Cómo encuentro registros que no están unidos?
- 16. no puede importar módulos que están allí
- 17. D operadores que no están en C++
- 18. ¿Organizar un proyecto que usa varios idiomas?
- 19. Cómo obtener los idiomas disponibles (No todos, solo los idiomas disponibles en mi aplicación)
- 20. Mi máquina de turing simple
- 21. ¿Qué tipos de idiomas están permitidos en la etiqueta de secuencia de comandos HTML?
- 22. ¿Cómo puedo garantizar que los usuarios vean videos completos?
- 23. Idiomas que se interpretan en Javascript?
- 24. Idiomas que permiten tuplas con nombre
- 25. ¿Está SQL o incluso TSQL Turing Complete?
- 26. Alternativas a la prueba de Turing
- 27. ¿Está completo el preprocesador C99 Turing?
- 28. Ancho y alto completos SVG
- 29. readelf -s no muestra los nombres de variable completos
- 30. Cómo recuperar objetos completos (no fallas) de CoreData?
Por ejemplo, la expresión regular de Perl puede ser recursiva: http://www.catonmat.net/blog/recursive-regular-expressions PHP regexp tiene el indicador/e para evaluar las expresiones de PHP en la sustitución. –
@SHi: gracias por eso, ¡muy interesante! –
Una vez vimos una expresión regular en Perl que hacía coincidir cadenas con una longitud que era solo un número primo. Usé el back-track y tardé bastante ... –