viernes, 20 de marzo de 2009
miércoles, 11 de marzo de 2009
Motivación
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.
Campos de aplicación
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.
Etc.
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.
Fundamentos
Ejemplo
x es mortal si x es humano
Hecho: declaración, cláusula o proposición cierta
o falsa, el hecho establece una relación entreobjetos y es la forma más sencilla de sentencia
Ej:Humano (Sócrates); Sócrates es humanoAma (Juan, Maria) ; ama Juan a MariaConsulta: se especifica el problema, laproposición a demostrar o el objetivoPartiendo de que los humanos son mortales y deque Sócrates es humano, deducimos queSócrates es mortalMortal (x): - humano(x);- los humanos sonmortales ; reglaHumano (Sócrates); Sócrates es humano; hechoSócrates es mortal.
Otro ejemplo
•Regla 1 si un animal es ungulado y tiene rayas negras, entonces es una cebra
•Regla 2 si un animal rumia y es mamífero, entonces es ungulado
•Regla 3 si un animal es mamífero y tiene pezuñas, entonces es ungulado
•Hecho 1 el animal es mamífero•Hecho 2 el animal tiene pezuñas•Hecho 3 el animal tiene rayas negras
•Consulta: demostrar a partir de la base de conocimientos que el animal es una cebra•Es cebra: - es-ungulado, tiene-rayas-negras
•Es ungulado: - rumia, es-mamífero
•Es ungulado: - es-mamífero, tiene-pezuñas
•Es-mamífero
•Tiene-pezuñas
•Tiene rayas-negras
DERIVADA
:-padre(P,luis),procrean(H,M,P). --------> :-procrean(P,M1,luis),procrean(H,M,P).{P/antonio, M1/ana}----------> :-procrean(H,M,antonio).{H/andres, M/lola}------------->(éxito)
Lenguajes
¿ Para qué se usa ? Su principal uso se basa en las aplicaciones de inteligencia artificial o similares.
Sistemas expertos.
Demostración automática.
Reconocimiento de lenguaje natural.
Otros usos.
Fundamentos de la Programación Lógica Se basan principalmente en la teoría Lógica de Primer Orden, y en algunos de nivel superior. Destacamos los lenguajes funcionales como teoría lógica de orden superior que es demostradamente computable. No se basa en la veracidad o falsedad de expresiones o sentencias sino de las relaciones que se generan entre ellas. Así se basan en un mecanismo de inferencia. Éste requerirá de un lenguaje que exprese en una forma sencilla y sin ambigüedad las expresiones que representen las afirmaciones y conclusiones. Así nos basamos en expresiones y relaciones de la forma que:
Juan es hijo de Pedro.
Dos es mayor que uno. Así los programas se establecen como conjuntos de axiomas (base de conocimiento), expresados mediante cláusulas de Horn, para la definición de predicados entre objetosesolver un problema mediante sentencias, en la programación lógica se trabaja de forma descriptiva, estableciendo relaciones, y no indicando un cómo sino un qué hacer. Es decir el algoritmo que se quiera diseñar se construye especificando un conocimiento en un lenguaje formal y para resolverlo se uso la inferencia o control que actúa sobre aquel.
State of the art, expresión del inglés, hace referencia al nivel más alto de desarrollo conseguido en un momento determinado sobre cualquier aparato, técnica o campo científico.
La expresión inglesa se puede traducir al español también como "punta", o "[lo más] avanzado"; por ejemplo, state-of-the-art technology se traduce dentro del contexto cultural hispano, es decir, no literal, como "tecnología punta" o "tecnología de vanguardia".
Dentro del ambiente tecnológico industrial, se entiende como "estado del arte" o "estado de la técnica" todos aquellos desarrollos de última tecnología realizados a un producto, que han sido probados en la industria y han sido acogidos y aceptados por diferentes fabricantes.
En inglés, la frase va unida con guiones cuando se utiliza como adjetivo: "This machine is an example of state-of-the-art technology", mas no cuando se utiliza como un sustantivo. En español no se cumple esta convención, aunque puede usarse de igual manera.
En el campo de la propiedad industrial, en especial en el campo de las patentes, se suele denominar Estado de la Técnica o "prior art". Se define mediante todo aquello que ha sido publicado, ya sea en el país donde se busca la patente o en todo el mundo, antes de la fecha de solicitud de la patente.
Dentro de un escrito académico técnico, se denomina Estado del Arte a la base teórica sobre la que se basa el escrito, o la cual se rebate en el desarrollo posterior en el escrito y que forma parte introductoria del mismo.
ALGO SOBRE LA PROGRAMACION LOGICA , ESTO SI ES IMPORTANTE PARA LO QUE TIENE QUE VER CON LO DEL ESTADO DE ARTE
Bibliografía
http://es.wikipedia.org/wiki/Programaci%C3%B3n_l%C3%B3gica
Foundations of Logic Programming, J.W. Lloyd, Springer-Verlag, 1991.
Essentials of Logic Programming, C. Hogger, Clarendon Press, Oxford, 1990.
Logic for Computer Science: Foundations of Automatic Theorem Proving, J.H. Gallier, John Wiley and Sons, 1987.
Foundations of Logic Programming, J.W. Lloyd, Springer-Verlag, 1991.
Essentials of Logic Programming, C. Hogger, Clarendon Press, Oxford, 1990.
Logic for Computer Science: Foundations of Automatic Theorem Proving, J.H. Gallier, John Wiley and Sons, 1987.
nuestros blog y red, la excesiva consulta digital puede despistarnos. Pero con lo visto hasta ahora debéis dedicar más tiempo en esta materia, para conseguir que la evaluación próxima (1/2) pueda medir avances. Alcanzar al menos un soporte informativo como para poder responder a una necesidad de comunicación en la especialidad que planteas para tu blog exige que cualquiera pueda encontrar en los enlaces que haces públicos en tu blog, agregador y marcador social