miércoles, 19 de septiembre de 2018

Sistemas basados en reglas




  • Sistema de reglas para identificacion de frutas

Base de hecho:

Reglas: 


Encadenamiento hacia adelante:


Encadenamiento hacia Atrás:


Encadenamiento hacia atrás:



  • Determinar el tipo de comida  y bebida en una cena con un invitado


Reglas:



Encadenamiento hacia atrás:



  • Determinar si se va a producir una inundacion o no y si es necesaria la evacuacion
Base de hechos:


Reglas:


Encadenamiento hacia atrás:






miércoles, 5 de septiembre de 2018

Heuristica Admisible, Monotona, Consistente y Heuristicas mas informadas


HEURISTICA

Admisible

Es una heurística usada para estimar el costo para llegar a la solución u objetivo. Siempre que el costo estimado sea menor o igual que el costo mínimo de alcanzar la solución, es una heurística admisible.  
H(n) < H*(n)
Donde:
  • ·         H(n)= Costo estimado
  • ·         H*(n)= Costo verdadedo para llegar a la solución

Usa un el algoritmo de heurística para encontrar la mejor estimación del problema inicial a el problema final donde desea llegar. Generalmente, esta heurística trabaja con problemas que se asemejan al problema inicial, pero utiliza menos restricciones.

Monótona
En esta heurística la búsqueda es admisible en todas partes, la búsqueda es monótona si cumple dos condiciones:
  1.  Para los estados de n(i) y n(j) se ejecuta que:


H(n(i)) – h(n(j)) < costo(n(j), n(i))
                Donde
·         n(j) son todos los sucesores de n(i)
·         costo (n(j), n(i)) es el costo actual, en los movimientos, para generar los sucesores de n(i)


      2. La heurística de la solución es igual a 0

                                                         Heurísticas consistentes


Una heurística es consistente si para cada nodo (n) y todos sus sucesores (n’) son generados por cualquier acción externa (A) y el costo estimado de alcanzar el nodo resultado desde el nodo principal, no es mayor que el costo de obtener los sucesores de n, mas el costo estimado de obtener el objetivo desde los nodos sucesores
h(n) < c(n, A, n’) + h(n’)
Las heurísticas consistentes son admisibles, pero no todas las heurísticas admisibles con consistentes. 

Heurísticas más informadas 
Esta heurística permite comparar diferentes heurísticas entre sí, evalúa cuál de ellas es más informada y determina cuál de ellas es más óptima para encontrar la mejor solución posible. Es decir, si una búsqueda heurística es más informada que otra, al hacer uso en  A*, se expandirán menos nodos durante la búsqueda porque lo hará por profundidad, y habrá nodos sucesores del problema inicial que no tendrá en cuenta.

Ejemplo de Heuristica:

Aplicaremos la heurística A* para el problema de los sapos y las ranas teniendo en cuenta que:
  • ·         f(n)= g(n) + h(n) y
  • ·         g(n)=1, siempre que un nodo genere sucesores
  • ·         la siguiente tabla:

       Aplicando el algoritmo, la prueba de escritorio quedaría:


y el grafo: 




Para los lectores interesados:




lunes, 3 de septiembre de 2018

Busqueda de costo uniforme

La busqueda ciega es aquella que llega a la respuesta seleccionando los nodos que tienen menos costo, se realizara un ejemplo con este grafo,donde el inicio es (A) y el final es (E) 
La prueba de escritorio de este algoritmo, priosizando el menor costo, quedaria asi:


los numeros en los parentesis indican el costo que le produce a cada nodo desplazarse.

martes, 28 de agosto de 2018

Prueba de escritorio-Busqueda por anchura y por profundidad

Búsqueda ciega por Anchura

  • Prueba de escritorio

  • Arbol
   

Búsqueda ciega por Profundidad
  • Prueba de escritorio




Los números después del punto, indican la posición de cada sucesión, por ejemplo, la suc1: 10122,01122,11220,11202- en este caso suc1.1 sería el primer número, es decir: 10122


  • Arbol


lunes, 20 de agosto de 2018

Frog Leap


Este juego consiste en pasar todos los sapos al lado izquierdo y todas las ranas al lado derecho.
    Estado inicial
                  Estado final




    Operadores

·         Saltar izquierda un espacio
·         Saltar derecha un espacio
·         Saltar izquierda dos espacios
·         Saltar derecha dos espacios


