martes, 13 de noviembre de 2012

Lógica temporal


Lógica temporal

La lógica temporal es una extención de la lógica modal , en donde el tiempo esta presente.
Los principales operadores para la lógica temporal son los siguientes:





Problema 14.1.5


(5) Professors sometimes leave with a drink left in the dispenser.

Para este problema usaremos dos variables "a" para representar a los profesores y "b" para representar "dejaron una bebida en el deposito".


Quedaría de la siguiente manera:

a ◇ b

Liga: http://www.voronkov.com/lics_doc.cgi?what=chapter&n=14

martes, 6 de noviembre de 2012

w-Regular

En esta ocación inventaremos una expreción w-regular y la expresaremos en forma NBA

Estas son las característica que debe tener nuestra expreción: 

1-. Por lo menos dos símbolos
2-. Por lo menos dos operadores


Aquí la expreción:



Posteriormente teniendo la expreción se mostrara en un diagrama de NBA(Nondeterministic Büchi Automaton)  

Aqui el diagrama NBA:



Referencias:
Principles of model checking book
Autor: Christel Baier and Joost-Pieter Katoen

martes, 30 de octubre de 2012

Sistema de tranciciones

En esta ocación realisaremos un sistema de transisciones para la fabricación de unas deliciosas galletitas. Tendra la maquina que crea las galletitas con el material, Otra maquina que decora y el empaquetado.

Componentes:

1-. Tres maquinas : Las maquinas haran las galletas, la decoracion y el empaquetado
2-. Galletitas: El producto final

En este sistema de transiciones se componen de los siguientes estados:

1-.Máquina1: Representa el estado de la maquina1
2-.Máquina 2: Representa el estado de la maquina2
3-.Máquina 3: Representa el estado de la maquina3
4-.Bodega 1: Almacenaje de galletitas hechas
5-.Bodega 2: Almacenaje de galletitas decoradas

Aquí la representación de cada una de las compociciones:

Máquina 1:

la máquina pasa las galletitas terminadas a la bodega 1


Máquina 2:


Aquí la bodega  le manda una señal que tiene galletas listas y la Maquina 2 las recoge para decorarlas


Maquina 3:

Esta es parecida a la anterior con el mismo mecanismo, ya listas las galletas decoradas la Máquina 3 las decora y estan listas para su distribución.


Sistema de transferencia (Todo lo anterior unido):

(0,0,0,0,0) = (Máquina 1, Máquina 2, Máquina 3, Bodega 1, Bodega 2)
En cada Máquina el cero indica que no esta en operación y uno esta en operacón

En cada Bodega = Listo para transferencia = 1,  Falta producto = 0

Transferencia: (1,2,3) = (Pasar galletas, Dejar Galletas, Cambiar estado de maquinas)





Eso es todo quedo algo revuelto el sistema ya que son varios estados de cada una de las maquinas y de las bodegas.





lunes, 22 de octubre de 2012

Red Petri

Buenas para esta semana haremos lo que se llama Red de Petri

Una Red de Petri es una simulación de un sistema, con eventos de forma paralela, concurrente o de manera distribuida, puede ser representada tanto matemáticamente o gráficamente.

Estos sistemas por lo general están compuestos por:

Transiciones: Estas Transiciones están unidas por lo general a dos lugares o mas.
Lugares:  Son los estados del sistema.
Marcas: Representación de los objetos dentro de los lugares.


El sistema a simular es el uso de ventiladores de enfriamiento de "x" compañía
Contenido del sistema:

Ventilador1
Ventilador2
Ventilador3

Cada uno tendrá sus tres estados de prendidos
Prendido1 para el Ventilador1
Prendido2 para el Ventilador2
Prendido3 para el Ventilador3

El "Ventilador 1" estará prendido durante un período de tiempo y se apagará. Pasando el mismo tiempo volverá a funcionar.

El "Ventilador 2" estará prendido hasta cierto punto de calentamiento y regresará al trabajo cuando este frió nuevamente.

El "Ventilador 3" estará prendido solo si los primeros dos Ventiladores están apagados y este se apagará cuando uno de los otros dos regresen a funcionar.

Los demás estados

Apagado: Como su nombre lo indica, es el estado de apagado para los tres ventiladores

Descompuesto, Como su nombre indica es para representación de los ventiladores que ya no funcionan o no son operacionables.

Este sistema lo representamos con Python-snakes, esta librería es útil para formar diferentes redes de petri:

Aquí el código:


Aquí la imagen que nos genera:

Los cuadros son las diferentes transiciones  y los ovalos son los diferentes estados.

Refenrecias:
http://www.uhu.es/diego.lopez/AI/auto_trans-tema3.PDF
http://es.wikipedia.org/wiki/Red_de_Petri
Tutorial donde me base para hacer el código de python: TUTO




domingo, 7 de octubre de 2012

Aplicación de la lógica predicativa

