Know Intuit, prelegere, metode de soluții de căutare

Metode de soluții de căutare bazate pe calculul predicatelor

Semantica calculului predicatelor oferă un cadru pentru formalizarea inferență. Posibilitatea de a deduce nouă expresie regulată din setul de declarații adevărate este importantă. afirmații sunt corecte deduse în mod logic, iar acestea sunt compatibile cu toate interpretările anterioare ale setului inițial de expresii. discuta Informal cele de mai sus și apoi tastați formalizare corespunzătoare.

În calculul propozitional este obiectul principal al unei variabile propoziționale (predicat), al cărui adevăr sau falsitate depinde de valori ale variabilelor incluse în ea. Deci, adevărul predicat „X a fost un fizician,“ depinde de valoarea variabilei x. Dacă x - Kapitsa, predicatul este adevărat dacă x - M. Lermontov, atunci este fals. În limbajul declarației predicat de calcul va avea următorul cuprins: „În cazul în care pentru orice x P (x), care deține Q (x).“. Uneori este scris în acest fel :. subset dedicat unor formule identic adevărate (sau formule bine formate - PPF), dintre care adevărul nu depinde de veridicitatea declarațiilor conținute în ele, numite axiome.

In calculul predicatelor sunt multe reguli de inferență. Ca un exemplu, compartimentul de regulă clasic sau modus ponens:

se citește ca „în cazul în care A este adevărată formulă este adevărată și cea a B. A ar trebui să fie adevărat și formula B“. Formulele care sunt deasupra liniei sunt denumite ieșire parcele, și sub linia - închisoare. Această regulă de inferență formalizează legea de bază a sistemelor deductive: de la premise adevărate urmează întotdeauna concluzii adevărate. Axiome și reguli de inferență ale primului predicatelor de ordinul calcul defini sistem deductiv bază formală în care există o formalizare a unei scheme de programare raționament logic. Se poate menționa, precum și alte reguli de inferență.

Modus tollendo Tollens. Dacă A implică B și B este fals, atunci A este fals.

Modus ponendo Tollens. În cazul în care A și B nu pot fi simultan adevărate și A este adevărată, atunci B este fals.

modus ponens tollendo. În cazul în care una sau A. B este adevărat și A este adevărat, atunci B este adevărat.

Problema care trebuie rezolvată este reprezentat ca declarații (axiome) f1. F2. Fn prima predicatelor de ordinul calcul. Scopul sarcina B este, de asemenea, înregistrate sub formă de declarații a căror valabilitate ar trebui să fie stabilite sau respinge pe baza axiome și reguli de inferență ale sistemului formal. Apoi, o soluție de (sarcina obiectiv) se reduce la determinarea implicație logice (eclozarea) țintă formula B dintr-un set predeterminat de formule (axiome) f1. F2. Fn. Acest lucru este echivalent cu a găsi o dovadă de valabilitate (identic adevăr) cu formula

sau impracticabilitate (identic falsity) cu formula

Din motive practice, este mai convenabil de a folosi o dovadă de contradicție, adică, pentru a dovedi impracticabilitatea cu formula. Pe regula probei bazată și inferență maestru contrar utilizate în logica de programare - principiul de rezoluție. Robinson a deschis o regulă mai puternică decât inferență modus ponens, pe care el a numit principiul rezoluției (rezoluție sau de regula). Când se utilizează principiul de rezoluție formula de calcul predicat utilizând transformări simple sunt date la așa-numita formă disjuncte, care este prezentat ca un set de clauze. În acest caz, în conformitate cu o clauză se referă la o disjuncție de literali, fiecare dintre care este fie un predicat sau negație predicat.

Aici este un exemplu de o clauză:

Fie P - respect predicat, c1 - Klyuchevskii, Q - predicatul să știe, c2 - istorie. Acum, această clauză reflectă faptul că „toată lumea care cunoaște istoria, respect Kliuchevskoi“.

Aici este un alt exemplu al unei clauze:

Fie P - predicat știu, c1 - Fizica, c2 - istorie. Această clauză reflectă interogarea „care cunoaște fizică și istorie, în același timp.“

Astfel, condițiile de sarcini (fapte) și sarcini de omologare specifice (cereri) pot fi exprimate sub forma logica disjunctivă a primului calcul predicatelor de ordinul. Clauzele cuantificatorii universale, de obicei omise, și ligamentele sunt înlocuite cu implicarea.

Să ne întoarcem la principiul rezoluției. Ideea principală a regulilor de inferență constă în a verifica dacă setul de clauze R martor clauza (false). De obicei rezoluția este utilizată cu metoda directă sau inversă a raționamentului. Metoda directă a parcelelor A. A -> B ieșiri concluzie B (tipic modus ponens). Principalul dezavantaj al metodei directe este că nu este orientarea: re-aplicarea metodei conduce la o creștere bruscă a rapoartelor intermediare, care nu sunt asociate cu pedeapsa țintă. Concluzia inversă este direcționată: încheierea B dorit și aceleași ipoteze el aduce noi podtselevoe concluzie A. Fiecare pas de ieșire, în acest caz, este întotdeauna conectat cu scopul propus inițial. Un dezavantaj semnificativ al acestei metode de rezoluție este de a forma la fiecare etapă a producției setului de resolvents - noi clauze, dintre care majoritatea este redundantă. În acest sens, am dezvoltat diferite modificări ale principiului rezoluției. folosind strategii mai eficiente de căutare și diverse restricții privind tipul clauzelor inițiale. În acest sens, cel mai de succes și popular este prologul de sistem. care utilizează tipuri speciale de clauze, numită clauză Horn.