Espacios de estados







Problemas iniciales de Inteligencia Artificial


  •     Como se pueden poner 4 litros de agua en una jarra si solo se dispone de dos jarras de 3 y 5 litros y no se puede utilizar otro recipiente adicional. Como repartir equitativamente 8 litros de agua en dos jarras para que cada jarra contenga 4 litros si solo se dispone de la jarra de 8 litros, una de 3 y otra de 5 litros.  
                                                         Estado Inicial
A. 

Estado Final


           Operadores
  •     Vaciar jarra
  •      Transportar aga
  •      Llenar jarra  
           Estados:
           1. Vaciar jarra 3 litros
           2. transportar 1 litro de agua a jarra de 3 litros
           3. Jarra de 5 litros llena con 4 litros 

          B)
        Cada columna es una jarra indicada como 8, 5 y 3, los números debajo son los litros de agua que tengo y que voy pasando:
           8 - 5 - 3 → Jarras.
           8 - 0 - 0 → Estado inicial, jarra de 8 litros llena.
           5 - 0 - 3 → Lleno jarra de 3, me quedan 5 litros en la de 8.
           5 - 3 - 0 → Paso los 3 litros a la de 5.  
           2 - 3 - 3 →  Llena jarra de 3, me quedan 2 en la de 8.
           2 - 5 - 1 → Llena jarra de 5 con la de 3, me sobra 1 litro en la de 3.
           7 - 0 - 1 → Paso los 5 litros a la de 8.
           7 - 1 - 0 → Paso de litro de la jarra de 3 a la de 5.
           4 - 1 - 3 → Estado final, lleno la jarra de 3 litros, la de 8 me queda con 4 litros, el resultado esperado.
   
    Operadores:
    Llenar jarra 1.
    Llenar jarra 2. 
    Llenar jarra 3. 
    Transportar agua.
    Vaciar jarra 1.
    Vaciar jarra 2.
    Vaciar jarra 3. 
    Espacio de Estados: 9
  •     Problema propuesto por Einstein y traducido a varios idiomas conservando su lógica. Einstein aseguraba que el 98% de la población mundial sería incapaz de resolverlo. Yo creo que Vd. es del 2% restante. Inténtelo y verá como tengo razón.

      Datos  

           1.    El noruego vive en la primera casa, junto a la casa azul.
           2.    El que vive en la casa del centro toma leche.
           3.    El inglés vive en la casa roja.
           4.    La mascota del Sueco es un perro.  
           5.    El Danés bebe té.  
           6.    La casa verde es la inmediata de la izquierda de la casa blanca.
           7.    El de la casa verde toma café.
           8.    El que fuma PallMall cría pájaros.
           9.    El de la casa amarilla fuma Dunhill.
         10.    El que fuma Blend vive junto al que tiene gatos.
         11.    El que tiene caballos vive junto al que fuma Dunhill.
         12.    El que fuma BlueMaster bebe cerveza.
         13.    El alemán fuma Prince.
         14.    El que fuma Blend tiene un vecino que bebe agua.

         ¿Quién tiene peces por mascota?

                Estado Final
                


              




                 Operadores
·         Ubicar nacionalidad
·         Ubicar Color casa
·         Ubicar bebida
·         Ubicar Mascota
·         Ubicar Cigarrillos
·         Cambiar nacionalidad
·         Cambiar Color casa
·         Cambiar bebida
·         Cambiar Mascota
·         Cambiar Cigarrillos

Espacios de estados: 24! + 1

martes, 14 de agosto de 2018

Problema

Hay dos habitaciones sucias, una de ella tiene una aspiradora, la cual es la encargada de limpiar la basura de las dos habitaciones, realice un codigo, que haga este procecimiento, tenga encuenta que hay una puerta en medio de las habitaciones


Respuesta:

El codigo en el lenguaje c++ quedaria de la siguiente manera
#include <iostream>

using namespace std;

main(){
int habitacion[2];
habitacion[0]=1;
habitacion[1]=1;
cout<<"Estado incial: \nHabitacion 1, esta sucia \nHabitacion 2, esta sucia";
//limpiar//
for (int i=0; i<2; i++){
habitacion[0]=0;
cout<<"\n\nHabitacion " <<i+1<<" esta limpia ";
if(habitacion[0]=0){
habitacion[1]=0;
}
}
}