Tableros Semánticos en Lógica Proposicional

25 de Octubre de 2020, ha tenido 324 vistas

El método de los Tableros Semánticos proporciona un algoritmo para la decisión de la satisfactibilidad de un conjunto de fórmulas sin necesidad de preprocesamiento de las fórmulas. Su forma de operar consiste en ir simplificando los conjuntos de fórmulas por medio de operaciones que mantienen la consistencia hasta llegar a conjuntos de literales (fórmulas que, esencialmente son variables proposicionales) cuya consistencia podemos decidir con facilidad. Además de proporcionar un mecanismo muy potente de decisión, veremos que, si el conjunto es consistente, el método informa acerca de los posibles modelos que tiene.

Etiquetas utilizadas: , ,

Leer mas »

Sintaxis y Semántica de la Lógica de Primer Orden

17 de Octubre de 2020, ha tenido 936 vistas

Aunque la Lógica Proposicional posee un semántica sencilla y existen algoritmos de decisión (aunque no sean eficientes) para los problemas básicos que hemos encontrado (SATTAUT y Problema de la consecuencia), su expresividad es bastante limitada, lo que hace que muchas situaciones no sean modelables en LP, bien porque requieren de mucho espacio (un gran número de fórmulas, y/o fórmulas de gran tamaño), o bien porque ni siquiera pueden expresarse en este lenguaje. Una Lógica de Primer Orden, también llamada lógica de predicados, es un sistema formal diseñado para estudiar la inferencia en los lenguajes de primer orden, que son lenguajes formales que extienden la Lógica Proposicional por medio de cuantificadores y símbolos que permiten hablar de los objetos de un dominio con predicados y funciones.

Etiquetas utilizadas: ,

Leer mas »

Sintaxis y Semántica de la Lógica Proposicional

15 de Octubre de 2020, ha tenido 2432 vistas

Nuestro objetivo central en esta entrada será presentar dos de los principales elemento del lenguaje para la Lógica Proposicional (su Sintaxis y Semántica). De forma natural ello nos permitirá dar algunas (interesantes) pinceladas sobre el tercero de los elementos, los Mecanismos o procedimientos. Pero serán los siguientes capítulos los que se dedicaremos, casi en su totalidad, al desarrollo de las herramientas que facilitan el camino hacia las soluciones que presentaremos para el problema central anterior.

Etiquetas utilizadas: ,

Leer mas »

Lua: La Elegancia de un Buen Diseño

21 de Abril de 2020, ha tenido 773 vistas

Hay lenguajes que motivan el descubrimiento y la experimentación (cada cual encuentra los suyos... en mi caso, Logo, Haskell, Scheme, Elm, NetLogo, Julia), y otros que me llevan al hartazgo (como C, C++, Java, Python, R, Javascript,...). Así que la sorpresa de encontrarse con un lenguaje antiguo (ya casi 30 años), pero tan bien construido que a uno le da la sensación de que mucho de lo que ha llegado después ha sido como un retroceso de ideas, deja la sensación de que se abre un nuevo camino que merece la pena ser explorado.

Lua, un lenguaje del que se oye hablar desde hace años, pero que hasta ahora no tuve la ocasión de explorar, ha sido capaz de despertar mi interés por caminos que pensaba cerrados hace tiempo, y más cuando además se descubre que llega desde Brasil y no desde los megacentros habituales.

Etiquetas utilizadas: , ,

Leer mas »

NetLogo Wishlist

17 de Abril de 2020, ha tenido 234 vistas

Como bien saben todos los que me rodean (o han pasado por la experiencia de recibir clases mías), no oculto mi predilección por NetLogo, a pesar de que se aleja de los circuitos profesionales (ni informáticos ni científicos).  

En esta entrada hago un listado de las cosas que echo en falta en NetLogo y que me llevarían a no desprenderme de él para tareas en las que, hasta ahora, ha funcionado mejor que la mayoría, como es ser el lenguaje base en el que doy el curso de introducción a la Inteligencia Artificial.

Etiquetas utilizadas: ,

Leer mas »

ALGUNAS ENTRADAS ANTERIORES ... AL AZAR

Resolviendo Problemas de Satisfacción de Restricciones con Hormigas

20 de Noviembre de 2017, 1144 vistas

 Al igual que hemos visto metaheurísticas varias (como BFSA*, o Templado Simulado) para dar soluciones a familias de problemas siempre y cuando pudiéramos representarlos como Espacios de Estados, vamos a usar esta entrada para demostrar cómo podemos usar ACOs para resolver problemas genéricos, siempre y cuando seamos capaces de representarlos como Problemas de Satisfacción de Restricciones. En este sentido, será necesario asociar a cada PSR un grafo de forma que los caminos óptimos en el grafo se asocien a soluciones óptimas en el PSR, así como proporcionar un sistema de probabilidades asociados a las aristas salientes de los nodos para asegurar que las hormigas construyen asignaciones válidas para el PSR considerado.

Etiquetas utilizadas: , , , ,

Sistemas Deductivos Proposicionales

21 de Diciembre de 2020, 220 vistas

En temas anteriores hemos visto algunos algoritmos para resolver el problema de la deducción, por ejemplo, por medio de Tableros Semánticos o DPLL, todos ellos basados en el hecho de que: $\Sigma\models A \Leftrightarrow \Sigma \cup \{\neg A\}\mbox{ es insatisfactible}$. Sin embargo, esta forma (que sería algo parecido a hacer una reducción al absurdo) no es la más habitual (ni más clásica) de abordar el problema de la deducción. En muchas áreas (por ejemplo, matemáticas, sitio por excelencia de la deducción formal) es más normal acudir al concepto de demostración, que parte de un conjunto de enunciados básico que actúa como conjunto de axiomas (o hipótesis), y que asumimos como ciertos inicialmente, y de un proceso constructivo por el que vamos obteniendo una sucesión de enunciados intermedios, deducibles unos a partir de otros, hasta llegar al resultado que queremos demostrar.

Etiquetas utilizadas: , ,