Solución del problema
Autores: Goncharov, Sergey; Nechesov, Andrey
Idioma: Inglés
Editor: MDPI
Año: 2021
Acceso abierto
Artículo científico
2021
Solución del problema
Categoría
Matemáticas
Subcategoría
Matemáticas generales
Palabras clave
Construcción
Complejidad polinómica
Lenguaje de programación lógica
Algoritmos
Complejidad computacional
Términos
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 42
Citaciones: Sin citaciones
Los problemas asociados con la construcción de programas informáticos de complejidad polinómica requieren nuevas técnicas y enfoques de los matemáticos. Una de esas aproximaciones es representar alguna clase de algoritmos polinómicos como una cierta clase de programas lógicos especiales. Goncharov y Sviridenko describieron un lenguaje de programación lógica, donde los programas se obtienen de manera inductiva a partir del conjunto de fórmulas utilizando términos especiales. En su trabajo, se propuso una nueva idea de considerar el término como un programa. La complejidad computacional de dichos programas es polinómica. En los mismos años, se crearon varios otros lenguajes lógicos con propiedades similares. Sin embargo, la siguiente pregunta quedó sin respuesta: ¿todos los algoritmos polinómicos pueden ser descritos en estos lenguajes? Es un problema de larga data y el método para describir algún algoritmo polinómico en un lenguaje de programación lógica no Turing completo no estaba claro anteriormente. En este artículo, se encontraron y agregaron tipos especiales de términos y fórmulas para resolver este problema. Una de las principales contribuciones es la construcción de términos iterativos que simulan el funcionamiento de la máquina de Turing. Utilizando términos iterativos, se demostró que la clase es igual a la clase , lo que extiende el lenguaje de programación con términos iterativos. Por lo tanto, se muestra que es bastante expresivo y no tiene problemas de detención, que ocurren en lenguajes de programación de alto nivel. Por estas razones, el lenguaje lógico puede ser utilizado para crear programas rápidos y confiables. La principal limitación del lenguaje es que la implementación de algoritmos de complejidad no es mayor que polinómica.
Descripción
Los problemas asociados con la construcción de programas informáticos de complejidad polinómica requieren nuevas técnicas y enfoques de los matemáticos. Una de esas aproximaciones es representar alguna clase de algoritmos polinómicos como una cierta clase de programas lógicos especiales. Goncharov y Sviridenko describieron un lenguaje de programación lógica, donde los programas se obtienen de manera inductiva a partir del conjunto de fórmulas utilizando términos especiales. En su trabajo, se propuso una nueva idea de considerar el término como un programa. La complejidad computacional de dichos programas es polinómica. En los mismos años, se crearon varios otros lenguajes lógicos con propiedades similares. Sin embargo, la siguiente pregunta quedó sin respuesta: ¿todos los algoritmos polinómicos pueden ser descritos en estos lenguajes? Es un problema de larga data y el método para describir algún algoritmo polinómico en un lenguaje de programación lógica no Turing completo no estaba claro anteriormente. En este artículo, se encontraron y agregaron tipos especiales de términos y fórmulas para resolver este problema. Una de las principales contribuciones es la construcción de términos iterativos que simulan el funcionamiento de la máquina de Turing. Utilizando términos iterativos, se demostró que la clase es igual a la clase , lo que extiende el lenguaje de programación con términos iterativos. Por lo tanto, se muestra que es bastante expresivo y no tiene problemas de detención, que ocurren en lenguajes de programación de alto nivel. Por estas razones, el lenguaje lógico puede ser utilizado para crear programas rápidos y confiables. La principal limitación del lenguaje es que la implementación de algoritmos de complejidad no es mayor que polinómica.