La lógica de programación se basa en el concepto de predicado o relación entre elementos. Se utiliza principalmente en aplicaciones de inteligencia artificial como sistemas expertos y reconocimiento de lenguaje natural. Los lenguajes de programación lógica como Prolog permiten definir reglas y resolver problemas de forma lógica mediante la aplicación de hipótesis y teoremas.
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
LOGICA DE PROGRAMACION
1.
2. ¿ QUE ES LA LOGICA DE
PROGRAMACION?
La programación lógica es un tipo de paradigmas de
programación dentro del paradigma de programación
declarativa. El resto de los subparadigmas de
programación dentro de la programación declarativa
son: programación funcional, programación en restricción,
programas DSL (de dominio específico) e híbridos. La
programación funcional se basa en el concepto
de función (que no es más que una evolución de los
predicados), de corte más matemático. La programación
lógica gira en torno al concepto de predicado, o relación
entre elementos.
3. MOTIVACIÓN
• Históricamente, los ordenadores se han programado
utilizando lenguajes muy cercanos a las peculiaridades de la
propia máquina: operaciones aritméticas simples, instrucciones
de acceso a memoria, etc. Un programa escrito de esta manera
puede ocultar totalmente su propósito a la comprensión de un
ser humano, incluso uno entrenado. Hoy día, estos lenguajes
pertenecientes al paradigma de la programación
imperativa han evolucionado de manera que ya no son tan
crípticos.
• En cambio, la lógica matemática es la manera más sencilla,
para el intelecto humano, de expresar formalmente problemas
complejos y de resolverlos mediante la aplicación de reglas,
hipótesis y teoremas. De ahí que el concepto de "programación
lógica" resulte atractivo en diversos campos donde la
programación tradicional es un fracaso.
4. CAMPOS DE APLICACIONES
• La programación lógica encuentra su hábitat natural en aplicaciones
de inteligencia artificial o relacionadas:
• Sistemas expertos, donde un sistema de información imita las
recomendaciones de un experto sobre algún dominio de
conocimiento.
• Demostración automática de teoremas, donde un programa genera
nuevos teoremas sobre una teoría existente.
• Reconocimiento de lenguaje natural, donde un programa es capaz
de comprender (con limitaciones) la información contenida en una
expresión lingüística humana.
• La programación lógica también se utiliza en aplicaciones más
"mundanas" pero de manera muy limitada, ya que la programación
tradicional es más adecuada a tareas de propósito general.
5. FUNDAMENTOS
• La mayoría de los lenguajes de programación lógica se
basan en la teoría lógica de orden, aunque también
incorporan algunos comportamientos de orden superior
como la lógica difusa. En este sentido, destacan los
lenguajes funcionales, ya que se basan en el calculo
lambda, que es la única teoría lógica de orden superior
que es demostradamente computable (hasta el
momento).
6. LENGUAJES
• El lenguaje de programación lógica por excelencia es prolog
que cuenta con diversas variantes. La más importante es
la programación lógica con restricciones que posibilita la
resolución de ecuaciones lineales además de la demostración
de hipótesis.
7. LIBRERIAS
• Existen librerías que permiten aplicar estas
técnicas de programación en otros lenguajes.
En ese sentido, seguramente las más
conocidas sean las basadas en miniKanren, un
DSL que se ha portado a lenguajes como
Clojure, Haskell, Javascript, Python, Ruby, etc.,
y permite utilizar este tipo de programación.
8. • Lógica de Programación. Base sobre la cual se sustenta la
programación en si.
• Todo personas que pretenda construir un programa que de
solución a determinada problemática, se enfrenta a dos
grandes tareas:
• El QUÉ: acciones a realizar para poder resolver el problema.
Esta tarea forma parte del trabajo de mesa previo a toda
actividad de programación.
• El CÓMO: instrucciones de las que se va a valer para escribir
el código que realice las acciones determinadas en el QUÉ, las
cuales están determinadas por el lenguaje de programación
seleccionado.
9. ¿SABES ? EN LA LOGICA DE
PROGRAMACION SE HACE MUCHO DE
ALGORITMOS
• Cuando el objetivo está realmente claro. Siempre que
en el desarrollo de la solución de un problema, en
algún momento no sabe por donde coger, no sabe qué
hacer o se siente perdido, no busque más, quiere decir
simplemente que realmente usted no tenía tan claro el
objetivo como había pensado.
• Algoritmo: Conjunto de pasos secuenciales y
ordenados que permiten lograr un objetivo. Que
sean secuenciales significa que deben ser ejecutados
uno después de otro y que sean ordenados quiere
decir que deben llevar un orden casi obligatorio.
10. ¿QUE PODEMOS CONCLUIR?
• Aunque a primera vista pueda parecer que este tipo de
programación está muy limitada a resolver puzzles y
cosas por el estilo, lo cierto es que (teóricamente)
puedes realizar cualquier tipo de programa con ellos.
• Aun así, lo lógico es utilizar programación lógica en las
áreas en que más sentido tiene: inteligencia artificial,
sistemas expertos, procesamiento de lenguajes, etc.
• El poder utilizar este paradigma a través de librerías
hace sea mucho más atractivo, porque hace que sea
más sencillo usarlo sólo en aquellas partes del problema
que tiene sentido.