logo

Lógica de Primeira Ordem em Inteligência Artificial

No tópico Lógica proposicional, vimos como representar declarações usando lógica proposicional. Mas infelizmente, na lógica proposicional, só podemos representar os factos, que são verdadeiros ou falsos. PL não é suficiente para representar sentenças complexas ou declarações em linguagem natural. A lógica proposicional tem um poder expressivo muito limitado. Considere a seguinte frase, que não podemos representar usando a lógica PL.

1 de 1000,00
    'Alguns humanos são inteligentes', ou 'Sachin gosta de críquete.'

Para representar as afirmações acima, a lógica PL não é suficiente, então precisamos de alguma lógica mais poderosa, como a lógica de primeira ordem.

Lógica de primeira ordem:

  • A lógica de primeira ordem é outra forma de representação do conhecimento em inteligência artificial. É uma extensão da lógica proposicional.
  • O FOL é suficientemente expressivo para representar as declarações da linguagem natural de forma concisa.
  • A lógica de primeira ordem também é conhecida como Lógica de predicados ou lógica de predicados de primeira ordem . A lógica de primeira ordem é uma linguagem poderosa que desenvolve informações sobre os objetos de uma forma mais fácil e também pode expressar o relacionamento entre esses objetos.
  • A lógica de primeira ordem (como a linguagem natural) não apenas assume que o mundo contém fatos como a lógica proposicional, mas também assume as seguintes coisas no mundo:
      Objetos:A, B, pessoas, números, cores, guerras, teorias, quadrados, poços, wumpus, ......
  • Relações: Pode ser uma relação unária, como: vermelho, redondo, é adjacente, ou n-qualquer relação, como: a irmã de, irmão de, tem cor, fica entreFunção:Pai de, melhor amigo, terceiro turno de, fim de, ......
  • Como linguagem natural, a lógica de primeira ordem também tem duas partes principais:
      Sintaxe
  • Semântica

    Sintaxe da lógica de primeira ordem:

    A sintaxe do FOL determina qual coleção de símbolos é uma expressão lógica na lógica de primeira ordem. Os elementos sintáticos básicos da lógica de primeira ordem são símbolos. Escrevemos declarações em notação abreviada em FOL.

    Elementos básicos da lógica de primeira ordem:

    A seguir estão os elementos básicos da sintaxe FOL:

    Constante 1, 2, A, John, Mumbai, gato,....
    Variáveis x, y, z, a, b,....
    Predicados Irmão, Pai, >,....
    Função sqrt, LeftLegOf, ....
    Conectivos ∧, ∨, ¬, ⇒, ⇔
    Igualdade ==
    Quantificador ∀, ∃

    Frases atômicas:

    • As sentenças atômicas são as sentenças mais básicas da lógica de primeira ordem. Essas sentenças são formadas a partir de um símbolo de predicado seguido por um parêntese com uma sequência de termos.
    • Podemos representar sentenças atômicas como Predicado (termo1, termo2, ......, termo n) .

    Exemplo: Ravi e Ajay são irmãos: => Irmãos(Ravi, Ajay).
    Chinky é um gato: => gato (Chinky)
    .

    Sentenças complexas:

    • Frases complexas são feitas combinando sentenças atômicas usando conectivos.

    As declarações lógicas de primeira ordem podem ser divididas em duas partes:

      Assunto:O assunto é a parte principal da declaração.Predicado:Um predicado pode ser definido como uma relação que une dois átomos em uma declaração.

    Considere a afirmação: 'x é um número inteiro.' , consiste em duas partes, a primeira parte x é o sujeito da declaração e a segunda parte 'é um número inteiro', é conhecida como predicado.

    Lógica de Primeira Ordem em Inteligência Artificial

    Quantificadores em lógica de primeira ordem:

    • Um quantificador é um elemento de linguagem que gera quantificação, e a quantificação especifica a quantidade de espécime no universo do discurso.
    • Estes são os símbolos que permitem determinar ou identificar o intervalo e o escopo da variável na expressão lógica. Existem dois tipos de quantificador:
        Quantificador Universal, (para todos, todos, tudo)
    • Quantificador existencial (para alguns, pelo menos um).

    Quantificador Universal:

    O quantificador universal é um símbolo de representação lógica, que especifica que a afirmação dentro de seu intervalo é verdadeira para tudo ou todas as instâncias de uma coisa específica.

    O quantificador Universal é representado por um símbolo ∀, que se assemelha a um A invertido.

    Nota: No quantificador universal usamos a implicação '→'.

    Se x é uma variável, então ∀x é lido como:

      Para todo x Para cada x Para cada x.

    Exemplo:

    Todo homem bebe café.

    Seja uma variável x que se refere a um gato para que todo x possa ser representado em UOD como abaixo:

    Lógica de Primeira Ordem em Inteligência Artificial

    ∀x homem(x) → bebida (x, café).

    Será lido como: Existem todos x onde x é um homem que bebe café.

    álgebra relacional em rdbms

    Quantificador Existencial:

    Quantificadores existenciais são o tipo de quantificadores que expressam que a afirmação dentro de seu escopo é verdadeira para pelo menos uma instância de algo.

    É denotado pelo operador lógico ∃, que se assemelha a E invertido. Quando é usado com uma variável predicada, é chamado de quantificador existencial.

    formatar uma data em java

    Nota: No quantificador existencial sempre usamos AND ou símbolo de conjunção (∧).

    Se x for uma variável, então o quantificador existencial será ∃x ou ∃(x). E será lido como:

      Existe um 'x'. Para algum 'x'. Por pelo menos um 'x'.

    Exemplo:

    Alguns meninos são inteligentes.

    Lógica de Primeira Ordem em Inteligência Artificial

    ∃x: meninos(x) ∧ inteligente(x)

    Será lido como: Existem alguns x onde x é um menino que é inteligente.

    Pontos para lembrar:

    • O principal conectivo para quantificador universal é implicação .
    • O principal conectivo para quantificador existencial é e .

    Propriedades dos quantificadores:

    • No quantificador universal, ∀x∀y é semelhante a ∀y∀x.
    • No quantificador existencial, ∃x∃y é semelhante a ∃y∃x.
    • ∃x∀y não é semelhante a ∀y∃x.

    Alguns exemplos de FOL usando quantificador:

    1. Todos os pássaros voam.
    Nesta questão o predicado é ' voar (pássaro) .'
    E como todos os pássaros voam, isso será representado da seguinte forma.
    ∀x pássaro(x) →voar(x) .

    2. Todo homem respeita seus pais.
    Nesta questão, o predicado é ' respeito (x, y),' onde x = homem e y = pai .
    Como existe todo homem, usaremos ∀, e será representado da seguinte forma:
    ∀x homem(x) → respeita (x, pai) .

    3. Alguns meninos jogam críquete.
    Nesta questão, o predicado é ' jogar (x, y) ,' onde x= meninos e y= jogo. Como há alguns meninos, então usaremos ∃, e será representado como :
    ∃x meninos(x) → brincar(x, críquete) .

    comprimento da string bash

    4. Nem todos os alunos gostam de Matemática e Ciências.
    Nesta questão, o predicado é ' like(x, y),' onde x= aluno e y= matéria .
    Como não há todos os alunos, usaremos ∀ com negação, então seguinte representação para isso:
    ¬∀ (x) [aluno(x) → gosto(x, Matemática) ∧ gosto(x, Ciências)].

    5. Apenas um aluno foi reprovado em Matemática.
    Nesta questão, o predicado é ' falhou (x, y),' onde x = aluno e y = matéria .
    Como há apenas um aluno reprovado em Matemática, usaremos a seguinte representação para isso:
    ∃(x) [aluno(x) → reprovou (x, Matemática) ∧∀ (y) [¬(x==y) ∧ aluno(y) → ¬reprovou (x, Matemática)] .

    Variáveis ​​livres e vinculadas:

    Os quantificadores interagem com variáveis ​​que aparecem de forma adequada. Existem dois tipos de variáveis ​​​​na lógica de primeira ordem, que são fornecidos a seguir:

    Variável Livre: Uma variável é considerada uma variável livre em uma fórmula se ocorrer fora do escopo do quantificador.

    Exemplo: ∀x ∃(y)[P (x, y, z)], onde z é uma variável livre.

    Variável vinculada: Uma variável é considerada uma variável ligada em uma fórmula se ocorrer dentro do escopo do quantificador.

    Exemplo: ∀x [A (x) B( y)], aqui xey são as variáveis ​​​​ligadas.