logica de programacion

11
LÓGICA EN PROGRAMACIÓN

Upload: sebashara-martinez-ramirez

Post on 12-Jan-2017

48 views

Category:

Internet


1 download

TRANSCRIPT

Page 1: LOGICA DE  PROGRAMACION

LÓGICA EN PROGRAMACIÓN

Page 2: LOGICA DE  PROGRAMACION

¿ 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.

Page 3: LOGICA DE  PROGRAMACION

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.

Page 4: LOGICA DE  PROGRAMACION

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.

Page 5: LOGICA DE  PROGRAMACION

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).

Page 6: LOGICA DE  PROGRAMACION

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.

Page 7: LOGICA DE  PROGRAMACION

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.

Page 8: LOGICA DE  PROGRAMACION

• 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.

Page 9: LOGICA DE  PROGRAMACION

¿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.

Page 10: LOGICA DE  PROGRAMACION

¿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.

Page 11: LOGICA DE  PROGRAMACION

MUCHAS GRACIAS POR TU ATENCIÓN