logo

Lógica de primer orden en inteligencia artificial

En el tema de lógica proposicional, hemos visto cómo representar declaraciones usando lógica proposicional. Pero desafortunadamente, en lógica proposicional, sólo podemos representar los hechos que son verdaderos o falsos. PL no es suficiente para representar oraciones complejas o declaraciones en lenguaje natural. La lógica proposicional tiene un poder expresivo muy limitado. Considere la siguiente oración, que no podemos representar usando la lógica PL.

procesamiento en paralelo
    'Algunos humanos son inteligentes', o 'A Sachin le gusta el cricket'.

Para representar las declaraciones anteriores, la lógica PL no es suficiente, por lo que necesitamos una lógica más poderosa, como la lógica de primer orden.

Lógica de primer orden:

  • La lógica de primer orden es otra forma de representación del conocimiento en inteligencia artificial. Es una extensión de la lógica proposicional.
  • FOL es lo suficientemente expresivo como para representar las declaraciones en lenguaje natural de forma concisa.
  • La lógica de primer orden también se conoce como Lógica de predicados o lógica de predicados de primer orden . La lógica de primer orden es un lenguaje poderoso que desarrolla información sobre los objetos de una manera más sencilla y también puede expresar la relación entre esos objetos.
  • La lógica de primer orden (como el lenguaje natural) no sólo supone que el mundo contiene hechos como la lógica proposicional, sino que también supone las siguientes cosas en el mundo:
      Objetos:A, B, personas, números, colores, guerras, teorías, cuadrados, fosos, wumpus, ......
  • Relaciones: Puede ser una relación unaria como por ejemplo: rojo, redondo, es adyacente, o n-cualquier relación como: la hermana de, hermano de, tiene color, se interponeFunción:Padre de, mejor amigo, tercera entrada de, final de, ......
  • Como lenguaje natural, la lógica de primer orden también tiene dos partes principales:
      Sintaxis
  • Semántica

    Sintaxis de la lógica de primer orden:

    La sintaxis de FOL determina qué colección de símbolos es una expresión lógica en lógica de primer orden. Los elementos sintácticos básicos de la lógica de primer orden son los símbolos. Escribimos declaraciones en notación abreviada en FOL.

    Elementos básicos de la lógica de primer orden:

    Los siguientes son los elementos básicos de la sintaxis FOL:

    Constante 1, 2, A, John, Mumbai, gato,....
    variables x, y, z, a, b,....
    Predicados Hermano, Padre, >,....
    Función raíz cuadrada, pierna izquierda de, ....
    Conectivos ∧, ∨, ¬, ⇒, ⇔
    Igualdad ==
    Cuantificador ∀, ∃

    Oraciones atómicas:

    • Las oraciones atómicas son las oraciones más básicas de la lógica de primer orden. Estas oraciones se forman a partir de un símbolo de predicado seguido de un paréntesis con una secuencia de términos.
    • Podemos representar oraciones atómicas como Predicado (término1, término2, ......, término n) .

    Ejemplo: Ravi y Ajay son hermanos: => Hermanos (Ravi, Ajay).
    Chinky es un gato: => gato (Chinky)
    .

    Oraciones complejas:

    • Las oraciones complejas se forman combinando oraciones atómicas usando conectivos.

    Las declaraciones lógicas de primer orden se pueden dividir en dos partes:

      Sujeto:El tema es la parte principal de la declaración.Predicado:Un predicado se puede definir como una relación que une dos átomos en una declaración.

    Considere la afirmación: 'x es un número entero'. , consta de dos partes, la primera parte x es el sujeto del enunciado y la segunda parte 'es un número entero', se conoce como predicado.

    Lógica de primer orden en inteligencia artificial

    Cuantificadores en lógica de primer orden:

    • Un cuantificador es un elemento del lenguaje que genera cuantificación, y la cuantificación especifica la cantidad de muestra en el universo del discurso.
    • Estos son los símbolos que permiten determinar o identificar el rango y alcance de la variable en la expresión lógica. Hay dos tipos de cuantificadores:
        Cuantificador Universal, (para todos, todos, todo)
    • Cuantificador existencial, (para algunos, al menos uno).

    Cuantificador universal:

    El cuantificador universal es un símbolo de representación lógica, que especifica que la afirmación dentro de su rango es verdadera para todo o cada instancia de una cosa en particular.

    El cuantificador universal está representado por un símbolo ∀, que se asemeja a una A invertida.

    edad de shilpa shetty

    Nota: En el cuantificador universal usamos la implicación '→'.

    Si x es una variable, entonces ∀x se lee como:

      para todos x por cada x Por cada x.

    Ejemplo:

    Todo hombre bebe café.

    Sea una variable x que se refiera a un gato para que todas las x puedan representarse en UOD como se muestra a continuación:

    Lógica de primer orden en inteligencia artificial

    ∀x hombre(x) → beber (x, café).

    Se leerá como: Hay todos x donde x es un hombre que toma café.

    Cuantificador existencial:

    Los cuantificadores existenciales son el tipo de cuantificadores que expresan que la afirmación dentro de su alcance es verdadera para al menos una instancia de algo.

    Se denota por el operador lógico ∃, que se asemeja a una E invertida. Cuando se usa con una variable predicada, se le llama cuantificador existencial.

    Nota: En el cuantificador existencial siempre usamos AND o símbolo de conjunción (∧).

    Si x es una variable, entonces el cuantificador existencial será ∃x o ∃(x). Y se leerá como:

      Existe una 'x'. Para alguna 'x'. Para al menos una 'x'.

    Ejemplo:

    Algunos chicos son inteligentes.

    impresión java
    Lógica de primer orden en inteligencia artificial

    ∃x: chicos(x) ∧ inteligente(x)

    Se leerá como: Hay algunos x donde x es un niño que es inteligente.

    Puntos para recordar:

    • El conectivo principal del cuantificador universal. es implicación .
    • El principal conectivo del cuantificador existencial. es y .

    Propiedades de los cuantificadores:

    • En cuantificador universal, ∀x∀y es similar a ∀y∀x.
    • En el cuantificador existencial, ∃x∃y es similar a ∃y∃x.
    • ∃x∀y no es similar a ∀y∃x.

    Algunos ejemplos de FOL usando cuantificador:

    1. Todos los pájaros vuelan.
    En esta pregunta el predicado es ' volar (pájaro) .'
    Y como hay todos pájaros que vuelan así se representará de la siguiente manera.
    ∀x pájaro(x) →volar(x) .

    2. Todo hombre respeta a sus padres.
    En esta pregunta, el predicado es ' respeto(x, y),' donde x=hombre, y y= padre .
    Como existe todo hombre usará ∀, y se representará de la siguiente manera:
    ∀x man(x) → respeta (x, padre) .

    3. Algunos niños juegan al cricket.
    En esta pregunta, el predicado es ' jugar(x,y) ,' donde x= niños e y= juego. Ya que hay algunos chicos entonces usaremos ∃, y se representará como :
    ∃x chicos(x) → jugar(x, cricket) .

    4. No a todos los estudiantes les gustan tanto las Matemáticas como las Ciencias.
    En esta pregunta, el predicado es ' like(x, y),' donde x= estudiante e y= materia .
    Como no hay todos los estudiantes, usaremos ∀ con negación, entonces siguiente representación para esto:
    ¬∀ (x) [ estudiante(x) → like(x, Matemáticas) ∧ like(x, Ciencias)].

    5. Sólo un estudiante reprobó en Matemáticas.
    En esta pregunta, el predicado es ' fallido(x, y),' donde x= estudiante e y= materia .
    Dado que solo hay un estudiante que reprobó en Matemáticas, usaremos la siguiente representación para esto:
    ∃(x) [ estudiante(x) → reprobado (x, Matemáticas) ∧∀ (y) [¬(x==y) ∧ estudiante(y) → ¬reprobado (x, Matemáticas)] .

    Variables libres y vinculadas:

    Los cuantificadores interactúan con variables que aparecen de forma adecuada. Hay dos tipos de variables en la lógica de primer orden que se detallan a continuación:

    Variable libre: Se dice que una variable es libre en una fórmula si ocurre fuera del alcance del cuantificador.

    hacer bucle while en java

    Ejemplo: ∀x ∃(y)[P (x, y, z)], donde z es una variable libre.

    Variable vinculada: Se dice que una variable es una variable ligada en una fórmula si ocurre dentro del alcance del cuantificador.

    Ejemplo: ∀x [A (x) B( y)], aquí xey son las variables ligadas.