Metoda de proces de rezolvare a probei (inversă) constă din următoarele etape:

  1. Sugestii sau axiome sunt disjunct formă normală.
  2. Prin setul de axiome se adaugă la negarea afirmației în forma disjunctivă.
  3. Acesta a realizat o rezoluție comună a acestor clauze, producând astfel nou pe baza lor de exprimare disjunctiv (rezoluție).
  4. Generată expresie gol ce înseamnă o contradicție.
  5. Substitutii utilizate pentru o expresie goală, arată că negarea negației este adevărată.

Luați în considerare exemple de utilizare a metodelor de căutare bazate pe soluții de calcul predicat. Exemplu „viață interesantă“ luat de la [1.1]. Deci, având în vedere aprobarea 1-4 din coloana din stânga a tabelului 3.2 este necesar să se răspundă la întrebarea: „? Există un om o viață interesantă“ Într-un predicat afirmații înregistrate în a doua coloană a tabelului. Se presupune că. În a treia coloană a clauzelor de masă scrise.

Tabelul 3.2. viață interesantă

Aprobarea și concluzie

O posibilă dovadă (mai multe) dă următoarea secvență de resolvents:

  1. Rezoluția din 6 și 4
  2. dizolvant 7 și 1
  3. 8 și rezoluția 2
  4. dizolvant 9 și 3b
  5. Rezoluția NIL din 10 și 3a

simbol NIL înseamnă că baza acestor expresii conține o contradicție, și așa presupunerea noastră este că nu există nici un om care trăiesc o viață interesantă, este greșit.

În cadrul procedurii de rezoluție metoda expresii combinate disjuncte nu este instalat. Prin urmare, pentru probleme mari vor înregistra o creștere exponențială a numărului de combinații posibile. Prin urmare, în procedurile de rezoluție sunt, de asemenea, importante strategii de căutare și de diferite euristice. Una dintre strategia cea mai simplă și clară - o strategie de preferințe ale unei singure expresie, care asigură faptul că rezoluția va fi mai mică decât cea mai înaltă expresie a părintelui. Pentru că, în cele din urmă, avem pentru a obține expresia. în general, nu conține literali.

Printre alte strategii (breadth first search (lățime mai întâi), strategia „o pluralitate de sprijin“, strategia formelor de intrare liniare) strategie „o pluralitate de sprijin“ arată rezultate excelente atunci când căutarea în spații mari expresii disjuncte [1.1]. Esența este aceasta strategie. Pentru unele set de expresii inițiale disjuncte S, puteți specifica un subset al lui T. numit set de sprijin. Pentru a pune în aplicare această strategie, este necesar ca unul dintre resolvents în fiecare negare a fost strămoșul multitudinii de sprijin. Putem dovedi că dacă S - un set de clauze imposibil, și S-T - un executabil, seturile de strategie de sprijin este completă, în sensul de negare. Cu alte strategii pentru găsirea unei metode de rezoluție în spații mari expresii disjuncte cititor pot găsi în literatura de specialitate [1.1]. [3.1]. [3,2].

Studii legate de dezvoltarea teoriei și algoritmi de respingere rezoluție dovada a condus la dezvoltarea PROLOG limbaj de programare logică (programare în logică). PROLOG se bazează pe teoria de ordinul predicat. Programul Logic - un set de specificații, în cadrul logicii formale. În ciuda faptului că, în prezent, ponderea LISP limbii și greutatea PROLOG a scăzut în soluția problemelor AI sunt din ce în ce utilizează C, C ++ si Java. Cu toate acestea, multe dintre sarcinile și dezvoltarea unor noi metode de rezolvare a problemelor AI continuă să se bazeze pe Lisp limbă și PROLOG. Luați în considerare una dintre aceste sarcini - sarcina de planificare a succesiunii acțiunilor și decizia pe baza teoriei predicate.

găsit în mod repetat vina în testele, în special în întrebările de examen corect atunci când răspunsul la întrebarea a fost determinat în cele din urmă nu a răspuns corect. Din acest motiv a afectat foarte mult scorul final! Și chiar înșelătoare introduce pe elevi! Ei au crezut că a fost vina lor. Dar ei nu au nimic de-a face cu! De multe ori am verificat răspunsuri la unele dintre aceste întrebări „greșite“ din diferite surse - rezultatul la fel peste tot! Intuit dar a dat o eroare. Cum să înțeleagă acest lucru?

Din cauza acestor neînțelegeri trebuie să-și petreacă ore perereshivat examen pentru un scor perfect.

Corect, astfel de „greșeli“.

Imens vă rugăm să faceți teste mai simple, este doar o groază de unele! Prea complicat!