Transcript
  • Introduo Lgica de

    Predicados

    Prof. Ledn, 2015.

  • Sobre a Lgica de Predicados (parte I)

    A Lgica de Primeira Ordem (LPO) ou Lgica de Predicados, tambmconhecida como Clculo de Predicados de Primeira Ordem (CPPO) ousimplesmente Clculo de Predicados, considerada usualmente como umaextenso da Lgica Proposicional. As possibilidades da lgica de predicadosso superiores s da lgica proposicional (veremos nos prximos slides).

    A lgica de predicado uma forma de armazenar conhecimento (dados eregras para raciocnio lgico ou inferncia).

    O elemento fundamental da lgica de predicados o predicado. Podemosconsiderar o predicado como uma funo, que poder ter uma lista deparmetros ou argumentos e que retornar um valor lgico (verdadeiro oufalso). Se comparado com funes/mtodos de Java e de outras linguagens deprogramao ou funes matemticas que podem retornar valores numricos,Strings etc.: um predicado sempre retornar um valor lgico (verdadeiro ou falso).

    Em lgica de predicados podemos utilizar todos os operadores da lgicaproposicional:

    conjuno, operao E

    disjuno, operao OU

    ~ negao, operao NO, em alguns textos usam

    condicional, por exemplo, p q, se p ento q bicondicional, por exemplo, p q, p se e somente se q( ) , para agrupao de termos (prioridade) e , para separao

    < > = + - operadores de relao e aritmticos

  • Sobre a Lgica de Predicados (parte II)

    Na lgica de predicados tambm so permitidos os chamadosquantificadores. A quantificao uma construo que especifica para quaisindivduos de um domnio de discurso se aplica uma proposio lgica. Osquantificadores e so utilizados para este objetivo.

    x significa "para todo o x", "para qualquer x", "qualquer que seja x"

    ou seja, exprime fatos sobre todos os objetos do universo

    x significa "existe um x", "existe algum x", "existe pelo menos um x"

    ou seja, exprime fatos sobre objetos particulares

    O quantificadores e so conhecidos como quantificador universal eexistencial, nessa ordem. A utilizao de quantificadores permite uma melhordescrio da situao que necessitamos representar, isto , so elementos queajudam no sentido de uma melhor compreenso do problema.

    A prioridade dos operadores bsicos e quantificadores a seguinte:

    ( ) maior prioridade

    ~

    menor prioridade

    O escopo dos quantificadores e argumentos a proposio lgica onde elesso utilizados.

  • Sobre a Lgica de Predicados (parte III)

    Com um predicado podemos estabelecer facilmente uma caracterstica ou propriedade para um argumento, em forma de fato (argumento fixo) ou utilizando uma varivel (generalizao). Observe a utilizao de variveis com letras minsculas e a utilizao de nomes prprios (em casos de pessoas, pases, cidades etc.) com letra inicial maiscula:

    homem(Jorge) fato que afirma que Jorge um homem

    mulher(Renata) fato que afirma que Renata uma mulher

    objeto(mesa) neste caso no utilizamos letra maiscula inicial

    x: homem(x) ~mulher(x) proposio lgica que afirma que "qualquer

    que seja x, se x homem ento x no mulher

    Com um predicado podemos estabelecer facilmente relacionamentos entre argumentos, seja com fatos ou com proposies lgicas com parmetros, que generalizam uma afirmao:

    capital(Brasil, Braslia) fato: "a capital do Brasil Braslia

    capital(Cuba, Havana) fato: "a capital de Cuba Havana

    p: c: capital(p,c) cidadeImportante(c) "para qualquer p e para qualquer c,

    se c a capital de p, ento c uma

    cidade importante"

  • Sobre a Lgica de Predicados (parte IV)

    Raciocnio probabilstico

    Lida com a incerteza.

    Raciocnio incerto.

    Utilizao com base na teoria

    da probabilidades, Regra de

    Bayes, Redes bayesianas

    para raciocinar sob a

    incerteza.

    Regras de produo.

    Raciocnio aproximado

    Lida com a impreciso, com

    conhecimento vago, falto de

    preciso.

    Utilizao com base nos

    conjuntos difusos e a lgica

    difusa.

    Incerteza e impreciso so coisas diferentes segundo o ponto de vista da IA, ainda

    que na lngua portuguesa esses termos sejam considerados como sinnimos.

    A lgica de predicados no est preparada para lidar com a

    incerteza, nem com a impreciso.

  • Exemplo

    progenitor (Ana, Pedro)

    progenitor (Pedro, Rosa)

    progenitor (Luis,Leila)

    .....

    progenitor (Carlos,Heitor)

    homem (Pedro)

    homem(Luis)

    mulher(Ana)

    mulher(Rosa)....

    x: y: progenitor(x,y) ^ mulher (x) me(x,y)

    significado em portugus:

    para todo x, para todo y, se x for progenitor de y e x for mulher,

    ento x me de y

    x: y: progenitor(x,y) ^ homem (x) pai(x,y)

  • Exemplo

    Exerccio (continuao do anterior): definir em lgica de predicados: av,

    irmos, tio e primos. Obs: nas novas proposies lgicas poder utilizar as

    que foram definidas anteriormente.

    Resposta

    x: y: z: progenitor(x,y) ^ progenitor(y,z) ^ homem (x) av(x,z)

    x: y: z: progenitor(x,y) ^ progenitor(x,z) irmos(y,z)

    x: y: a: b:

    progenitor(x,y) ^ progenitor(a,b) ^ irmaos(x,a) primos(y,b)

    x: a: b: progenitor(a,b) ^ irmaos(a,x) tio(x,b)

  • Exerccios com lgica

    de predicados

  • Exerccio 1

    Com fatos (axiomas) com a estrutura seguinte:

    populacao(nome da cidade, populao da cidade)

    capital (nome do pas, nome da cidade)

    por exemplo: ou com strings:

    populacao(Campinas, 2000000) populacao(Campinas, 2000000)

    populacao(SaoPaulo, 15000000) populacao(So Paulo, 15000000)

    populacao(Lima,1500000) .....

    populacao(Braslia, 3000000)

    capital(Brasil,Braslia)

    capital(Peru,Lima)

    ......

    Defina, utilizando lgica de predicados:

    a) cidade grande (uma cidade que tenha mais de 2.500.000 habitantes)

    b) capital importante (capitais com mais de 2.500.000 habitantes)

  • Resposta do Exerccio 1

    populacao(Campinas, 2000000)

    populacao(SaoPaulo, 15000000)

    populacao(Lima,1500000)

    populacao(Braslia, 3000000)

    populacao(Havana, 2000000)

    capital(Brasil,Braslia)

    capital(Peru,Lima)

    capital(Cuba, Havana)

    c: h: populacao(c, h) (h > 2500000) cidadeGrande(c)

    c: p: cidadeGrande(c) capital(p, c) capitalImportante(c)

  • Exerccio 2

    Suponhamos que para a descrio dos equipamentos numa loja de

    Informtica temos o predicado:

    equipamento (nome do modelo, tipo de equipamento, preo)

    Construir em lgica de predicados:

    a) A declarao de vrios fatos do tipo equipamento (construa vrios

    exemplos).

    b) A definio de equipamento barato (com preo menor que R$390,00).

    c) Defina impressora barata.

  • Exerccio 3

    Sejam fatos com a estrutura:

    time(nome do time, gols no campeonato, srie)

    a) Declare vrios fatos do tipo time.

    b) Defina time ofensivo (aquele com mais de 20 gols).

    c) Descreva: um time ser bom somente se for ofensivo.

    d) Descreva: um time ser ruim se no for da srie A ou da srie B e tiver menos de 5 gols.

  • Exerccio 4

    Expressar em forma generalizada com lgica de predicados os seguintes

    fatos escritos em lgica proposicional:

    p: Luiz conhece Pascal

    q: Ana conhece Java

    r: Luiz conhece VB

    u: Ana conhece C#

    v: Pedro conhece C#

    w: Pedro conhece Java

    s: Luiz tem sete anos de experincia como programador

    t: Ana tem dez anos de experincia como programador

    x: Pedro tem quatro anos de experincia como programador

    Utilizando como base a resposta (fatos) do exerccio anterior, defina com

    lgica de predicados: algum ser candidato a uma vaga na empresa se ele

    conhece Java ou C# e tiver mais de cinco anos de experincia como

    programador.

    Escreva em lgica de predicados: se uma pessoa tiver mais de 10 anos de

    experincia como programador ento ser candidato chefia do Depto. de

    Sistemas.

  • Resposta Exerccio 4

    conhece(Luiz, Pascal)

    conhece(Ana, Java)

    conhece(Luiz, VB)

    conhece(Ana, C#)

    conhece(Pedro, C#)

    conhece(Pedro, Java)

    experienciaProgramador(Luiz, 7)

    experienciaProgramador(Ana, 10)

    experienciaProgramador(Pedro, 4)

    prog: ling: anos: ( conhece(prog, Java) conhece(prog, C#) )

    experienciaProgramador(prog, anos) (anos > 5)

    candidatoVaga(prog)

    p: l: a: experienciaProgramador(p, a) (a > 10)

    candidatoChefiaSistemas(p)

  • Exerccio 5

    Conhecemos algumas caractersticas de pessoas, com estruturas de fatos em

    clculo de predicados como mostrado a seguir:

    alto(Pedro)

    alto(Rosa)

    magro(Luis)

    magro(Rosa)

    elegante(Rosa)

    elegante(Luis)

    responsvel(Rosa)

    responsvel(Teresa)

    desorganizado(Heitor)

    idade(Rosa,20)

    idade(Luis,29)

    idade(Pedro,18)

    Defina, em lgica de predicados, candidato a modelo (aquelas pessoas altas, magras, elegantes e responsveis com menos de 21 anos).

    Defina, em lgica de predicados, possvel chefe (aquelas pessoas organizadas, responsveis, com mais de 30 anos).

  • Resposta Exerccio 5

    p: anos:

    alto(p) magro(p) elegante(p) responsvel(p)

    idade(p, anos) (anos < 21) candidatoModelo(p)

    p: a:

    responsvel(p) ~desorganizado(p) idade(p, a) (a > 30)

    possivelChefe(p)

  • Bibliografia sugerida

    BIBLIOGRAFIA

    ALENCAR FILHO, EDGARD DE. Iniciao Lgica Matemtica.

    So Paulo: Nobel, 2006.

    RICH, E.; KNIGHT, K. Inteligncia Artificial. 2. ed. So Paulo:

    Mcgraw-Hill do Brasil, 1993.

    RUSSELL, S. J.; NORVIG, P. Inteligncia Artificial. Rio de Janeiro:

    Elsevier, 2004.


Top Related