Aplicaciones para la lógica predicativa:







Existen diferentes tipos de aplicaciones para la lógica predicativa, desde  teoremas matemáticos hasta resoluciones de problemas de la vida diaria.

En esta ocasión se hablara sobre los sistemas expertos y la manera en que se relaciona con la lógica predicativa.

Que son los sistemas expertos? 





Son aquellos problemas o sistemas que exigen un gran conocimiento y preparación de un tema en especifico, estos sistemas  tratan de simular la manera en que un humano lo resolvería y para realizar esto se necesitan diferentes tipos de reglas y cierto conocimiento del tema.

Existen diferentes tipos de sistemas expertos como lo son :


Basados en reglas previamente establecidas.
Basados en casos o CBR (Case Based Reasoning).
Basados en redes bayesianas.

Para la solución de cada uno de estos problemas se puede realizar mediante


1-. Aplicando diferente ramas de la lógica
2-. Aplicando redes bayesianas basada en estadística y en el mismo teorema bayesiana
3-. Aplicando el razonamiento basado en casos similares al problema a resolver


En  este caso nos enfocaremos mas en sistemas expertos con reglas previamente establecidos, ya que por lo general se resuelven utilizando diferentes ramas de lógicas.

En la medicina:
Esta lógica predicativa es realmente útil en áreas como la medicina,  para identificar diferentes tipos de enfermedades, separar conjuntos de individuos si tienen alguna enfermedad. Parentescos o predicciones si el siguiente heredero es varón o mujer.


Mas aplicaciones




También en sistemas de aeropuertos para separar los diferentes tipos de vuelos y rutas
Usando reglas como:

Si es el único avión en esa ruta
Si todos los aviones están en esa ruta
No hay ningún avión en esa ruta
Entre más.

Limitaciones de cualquier problema para realizar alguna meta en particular
Como por ejemplo reparar algo:

No hay esa herramienta en la caja
Hay pocos materiales en la caja
Si hay persones para arreglar el problema
Entre mas




Para realizar censos de diferentes poblaciones:




Ejemplo tomado de aqui: http://www.driverop.com.ar/textosutiles/lpo


Por ejemplo: "Para todo ciudadano ruso, si ha nacido antes de 2001, debería estar en el censo de 2002" Podemos usar predicados y decir "Para todo x ciudadano ruso(x), si año de nacimiento(x) < 2001, está en el censo(x, 2002)".

1-. ciudadano ruso(x): sería un predicado que dependiendo de x nos da "cierto" si x es un ciudadano ruso, y falso si no lo es.
2-. año_de_nacimiento(x): seria una función que nos da el año de nacimiento de x.
3-. está_en_el_censo(x, y): sería una función que dependiendo de x y de y, nos dice si x está en el censo que se ha hecho el año y.

Y mas que nada para sistemas expertos que se requiera separar grupos de personas o cosas, o unir con sus iguales.








Enlaces importantes y cosas buenas para leer:
http://www.cs.otago.ac.nz/cosc343/Lectures/l10.pdf
http://www.angelfire.com/ia3/aisite/logica.htm
http://www.driverop.com.ar/textosutiles/lpo
http://es.wikipedia.org/wiki/Sistema_experto

sábado, 15 de septiembre de 2012

Semana 6

Variables libres y ligadas

En esta semana nos toco escoger un problema del siguiente pdf y realizarlo:
Liga del pdf: http://www.logicinaction.org/docs/ch4.pdf


Ejercicio a realizar:


Exercise 4.27 Give the bound occurrences of x in the following formula.
∃x(Rxy v Sxyz) ^ P x

Traducción:

Dar a las ocurrencias ligados de x en la fórmula siguiente.
∃x(Rxy v Sxyz) ^ P x

Antes para poder ver mejor el problema sacamos su árbol o estructura:

En la primera sentencia con tres ocurrencias: "∃x(Rxy v Sxyz) " estan ligados x1, x2 y x3, por un cuantificador existencial

Segunda sentencia que es "Px" X es completamente libre de los demás ya  que no es en el ámbito de un cuantificador al igual que sus acompañantes "yz"



Referencia y ligas de interés:
http://en.wikibooks.org/wiki/Formal_Logic/Predicate_Logic/Free_and_Bound_Variables
http://en.wikipedia.org/wiki/Free_variables_and_bound_variables


domingo, 9 de septiembre de 2012

Logica predicativa

Aquí el ejercicio que me toco hacer para Verificación y Validación



"Some eggs are hard-boiled;
No eggs are uncrackable"


"Algunos huevos son duros;
No hay huevos que son irrompibles"



E(x) = eggs
H(x) = hard-boiled
U(x) = uncrackable
are = ->

Algo de teoría:


Some eggs are hard-boiled:


No eggs are uncrackable:

Entonces:
Si algunos no son duros y no rompibles no son huevos