Ingeniería del conocimiento

                         Lógica de predicados




                         Ing. Alberto González




       UNIVERSIDAD COOPERATIVA DE COLOMBIA

                 Facultad de Ingeniería de Sistemas

                           Popayán (Cauca)

                            Febrero 2011.



C6    C5            C4              C1            C2    C3    P1
                                    ROBOT
C7    C8            C9              C10           C4    C12
C13   C14           C15        P2   C16           C17   C18
C19   C20   P3      C21             C22           C23   C24
C25            C26             C27           C28       C29           C30
                                                                     CANAS


   -    Hay 30 casillas
   -    Hay tres bolas
   -    Hay un robot
   -    Hay una canasta
   -    Una bola en la casilla C3
   -    Una bola en la casilla C15
   -    Una bola en la casilla C20
   -    Caminos donde camina el robot
   -    El robot está en la casilla C1
   -    La canasta está en la casilla C30.

        Es_ un (p1, bola)
        Es_un (r, robot)
        Es_un (can, canasta)
        Es_un (p2, bola)
        Es_un (p3, bola)
        Es_un (C30, canasta)

       Esta_en (P1, C3)

       Esta_en (p2, C15)

       Esta_en (p3, C2)

       Esta_en (R, C1)

       Esta_en (can, C30)

Ejercicio: laberinto robot encuentra la pelota y hace el recorrido hasta
encontrar la canasta donde la insertara.

Definiendo que si el robot está en una casilla y no hay barrera debe moverse
directamente.
Términos: Datos

        R:Robot
        P1: Bola 1
        p2:Bola2
p3:bola 3
          Can: Canasta
          Cn: Casilla n (final)

Reglas:

*     ?R ?Cx ?Cy

Es_un (?R, Robot)

Es_una (?Cx, Casilla)

Es_adyacente (?Cx, Cy)

Esta_en (?R, ?Cx)

Esta_en (?R, ?Cy)




*     ?R ?Cx ?Cy

Es_un (?R, Robot)

Es_una (?Cx, Casilla)

Es_adyacente (?Cx,? Cy)

Esta_en (?R, ?Cx) AND Esta_en(P1, ?Cx)



→

Tiene (?R, P1)

Es_adyacente (?Cx, ?Cy)

Esta_en (?R, ?Cx) AND Esta_en(Ck, ?Cx) AND Tiene (?R, P1)
→

InserteP1_en (?R, Can)



*      ?R ?Cx ?Cy

Es_un (?R, Robot)

Es_una (?Cx, Casilla)

Es_adyacente (?Cx,? Cy)

Esta_en (?R, ?Cx) AND Esta_en(P2, ?Cx)

→

Tiene (?R, P2)

Es_adyacente (?Cx, ?Cy)

Esta_en (?R, ?Cx) AND Esta_en(Ck, ?Cx) AND Tiene (?R, P2)

→

InserteP2_en (?R, Can)



*     ?R ?Cx ?Cy

Es_un (?R, Robot)

Es_una (?Cx, Casilla)

Es_adyacente (?Cx,? Cy)

Esta_en (?R, ?Cx) AND Esta_en(P3, ?Cx)

→

Tiene (?R, P3)

Es_adyacente (?Cx, ?Cy)

Esta_en (?R, ?Cx) AND Esta_en(Can, ?Cx) AND Tiene (?R, P3)

→
InserteP3_en (?R, Can)

*     ?R ?Cx ?Cy

Es_un (?R, Robot)

Es_una (?Cx, Casilla)

Es_adyacente (?Cx, Cy)

Esta_en (?R, ?Cx) AND Esta_Can_en(?Cx)

Termina_en(?R,Cn)

Logica de Predicados

  • 1.
    Ingeniería del conocimiento Lógica de predicados Ing. Alberto González UNIVERSIDAD COOPERATIVA DE COLOMBIA Facultad de Ingeniería de Sistemas Popayán (Cauca) Febrero 2011. C6 C5 C4 C1 C2 C3 P1 ROBOT C7 C8 C9 C10 C4 C12 C13 C14 C15 P2 C16 C17 C18 C19 C20 P3 C21 C22 C23 C24
  • 2.
    C25 C26 C27 C28 C29 C30 CANAS - Hay 30 casillas - Hay tres bolas - Hay un robot - Hay una canasta - Una bola en la casilla C3 - Una bola en la casilla C15 - Una bola en la casilla C20 - Caminos donde camina el robot - El robot está en la casilla C1 - La canasta está en la casilla C30. Es_ un (p1, bola) Es_un (r, robot) Es_un (can, canasta) Es_un (p2, bola) Es_un (p3, bola) Es_un (C30, canasta) Esta_en (P1, C3) Esta_en (p2, C15) Esta_en (p3, C2) Esta_en (R, C1) Esta_en (can, C30) Ejercicio: laberinto robot encuentra la pelota y hace el recorrido hasta encontrar la canasta donde la insertara. Definiendo que si el robot está en una casilla y no hay barrera debe moverse directamente. Términos: Datos R:Robot P1: Bola 1 p2:Bola2
  • 3.
    p3:bola 3 Can: Canasta Cn: Casilla n (final) Reglas: * ?R ?Cx ?Cy Es_un (?R, Robot) Es_una (?Cx, Casilla) Es_adyacente (?Cx, Cy) Esta_en (?R, ?Cx) Esta_en (?R, ?Cy) * ?R ?Cx ?Cy Es_un (?R, Robot) Es_una (?Cx, Casilla) Es_adyacente (?Cx,? Cy) Esta_en (?R, ?Cx) AND Esta_en(P1, ?Cx) → Tiene (?R, P1) Es_adyacente (?Cx, ?Cy) Esta_en (?R, ?Cx) AND Esta_en(Ck, ?Cx) AND Tiene (?R, P1)
  • 4.
    → InserteP1_en (?R, Can) * ?R ?Cx ?Cy Es_un (?R, Robot) Es_una (?Cx, Casilla) Es_adyacente (?Cx,? Cy) Esta_en (?R, ?Cx) AND Esta_en(P2, ?Cx) → Tiene (?R, P2) Es_adyacente (?Cx, ?Cy) Esta_en (?R, ?Cx) AND Esta_en(Ck, ?Cx) AND Tiene (?R, P2) → InserteP2_en (?R, Can) * ?R ?Cx ?Cy Es_un (?R, Robot) Es_una (?Cx, Casilla) Es_adyacente (?Cx,? Cy) Esta_en (?R, ?Cx) AND Esta_en(P3, ?Cx) → Tiene (?R, P3) Es_adyacente (?Cx, ?Cy) Esta_en (?R, ?Cx) AND Esta_en(Can, ?Cx) AND Tiene (?R, P3) →
  • 5.
    InserteP3_en (?R, Can) * ?R ?Cx ?Cy Es_un (?R, Robot) Es_una (?Cx, Casilla) Es_adyacente (?Cx, Cy) Esta_en (?R, ?Cx) AND Esta_Can_en(?Cx) Termina_en(?R,Cn)