logo

Första ordningens logik inom artificiell intelligens

I ämnet Propositionell logik har vi sett hur man representerar påståenden med hjälp av propositionell logik. Men tyvärr kan vi i propositionell logik bara representera fakta, som antingen är sanna eller falska. PL är inte tillräckligt för att representera de komplexa meningarna eller påståenden på naturligt språk. Propositionslogiken har mycket begränsad uttryckskraft. Betrakta följande mening, som vi inte kan representera med PL-logik.

ändlig tillståndsmaskin
    'Vissa människor är intelligenta', eller 'Sachin gillar cricket.'

För att representera ovanstående påståenden räcker inte PL-logik, så vi krävde lite mer kraftfull logik, såsom första ordningens logik.

Första ordningens logik:

  • Första ordningens logik är ett annat sätt att representera kunskap inom artificiell intelligens. Det är en förlängning av propositionell logik.
  • FOL är tillräckligt uttrycksfullt för att representera de naturliga språkutsagorna på ett kortfattat sätt.
  • Första ordningens logik är också känd som Predikatlogik eller Första ordningens predikatlogik . Första ordningens logik är ett kraftfullt språk som utvecklar information om objekten på ett enklare sätt och kan också uttrycka relationen mellan dessa objekt.
  • Första ordningens logik (som naturligt språk) förutsätter inte bara att världen innehåller fakta som propositionell logik utan förutsätter också följande saker i världen:
      Föremål:A, B, människor, siffror, färger, krig, teorier, rutor, gropar, wumpus, ......
  • Relationer: Det kan vara ett unärt förhållande som: röd, rund, är intill, eller n-vilket som helst samband som: systern till, bror till, har färg, kommer mellanFungera:Far till, bästa vän, tredje omgången av, slutet av, ......
  • Som ett naturligt språk har första ordningens logik också två huvuddelar:
      Syntax
  • Semantik

    Syntax för första ordningens logik:

    Syntaxen för FOL bestämmer vilken samling av symboler som är ett logiskt uttryck i första ordningens logik. De grundläggande syntaktiska elementen i första ordningens logik är symboler. Vi skriver påståenden i kortskrift i FOL.

    Grundläggande element i första ordningens logik:

    Följande är de grundläggande delarna av FOL-syntax:

    Konstant 1, 2, A, John, Mumbai, katt,....
    Variabler x, y, z, a, b,....
    Predikat Bror, far, >,....
    Fungera sqrt, LeftLegOf, ....
    Kopplingar ∧, ∨, ¬, ⇒, ⇔
    Jämlikhet ==
    Kvantifierare ∀, ∃

    Atomiska meningar:

    • Atomiska meningar är de mest grundläggande meningarna i första ordningens logik. Dessa meningar är bildade av en predikatsymbol följt av en parentes med en sekvens av termer.
    • Vi kan representera atomära meningar som Predikat (term1, term2, ......, term n) .

    Exempel: Ravi och Ajay är bröder: => Brothers(Ravi, Ajay).
    Chinky är en katt: => katt (Chinky)
    .

    Komplexa meningar:

    • Komplexa meningar görs genom att kombinera atomära meningar med hjälp av bindemedel.

    Första ordningens logiska uttalanden kan delas in i två delar:

      Ämne:Ämnet är huvuddelen av uttalandet.Predikat:Ett predikat kan definieras som en relation, som binder samman två atomer i ett uttalande.

    Betrakta påståendet: 'x är ett heltal.' , den består av två delar, den första delen x är föremålet för påståendet och den andra delen 'är ett heltal' är känt som ett predikat.

    Första ordningens logik inom artificiell intelligens

    Kvantifierare i första ordningens logik:

    • En kvantifierare är ett språkelement som genererar kvantifiering, och kvantifiering specificerar kvantiteten av exemplar i diskursens universum.
    • Dessa är symbolerna som tillåter att bestämma eller identifiera intervallet och omfattningen av variabeln i det logiska uttrycket. Det finns två typer av kvantifierare:
        Universal Quantifier, (för alla, alla, allt)
    • Existentiell kvantifierare, (för vissa, åtminstone en).

    Universell kvantifierare:

    Universell kvantifierare är en symbol för logisk representation, som anger att påståendet inom dess intervall är sant för allt eller varje instans av en viss sak.

    Den universella kvantifieraren representeras av en symbol ∀, som liknar ett inverterat A.

    Notera: I universell kvantifierare använder vi implikation '→'.

    Om x är en variabel läses ∀x som:

      För alla x För varje x För varje x.

    Exempel:

    Alla man dricker kaffe.

    Låt en variabel x som refererar till en katt så att alla x kan representeras i UOD enligt nedan:

    Första ordningens logik inom artificiell intelligens

    ∀x man(x) → dryck (x, kaffe).

    rj12 vs rj11

    Det kommer att läsas som: Det finns alla x där x är en man som dricker kaffe.

    Existentiell kvantifierare:

    Existentiella kvantifierare är den typ av kvantifierare, som uttrycker att påståendet inom dess räckvidd är sant för åtminstone en instans av något.

    java dubbel till sträng

    Den betecknas med den logiska operatorn ∃, som liknar inverterad E. När den används med en predikatvariabel kallas den som en existentiell kvantifierare.

    Notera: I Existentiell kvantifierare använder vi alltid AND eller konjunktionsymbol (∧).

    Om x är en variabel kommer existentiell kvantifierare att vara ∃x eller ∃(x). Och det kommer att läsas som:

      Det finns ett 'x.' För vissa 'x.' För minst ett 'x.'

    Exempel:

    Vissa pojkar är intelligenta.

    Första ordningens logik inom artificiell intelligens

    ∃x: pojkar(x) ∧ intelligent(x)

    Det kommer att läsas som: Det finns några x där x är en pojke som är intelligent.

    Punkter att komma ihåg:

    • Huvudkopplingen för universell kvantifierare är implikation .
    • Det huvudsakliga bindemedlet för existentiell kvantifierare är och .

    Egenskaper för kvantifierare:

    • I universell kvantifierare liknar ∀x∀y ∀y∀x.
    • I Existentiell kvantifierare liknar ∃x∃y ∃y∃x.
    • ∃x∀y liknar inte ∀y∃x.

    Några exempel på FOL som använder kvantifierare:

    1. Alla fåglar flyger.
    I denna fråga är predikatet ' fluga (fågel) .'
    Och eftersom det är alla fåglar som flyger så kommer det att representeras enligt följande.
    ∀x fågel(x) →fluga(x) .

    hur man visar en applikation på Android

    2. Varje man respekterar sin förälder.
    I denna fråga är predikatet ' respekt(x, y),' där x=man och y= förälder .
    Eftersom det finns varje man så kommer att använda ∀, och det kommer att representeras enligt följande:
    ∀x man(x) → respekterar (x, förälder) .

    3. Vissa pojkar spelar cricket.
    I denna fråga är predikatet ' spela (x, y) ,' där x = pojkar och y = spel. Eftersom det finns några pojkar så kommer vi att använda ∃, och det kommer att representeras som :
    ∃x pojkar(x) → spela(x, cricket) .

    4. Alla elever gillar inte både matematik och naturvetenskap.
    I denna fråga är predikatet ' like(x, y),' där x= elev och y= ämne .
    Eftersom det inte är alla elever, så kommer vi att använda ∀ med negation, alltså följande representation för detta:
    ¬∀ (x) [ elev(x) → gillar(x, matematik) ∧ gillar(x, naturvetenskap)].

    5. Endast en elev blev underkänd i matematik.
    I denna fråga är predikatet ' misslyckad(x, y),' där x= elev och y= ämne .
    Eftersom det bara finns en elev som misslyckats i matematik, så kommer vi att använda följande representation för detta:
    ∃(x) [ elev(x) → underkänd (x, matematik) ∧∀ (y) [¬(x==y) ∧ elev(y) → ¬underkänd (x, matematik)] .

    Fria och bundna variabler:

    Kvantifierarna interagerar med variabler som framträder på ett lämpligt sätt. Det finns två typer av variabler i första ordningens logik som ges nedan:

    Gratis variabel: En variabel sägs vara en fri variabel i en formel om den förekommer utanför kvantifierarens omfång.

    Exempel: ∀x ∃(y)[P (x, y, z)], där z är en fri variabel.

    Bunden variabel: En variabel sägs vara en bunden variabel i en formel om den förekommer inom kvantifierarens omfång.

    Exempel: ∀x [A (x) B( y)], här är x och y de bundna variablerna.