martes, 13 de noviembre de 2012

Tarea 11

Logica Temporal Lineal:
La lógica temporal es una extensión de la lógica modal, la cual es prácticamente usada en sistema de reglas, donde esta presente el tiempo.Wikipedia

Connectives and Temporal Operators


Como ejemplo tomaré los enunciados:

1.-At some point, i will hold forever
Solucion


2.-If a student forgets a coin in the coin slot, she (or another student) will use this coin to get a drink before any professor can do this.
Solucion:
(sfc(¬pct R eac))
sfc : student forgets a coin
eac: Student uses coin
pct :professor uses coin

Referencias:
Enlace 1
Enlace 2

sábado, 3 de noviembre de 2012

Tarea 10 Propiedades de modelos de verificacion

Para esta semana se nos pide Inventar una expresion w-regular y crear un NBA(Non-deterministic Buchi Automata)

En ciencias de la computación y la teoría de autómatas , un autómata Büchi es un tipo de autómata , que se extiende un autómata finito a los insumos infinitas. Acepta una infinita secuencia de entrada si y sólo si existe una ejecución del autómata que visita (al menos) uno de los estados finales infinitas veces. 
  • Contener por lo menos 2 Simbolos
  • Contener por lo menos 2 operadores
Solucion:

Expresion:




Representacion NBA :
Donde
Q = {q0.q1,q2,q3} Conjunto de Estados
S={q0} Estado Inicial
F={q0,q1,q3}Estados Finales
Σ = {a,b} Alfabeto de Entrada



Nota:
* Es para encontrar algo que se encuentra repetido 0 o mas veces
+ se encuentra repetido 1 o mas veces
.  cualquier caracter individual solo el salto de linea

Referencias:
http://web.ing.puc.cl/~marenas/iic3800/clases/automata-1-imp.pdf

lunes, 29 de octubre de 2012

Sistema de Transiciones

  •  La tarea consiste en :
  • Inventar un ejemplo simple.
  • Modélar  un sistema de transiciones o un grafo de programa.
Solucion:

Inventar ejemplo Simple:
Se me ocurrio un ejemplo simple de transferencia de archivos por ejemplo NFS con Login:

Modélar  un sistema de transiciones:

Sistema simple de transferencia de archivos por ejemplo NFS con Login



Estado
Transicion
Proximo Estado
login
Error Login
login
Login Exitoso
Transferencia Archivo
Transferencia
Archivo
/dir
Transferencia Archivo
get
Transferencia Archivo
salir
quitar
logout
login


Otro sistema  seria el de una terminal de recarga de un sistema de prepago :












martes, 23 de octubre de 2012

Red Petri

La tarea consiste en :
  • Investigar un poco sobre Redes Petri
  • Inventar un pequeño sistema concurrente
  • Modelar la Red Petri en Python, utilizando python-snakes

Para esto usaremos  python y el paquete snakes-python lo puedes descargar en el siguiente enlace:

Tutorial:

Definicion Red Petri:
Es una representación matemática o gráfica de un sistema a eventos discretos en el cual se puede describir la topología de un sistema distribuido, paralelo o concurrente. Son una generalización de la teoría de autómatas que permite expresar un sistema a eventos concurrentes. 

Una red de Petri es un grafo orientado con dos tipos de nodos: lugares (representados mediante circunferencias) y transiciones (representadas por segmentos rectos verticales).

Para esta tarea hice una red petri sencilla en donde se modela :
sistema de entrada y salida de vehiculos con una tarjeta RFID

http://wabingenieria.com/usos-rfid/


Codigo python
Resultado:




Referencias:
http://code.google.com/p/python-snakes/source/browse/doc/tutorial.txt?spec=svn.abcd.b7e58afd5c1b845899816065fff49d782e02a56b&repo=abcd&r=b7e58afd5c1b845899816065fff49d782e02a56b
http://www.uhu.es/diego.lopez/AI/auto_trans-tema3.PDF
http://www.ibisc.univ-evry.fr/~fpommereau/snakes-api/snakes.plugins.gv-module.html

sábado, 6 de octubre de 2012

Aplicaciones de la lógica predicativa

Esta tarea es  investigar una aplicación de la logica predicativa escogí el tema de Agentes Inteligentes



Un agente puede considerarse como aquel objeto que percibe su ambiente y que responde o actúa en dicho ambiente. Percibe por medio de sensores; en los humanos, los sensores son: ojos, oídos, olfato, tacto,... Respondemos por medio de efectores como: manos, pierna, boca. En una máquina, estos efectores son motores; en un programa son acciones. Un agente robótico tiene como sensores cámaras , infrarrojos, y los motores 

un agente racional deberá emprender todas aquellas acciones que favorezcan obtener el máximo de su medida de rendimiento, basándose en el conocimiento y en las percepciones. El concepto de agente permite pensar en él como herramienta para el análisis de sistemas inteligentes.  
Una vez que se ha visualizado que el comportamiento de un agente depende exclusivamente de la secuencia de percepciones en un momento dado, podemos elaborar una tabla de acciones que podría realizar un agente a partir de un conjunto de percepciones. Especificar qué tipo de acción deberá emprender un agente como respuesta a una determinada secuencia de percepciones es el diseño de un agente. 

El agente debe basarse exclusivamente en el conocimiento integrado. se dice que el agente no tiene autonomía, pero podemos decir que un sistema será autónomo en la medida en que su conducta está definida por su propia experiencia. como la evolución nos ha de eventos que facilitan sobrevivir hasta aprender correctamente, también se crearán agentes inteligentes (artificiales) con cierto conocimiento inicial y de capacidad para aprender.

La intención de la IA es diseñar agentes "(programas) con autonomía, ejecutándose en algún hardware (arquitectura). En general, el hardware pone al alcance del agente percepciones obtenidas mediante los sensores; lo ejecuta y alimenta con las acciones seleccionadas

El ambiente plantea tantos desafíos que algunas veces resulta muy difícil para un software desempeñarse adecuadamente.

función agente(percepciones) retornar acción memoria:
    memoria <- actualizar_memoria(memoria, percepciones) 
    acción <- escojer_mejor_acción(memoria)
    memoria <- actualizar_memoria(memoria, acción)

    retornar acción 


ejemplo se construye agentes teniendo como base la función agente Sea un agente conducido por una tabla:

función agente_conducido_por_ tabla(percepciones) retornar acción percepciones:
   añadir percepción al final de la percepciones
   acción <- consulta(percepciones, tabla) retornar acción

el agente es un taxista requiere saber cómo es el recorrido, quién más circula en la vía, a qué velocidad puede desplazarse. Claro que esta información la obtiene de percepciones que ofrecen: cámaras, velocímetro, contador. Sin olvidar que debe conocer el estado del vehículo, lo cual lo logra por medio de sensores. También contará con dispositivos que le permiten comunicarse con los pasajeros, quienes le informaran cuál es el destino. las acciones deben de ser las mismas frenar,acelerar

¿Cuál sería la medida de desempeño? Entre las medidas deseables es llegar al destino correcto, no realizar violaciones de tránsito ni molestias a otros conductores, ofrecer seguridad y comodidad a los pasajeros,...

Sin embargo, es necesario definir el ambiente en el cual se ha de movilizar. ¿Calles con huecos?, ¿vía circunvalar?, ¿autopista del norte?, ¿poco o mucho tránsito?, ¿con semáforos o sin semáforos?

se selecciona para ejemplo :
* Agentes de reflejo simple.

Agentes de reflejo simple

Estara estructurado por un conjunto de reglas de condición-acción, tal como se hacen los choferes

SI semáforo en amarillo ENTONCES empezar a frenar.
SI carro adelante prende stop ENTONCES empezar a frenar.
SI calle cerrada ENTONCES gire en dirección permitida.
SI dirección permitida es derecha ENTONCES girar derecha.
SI ambas direcciones permitidas ENTONCES girar lado inmediato.


función agente_reflejo_simple(percepciones) retornar acción 
     percepciones:
     reglas:
     estado <- interpretar_entrada(percepciones) 

     regla <- regla_coincidencia(estado, reglas) 
     acción <- regla_acción(regla)
retornar acción 


Referencias.
http://www.uv.es/~jkliment/Documentos/TeoMod.pc.pdf
http://www.depi.itch.edu.mx/apacheco/expo/html/ai12/
http://www.aic.uniovi.es/ssii/SSII-T1-Introduccion.pdf


domingo, 9 de septiembre de 2012

Lógica Predicativa



Se selecciono  un ejercicio del libro  Lean Symbolic Logic de Lewis Carroll
Los enunciados  son los siguientes:



Texto 
Bores are dreaded;
No bore is ever begged to prolong his visit.
    No one, who is dreaded, is ever begged to prolong his visit.



El Universo son las personas. las siguientes expresiones donde la x es una variable que tendra valores en un cuantificador.

A(x): Bores
B(X):Dreaded
C(X):Begged to prolong his visits

Cuantores:
: Cuantificador Universal Todos, para todos
: Cuantificador Existencial Por lo menos uno, algunos, algunas

Se sustituira los enunciados con cuantores lógicos y usando las expresiones.
  • Bores are dreaded = A(x)→B(x)
  • No bore is ever begged to prolong his visit .=¬A(x)→C(x)
  • No one, who is dreaded, is ever begged to prolong his visit. =: ¬B(x)→C(x)


Conclusion:
Some  dreaded  persons are not begged to prolong their visits.


∃(x)B(x)¬C(x)



martes, 4 de septiembre de 2012

BDD

Para la Tarea 4 se pidió lo siguiente:
  • Inventen una expresión Booleana.
  • Construyan y dibujen su BDD.
  • Reduzcan el BDD resultante a un ROBDD.
  • Dibujen el ROBDD resultante.


La expresión booleana que uso es la siguiente:


¬(a ^¬ b) => ¬ c


Tabla de verdad

Binary decision tree

[Binary decision tree]

BDD Y ROBDD
BDD
ROBD



Referencias:
http://www.cs.unb.ca/~gdueck/courses/cs4835/bdd97.pdf