Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Windows 8
  • Informații generale despre prolog. Proprietățile fundamentale ale prologului

Informații generale despre prolog. Proprietățile fundamentale ale prologului

Dezvoltarea inteligenței artificiale

Istoria inteligenței artificialeînceput nu cu mult timp în urmă. În a doua jumătate a secolului al XX-lea, conceptul inteligență artificială(inteligenta artificiala) si au fost propuse mai multe definitii. Una dintre primele definiții, care, în ciuda amplorii considerabile a interpretării, încă nu și-a pierdut relevanța, este prezentarea inteligenței artificiale ca: „O modalitate de a face un computer să gândească ca o persoană”.

Relevanța intelectualizării sistemelor de calcul se datorează nevoii unei persoane de a găsi soluții în astfel de realități. lumea modernă precum inexactitatea, ambiguitatea, incertitudinea, neclaritatea și informațiile nefondate. Necesitatea de a crește viteza și adecvarea acestui proces stimulează crearea de sisteme de calcul, prin interacțiunea cu lumea reală prin intermediul roboticii, echipamentelor de producție, instrumentelor și altor hardware-uri, poate contribui la implementarea acestuia.

Sistemele de calcul, care se bazează exclusiv pe logica clasică - adică algoritmi de rezolvare a problemelor cunoscute, se confruntă cu probleme atunci când întâmpină situații incerte. În schimb, ființele vii, deși pierd în viteză, sunt capabile să ia decizii de succes în astfel de situații.

Un exemplu de inteligență artificială

Un exemplu este prăbușirea bursei din 1987, când programele de calculator au vândut acțiuni în valoare de sute de milioane de dolari pentru a obține un profit de câteva sute de dolari, ceea ce a creat de fapt condițiile prealabile pentru prăbușire. Situația a fost corectată după transferul controlului deplin asupra tranzacționării bursiere către sisteme inteligente protoplasmatice, adică către oameni.

Definind conceptul de inteligență ca categorie științifică, acesta trebuie înțeles ca adecvarea sistemului pentru învățare. Astfel, una dintre cele mai specifice, în opinia noastră, definiții ale inteligenței artificiale este interpretată ca fiind capacitatea sistemelor automate de a dobândi, adapta, modifica și completa cunoștințe pentru a găsi soluții la probleme greu de oficializat.

În această definiție, termenul „cunoaștere” are o diferență calitativă față de conceptul de informație. Această diferență reflectă bine reprezentarea acestor concepte în formă piramida informatieiîn fig. 1.

Figura 1 - Piramida informației

Se bazează pe date, următorul nivel este informația, iar nivelul de cunoștințe completează piramida. Pe măsură ce treci în sus în piramida informației, volumele de date se transformă în valoarea informațiilor și mai departe în valoarea cunoștințelor. Adică, informațiile apar în momentul interacțiunii dintre datele subiective și metodele obiective de prelucrare a acestora. Cunoașterea se formează pe baza formării de relații distribuite între informații eterogene, creând în același timp un sistem formal - o modalitate de a le reflecta în concepte sau enunțuri precise.

Este suportul unui astfel de sistem - un sistem de cunoștințe, într-o stare atât de actualizată, care vă permite să construiți programe de acțiune pentru a găsi soluții la sarcinile care le sunt atribuite, ținând cont de situațiile specifice care se formează la un un anumit moment în timp din mediu, este sarcina inteligenței artificiale. Astfel, inteligența artificială poate fi reprezentată și ca un algoritm universal capabil să creeze algoritmi pentru rezolvarea de noi probleme.

transcriere

2 E. V. Borovskaya N. A. Davydova BAZELE INTELIGENTEI ARTIFICIALE Tutorial editia a 3-a (electronic) Moscow Knowledge Lab 2016

3 UDC BBK B83 Seria a fost fondată în 2007. Borovskaya E. V. B83 Fundamentele inteligenței artificiale [Resursa electronică]: un tutorial / E. V. Borovskaya, N. A. Davydova. a 3-a ed. (el.). Electron. date text. (1 fișier pdf: 130 pagini). M. : Laborator de cunoștințe, (Educație pedagogică). Sistem. cerințe: Adobe Reader XI; ecran 10". ISBN Tutorialul introduce cititorii în istoria inteligenței artificiale, a modelelor de reprezentare a cunoștințelor, a sistemelor expert și a rețelelor neuronale. Sunt descrise principalele direcții și metode utilizate în analiza, dezvoltarea și implementarea sistemelor inteligente. Modele și metode de reprezentare a cunoștințelor. pentru lucrul cu ele sunt luate în considerare metode de dezvoltare și creare de sisteme expert. Cartea va ajuta cititorul să stăpânească abilitățile de proiectare a bazelor de date logice. domeniul subiectuluiși programare în limbajul ProLog. Pentru studenții și profesorii universităților pedagogice, profesorii de licee, gimnazii, licee. UDC BBK Ediție electronică derivată bazată pe analog tipărit: Fundamentele inteligenței artificiale: manual / E. V. Borovskaya, N. A. Davydova. M.: BINOM. Laboratorul de cunoștințe, p. : bolnav. (Formarea profesorilor). ISBN În conformitate cu articolul 1301 din Codul civil al Federației Ruse, la eliminarea restricțiilor stabilite prin mijloace tehnice de protecție a dreptului de autor, deținătorul dreptului de autor are dreptul de a cere daune sau despăgubiri de la contravenient ISBN c Knowledge Lab, 2015

4 CUPRINS Capitolul 1. Inteligența artificială Introducere în sistemele de inteligență artificială Conceptul de inteligență artificială Inteligența artificială în Rusia Structura funcțională a sistemului de inteligență artificială Direcții pentru dezvoltarea inteligenței artificiale Date și cunoștințe. Reprezentarea cunoștințelor în sisteme inteligente Date și cunoștințe. Definiții de bază Modele de reprezentare a cunoștințelor Sisteme expert Structura unui sistem expert Dezvoltarea și utilizarea sistemelor expert Clasificarea sistemelor expert Reprezentarea cunoștințelor în sisteme expert Instrumente pentru construirea sistemelor expert Tehnologia de dezvoltare a sistemelor expert Întrebări și sarcini de testare pentru capitol Referințe pentru capitol Capitolul 2. Programare logică Metodologii de programare Metodologie de programare imperativă Metodologie de programare bazată pe obiecte Programare orientată Metodologie de programare funcțională Metodologie de programare logică Metodologie de programare cu constrângeri Metodologie de programare în rețele neuronale O scurtă introducere în calculul predicat și demonstrarea teoremei Procesul de inferență58 în Prolog.

5 4 Cuprins 2.4. Structura unui program Prolog Folosind obiecte compuse Folosind domenii alternative Metoda de repetare Prolog Metoda de rezervă Metoda de tăiere și derulare Recursie simplă Metoda de regulă de recursivitate generală (GRR) Liste în Lista Prolog Operații șiruri în Prolog șir Operații Fișiere în limbaj Predicate Prolog pentru lucrul cu fișiere Descriere un domeniu de fișier Scrierea într-un fișier Citirea dintr-un fișier Modificarea unui fișier existent Adăugarea la un fișier existent Crearea bazelor de date dinamice în Prolog Baze de date în Prolog Predicate baze de date dinamice în Prolog Crearea sistemelor expert Structura sistemului expert Reprezentarea Cunoștințe Metode de ieșire Sistem interfața cu utilizatorul Sistem expert bazat pe reguli Întrebări și sarcini de testare pentru capitol Referințe pentru capitol Capitolul 3. Rețele neuronale Introducere în rețelele neuronale Un model artificial de neuron Aplicarea rețelelor neuronale Antrenarea unei rețele neuronale Întrebări și sarcini de testare pentru capitol Referințe pentru capitol

6 CAPITOLUL 1 INTELIGENTA ARTIFICIALA 1.1. Introducere în sistemele de inteligență artificială Conceptul de inteligență artificială Un sistem de inteligență artificială (AI) este un sistem software care simulează procesul gândirii umane pe un computer. Pentru a crea un astfel de sistem, este necesar să se studieze însuși procesul de gândire al unei persoane care rezolvă anumite probleme sau care ia decizii într-un anumit domeniu, să evidențiem pașii principali ai acestui proces și să dezvolte instrumente software care le reproduc pe un computer. Prin urmare, metodele AI adoptă o abordare structurală simplă a dezvoltării complexului sisteme software luarea deciziilor . Inteligența artificială este o ramură a informaticii, al cărei scop este de a dezvolta instrumente hardware și software care să permită unui utilizator non-programator să-și stabilească și să rezolve sarcinile intelectuale considerate în mod tradițional, comunicând cu un computer într-un subset limitat de limbaj natural. Ideea de a crea o asemănare artificială a unei persoane pentru a rezolva probleme complexe și a simula mintea umană, așa cum se spune, „era în aer” înapoi în cele mai vechi timpuri. Strămoșul inteligenței artificiale este filozoful, matematicianul și poetul spaniol medieval Raymond Lull, care în secolul al XIII-lea. a încercat să creeze un dispozitiv mecanic pentru rezolvarea diverselor probleme pe baza clasificării generale a conceptelor elaborată de el.

7 6 Capitolul 1 Mai târziu, Leibniz și Descartes au continuat independent această idee, propunând limbaje de clasificare universală pentru toate științele. Aceste lucrări pot fi considerate primele lucrări teoreticeîn domeniul inteligenței artificiale. Cu toate acestea, nașterea finală a inteligenței artificiale ca direcție științifică a avut loc abia după crearea computerelor în anii 1940, când Norbert Wiener și-a creat lucrările fundamentale despre noua știință a ciberneticii. Termenul de „inteligență artificială” (AI; ​​​​în engleză AI „Inteligentă artificială”) a fost propus în 1956 la un seminar cu același nume la Dartmouth College (SUA). Acest seminar a fost dedicat dezvoltării metodelor de rezolvare a problemelor logice (mai degrabă decât de calcul). Rețineți că în engleză această frază nu are acea colorare antropomorfă ușor fantastică pe care a dobândit-o într-o traducere rusă destul de nereușită. Cuvântul „inteligență” înseamnă doar „abilitatea de a raționa în mod rezonabil”, și deloc „inteligență” (pentru care există un echivalent în engleză separat „intelect”). La scurt timp după recunoașterea inteligenței artificiale ca un domeniu special al științei, aceasta a fost împărțită în două domenii: neurocibernetica și cibernetica cutiei negre. Aceste domenii s-au dezvoltat aproape independent, diferă semnificativ atât ca metodologie, cât și ca tehnologie. Și numai în prezent au devenit tendințe vizibile de a uni din nou aceste părți într-un singur întreg. Neurocibernetica Ideea principală a acestei tendințe poate fi formulată astfel: „Singurul obiect capabil să gândească este creierul uman, așa că orice dispozitiv de gândire trebuie să-și reproducă structura într-un fel sau altul”. Astfel, neurocibernetica se concentrează pe modelarea hardware-software a structurilor similare cu structura creierului. Eforturile în neurocibernetică s-au concentrat pe crearea de elemente similare neuronilor și combinarea acestora în sisteme funcționale ale rețelelor neuronale.

8 Inteligența artificială 7 Primele rețele neuronale au fost create în anii 1990. Acestea nu au fost încercări foarte reușite de a crea sisteme care simulează ochiul uman și interacțiunea acestuia cu creierul. Treptat în anii 1900 numărul lucrărilor din această zonă a inteligenței artificiale a început să scadă, primele rezultate au fost prea dezamăgitoare. De obicei, autorii dezvoltărilor și-au atribuit eșecurile memoriei mici și vitezei reduse a computerelor care existau la acea vreme. Primul neurocomputer a fost creat în Japonia ca parte a proiectului Fifth Generation Computer. Până în acest moment, restricțiile privind memoria și viteza computerului au fost practic eliminate. Transputerii au apărut computere cu un număr mare de procesoare care implementează calculul paralel. Tehnologia transputer este una dintre cele zece noi abordări ale implementării hardware a rețelelor neuronale care modelează structura ierarhică a creierului uman. În general, astăzi există trei tipuri principale de abordări pentru crearea rețelelor neuronale: hardware (crearea de calculatoare speciale, neurocipuri, carduri de expansiune, chipset-uri), software (crearea de programe și instrumente software concepute pentru calculatoare de înaltă performanță; astfel de rețele sunt create „virtual”, în computer cu memorie, în timp ce propriile procesoare fac toată munca) și hibrid (o combinație a primelor două metode). Cibernetica cutie neagră și inteligența artificială Această abordare se bazează pe un principiu opus neurociberneticii. Aici nu contează cât de exact este aranjat dispozitivul „de gândire”, principalul lucru este că reacționează la acțiunile de intrare date în același mod ca și creierul uman. Susținătorii acestei direcții și-au motivat abordarea prin faptul că o persoană nu trebuie să urmeze orbește natura în căutările sale științifice și tehnologice. În plus, științele de frontieră ale omului nu au putut contribui în mod semnificativ

9 8 Capitolul 1 din prima contribuție teoretică, explicând (cel puțin aproximativ) cum decurg procesele intelectuale într-o persoană, cum este aranjată memoria sa și cum o persoană cunoaște lumea din jurul său. Această zonă a inteligenței artificiale s-a concentrat pe găsirea de algoritmi pentru rezolvarea problemelor intelectuale pe modelele de computer existente. O contribuție semnificativă la dezvoltarea noii științe a fost adusă de pionieri precum McCarthy, Minsky, Newell, Simon, Shaw, Hunt și alții. s-au efectuat căutări intensive pentru modele și algoritmi de gândire umană și dezvoltarea primelor programe bazate pe aceștia. Reprezentanții filozofilor, psihologilor, lingviștilor umaniști, nici atunci și nici acum, nu puteau oferi astfel de algoritmi, apoi cibernetica a început să-și creeze propriile modele. Deci, succesiv, s-au creat și testat abordări diferite. La sfârşitul anilor 1950 a apărut modelul de căutare labirint. Această abordare reprezintă problema ca un spațiu de stare sub forma unui grafic, după care se caută calea optimă de la datele de intrare la datele de ieșire în acest grafic. A fost realizată mare treabă pentru a crea un astfel de model, ci pentru a rezolva sarcini practice Cu toate acestea, această idee nu și-a găsit o aplicare largă. La începutul anilor 1960 a devenit epoca programării euristice. O euristică este o anumită regulă, nefundamentată teoretic, dar care face posibilă reducerea numărului de iterații în spațiul de căutare. Programarea euristică este dezvoltarea unei strategii de acțiune bazată pe euristici cunoscute, predeterminate. În ths. metodele logicii matematice au început să fie conectate la rezolvarea problemelor. Robinson a dezvoltat metoda rezoluției, care face posibilă demonstrarea automată a teoremelor având în vedere un set de axiome inițiale. Aproximativ în aceeași perioadă, remarcabilul matematician rus Yu. S. Maslov a propus așa-numita derivație inversă (mai târziu numită după el), care rezolvă o problemă similară într-un mod diferit. Pe baza metodei de rezoluție

10 Inteligența artificială 9 Francezul Albert Colmeroe a creat limbajul de programare logică Prolog în 1973. Programul Logic Theorist creat de Newell, Simon și Shaw, care a demonstrat teoreme școlare, a provocat o mare rezonanță în comunitatea științifică. Cu toate acestea, majoritatea sarcini reale nu se reduce la un set de axiome, ci o persoană, hotărâtoare sarcini de producție, nu folosește întotdeauna logica clasică, astfel încât modelele logice, cu toate avantajele lor, au limitări semnificative asupra claselor de probleme care se rezolvă. Istoria inteligenței artificiale este plină de evenimente dramatice, dintre care unul a fost așa-numitul „raport Lighthill” din 1973, care a fost pregătit în Marea Britanie din ordinul Consiliului de Cercetare Britanic. Cunoscutul matematician Lighthill, care nu are nicio legătură profesională cu inteligența artificială, a pregătit o privire de ansamblu asupra stării de fapt în acest domeniu. Raportul a recunoscut anumite realizări, dar le-a calificat drept „dezamăgitoare”, iar evaluarea generală a fost negativă în ceea ce privește semnificația practică. Acest raport i-a adus pe cercetătorii europeni înapoi cu aproximativ cinci ani, deoarece finanțarea lucrării a fost redusă semnificativ. Aproximativ în același timp, în Statele Unite a avut loc o descoperire semnificativă în dezvoltarea aplicațiilor practice ale inteligenței artificiale, când la mijlocul anilor 1970. căutarea unui algoritm universal de gândire a fost înlocuită cu ideea de a modela cunoștințele specifice ale experților specialiști. În Statele Unite au apărut primele sisteme comerciale bazate pe cunoaștere, sau sisteme expert (ES). A început să fie aplicată și o nouă abordare a rezolvării problemelor inteligenței artificiale, reprezentarea cunoștințelor. Primele două sisteme expert pentru medicină și chimie, Mycin și Dendral, au fost create și au devenit clasice. Pentagonul a adus și o contribuție financiară semnificativă, propunând să se bazeze noul program al Departamentului de Apărare al SUA pe principiile inteligenței artificiale. Deja în căutarea oportunităților ratate, Uniunea Europeană la începutul anilor 1980. a anunțat un program global pentru dezvoltarea de noi tehnologii ESPRIT,

11 10 Capitolul 1 care includea problema inteligenței artificiale. La sfârșitul anilor 1970 Japonia se alătură cursei, anunțând începutul unui proiect de mașini de generația a cincea bazat pe cunoștințe. Proiectul a fost conceput timp de zece ani și a reunit cei mai buni tineri profesioniști din cele mai mari corporații japoneze de computere. Pentru acești specialiști, a fost creat special un nou institut ICOT, căruia i s-a acordat libertate deplină de acțiune (deși fără dreptul de a publica rezultatele preliminare). Drept urmare, au creat un procesor simbolic destul de greoi și costisitor care a implementat programatic un limbaj asemănător prologului, dar nu a primit o recunoaștere largă. Cu toate acestea, efectul pozitiv al acestui proiect a fost evident. În Japonia a apărut un grup semnificativ de specialiști cu înaltă calificare în domeniul inteligenței artificiale, care a obținut rezultate semnificative în diverse sarcini aplicate. Pe la mijlocul anilor 1990. Asociația Japoneză pentru Inteligență Artificială avea deja 40.000 de membri. De la mijlocul anilor 1980. inteligența artificială a fost comercializată peste tot. Investițiile anuale au crescut, au fost create sisteme expert industriale. Interes în creștere pentru sistemele de autoînvățare. Au fost publicate zeci de reviste științifice, se țineau anual conferințe internaționale și naționale în diverse domenii ale inteligenței artificiale, care devenea una dintre cele mai promițătoare și prestigioase domenii ale informaticii. În prezent, există două abordări principale ale modelării inteligenței artificiale: inteligența mașinilor, care constă într-o sarcină strictă a rezultatului funcționării, și inteligența artificială, care vizează modelarea structurii interne a sistemului. Modelarea sistemelor din primul grup se realizează prin utilizarea legilor logicii formale, teoriei mulțimilor, grafice, rețele semantice și alte realizări ale științei în domeniul calculului discret, iar principalele rezultate sunt crearea de sisteme expert, analizarea sisteme

12 Inteligența artificială 11 limbajul natural și cele mai simple sisteme de control de tip „stimul-răspuns”. Sistemele din a doua grupă se bazează pe interpretarea matematică a activității sistemului nervos (în primul rând a creierului uman) și sunt implementate sub formă de rețele neuronale bazate pe un element asemănător unui neuron al analogului unui neuron.AA Lyapunov (), unul dintre fondatorii ciberneticii ruse. La acest seminar au participat fiziologi, lingvişti, psihologi, matematicieni. Este general acceptat că în acest moment s-a născut inteligența artificială în Rusia. La fel ca și în străinătate, în ea au fost distinse două domenii principale ale neurociberneticii și ciberneticii „cutiei negre”. În ths. au fost create programe separate și au fost efectuate cercetări în domeniul găsirii unei soluții sarcini logice. LOMI (filiala Leningrad a Institutului de Matematică Steklov) a creat programul ALPEV LOMI, care demonstrează automat teoremele, care se bazează pe derivația inversă originală a lui Maslov, similar cu metoda de rezoluție Robinson. Printre cele mai semnificative rezultate obținute de oamenii de știință autohtoni în anii 1960, trebuie remarcat algoritmul „Kora” de M. M. Bongard, care simulează activitatea creierului uman în recunoașterea modelelor. Oameni de știință remarcabili precum M. L. Tsetlin, V. N. Pușkin, M. A. Gavrilov, ai căror studenți au devenit pionierii acestei științe în Rusia, au avut, de asemenea, o mare contribuție la dezvoltarea școlii ruse de inteligență artificială. În ths. a luat naștere o nouă direcție a IA situațională (corespunzătoare reprezentării cunoștințelor în terminologia occidentală). Profesorul D. A. Pospelov a devenit fondatorul acestei școli științifice. Au fost dezvoltate și modele speciale de reprezentare a situațiilor (reprezentarea cunoștințelor). În ciuda faptului că atitudinea față de noile științe în Rusia sovietică a fost întotdeauna precaută, știința cu o astfel de „provocare”

13 12 Capitolul 1 cu cel mai important titlu nici nu a scăpat de această soartă și a fost întâmpinat cu ostilitate la Academia de Științe. Din fericire, printre membrii Academiei de Științe a URSS au existat oameni cărora nu le era frică de o expresie atât de neobișnuită precum numele unei noi direcții științifice. Cu toate acestea, abia în 1974, în cadrul Comitetului pentru Analiza Sistemului din cadrul Prezidiului Academiei de Științe a URSS, a fost creat un consiliu științific pe problema „Inteligentei artificiale”, condus de D. A. Pospelov. La inițiativa acestui consiliu au fost organizate cinci proiecte științifice complexe, conduse de experți de top în acest domeniu: „Dialog” (lucrări de înțelegere a limbajului natural), „Situație” (management situațional), „Banca” (bănci de date), „ Constructor” (motor de căutare). design) și „Inteligenta robotului”. În ths. s-au efectuat cercetări active în domeniul reprezentării cunoștințelor în țara noastră, s-au dezvoltat limbaje de reprezentare a cunoștințelor și sisteme expert; Limba Refal a fost creată la Universitatea de Stat din Moscova. În 1988, a fost înființată Asociația de Inteligență Artificială (AII), iar D. A. Pospelov a fost ales în unanimitate președinte. În cadrul acestei asociații s-au desfășurat un număr mare de studii, au fost organizate școli pentru tineri specialiști, s-au organizat seminarii, simpozioane, s-au ținut conferințe comune la fiecare doi ani și a fost publicată o revistă științifică. Trebuie remarcat faptul că nivelul cercetării teoretice privind inteligența artificială în Rusia nu a fost întotdeauna mai scăzut decât nivelul global. Din păcate, din anii 1980 munca aplicată a început să fie afectată de o întârziere treptată a tehnologiei. În prezent, restanța în dezvoltarea sistemelor industriale inteligente este de aproximativ 3 5 ani. Principalele aplicații ale sistemelor AI sunt: ​​demonstrarea teoremelor, jocurile, recunoașterea modelelor, luarea deciziilor, programarea adaptivă, compoziția muzicii automate, procesarea limbajului natural, rețelele de învățare (rețele neuronale), învățarea conceptuală verbală.

14 Inteligența artificială Structura funcțională a sistemului de inteligență artificială Structura funcțională a sistemului AI (Fig. 1.1) constă din trei seturi de instrumente de calcul. Primul dintre ele este un sistem executiv (IS) - un set de instrumente care execută programe și sunt concepute din punctul de vedere al rezolvării eficiente a problemelor; acest complex are in unele cazuri o orientare problematica. Al doilea complex este un set de instrumente inteligente de interfață care au o structură flexibilă, care oferă capacitatea de a se adapta la o gamă largă de interese. utilizatori finali. Al treilea set de instrumente, cu ajutorul căruia se organizează interacțiunea primelor două complexe, este baza de cunoștințe, care asigură utilizarea primului set de instrumente de calcul.

15 [...]

16 Cerințele minime de sistem sunt determinate de cerințele respective ale Adobe Reader versiunea 11 sau mai mare pentru platformele Windows, Mac OS, Android, ios, Windows Phone și BlackBerry; ecran 10" Ediție electronică educațională Seria: „Educație pedagogică” BAZELE INTELIGENTEI ARTIFICIALE Tutorial Redactor principal D. Usenkov Artiști N. Novak, S. Infante Redactor tehnic E. Denyukova Corrector L. Makarova Dispoziție computer: S. Yankova Semnat pentru utilizare Format mm Editura „Laboratorul de cunoștințe”, Moscova, Pasaj aeroport, 3 Telefon: (499)

17 BOROVSKAYA ELENA VLADIMIROVNA Lector principal, Departamentul de Informatică și Metode de Predare a Informaticii, Universitatea Pedagogică de Stat Chelyabinsk. Domeniu de interes: probleme ale sistemului de evaluare a modulului pentru monitorizarea și evaluarea realizărilor educaționale ale studenților în ceea ce privește managementul calității la universitate. DAVYDOVA NADEZHDA ALEKSEEVNA Candidat la științe pedagogice la specialitatea „Teorie și metode de predare și educație (informatică, nivel de învățământ general)”, conferențiar al Departamentului de informatică și metode de predare a informaticii, Universitatea Pedagogică de Stat Chelyabinsk. Domenii de interes: tehnologie pentru formarea conţinutului învăţământului în informatică în clasele de specialitate ale şcolilor de învăţământ general, sisteme inteligente de învăţare. Tutorialul introduce cititorii în istoria inteligenței artificiale, a modelelor de reprezentare a cunoștințelor, a sistemelor experte și a rețelelor neuronale. Sunt descrise principalele direcții și metode utilizate în analiza, dezvoltarea și implementarea sistemelor inteligente. Sunt luate în considerare modelele de reprezentare a cunoștințelor și metodele de lucru cu acestea, metodele de dezvoltare și crearea de sisteme expert. Cartea va ajuta cititorul să stăpânească abilitățile de proiectare logică a bazelor de date de domeniu și de programare în limbajul Prolog. Cartea este destinată studenților și profesorilor universităților pedagogice, profesorilor de licee, gimnazii și licee.


Inteligența artificială Lector: Bragilevsky V.N. Vorbitor: Banar O.V. Plan Aspecte filozofice ale AI Istoria dezvoltării AI Abordări ale construirii sistemelor AI Abordare structurală. Sisteme de identificare

Cu ocazia împlinirii a 100 de ani de la nașterea lui Germogen Sergeevich Pospelov, 25 mai 2014 a marcat 100 de ani de la nașterea remarcabilului Academia Rusăștiințe, laureat al statului

1. SCOPUL ŞI SARCINIILE DISCIPLINEI Istoria calculatoarelor nu este doar istoria dezvoltării conceptelor, ci şi una dintre părţile istoriei activităţii umane, care reflectă viaţa unei persoane atât ca specie biologică, cât şi ca specie biologică. un membru al

MANUAL de pregătire pentru examenul unificat de stat MANUAL DE INFORMATICĂ pentru pregătirea examenului unificat de stat ediția a III-a, corectat și completat (electronic) Editat de E. T. Vovk Moscova BINOM. Knowledge Lab 2015 UDC

Informatica Cursul 1 Definitii de baza Profesor asociat al Departamentului de SRE (2302) Kuznetsov Igor Rostislavovich Definitie Informatica este o stiinta care studiaza toate aspectele obtinerii, stocarii, transformarii, transmiterii si utilizarii

Direcția 09.03.03 Informatică 1.2 Curs „Interacțiune om-mașină. Lector PPO Molnina Elena Vladimirovna Lector superior Catedra Sisteme Informaţionale, sala 9, clădirea principală. Poștă: [email protected]

UDC 004.89 INTELIGENTA ARTIFICIALA IN INVATAMANT R.V. Streltsov, art. gr. TP08 L.V. Slavinskaya, art. profesor cafenea Universitatea Tehnică Națională VMIP Donețk Procesul de intrare a învățământului superior în lume

Documente normative Adnotare la programul de lucru în informatică Clasa a 8-a Programul de lucru în informatică și TIC are la bază programul autorului Ugrinovich N.D. ținând cont de programul aproximativ al principalului

MODELE DE REZOLVARE A PROBLEMELOR FUNCȚIONALE ȘI DE CALCUL LECTOR RAZARCHENKOV A. A. CONCEPTE DE BAZĂ Sarcini: sarcini de calcul - determinarea unei anumite valori, sarcini funcționale - creare

Conținutul programului de lucru I. Notă explicativă cu indicarea actelor normative care asigură implementarea programului 1. Caracteristicile generale ale disciplinei Informatica este o disciplină de științe a naturii

Agenția Federală pentru Educație instituție educaționalăînvățământ profesional superior „Universitatea de Stat Novosibirsk” (NSU) Facultatea de Tehnologia Informației

PRIMA INSTITUȚIE DE ÎNVĂȚĂMÂNT TEHNIC SUPERIOR DIN RUSIA MINISTERUL EDUCAȚIEI ȘI ȘTIINȚEI A FEDERAȚIA RUSĂ instituție de învățământ bugetar de stat federal de învățământ profesional superior

Modelarea abilităților cognitive umane în inteligența artificială Natalya Andreevna Yastreb VSPU, 2010 [email protected] mail.ru 1 Conceptul de inteligență Termenul „inteligență” este ambiguu,

Adnotarea programului disciplinei „Metode de cercetare și modelare a proceselor și tehnologiilor informaționale” Scopul disciplinei: 1. OBIECTIVELE ȘI SARCINILE DISCIPLINEI Disciplina „Metode de cercetare și modelare”

Despre dezvoltarea sistemelor instrumentale concentrate pe rezolvarea problemelor informatice-logice R. G. Bukharaev, A. I. Enikeev, I. I. Makarov Practica folosirii calculatoarelor pentru automatizare

Instituția de învățământ bugetar municipal „Școala Gimnazială 9” Adnotare la programul de lucru privind informatica și TIC în paralel cu clasa a VI-a Vilyuchinsk anul universitar 2016-2017 1 Număr de ore

Informatica Informatica stabileste legile transformarii informatiilor in conditiile de functionare a sistemelor automate, dezvolta metode de algoritmizare a acesteia, formarea mijloacelor de comunicare limbaj

KAZAN INSTITUTUL UNIVERSITAR FEDERAL DE MATEMATICĂ CALCULATĂ ŞI TEHNOLOGII INFORMAŢIEI Departamentul de Analiză de Sistem şi Tehnologii Informaţionale А.М. YURIN EXPERT SYSTEMS Educativ și metodic

83 UDC 004.822 DEZVOLTAREA UNUI SISTEM DE SOLUȚIONARE AUTOMATĂ A PROBLEMELOR DE CALCUL ÎN CAD, PE BAZA METODEI DE PROGRAMARE ÎN CONSTRINGRI SD Krilevich, AV Grigoriev. Donețk tehnic național

A. A. Ernyak, Æ. A. Ernyak, Yu. Ì. Metelysky, S. A. OPȚIUNI METODĂ BOGDANOVI: MANUAL DE TEORIE ȘI LABORATOR PENTRU STUDII ACADEMICE DE BACALAUREAT Ediția a II-a, Revizuită și completată Rev.

NA Davydova EV Borovskaya Tutorial PROGRAMARE Moscova BINOM. Knowledge Laboratory 2009 UDC 004.4 LBC 32.973-018 D13 D13 Davydova N. A. Programare: un tutorial / N. A. Davydova,

Adnotare la disciplina „sisteme informaționale intelectuale” 1. OBIECTIVELE ȘI SARCINILE DISCIPLINIEI 1.1. Obiectivele disciplinei Scopul predării disciplinei este de a ajuta elevii să-și dezvolte capacitatea

Instituție de învățământ bugetară municipală școala medie 83

Sarcini de testare la disciplina IIS Tema: 1. Inteligența artificială 1 întrebare: Inteligența artificială este o direcție care vă permite să rezolvați probleme complexe probleme de matematicăîn limbaje de programare;

NOTĂ EXPLICATIVE Programul de lucru al cercului de informatică „Tânărul informatician” pentru clasele 5-7 a fost elaborat pe baza programului autorului N.V.Makarova pentru clasele 5-9, recomandat de Ministerul Educației.

Rețele neuronale artificiale și posibilitatea de a crea inteligență artificială pe baza lor Suleymanov K.B. FGBOU VO „Universitatea de Stat Daghestan” Makhachkala, Rusia. rețele neuronale artificiale

Adnotare la disciplina „Fundamentele programării și algoritmizării” Direcția de formare (specialitatea) 09.03.02 „Sisteme și tehnologii informaționale” Profil Sisteme și tehnologii informaționale în construcții

Metodologia și logica cercetării științifice Disciplina „Metodologia și logica cercetării științifice” este inclusă în partea de bază a ciclului științific general de pregătire de master. Scopul studierii disciplinei este familiarizarea

Sisteme inteligente în inginerie mecanică Cursul 2.1. Metode de reprezentare a cunoștințelor. 1 Reprezentarea cunoștințelor în sistemele de inteligență artificială Caracteristica principală a sistemelor inteligente este aceea că

Marchuk 14 y. REVIZIA organizației de conducere pentru lucrarea de disertație a lui Dmitri Alexandrovich Krylov „Modele și metode pentru implementarea unei platforme cloud pentru dezvoltarea și utilizarea serviciilor inteligente”,

TEHNOLOGII ALE INTELIGENTEI ARTIFICIALE Curs 5. Sisteme expert Continuare Tehnologii AI 1 MODELE SEMIOTICE Probleme clasice de control. La temelia lor se află teza pe care o cunoaștem: scopul

8. FOND DE INSTRUMENTE DE EVALUARE PENTRU CERTIFICAREA INTERIMARĂ A ELEVILOR LA DISCIPLINA (MODUL) Informatică, Inginerie Informatică și 1. Departamentul Securitate Informațională 09.03.02 „Informații

ANOTAREA programului de lucru „Tehnologii informaționale în management” în direcția pregătire/specialitatea 38.03.04 „Stat și administrația municipală» codul si denumirea directiei/specialitatii

MINISTERUL EDUCAȚIEI ȘI ȘTIINȚEI AL RUSIEI Bugetul Federal de Stat Instituția de Învățământ de Învățământ Superior „Universitatea Tehnologică de Stat din Moscova „STANKIN” (FGBOU VO „MSTU „STANKIN”) REZUMAT

1. Enciclopedia Pedagogică Rusă. În 2 volume / Cap. ed. V.V. Davydov. M.: Marea Enciclopedie Rusă, 1993. Vol. 2. 608 p. 2. Selevko G.K. Modern tehnologii educaționale: Proc. indemnizatie M.:

G. V. Alekseev, S. A. Bredikhin, I. I. Kholyavin ABORDAREA SISTEMICĂ ÎN INGINIA ALIMENTARĂ Definiții generale și unele aplicații

Software (SW) Software Sistem și aplicații software Software-ul de sistem este utilizat pentru a dezvolta execuția produselor software, precum și pentru a oferi utilizatorului anumite servicii. Sistemică

Adnotare la programele de lucru în informatică și TIC pentru anul 2016-2017 Clasa a VII-a (învățământ general de bază) Studiul informaticii și TIC în clasele a VII-a are ca scop realizarea următoarelor obiective:

UDC 004.514.6 EVALUAREA CALITĂȚII INTERFEȚEI DE UTILIZARE A PROGRAMELOR EDUCAȚIONALE Goretsky A.A. Universitatea Națională Tehnică Donețk Departamentul de Matematică Aplicată și Informatică E-mail: [email protected]

ANOTAREA PROGRAMULUI DE LUCRU AL DISCIPLINEI Sisteme si tehnologii inteligente in directia/specialitatea 09.03.02 - „Sisteme si tehnologii informatice” 1. Scopurile si obiectivele insusirii disciplinei Scopul insusirii disciplinei

SISTEME ADAPTIVE ȘI INTELIGENTE T. Kohonen Hărți auto-organizate Traducerea celei de-a 3-a ediții în limba engleză de V. N. Ageev, editată de Yu. V. Tyumentsev Moscova BINOM. Laboratorul de cunoștințe 2008 UDC 517.11+519.92

MINISTERUL EDUCAȚIEI ȘI ȘTIINȚEI AL FEDERATIEI RUSE Instituția de învățământ de stat de învățământ profesional superior „Universitatea de Stat pentru Științe Umaniste din Murmansk” (MGGU)

MINISTERUL EDUCAȚIEI ȘI ȘTIINȚEI AL FEDERĂȚIA RUSĂ Bugetul federal de stat Instituția de învățământ de învățământ profesional superior „UFA TEHNICĂ DE AVIATION DE STAT

Sisteme de management al bazelor de date (DBMS) 1. Informații generale despre SGBD 2. Modele de date 3. SGBD Microsoft Access 1. Informații generale despre sistemele de management al bazelor de date Două domenii principale de utilizare a computerelor:

COMPILATOR: Ryaby VV, Lector principal, Departamentul de Suport Matematic al Calculatoarelor Electronice, Universitatea de Stat din Belarus; Pobegailo A.P., profesor asociat, Departamentul de Tehnologie

MINISTERUL EDUCAȚIEI ȘI ȘTIINȚEI AL FEDERAȚIEI RUSĂ stat federal instituție de învățământ autonomă de învățământ profesional superior UNIVERSITATEA NAȚIONALĂ DE CERCETARE NUCLEARĂ

MINISTERUL EDUCAȚIEI ȘI ȘTIINȚEI AL FEDERĂȚIA RUSĂ BUGETAR DE STAT FEDERAL INSTITUȚIA DE ÎNVĂȚĂMÂNT PROFESIONAL SUPERIOR

BUGETUL DE STAT INSTITUȚIA DE ÎNVĂȚĂMÂNT A ORAȘULUI MOSCOVA SCOALA MEDIA 382 Considerat în ședința Ministerului Apărării șefului Ministerului Apărării N.V. Protocolul Pavlenko din 2014 DE ACORD Deputat

UDC 372.851.046.14 LBC 74.262.21 G15 Recenzători: Ph.D. ped. Științe, Conf. univ. cafenea Matematică și metode de predare a matematicii Instituția de învățământ „Statul Mozyr. ped. un-t im. I. P. Shamyakina» L. A. Ivanenko; profesor

YURI MIKHAILOVICH ZABRODIN împlinește 70 de ani În octombrie 2010, Yuri Mikhailovich Zabrodin, un om de știință proeminent și organizator al științei psihologice rusești, și-a sărbătorit 70 de ani. În istoria psihologiei sovietice și ruse

TAMBOV REGIONAL DE STAT INSTITUȚIA AUTONOMĂ DE ÎNVĂȚĂMÂNT PROFESIONAL SUPLIMENTAR „INSTITUTUL DE DEZVOLTARE PROFESIONALĂ A ÎNVĂȚĂMĂTORII”

Manual pentru manageri, adjuncții acestora, profesori ai instituțiilor de învățământ secundar general Mozyr „Vântul Alb” 2 0 1 4 UDC 371 BBK 74.200.58 B59

Programa se bazează pe programa unei instituții de învățământ superior la specialitatea 1-40 05 01 „Sisteme și tehnologii informaționale (pe domenii)” și curriculumul „Fundamentele informației”.

Cuprins Secțiunea Pagina de titlu secțiunea 1. Notă explicativă 3-4 2. Conținutul materiei 4-5 3. Cerința pentru nivelul de pregătire a elevilor 5-7 4. Literatură 7 5. Calendar-planificare tematică

Principal program educaționalînvăţământul superior a fost aprobat de Consiliul Academic al Universităţii (protocolul Consiliului Academic al Universităţii 3 din 16 martie 2016) 2 CUPRINS 1. Caracteristici generale ale profesiei principale

A. P. Ãîëóáêîâ ÌÅÒÎÄÛ ÏÐÈÍßÒÈß ÓÏÐÀÂËÅÍ ÅÑÊÈÕ ÐÅØÅÍÈÉ àñòü 1 Ó ÅÁÍÈÊ Č ÏÐÀÊÒÈÊÓÌ AESs ÀÊÀÄÅÌÈ ÅÑÊÎÃÎ ÁÀÊÀËÀÂÐÈÀÒÀ 3-å èçäàíèå, èñïðàâëåííîå è äîïîëíåííîå Ðåêîìåíäîâàíî Ó åáíî-ìåòîäè åñêèì îòäåëîì âûñøåãî

Cursul 21 Sisteme de luare a deciziilor în grup Procesul de luare a deciziilor are același caracter ca și procesul de luare a unei decizii manageriale. Poate fi împărțit în următoarele etape (Fig. 4.1). I. Analiza designului

Ne scriu ROSSIKHINA Larisa Vitalievna - Candidată la științe tehnice, căpitan al serviciului intern, lector superior în ciclul de sisteme de inginerie radio al Colegiului Voronezh Serviciul Federal executarea pedepselor

1 Manual: Informatica. Clasa a 11a. nivel avansat. La ora 14.00 Autori: K.Yu. Polyakov, E.A. Eremin M.: BINOM, Knowledge Lab, 2013. Rezultatele planificate ale studiului programului de informatică la disciplina „Informatică”

Rolul programării logice în studiul informaticii. Universitatea de Stat N. Pelin Tiraspol (UST) Rezumat Lucrarea analizează opiniile unui număr de oameni de știință și

Formație municipală - district urban, orașul Ryazan, regiunea Ryazan

APLICAREA INTELIGENTEI ARTIFICIALE ÎN DEZVOLTAREA JOCURILOR DE CALCULATOR Kaziev AB, Prokopyuk S.Yu. Universitatea Politehnică din Tomsk Tomsk, Rusia APLICAREA INTELIGENTEI ARTIFICIALE

Control, Informatică și Informatică UDC 004.032.26:612.825

SIMULAREA ROBOȚILOR INTEGRALĂ ÎN MATLAB Sadykov ENU ei. L.N. Gumiliov, Astana, st. Munaitpasova, 5, 001008. E-mail: [email protected] Introducere. Dispozitiv automat robot (robot ceh).

Maslennikova O.E. , Popova I.V.

Tutorial. Magnitogorsk: MaGU, 2008. 282 p. Manualul prezintă modele de reprezentare a cunoștințelor, teoria sistemelor expert, elementele de bază ale programării logice și funcționale. Se acordă multă atenție istoriei dezvoltării inteligenței artificiale. Prezentarea materialului este însoțită de un număr mare de ilustrații, sunt oferite exerciții și întrebări pentru autocontrol.
Lucrarea se adresează studenților cu normă întreagă și cu frecvență parțială care studiază în domeniile „Informatică”, „Educație fizică și matematică (Profil – Informatică)”.Introducere în inteligența artificială.
Istoria dezvoltării inteligenței artificiale ca direcție științifică.
Principalele direcții de cercetare în domeniul inteligenței artificiale.
Aspecte filozofice ale problemei inteligenței artificiale.
Întrebări pentru autocontrol.
Literatură.
Modele de reprezentare a cunoștințelor.
Cunoştinţe.
Model logic de reprezentare a cunoștințelor.
rețele semantice.
Rame.
model de producție.
Alte modele de reprezentare a cunoștințelor.
Exerciții.
Întrebări pentru autocontrol.
Literatură.
Sistem expert.
Conceptul de sistem expert.
Tipuri de sisteme expert și tipuri de sarcini de rezolvat.
Structura și modurile de funcționare ale sistemului expert.
Tehnologia expertă de dezvoltare a sistemelor.
Instrumente de sistem expert.
Sisteme informatice inteligente.
Exerciții.
Întrebări pentru autocontrol.
Literatură.
Prolog ca limbaj de programare logic.
Introducere în programarea logică.
Reprezentarea cunoștințelor despre domeniul subiectului sub formă de fapte și reguli ale bazei de cunoștințe Prolog.
Sensul descriptiv, procedural și automat al unui program Prolog.
Tehnici de bază de programare în Prolog.
Mediul Visual Prolog.
Exerciții.
Literatură.
Introducere în programarea funcțională.
Istoria programării funcționale.
Proprietățile limbajelor funcționale de programare.
Sarcini de programare funcțională.
Exerciții.
Răspunsuri pentru autotest.
Literatură.
sari.
Anexa 1.
Anexa 2
Anexa 3

Fișierul va fi trimis la adresa de e-mail selectată. Poate dura până la 1-5 minute înainte de a-l primi.

Fișierul va fi trimis în contul dvs. Kindle. Poate dura până la 1-5 minute înainte de a-l primi.
Vă rugăm să rețineți că trebuie să adăugați e-mailul nostru [email protected] la adresele de e-mail aprobate. Citeste mai mult.

Puteți scrie o recenzie de carte și vă puteți împărtăși experiențele. Ceilalți cititori vor fi întotdeauna interesați de părerea dvs. despre cărțile pe care le-ați „citit. Fie că ați iubit cartea sau nu, dacă vă oferiți gândurile sincere și detaliate, atunci oamenii vor găsi cărți noi care sunt potrivite pentru ei.

Ministerul Educației și Științei al Federației Ruse Universitatea de Stat Magnitogorsk O.E. Maslennikova, I.V. Popova Fundamentals of Artificial Intelligence Manual Magnitogorsk 2008 UDC 681.142.1.01 LBC Z97 M Revizori: Doctor în științe fizice și matematice, profesor S.I. Kadchenko Doctor în științe tehnice, profesorul A,S. Sarvarov M. Maslennikov O.E., Popova I.V. Fundamentele inteligenței artificiale: manual. indemnizatie / O.E. Maslennikova, I.V. Popov. - Magnitogorsk: MaGU, 2008. - 282 p. ISBN 978-5.86781-609-4 Manualul prezintă modele de reprezentare a cunoștințelor, teoria sistemelor expert, bazele programării logice și funcționale. Se acordă multă atenție istoriei dezvoltării inteligenței artificiale. Prezentarea materialului este însoțită de un număr mare de ilustrații, sunt oferite exerciții și întrebări pentru autocontrol. Lucrarea este axată pe studenții cu normă întreagă și cu fracțiune de normă care studiază în domeniile „Informatică”, „Educație fizică și matematică (Profil – Informatică)”. UDC 681.142.1.01 BBC Z97 ISBN 978-5.86781-609-4  Maslennikova O.E., Popova I.V., 2008  Magnitogorsk State University, 2008 -2- CUPRINS CAPITOLUL 1. INTRODUCERE ARTIFICĂRII...... ........ 5 1.1. ISTORIA DEZVOLTĂRII INTELIGENTEI ARTIFICIALE CA DIRECȚIE ȘTIINȚIFICA ............................................. ........................ ................................ ....................... ........... 9 1.2. PRINCIPALE DIRECȚII DE CERCETARE ÎN DOMENIUL INTELIGENTEI ARTIFICIALE........................................... ................................................... ................................... ............. 13 1.3. ASPECTE FILOZOFICE ALE PROBLEMEI INTELIGENTEI ARTIFICIALE....... 16 INTREBARI PENTRU AUTOCONTROL............................. ................ ................................. ........ 21 LITERATURĂ....... ................................. .................................................. ............... 21 CAPITOLUL 2. MODELE DE REPREZENTARE A CUNOAȘTERILOR............................ ............................................. 22 2.1. CUNOŞTINŢE................................................. ................................................. . ...... 22 2.2. MODEL LOGIC DE REPREZENTARE A CUNOAȘTERILOR............................................. ..................... 25 2.3. REȚELE SEMANTICE................................................... ................. ................................ ................. 58 2.4. CADRE ................................................. . ................................................. ...... 59 2.5. MODELUL PRODUSULUI ............................................... ............................................... 62 2.6. ALTE MODELE DE REPREZENTARE A CUNOAȘTERILOR ............................................. ............. .... 64 EXERCIȚII ............................ ................................................... .............. ......... 78 ÎNTREBĂRI DE AUTO-CHECK-IN ................ .............................................. 83 LITERATURĂ ... ....... ................................................. ...................................................... 84 CAPITOLUL 3. SISTEME DE EXPERȚI........................................... ............................. .......... 86 3.1. CONCEPTUL DE SISTEM EXPERT ............................................... ............................................. 86 3.2. TIPURI DE SISTEME EXPERT ȘI TIPURI DE PROBLEME REZOLVATE............................................ ......... 89 3.3. STRUCTURA ȘI MODURI DE OPERARE ALE SISTEMULUI EXPERT ............................................. .... 99 3.4. TEHNOLOGIE PENTRU DEZVOLTAREA SISTEMELOR EXPERT .................................................. ................... 102 3.5. INSTRUMENTELE SISTEMULUI EXPERT ................................................ 113 3.6. SISTEME DE INFORMAȚII INTELIGENTE ................................................ ... 129 EXERCIȚII .............. ............................... ................. ................................ ............... 135 ÎNTREBĂRI DE AUTO-CHECK-IN .............. .............. ................................................... .. 136 LITERATURA .................................. ............ ..................................... ............. ......... 138 CAPITOLUL 4. PROLOGUL CA LIMBAJ DE PROGRAMARE LOGICĂ ............................... ................................................... .. ........... 139 4.1. VEDERE A PROGRAMĂRII LOGICE ................................................ 139 4.2. REPREZENTAREA CUNOAȘTENȚILOR DESPRE DOMENIUL SUBIECTULUI CA FAPTE ȘI REGULI ALE BAZEI DE CUNOAȘTERE PROLOG............................... ............................ ................................ ............................ 140 4.3 . SENSUL DESCRIPȚIONAL, PROCEDURAL ȘI MAȘINĂ AL PROGRAMULUI PRIVIND PROLOGUL...................................... ..................... ................................ ................... ............. 148 4.4. TEHNICI DE BAZĂ DE PROGRAMARE ÎN PROLOG ............................................. 151 4.5. MEDIUL VISUAL PROLOG .................................................. .............................. 154 EXERCIȚII .............. ................ ................................. .................................................. .. 194 LITERATURA .............. ................................ ................ ................................. ........ 197 -3- CAPITOLUL 5. INTRODUCEREA PROGRAMĂRII FUNCȚIONALE. ................................................. . .............................. 199 5.1. ISTORIA PROGRAMĂRII FUNCȚIONALE ............................................. .... 200 5.2. PROPRIETĂȚI ALE LIMBAJURILOR DE PROGRAMARE FUNCȚIONALĂ 203 5.3. SARCINI DE PROGRAMARE FUNCȚIONALĂ.................................................. .............. 207 EXERCIȚII.............................. ............................. ................................. ................................................... ................... 210 RĂSPUNSURI DE AUTOTESTARE....... ................... .............................. ................... 210 LITERATURA .................................................. .............................................. ..... 211 GLOSAR ....................... .................... ............................................................. ......... 213 ANEXA 1 .................. ................... ............................................................. .... 221 ANEXA 2 ..................... ...................... .......................................................... 252 ANEXA 3 ................................ ...................... .............................................. 265 -4 - PREFAȚĂ Recent, s-a înregistrat o creștere a interesului pentru inteligența artificială, cauzată de cerințele crescute pentru sisteme de formare. Omenirea se îndreaptă în mod constant către o nouă revoluție a informațiilor, comparabilă ca scară cu dezvoltarea Internetului. Inteligența artificială este o ramură a informaticii, al cărei scop este dezvoltarea de instrumente hardware și software care permit unui utilizator non-programator să își stabilească și să își rezolve propriile sarcini, considerate în mod tradițional intelectual, comunicând cu un computer într-un subset limitat al limbajului natural. . Istoria inteligenței artificiale ca nouă direcție științifică începe la mijlocul secolului al XX-lea. Până în acest moment, multe premise pentru originea sa au fost deja formate: printre filosofi au existat de mult timp dispute cu privire la natura omului și procesul de cunoaștere a lumii, neurofiziologii și psihologii au dezvoltat o serie de teorii cu privire la activitatea creierului uman și gândirea, economiștii și matematicienii au pus întrebări de calcule optime și de reprezentare a cunoștințelor despre lume în formă formalizată; în cele din urmă, s-a născut fundamentul teoriei matematice a calculului - teoria algoritmilor - și au fost create primele calculatoare. Scopul acestui manual este de a prezenta principalele direcții și metode utilizate în inteligența artificială, precum și de a determina posibilitatea utilizării acestora în activitatea pedagogică profesională. Acest tutorial este format din cinci capitole. Primul oferă o scurtă introducere în inteligența artificială: este luată în considerare istoria dezvoltării acesteia ca direcție științifică, sunt evidențiate principalele domenii ale inteligenței artificiale și aspecte filozofice ale problemei precum posibilitatea existenței, siguranța și utilitatea sunt luate în considerare inteligența artificială. Al doilea capitol este dedicat descrierii modelelor clasice de reprezentare a cunoștințelor: logic, semantic, cadru, producție și rețea neuronală. Al treilea capitol tratează aspecte teoretice și practice ale dezvoltării sistemelor expert; descrie învelișul XpertRule. Al patrulea capitol conturează principiile de bază ale programării în limbajul Prolog, descrie mediul Visual Prolog. Al cincilea capitol acoperă elementele de bază ale programării funcționale cu exemple LISP. Manualul conține un număr mare de ilustrații, exerciții și întrebări pentru autocontrol. Pentru confortul studierii materialului, este oferit un glosar. -5- CAPITOLUL 1. INTRODUCERE ÎN INTELIGENTEA ARTIFICIALĂ Inteligența artificială (IA) este un domeniu nou al informaticii, al cărui subiect este orice activitate intelectuală umană care se supune unor legi cunoscute. Figurat, această direcție este numită „fiul cel mare al informaticii”, deoarece multe probleme nerezolvate de ea își găsesc treptat soluția în cadrul inteligenței artificiale. Se știe că subiectul informaticii este prelucrarea informațiilor. Domeniul AI include astfel de cazuri (sarcini) din această prelucrare care nu pot fi efectuate folosind metode algoritmice simple și precise și dintre care există foarte multe. AI se bazează pe cunoștințele despre procesul gândirii umane. În același timp, nu se știe exact cum funcționează creierul uman, totuși, pentru a dezvolta programe eficiente cu elemente AI, cunoștințele despre trăsăturile inteligenței umane pe care le are astăzi știința sunt suficiente. În același timp, AI nu încearcă să copieze exact activitatea creierului uman, ci încearcă să-și simuleze funcțiile folosind tehnologia computerizată. Încă din momentul nașterii sale, IA s-a dezvoltat ca o direcție interdisciplinară care interacționează cu informatica și cibernetica, științele cognitive, logica și matematica, lingvistica și psihologia, biologia și medicina (Fig. 1). Informatica si cibernetica. Mulți specialiști au venit la AI din informatică și cibernetică. De asemenea, multe probleme combinatorii care nu pot fi rezolvate prin metode tradiționale în informatică au migrat în domeniul AI. În plus, rezultatele obținute în IA sunt împrumutate la crearea software-ului și devin parte din Computer Science (informatica). Științe cognitive. Științele cognitive sunt științe despre cunoaștere. AI se ocupă și de cunoaștere. Dar științele cognitive folosesc nu numai abordări informaționale și neurobiologice, ci iau în considerare și aspectele sociale și psiholingvistice ale utilizării cunoștințelor. Logica si matematica. Logica stă la baza tuturor formalismelor de reprezentare a cunoștințelor cunoscute, precum și a limbajelor de programare precum Lisp și Prolog. Pentru a rezolva problemele AI, se folosesc metode de matematică discretă, teoria jocurilor și teoria operațiilor. La rândul său, AI poate fi folosit pentru a demonstra teoreme, rezolva probleme din diverse domenii ale matematicii: geometrie, calcul integral. Psihologie și lingvistică. Recent, specialiștii AI au devenit interesați de aspectele psihologice ale comportamentului uman pentru a-l modela. Psihologia ajută la construirea unor modele de evaluare a valorii, luând decizii subiective. De interes este psihologia comunicării -6 - „om-calculator”, psiholingvistica. Lingvistica computațională este o parte a IA care se bazează pe metode matematice prelucrarea limbajelor naturale și artificiale, pe de o parte, și a fenomenologiei limbajului, pe de altă parte. Biologia și medicina vă permit să studiați și să înțelegeți mai bine activitatea creierului, sistemele de vedere, auzul și alți senzori naturali și să dați un nou impuls domeniului modelării muncii lor. Orez. 1. Interacțiunea IA cu alte discipline Nu există o definiție unică a IA, așa cum nu există o definiție unică a inteligenței naturale. Dintre numeroasele puncte de vedere asupra acestui domeniu științific, trei domină acum. 1. Cercetarea în domeniul IA este cercetare fundamentală, în cadrul căreia se dezvoltă modele și metode de rezolvare a problemelor, care erau considerate în mod tradițional intelectuale și nu erau susceptibile până acum de formalizare și automatizare. 2. AI este o nouă direcție în informatică asociată cu noi idei de rezolvare a problemelor pe un computer, cu dezvoltarea unei tehnologii de programare fundamental diferite, cu o tranziție la o arhitectură de computer care respinge arhitectura clasică, care datează din prima calculatoare. 3. Ca urmare a muncii în domeniul AI, iau naștere o mulțime de sisteme aplicate care rezolvă probleme pentru care sistemele create anterior nu erau potrivite. -7- Pentru a ilustra prima abordare, putem da un exemplu cu un calculator. La începutul secolului calcule aritmetice cu numere cu mai multe cifre erau lotul câtorva indivizi supradotați, iar capacitatea de a efectua astfel de operații aritmetice în minte era considerată pe bună dreptate un dar unic al naturii și a făcut obiectul cercetării științifice. În vremea noastră, invenția calculatorului a făcut această abilitate disponibilă chiar și unui elev de clasa a treia. Același lucru este valabil și în AI: îmbunătățește capacitățile intelectuale ale unei persoane, preluând soluția unor sarcini care nu au fost formalizate anterior. Pentru a ilustra a doua abordare, putem lua în considerare istoria unei încercări de a crea un computer de generația a cincea. La mijlocul anilor '80, Japonia a anunțat începerea unui proiect ambițios de a crea computere de generația a cincea. Proiectul sa bazat pe ideea unei implementări hardware a limbajului PROLOG. Totuși, proiectul s-a încheiat cu eșec, deși a avut o influență puternică asupra dezvoltării și distribuției limbajului PROLOG ca limbaj de programare. Motivul eșecului a fost concluzia grăbită că o singură limbă (deși una destul de universală) poate oferi singura soluție pentru toate problemele. Practica a arătat că până acum nu a fost inventată o paradigmă de programare universală pentru rezolvarea tuturor problemelor și este puțin probabil să apară. Acest lucru se datorează faptului că fiecare sarcină este o parte a domeniului subiectului care necesită un studiu atent și o abordare specifică. Încercările de a crea noi arhitecturi de computer continuă și sunt asociate cu calcule paralele și distribuite, neurocalculatoare, procesoare probabilistice și fuzzy. Munca în domeniul creării de sisteme expert (ES) poate fi atribuită celei de-a treia direcții, cea mai pragmatică, în AI. Sistemele experte sunt complexe software, înlocuind un specialist uman în domenii înguste de activitate intelectuală care necesită utilizarea unor cunoștințe speciale. Crearea ES în domeniul medicinei (cum ar fi MYCIN) permite răspândirea cunoștințelor în zonele cele mai îndepărtate. Astfel, în combinație cu accesul la telecomunicații, orice medic din mediul rural poate obține sfaturi de la un astfel de sistem, înlocuindu-l cu comunicarea cu un specialist pe o problemă restrânsă. În Rusia, AI și-a găsit susținători aproape din momentul apariției sale. Cu toate acestea, această disciplină nu a primit imediat recunoaștere oficială. AI a fost criticată ca o sub-ramură a ciberneticii, considerată „pseudosștiință”. Până la un moment dat, numele șocant „inteligență artificială” a jucat și el un rol negativ. Deci, în Prezidiul Academiei de Științe a existat o glumă că „cei cărora le lipsește inteligența naturală sunt angajați în inteligența artificială”. Cu toate acestea, astăzi AI este o direcție științifică recunoscută oficial în Rusia, revistele „Sisteme de control și mașini” și „AI News” sunt publicate și conferințe științifice si seminarii. Există Asociația Rusă a AI, care are aproximativ 200 de membri, al cărei președinte este doctorul în științe tehnice D.A. Pospelov, iar președintele de onoare este academician al Academiei Ruse de Științe G.S. Pospelov. Există Institutul Rus de Inteligență Artificială sub Consiliul Președintelui Federației Ruse pentru Informatică și Informatică. În cadrul Academiei Ruse de Științe există un Consiliu științific pe problema „Inteligentei artificiale”. Cu participarea acestui Consiliu, au fost publicate multe cărți pe tema IA și traduceri. Lucrările lui D.A. Pospelov, Litvintseva și Kandrashina sunt binecunoscute - în domeniul reprezentării și prelucrării cunoștințelor, E.V. Popov și Khoroshevsky - în domeniul prelucrării limbajului natural și al sistemelor expert, Averkin și Melikhov în domeniul logicii fuzzy și seturi neclare , Stefanyuk - în domeniul sistemelor de învățare, Kuznetsov, Finn și Vagin - în domeniul logicii și reprezentării cunoștințelor. În Rusia, există o școală lingvistică de computer puternică în mod tradițional, care provine din munca lui Melchuk pe modelul SmyslText. Printre faimoșii lingviști informatici se numără Apresyan, Gorodetsky, Paducheva, Narinyani, Leontiev, Chaliapin, Zaliznyak Sr., Kibrik Sr., Baranov și mulți alții. etc. 1.1. Istoria dezvoltării inteligenței artificiale ca direcție științifică Ideea de a crea o asemănare artificială a minții umane pentru a rezolva probleme complexe și a simula capacitatea de gândire a fost în aer încă din cele mai vechi timpuri. În Egiptul antic, a fost creată o statuie mecanică „reînviitoare” a zeului Amon. În Iliada lui Homer, zeul Hephaestus a falsificat creaturi umanoide. În literatură, această idee a fost jucată de mai multe ori: de la Galatea lui Pigmalion până la Pinocchio a lui Papa Carlo. Cu toate acestea, strămoșul inteligenței artificiale este considerat a fi filozoful, matematicianul și poetul spaniol medieval R. Lully (c.1235-c.1315), care în secolul XIV. a încercat să creeze o mașină pentru rezolvarea diferitelor probleme pe baza unei clasificări generale a conceptelor. În secolul al XVIII-lea. G. Leibniz (1646 - 1716) și R. Descartes (1596 - 1650) au dezvoltat independent această idee, propunând limbaje universale pentru clasificarea tuturor științelor. Aceste idei au stat la baza dezvoltărilor teoretice în domeniul creării inteligenței artificiale (Fig. 2). Dezvoltarea inteligenței artificiale ca direcție științifică a devenit posibilă numai după crearea computerelor. Acest lucru s-a întâmplat în anii 40. Secolului 20 În același timp, N. Wiener (1894 - 1964) și-a creat lucrările fundamentale despre o nouă știință - cibernetica. Termenul de inteligență artificială a fost propus în 1956 la un seminar cu același nume de la Universitatea Stanford (SUA). Seminarul a fost dedicat dezvoltării de probleme logice, nu de calcul. La scurt timp după recunoașterea inteligenței artificiale ca ramură independentă a științei, a existat o divizare în două domenii principale: neurocibernetica și cibernetica „cutie neagră”. Și numai în prezent -9 - tendințele spre unificarea din nou a acestor părți într-un singur întreg au devenit vizibile. În URSS, în 1954, la Universitatea de Stat din Moscova, sub îndrumarea profesorului A.A.Lyapunov (1911 - 1973), și-a început activitatea seminarul „Automate și gândire”. La acest seminar au participat fiziologi, lingviști, psihologi și matematicieni de frunte. Este general acceptat că în acest moment s-a născut inteligența artificială în Rusia. La fel ca și în străinătate, s-au remarcat direcțiile de neurocibernetică și cibernetică ale „cutiei negre”. În 1956 -1963. au fost efectuate căutări intensive de modele și algoritmi ai gândirii umane și dezvoltarea primelor programe. S-a dovedit că niciuna dintre științele existente - filozofie, psihologie, lingvistică - nu poate oferi un astfel de algoritm. Apoi cibernetica s-a oferit să-și creeze propriile modele. Au fost create și testate diverse abordări. Prima cercetare în domeniul AI este asociată cu crearea unui program pentru jocul de șah, deoarece se credea că abilitatea de a juca șah este un indicator al inteligenței ridicate. În 1954, omul de știință american Newell a conceput ideea creării unui astfel de program. Shannon a propus, iar Turing a precizat, o metodă pentru crearea unui astfel de program. Americanii Shaw și Simon, în colaborare cu un grup de psihologi olandezi din Amsterdam, sub îndrumarea lui de Groot, au creat un astfel de program. Pe parcurs, a fost creat un limbaj special IPL1 (1956), conceput pentru a manipula informația în formă simbolică, care a fost predecesorul limbajului Lisp (MacCarthy, 1960). Totuși, primul program de inteligență artificială a fost programul Logic Theorist, conceput pentru a demonstra teoreme în calculul propozițional (9 august 1956). Programul de șah a fost creat în 1957 (NSS - Newell, Shaw, Simon). Structura sa și structura programului Logic Theorist au stat la baza creării programului Universal Problem Solver (GPS-General Problem Solving). Acest program, analizând diferențele dintre situații și construind obiective, este bun la rezolvarea puzzle-urilor Tower of Hanoi sau la calcularea integralelor nedefinite. Programul EPAM (Elementary Perceiving and Memorizing Program) este un program elementar de percepție și memorare, conceput de Feigenbaum. În 1957, un articol al lui Chomsky, unul dintre fondatorii lingvisticii computaționale, a apărut despre gramatica transformațională. La sfârşitul anilor '50. s-a născut modelul de căutare labirint. Această abordare reprezintă problema ca un anumit grafic care reflectă spațiul de stare1, iar în acest grafic se realizează căutarea căii optime de la datele de intrare la cele rezultate. S-a depus multă muncă pentru dezvoltarea acestui model, dar în rezolvarea problemelor practice ideea nu a primit o răspândire largă. 1 Spațiul stărilor este un graf ale cărui vârfuri corespund situațiilor întâlnite în problemă („situații problemă”), iar soluția problemei se reduce la găsirea unui drum în acest graf. - 10 - Începutul anilor 60. - era programării euristice. O euristică este o regulă care nu este justificată teoretic, dar permite reducerea numărului de iterații în spațiul de căutare. Programarea euristică este dezvoltarea unei strategii de acțiune bazată pe euristici cunoscute, predeterminate. În anii 1960, au fost create primele programe care au funcționat cu interogări în limbaj natural. Programul BASEBALL (Green et al., 1961) a răspuns solicitărilor privind rezultatele meciurilor anterioare de baseball, programul STUDENT (Bobrow, 1964) a fost disponibil pentru a rezolva probleme algebrice formulate în limba engleză. Orez. 2. Repere în dezvoltarea IA ca domeniu științific S-au pus mari speranțe în munca în domeniul traducerii automate, al cărui început este asociat cu numele lingvistului rus Belskaya. Cu toate acestea, cercetătorilor au fost nevoie de mulți ani pentru a înțelege că traducerea automată nu este o problemă izolată și necesită prezența unei etape atât de necesare precum înțelegerea pentru a avea succes. Printre cele mai semnificative rezultate obținute de oamenii de știință autohtoni în anii 60, trebuie remarcat algoritmul „Cortex” de M. Bongard, care simulează activitatea creierului uman în recunoașterea modelelor. În 1963 - 1970. metodele logicii matematice au început să fie conectate la rezolvarea problemelor. O nouă abordare a logicii formale, bazată pe reducerea raționamentului la o contradicție, a apărut în 1965 - 11 - (J. Robinson). Pe baza metodei de rezoluție, care a făcut posibilă demonstrarea automată a teoremelor în prezența unui set de axiome inițiale, în 1973 a fost creat limbajul Prolog. În URSS în 1954-1964. se creează programe separate şi se investighează căutarea soluţiilor la probleme logice. La Leningrad (LOMI - Departamentul Leningrad al Institutului de Matematică numit după V.A.Steklov) se creează un program care demonstrează automat teoremele (ALPEV LOMI). Se bazează pe derivarea inversă originală a lui S.Yu.Maslov, similară cu metoda de rezoluție Robinson. În 1965-1980. se dezvoltă noua stiinta - managementul situațional (corespunde reprezentării cunoștințelor în terminologia occidentală). Fondatorul acestei școli științifice este profesorul D.A. Pospelov. Au fost dezvoltate modele speciale de reprezentare a situaţiilor - reprezentări de cunoştinţe. În străinătate, cercetarea în domeniul AI este însoțită de dezvoltarea unor limbaje de programare de nouă generație și de crearea unor sisteme de programare din ce în ce mai sofisticate (Lisp, Prolog, Plannar, QA4, Macsyma, Reduce, Refal, ATNL, TMS). Rezultatele obținute încep să fie folosite în robotică, la controlul roboților, staționari sau mobili, care funcționează într-un spațiu real tridimensional. Acest lucru ridică problema creării de organe artificiale de percepție. Înainte de 1968, cercetătorii lucrau în principal cu „microspații”, au creat sisteme potrivite pentru domenii de aplicare atât de specifice și limitate precum jocurile, geometria euclidiană, calculul integral, „lumea cuburilor”, prelucrarea frazelor simple și scurte cu un mic. vocabular . Aproape toate aceste sisteme au folosit aceeași abordare - o simplificare a combinatoriei bazată pe reducerea necesarului de enumerare a alternativelor bazată pe bunul simț, utilizarea funcțiilor de evaluare numerică și diverse euristici. La începutul anilor 1970, a existat un salt cuantic în cercetarea inteligenței artificiale. Acest lucru se datorează a două motive.  În primul rând. Toți cercetătorii și-au dat seama treptat că tuturor programelor create anterior le lipsește cel mai important lucru - cunoștințe profunde în domeniul relevant. Diferența dintre un expert și o persoană obișnuită este că un expert are experiență într-un anumit domeniu, adică. cunoștințe acumulate de-a lungul anilor.  În al doilea rând. Apare o problemă specifică: cum să transferați aceste cunoștințe într-un program dacă creatorul său direct nu deține aceste cunoștințe. Răspunsul este clar: programul în sine trebuie să le extragă din datele primite de la expert. Cercetările privind rezolvarea problemelor și înțelegerea limbajului natural sunt unite de o problemă comună - reprezentarea cunoștințelor. Până în 1970, existau - 12 - multe programe bazate pe aceste idei. Primul dintre acestea este programul DENDRAL. Este conceput pentru a genera formule structurale ale compușilor chimici pe baza informațiilor de la un spectrometru de masă. Programul a fost dezvoltat la Stanford cu participarea laureatului Nobel D. Lederberg. Ea a câștigat experiență în procesul de funcționare proprie. Expertul a pus în el multe mii de fapte elementare, prezentate sub forma unor reguli separate. Sistemul luat în considerare a fost unul dintre primele sisteme expert și rezultatele muncii sale sunt uimitoare. În prezent, sistemul este furnizat consumatorilor împreună cu spectrometrul. În 1971, Terry Winograd a dezvoltat sistemul SHRDLU, care simulează un robot care manipulează blocuri. Puteți vorbi engleză cu robotul. Sistemul este interesat nu numai de sintaxa frazelor, ci și înțelege corect sensul acestora datorită cunoștințelor semantice și pragmatice despre „lumea cuburilor” sa. De la mijlocul anilor 1980, inteligența artificială a fost comercializată în străinătate. Investițiile anuale cresc, se creează sisteme expert industriale. Există un interes din ce în ce mai mare pentru sistemele de autoînvățare. La noi, 1980-1990. se desfășoară cercetări active în domeniul reprezentării cunoștințelor, se dezvoltă limbaje de reprezentare a cunoștințelor, sisteme expert (mai mult de 300). Limba REFAL este creată la Universitatea de Stat din Moscova. În 1988, a fost creată IA - Asociația de Inteligență Artificială. Peste 300 de cercetători sunt membri. Președintele Asociației - D.A. Pospelov. Cele mai mari centre sunt la Moscova, Sankt Petersburg, Pereslavl-Zalessky, Novosibirsk. 1.2. Principalele direcții de cercetare în domeniul inteligenței artificiale În prezent, AI este un domeniu științific în dezvoltare rapidă și extrem de ramificat. Numai în lingvistica computațională din lume se țin anual peste 40 de conferințe. Aproape fiecare țară europeană, precum și SUA, Canada, Japonia, Rusia, Asia de Sud-Est găzduiesc în mod regulat conferințe naționale despre IA. În Rusia, acest eveniment are loc la fiecare doi ani sub auspiciile Asociației Ruse pentru IA (RAAI). În plus, Conferința Internațională Comună privind IA (IJCAI) are loc la fiecare doi ani. Peste 3 mii de publicații periodice publică rezultate științifice în acest domeniu. Nu există o clasificare completă și strictă a tuturor domeniilor AI; o încercare de a clasifica sarcinile pe care AI le rezolvă este prezentată în Fig. 3. Potrivit D.A. Pospelov în AI, există două abordări dominante ale cercetării în domeniul AI: neurobionic și informațional (Fig. 4 și 5). - 13 - Sarcini General Formal Expert Percepție joc (Șah, Go, Puzzle-uri) Inginerie Procesarea limbajului natural Matematică Analiză științifică Raționament de bun simț Geometrie Analiză financiară Control robot Verificare Program Diagnosticare medicală 3. Sarcinile AI Susținătorii primei și-au stabilit scopul de a reproduce artificial procesele care au loc în creierul uman. Această direcție este situată la intersecția dintre medicină, biologie și cibernetică. În același timp, ei studiază creierul uman, identifică modul în care funcționează, creează mijloace tehnice pentru repetarea structurilor biologice și a proceselor care au loc în ele. Domeniul IA poate fi împărțit condiționat în cinci secțiuni majore: - structuri asemănătoare neuronilor; − programe de rezolvare a problemelor intelectuale; − sisteme bazate pe cunoştinţe; − programare intelectuală; − sisteme inteligente. Fiecare secțiune poate fi reprezentată după cum urmează (vezi Figura 4-9). - 14 - Fig. 4. Structuri neuronale Fig. 5. Programe pentru rezolvarea problemelor intelectuale 6. Sisteme bazate pe cunoștințe - 15 - Pic. 7. Programare inteligentă 8. Sisteme inteligente 1.3. Aspecte filozofice ale problemei inteligenței artificiale Principala problemă filosofică din domeniul inteligenței artificiale este legată de căutarea unui răspuns la întrebarea: este posibil sau nu simularea gândirii umane. În cazul în care se primește vreodată un răspuns negativ la această întrebare, atunci toate celelalte întrebări din domeniul AI nu vor avea cel mai mic sens. Prin urmare, la începerea studiului inteligenței artificiale, se presupune în prealabil un răspuns pozitiv. Dovezi ale posibilității de modelare a gândirii umane. 1. Scolastica: consistența inteligenței artificiale și a Bibliei. Aparent, chiar și cei care sunt departe de religie cunosc cuvintele Sfintei Scripturi: „Și Domnul a făcut pe om după chipul și asemănarea Lui...”. Pe baza acestor cuvinte, putem concluziona că, din moment ce Domnul, în primul rând, a creat oamenii și, în al doilea rând, ei sunt în esență asemănători cu El, atunci oamenii sunt destul de capabili să creeze pe cineva după chipul și asemănarea unei persoane. 2. Biologic. Crearea unei minți noi într-un mod biologic este un lucru destul de comun pentru o persoană. Observând copiii, vedem că - 16 - aceștia dobândesc cele mai multe cunoștințe prin antrenament, și nu așa cum sunt încorporate în ei în prealabil. Această declarație pe nivel modern nu dovedit, dar semne exterioare totul arata exact asa. 3. Empiric. Ceea ce anterior părea a fi vârful creativității umane - jocul de șah, dame, recunoașterea imaginilor vizuale și sonore, sinteza de noi solutii tehnice, în practică s-a dovedit a nu fi o sarcină atât de dificilă. Acum se lucrează nu la nivelul posibilității sau imposibilității implementării celor de mai sus, ci despre găsirea celui mai optim algoritm - de multe ori aceste probleme nici măcar nu sunt clasificate drept probleme de inteligență artificială. Se speră că este posibilă și o simulare completă a gândirii umane. 4. Posibilitatea de auto-reproducere. Capacitatea de a se reproduce pentru mult timp considerată apanajul organismelor vii. Cu toate acestea, unele fenomene care apar în natura neînsuflețită (de exemplu, creșterea cristalelor, sinteza de molecule complexe prin copiere) sunt foarte asemănătoare cu auto-reproducția. La începutul anilor 1950, J. von Neumann a început un studiu amănunțit al auto-reproducției și a pus bazele teoriei matematice a „automatelor care se reproduc”. De asemenea, a demonstrat teoretic posibilitatea creării lor. Există și diverse dovezi informale ale posibilității de auto-replicare, dar pentru programatori, cea mai frapantă dovadă, poate, va fi existența virușilor informatici. 5. Algoritmic. Posibilitatea fundamentală de automatizare a soluționării problemelor intelectuale cu ajutorul unui computer este oferită de proprietatea universalității algoritmice. Această proprietate a unui computer înseamnă că este posibil să se implementeze programatic (adică să se reprezinte sub forma unui program de calculator) oricăror algoritmi de conversie a informațiilor asupra acestora. Mai mult, procesele generate de acești algoritmi sunt potențial fezabile, adică sunt fezabile ca rezultat al unui număr finit de operații elementare. Fezabilitatea practică a algoritmilor depinde de mijloacele disponibile, care se pot schimba odată cu dezvoltarea tehnologiei. Astfel, în legătură cu apariția computerelor de mare viteză, algoritmi care anterior erau doar potențial fezabil au devenit practic realizabili. În plus, conținutul acestei proprietăți este de natură predictivă: ori de câte ori în viitor orice prescripție este recunoscută de algoritm, atunci indiferent de forma și mijloacele în care este exprimată inițial, aceasta poate fi setată și sub forma unui computer. program. Totuși, nu trebuie să credem că computerele și roboții pot, în principiu, să rezolve orice problemă. Analiza diferitelor probleme i-a condus pe matematicieni la o descoperire remarcabilă. Existența unor astfel de tipuri de probleme a fost riguros demonstrată pentru care un singur algoritm eficient care să rezolve toate problemele de un anumit tip este imposibil; în acest sens, este imposibil să rezolvi probleme de acest tip cu ajutorul mașinilor de calcul. Acest fapt contribuie la o mai bună înțelegere a ceea ce mașinile pot face și ce nu pot face. Într-adevăr, afirmația despre imposibilitatea algoritmică a unei anumite clase de probleme nu este doar o admitere că un astfel de algoritm este necunoscut și nu a fost încă găsit de nimeni. O astfel de afirmație este în același timp o prognoză pentru toate timpurile viitoare că acest gen de algoritm nu ne este cunoscut și nu va fi indicat de nimeni, sau, cu alte cuvinte, că nu există. AI poate fi considerată într-o serie de instrumente (intelectuale și non-intelectuale) care au fost create și stăpânite de omenire pe calea dezvoltării sale istorice. Acestea includ:  unelte de mână;  mașini și mașini;  limba și vorbirea;  dispozitive de numărare;  mijloace de VT şi telecomunicaţii. Filosofii susțin că producția de instrumente (în sensul larg al cuvântului) este cea mai mare vedere importantă activități care îi deosebesc pe strămoșii noștri de alte primate. Ființele umane se remarcă printre animale prin capacitatea lor de a produce cunoștințe și instrumente. Nicio altă invenție tehnologică sau socio-politică nu a provocat o separare atât de mare în dezvoltarea homo sapience de alte specii de animale sălbatice. Dezvoltarea tehnologiei informatice poate fi împărțită în linii mari în două domenii: procesare digitală și procesare simbolică. Prima direcție a făcut informațiile mult mai convenabile pentru stocare, procesare și transmitere decât toate îmbunătățirile anterioare ale tehnologiei hârtiei. Calculatorul a depășit toate instrumentele de calcul din trecut (abac, abac, mașină de adăugare) ca viteză, varietate de funcții, ușurință în utilizare. Extinderea constantă a domeniului de aplicare a automatizării în domeniul muncii mentale monotone, procesarea informațiilor digitale a extins domeniul de aplicare al tiparului și al revoluției industriale la noi frontiere. A doua ramură a tehnologiei informatice, procesarea semnelor (termenul lui Newell și Simon) sau inteligența artificială, a permis computerului să imite percepția și orientarea senzorială, raționamentul și rezolvarea problemelor, procesarea limbajului natural și alte abilități umane. Cu alte cuvinte, AI este noul fel trusa de instrumente, alternativă la cele existente. Această realitate i-a forțat pe filozofii AI să treacă dincolo de întrebarea „Este posibil să se creeze o mașină inteligentă?” la problema influenţei instrumentelor intelectuale asupra societăţii. Printre altele, se are în vedere posibilul efect social al dezvoltării IA și anume: - 18 - o creștere a nivelului de inteligență al întregii societăți, care va da noi descoperiri, invenții și o nouă înțelegere a umanității însăși.  schimbarea situaţiei în care majoritatea oamenilor este mijlocul şi instrumentul de producţie. Următoarea întrebare filozofică a AI este scopul creației. În principiu, tot ceea ce facem în viața practică are de obicei ca scop să nu facem nimic altceva. Totuși, cu suficient nivel inalt viața (o cantitate mare de energie potențială) a unei persoane, nu mai este lenea (în sensul dorinței de a economisi energie), ci instinctele de căutare care joacă primele roluri. Să presupunem că o persoană a reușit să creeze un intelect care îl depășește pe al său (dacă nu în calitate, atunci în cantitate). Ce se va întâmpla cu omenirea acum? Ce rol va juca persoana? De ce este nevoie de el acum? Și, în general, este necesar în principiu să creăm AI? Aparent, cel mai acceptabil răspuns la aceste întrebări este conceptul de „amplificator de inteligență” (IA). Potrivit S.L. Sotnik, o analogie cu președintele statului este potrivită aici - nu trebuie să cunoască valența vanadiului sau limba Programare Java pentru a decide asupra dezvoltării industriei vanadiului. Fiecare se ocupă de treburile lui – descrie chimistul proces tehnologic, programatorul scrie programul; economistul îi spune preşedintelui că, investind în spionaj industrial, ţara va primi 20%, iar în industria vanadiului - 30% pe an. Cred că, cu o astfel de formulare a întrebării, oricine poate face alegerea corectă. În acest exemplu, președintele folosește un AI biologic - un grup de specialiști cu creierul lor proteic. Dar sunt deja folosite MI nevii - de exemplu, computere, dispozitive de calcul de bord. În plus, o persoană folosește de multă vreme amplificatoare de putere (SS) - un concept care este în multe privințe similar cu UI. Mașini, macarale, motoare electrice, prese, pistoale, avioane și multe, multe altele servesc drept amplificatoare de putere. Principala diferență dintre UI și CS este prezența voinței: prima poate avea propriile „dorințe” și acționează diferit de ceea ce se așteaptă de la ea. Astfel, apare problema de securitate a sistemelor AI. Cum să eviți acele consecințe negative care însoțesc orice nouă realizare a revoluției științifice și tehnologice? Această problemă bântuie mintea omenirii încă de pe vremea lui Karel Capek, care a folosit pentru prima dată termenul „robot”. Alți scriitori de science fiction au contribuit, de asemenea, foarte mult la discuția sa. Cele mai cunoscute sunt o serie de povestiri ale scriitorului și savantului de science fiction Isaac Asimov, în care se găsește cea mai dezvoltată și acceptată soluție la problema securității. Este despre despre cele trei legi ale roboticii. 1. Un robot nu poate face rău unei persoane sau, prin inacțiunea sa, nu permite ca o persoană să fie rănită.  - 19 - 2. Un robot trebuie să se supună comenzilor date de un om, cu excepția cazurilor în care aceste comenzi contravin primei legi. 3. Robotul trebuie să aibă grijă de siguranța lui, în măsura în care nu contravine primei și a doua legi. Ulterior, Asimov adaugă „Legea Zero” la această listă: „Un robot nu poate face rău umanității sau, prin inacțiunea sa, nu permite să se facă rău umanității”. La prima vedere, astfel de legi, dacă sunt pe deplin respectate, ar trebui să asigure siguranța omenirii. Cu toate acestea, o privire mai atentă ridică câteva întrebări. În primul rând, legile sunt formulate în limbajul uman, ceea ce nu permite simpla lor traducere într-o formă algoritmică. Să presupunem că această problemă a fost rezolvată. Acum, ce va însemna sistemul AI prin termenul „rău”? Va decide ea că însăși existența unei persoane este un rău complet? La urma urmei, fumează, bea, îmbătrânește și își pierde sănătatea de-a lungul anilor, suferă. Răul mai mic nu ar pune capăt rapid acestui lanț de suferințe? Desigur, pot fi introduse câteva completări legate de valoarea vieții și libertatea de exprimare. Dar acestea nu vor mai fi cele trei legi simple care erau în original. Mai mult: ce va decide sistemul AI într-o situație în care salvarea unei vieți este posibilă doar în detrimentul alteia? Deosebit de interesante sunt acele cazuri în care sistemul nu are informații complete despre cine este cine. Cu toate acestea, în ciuda acestor probleme, aceste legi reprezintă o bază informală destul de bună pentru testarea fiabilității sistemului de securitate pentru sistemele AI. Deci, nu există cu adevărat un sistem de securitate fiabil? Pe baza conceptului de UI, putem oferi următoarea opțiune. Conform numeroaselor experimente, în ciuda lipsei de date fiabile despre ce este responsabil fiecare neuron individual din creierul uman, multe dintre emoții corespund de obicei excitării unui grup de neuroni (ansamblu neuronal) într-o zonă complet previzibilă. Au fost efectuate și experimente inverse, când stimularea unei anumite zone a determinat rezultatul dorit. Acestea ar putea fi emoții de bucurie, opresiune, frică, agresivitate. Astfel, pare posibil să luăm ca funcție obiectivă gradul de satisfacție al creierului gazdei umane. Dacă se iau măsuri pentru a exclude activitatea autodistructivă într-o stare de depresie, precum și pentru a asigura alte stări speciale ale psihicului, atunci se vor dovedi următoarele. Deoarece se presupune că o persoană normală nu își va face rău și, fără un motiv special, altora, iar UI face acum parte din acest individ (nu neapărat o comunitate fizică), atunci toate cele trei legi ale roboticii sunt valabile în mod automat. În același timp, problemele de securitate sunt mutate în domeniul psihologiei și al aplicării legii, întrucât - 20 - sistemul (instruit) nu va face nimic pe care proprietarul său nu și-ar dori. Întrebări pentru autocontrol 1. Ce este inteligența artificială? 2. Cu ce ​​domenii științifice interacționează inteligența artificială? 3. Descrieți abordările de înțelegere a subiectului inteligenței artificiale ca disciplină științifică. 4. Descrieți starea actuală a IA în Rusia. 5. Descrieți stadiul „pre-computer” al dezvoltării inteligenței artificiale 6. Descrieți dezvoltarea inteligenței artificiale în anii 40. Secolului 20 7. Descrieți dezvoltarea inteligenței artificiale în anii 50. Secolului 20 8. Descrieți dezvoltarea inteligenței artificiale în anii 60. Secolului 20 9. Descrieți dezvoltarea inteligenței artificiale în anii 70. Secolului 20 10. Descrieți dezvoltarea inteligenței artificiale în anii 80. Secolului 20 11. Descrieți principalele sarcini ale inteligenței artificiale. 12. Ce secțiuni sunt alocate în domeniul inteligenței artificiale? 13. Oferiți dovezi ale posibilității de modelare a gândirii umane. 14. Ce justifică trecerea la problema influenței instrumentelor intelectuale asupra societății? 15. Care sunt cauzele și cum poate fi rezolvată problema de securitate a sistemelor de inteligență artificială? Literatură 1. Luger, J., F. Inteligența artificială: strategii și metode de rezolvare a problemelor complexe: per. din engleză / George F. Luger.- M .: Editura Williams, 2003. - 864 p. 2. Fundamentele inteligenței artificiale / B.V. Kostrov, V.N. Ruchkin, V.A. Fulin. – M.: DESS, Tekhbuk, 2007. – 192 p. 3. Site-ul web al Asociației Ruse de Inteligență Artificială. – Mod de acces: http://www.raai.org/ 4. Sotnik, S.L. Fundamentele proiectării sistemelor de inteligență artificială: prelegeri. – Mod de acces: http://newasp.omskreg.ru/intellect/f25.htm 5. Russell, S. Artificial intelligence: a modern approach / Stuart Russell, Peter Norvig. – M.: Editura Williams, 2006. – 1408 p. - 21 - CAPITOLUL 2. MODELE DE REPREZENTARE A CUNOAȘTERII 2.1. Cunoștințe Ce tipuri de cunoștințe sunt necesare pentru a permite un comportament „inteligent”? „Secretul” fenomenologiei modelului de cunoaștere se află în lumea din jurul nostru. În general, modelul de reprezentare a cunoștințelor ar trebui să ofere descriere diferită obiectele și fenomenele care alcătuiesc domeniul în care trebuie să lucreze un agent inteligent. Tematica este o parte a realității asociată cu rezolvarea unei probleme. Un agent inteligent este un sistem (uman, program) care are abilități intelectuale. Cunoașterea reprezintă tiparele relevate ale domeniului subiectului (principii, conexiuni, legi). Cunoașterea are o structură mai complexă decât datele (metadatele). În același timp, cunoașterea este specificată atât extensiv (adică printr-un set de fapte specifice corespunzătoare unui concept dat și legate de aria subiectului), cât și intens (adică prin proprietăți corespunzătoare unui concept dat și unei scheme de relații între atribute). ). Tipuri de cunoștințe Obiecte. De obicei, o persoană reprezintă cunoștințele în termeni de fapte despre obiectele din jurul său. Din acest motiv, trebuie să existe modalități de a reprezenta obiecte, clase (categorii, tipuri) de obiecte, de a descrie proprietăți și interacțiuni ale obiectelor. O modalitate de a clasifica obiectele este ierarhia de clasă. În plus, este necesar să se facă distincția între obiectele abstracte care sunt folosite pentru a desemna grupuri (mulțimi, clase) de indivizi. Exemplu „Păsările au aripi” „Porumbeii sunt păsări” „Zăpada este albă” „Această carte este nouă” – obiect individual Situații – tot felul de interacțiuni între obiecte. Exemplu „Ieri a plouat” „Trenul a întârziat 10 minute” Un exemplu de clasificare a situațiilor propusă de Paducheva este prezentat în Fig. 9. În plus, pentru a putea descrie situațiile în sine, modelul de prezentare trebuie să poată descrie localizarea evenimentelor pe axa timpului, precum și relația lor cauzală. Situații Stări statice Proprietăți și relații constante Procese dinamice Incidente stabile Rezultate temporare Evenimente Fig. 9. Un exemplu de clasificare a situațiilor propusă de Paducheva La prezentarea unei ierarhii a obiectelor și a relațiilor, principala dificultate este alegerea bazei, i.e. proprietate (atribut) conform căreia are loc împărțirea. De obicei, chiar dacă o persoană distinge cu ușurință între diferite tipuri de obiecte și situații din viață, încercarea de clasificare verbală prezintă o mare problemă. Proceduri. Comportamentul (de exemplu: ciclismul) necesită cunoștințe care depășesc cunoștințele declarative despre obiecte și relațiile dintre ele. Aceasta este cunoștințele despre cum să faci cutare sau cutare acțiune, care se numește cunoștințe procedurale sau experiență (abilitate). La fel ca mersul pe bicicletă, majoritatea comportamentelor conștiente (cum ar fi comunicarea, înțelegerea sau demonstrarea teoremei) implică cunoștințe procedurale și este adesea dificil să distingem clar între cunoștințele procedurale și cunoștințele obiectului. Exemplu Termenul „doctrinalism” – descrie situația lipsei de cunoștințe procedurale a unei persoane care se pretinde a fi specialist Meta-cunoașterea include, de asemenea, ceea ce oamenii știu despre propria lor capacitate de procesator de cunoștințe: puncte forte, puncte slabe, niveluri de experiență în diverse domenii și un sentiment de progres în rezolvarea problemelor. Clasificarea cunoștințelor După profunzime:  Cunoștințe superficiale (un set de asociații empirice și relații cauzale între conceptele domeniului de studiu).  Cunoașterea aprofundată (resumări, imagini, analogii, care reflectă înțelegerea structurii disciplinei și relația dintre conceptele individuale). Pe cale de existenţă:  Fapte (împrejurări binecunoscute).  Euristică (cunoștințe din experiența experților). Din punct de vedere al rigidității:  Cunoștințe rigide (vă permite să primiți recomandări clare fără ambiguitate în condiții inițiale date).  cunoștințe blânde (tolerează soluții multiple, vagi și recomandări variate). Prin forme de prezentare:  Cunoștințe declarative (fapte sub formă de seturi de date structurate).  Cunoștințe procedurale (algoritmi sub formă de proceduri de prelucrare a faptelor). Pe calea dobândirii:  Cunoștințe științifice (obținute în cursul pregătirii și/sau studiului sistematic).  Cunoașterea cotidiană, cotidiană (obținută în cursul vieții). Pentru a plasa baza de cunoștințe în vederea utilizării acesteia la rezolvarea problemelor aplicate, este necesar să o descriem formal folosind modele matematice. După cum sa menționat deja, reprezentarea cunoștințelor este posibilă cu ajutorul modelelor declarative și procedurale. Modelele declarative tipice includ de obicei modele de rețea și de cadru; la procedural – logic şi de producţie. Din punctul de vedere al abordării reprezentării cunoștințelor într-un calculator, modelele de reprezentare a cunoștințelor pot fi clasificate astfel: Pe baza abordării euristice: „troika”, modele de producție, cadru, rețea Pe baza abordării teoretice: bazate pe logica formală și bazată pe „logica umană” – modală și multivalorică. - 24 - 2.2. Model logic de reprezentare a cunoștințelor Concepte de bază ale logicii Majoritatea oamenilor cred că cuvântul „logic” înseamnă „rezonabil”. Astfel, dacă o persoană raționează logic, atunci raționamentul său este justificat, deci nu permite concluzii pripite. Logica este știința formelor și metodelor gândirii corecte. Aceasta înseamnă că, având în vedere numărul necesar de fapte adevărate, concluzia trebuie să fie întotdeauna adevărată. Pe de altă parte, dacă concluzia logică este invalidă, aceasta înseamnă că s-a tras o concluzie falsă pe baza faptelor adevărate. Este necesar să se separe conceptele de logică formală și informală. O caracteristică distinctivă a logicii informale este că este folosită în viața de zi cu zi. O dovadă logică complexă este un lanț de concluzii logice în care o concluzie duce la alta și așa mai departe. În logica formală, numită și logică simbolică, important este modul în care se realizează concluzia logică, cum sunt luați în considerare alți factori care oferă dovada adevărului sau falsității concluziei finale în mod valid. Logica are nevoie și de semantică pentru a da semnificație simbolurilor. Logica formală folosește o semantică bazată nu pe utilizarea cuvintelor care poartă o încărcătură emoțională, ci pe alegerea unor nume semnificative pentru variabile, cum ar fi programarea. Ca și matematica, logica studiază în mod direct nu obiectele empirice, ci abstracte. Aceasta ridică întrebarea: care este natura sau statutul ontologic al obiectelor abstracte? Despre ce fel de obiecte abstracte vorbim? În logica (clasică) se disting două varietăţi fundamentale de obiecte abstracte: − concepte (proprietăţi); − relaţiile. Conceptele pot fi fie simple, fie complexe. Conceptele complexe sunt un set de concepte relativ mai simple (proprietăți simple) interconectate prin una sau alta relație. Obiectele abstracte mai complexe sunt judecățile, ale căror elemente structurale sunt și concepte și anumite relații. Judecățile, la rândul lor, sunt elemente structurale ale inferențelor (sisteme de judecăți), iar inferențele sunt elemente structurale ale conceptelor și teoriilor (sisteme de inferențe). Pe Fig. 10 prezintă ierarhia tipurilor de obiecte abstracte în logica clasică. Specificul logicii constă în faptul că studiază cele mai generale, universale relații, sau relații, dintre obiectele abstracte. În conformitate cu aceasta, există următorul obiect - 25 - definiție a logicii: „Logica este știința relațiilor universale (în general valabile) între concepte, judecăți, inferențe și alte obiecte abstracte”. Concepte și teorii (sisteme de inferență) Inferențe (sistem de judecăți) Judecăți Concepte (proprietăți) Relații Fig. 10. Ierarhia tipurilor de obiecte abstracte în logica clasică Exemplul „Student” este un concept. „Afilierea” este o proprietate. „Elev sârguincios”, „Elev din anul 4” – relații. „O persoană studiază la o universitate” este o judecată. „Dacă o persoană studiază la un institut, atunci este fie un student, fie un student absolvent” - o concluzie. „Teoria calculului predicatului de ordinul întâi” este un concept. Concept Conceptele sunt obiecte abstracte accesibile înțelegerii umane ca proprietăți (trăsături) simple și complexe ale obiectelor empirice. Conceptul se opune unor entități precum: „cuvânt”, „percepție”, „obiect empiric”. Conceptul este o unitate universală de gândire și baza activității intelectuale. Cele mai importante caracteristici ale conceptului sunt conținutul și volumul. Toate caracteristicile logice și operațiile logice sunt rezultatul cunoașterii inferențiale din legea relației invers proporționale dintre conținutul și volumul conceptului. Orice concept are domeniul de aplicare al conceptului (sfera conceptuală) și adăugarea la domeniul de aplicare al conceptului (Fig. 11, 12). Sfera unui concept este o mulțime (mulțime) de toate acele empirice (obiecte individuale) cărora acest concept este inerent (ca proprietate, semn). - 26 - Supliment la volum - totalitatea tuturor acelor obiecte empirice care nu au acest concept. Concept Х а1 а2 V Volumul а3 Fig. 11. Conceptul X, domeniul de aplicare al conceptului X, elementul de aplicare (a1, a2, a3) Х Nu Х Fig. 12. Domeniul de aplicare și complementul său Exemplu Concept: model de date factuale. Domeniul de aplicare al conceptului: modele de date relaționale, de rețea, ierarhice Suplimentarea domeniului de aplicare: modele de date documentare (descriptor, tezaur, modele de date orientate pe format de document) Conceptele pot fi de următoarele tipuri: 1) după sfera de aplicare: a. uniformă (U =1 element, KAMAZ); b. general (U>1 element, Uzina Auto Moscova); 2) prin existenţa elementelor: a. nevid(elev); b. gol (kolobok); 3) prin structura elementelor: a. necolectiv (Polul Nord); b. colectiv (debitor); 4) după conținut: a. irelevant(audienta); b. corelativ (părinți); 5) prin prezența calităților, proprietăților, relațiilor a. pozitiv (virtute); b. negativ (infracțiune); 6) prin calitatea elementelor: a. înregistrată (Revista „Sisteme deschise”, 1/2008); b. neînregistrat (inteligentsia), abstract; 7) după natura obiectului: a. specific (pen); - 27 - b. abstract (model). Pe baza tipurilor enumerate, este posibil să se ofere o descriere logică a oricărui concept, adică să se arate utilizarea conceptului în toate cele șapte sensuri. De exemplu, conceptul de debitor este general, nevid, colectiv, corelativ, pozitiv, neînregistrabil și specific. Metode de bază de înțelegere a conceptelor Principalele metode de înțelegere a unui concept includ: - abstractizarea; − comparaţie; − generalizare; − analiză; − sinteza. Abstracția este selecția mentală (înțelegerea) unei anumite proprietăți sau relații prin abstracția de la alte proprietăți sau relații ale unui obiect empiric. Comparația este stabilirea unor asemănări sau diferențe între obiecte. Generalizarea este selecția mentală a unui concept prin compararea altor concepte. Abstracția, comparația și generalizarea sunt tehnici strâns legate între ele. Ele pot fi numite „proceduri cognitive”. Comparația este imposibilă fără abstracție. Generalizarea presupune comparație și în același timp nu este altceva decât un fel de abstractizare complexă etc. Analiza este împărțirea mentală a unui obiect empiric sau abstract în componentele sale structurale constitutive (părți, proprietăți, relații). Sinteza este unirea mentală a diferitelor obiecte într-un obiect integral. Exemple 1. Compararea oamenilor după înălțime presupune abstracție pentru a evidenția proprietatea „creștere” a conceptului „persoană”. 2. Generalizare: „scaun” și „masă” – „mobilier”. Corelarea conceptelor Pentru a explica relațiile dintre concepte, puteți folosi diagrame sub formă de cercuri Euler (Fig. 13). Exemple Uniformă (echivalent): Kazan este capitala. Independent (traversare): pasager-student. Depunere: copac - mesteacăn. Opus (contraralitate): alb și negru. - 28 - Conraditory: alb - nu alb. Subordonare (subcontrar): ofițeri (maior-căpitan). Împărțirea logică a conceptului este împărțirea domeniului de aplicare a conceptului în părți care nu se intersectează pe baza unui atribut. Concepte X, Y Incompatibil M(X)M(Y)= Compatibil M(X)M(Y) Independent Contradictoriu Y=Nu-X X Y X M(X)M(Y); M(X)M(Y)M(X); M(X)M(Y)M(Y) M(X)M(Y)=U Identitatea contorului (uniformă) X, YXYM(X)= M(Y) M(X)M(Y) UX subordonat lui YXYM(X)M(Y)=M(X) Fig. 13. Corelarea conceptelor În acest caz, există: − conceptul generic X; − membrii de diviziune (conceptele de specie A şi B); − baza de diviziune (adică semn). - 29 - Trei reguli de împărțire logică. 1. Regula incompatibilității. Volumele conceptelor de specii nu trebuie să se intersecteze (adică, membrii diviziunii nu trebuie să fie incompatibili între ei); 2. Regula succesiunii. Nu puteți împărți simultan din mai multe motive; 3. Regula proporționalității. Suma volumelor conceptelor specifice ar trebui să fie egală cu volumul conceptului generic. Împărțirea dihotomică (forma cea mai riguroasă) este împărțirea conceptelor după principiul contradicției (A, nu-A). Clasificările sunt anumite sisteme (seturi ordonate) de concepte specifice. Clasificările sunt folosite pentru a căuta noi relații între concepte, precum și pentru a sistematiza cunoștințele existente. Exemplul 1. Tabelul periodic este un exemplu de clasificare științifică a elementelor chimice. 2. Un exemplu de clasificare a sistemelor informatice (SI) este prezentat în figura de mai jos. Baze de diviziune: scop funcțional. A, B, C sunt exemple de sisteme informatice conform acestei clasificări. IS Sisteme factografice Sisteme de inteligență artificială Sisteme documentare IS „Universitate” Lingvo „Consultant Plus” A B C Fig. 14. Un exemplu de clasificare Tehnicile de înțelegere a conceptelor (abstracție, comparație, generalizare, analiză, sinteză, divizare) sunt proceduri cognitive universale și fundamentale care nu au fost încă modelate cu succes în cadrul inteligenței artificiale. Aceasta este una dintre secțiunile fundamentale ale logicii clasice, care trebuie integrată în teoria bazelor de cunoaștere. După aceea, sarcinile de modelare a unor astfel de acte mentale ca ipoteze, predarea cunoștințelor declarative vor deveni disponibile, iar procedurile de inferență vor deveni mai încăpătoare. - 30 - Judecata Judecata este un obiect structural complex care reflectă relația obiectivă dintre obiect și proprietatea acestuia. Judecata se opune unor entități precum: „propoziție”, „percepții”, „scene din lumea reală”. Exemplu. Următoarele propoziții exprimă aceeași propoziție: - „Un rechin este un pește răpitor”; - "Toți rechinii sunt pești răpitori." - „Peștii răpitori sunt rechini”. Logica clasică consideră structura unei propoziții simple într-o interpretare ușor diferită de cea obișnuită în studiile logico-lingvistice moderne. Deci, în conformitate cu conceptele logicii clasice despre structura unei judecăți, o judecată simplă este un obiect abstract, ale cărui elemente structurale principale sunt: ​​− un concept individual (IC); − concept de predicat (PC); − relaţia de predicţie (RP). Exemple Având în vedere propoziţia: „Platon este un filozof”. În această propoziție, care exprimă propoziția S: „Platon” este un subiect logic, i.e. un simbol care denotă conceptul individual de judecată S. „Filosoful” este un predicat logic, adică. un simbol care denotă conceptul de predicat al propoziției S. „A fi” este o legătură subiect-predicat, adică. un simbol care denotă o relație de predicție. Astfel, putem trage următoarea concluzie intermediară: - un concept individual este un sistem de concepte, considerat ca o entitate conceptuală, un obiect empiric; - concept de predicat - un concept considerat ca o proprietate a unui anumit obiect empiric; - relație de predicție - o relație care conectează conceptele individuale și predicate ale unui obiect empiric într-un obiect abstract integral. În plus, se pot distinge mai multe tipuri de judecăți simple (vezi Fig. 15). Există mai multe moduri de a formaliza judecățile elementare. - 31 - 1-a cale. Limbajul natural, care este considerat în mod tradițional greoi și inexact, dar o metodă formală care ar putea fi comparată în universalitatea sa cu limbajul natural nu a fost încă inventată. Judecăți simple Atributiv Despre relațiile de existență Călugării, de regulă, sunt modesti Magnitogorsk la sud de Chelyabinsk Există brazi albaștri Pic. 15. Tipuri de judecati simple Metoda a 2-a. Logica aristotelică tradițională. a 3-a cale. Logica simbolică modernă. Principalele tipuri de judecăți complexe Pe lângă judecățile exprimate în logica aristotelică prin enunțuri de forma A, E, I, O (vezi p. Logica lui Aristotel), există diferite tipuri de judecăți complexe. Cu cât judecata este mai complexă, cu atât este mai dificil să o formalizezi cu acuratețe prin logica aristotelică tradițională și, în unele cazuri, o astfel de formalizare este pur și simplu imposibilă. Prin urmare, analiza structurii logice a judecăților complexe este oportună pentru a fi efectuată prin intermediul logicii simbolice moderne, inclusiv a mijloacelor logicii propoziționale și a logicii predicatelor (a se vedea paragrafele relevante ale paragrafului). Principalele tipuri de judecăți complexe sunt − conjunctive; − disjunctive; − implicativ; - modal: o alethic (necesar, poate din întâmplare); o epistemic (stiu, cred, cred, cred); o deontic (hotarat, interzis); o axiologice (bun, rău); o temporal (în trecut, mai devreme, ieri, mâine, în viitor); - întrebări: o dacă - întrebări; o întrebări ceva. Există, de asemenea, o continuitate a claselor de logică și a metodelor de inteligență artificială. - 32 - Inferență Prin deducție (în logica tradițională) se înțelege o formă de gândire prin care se face o tranziție mentală (numită „inferență”) de la una sau mai multe propoziții (numite „premisă”) la o altă propoziție (numită „concluzie” ). Astfel, o concluzie este un obiect abstract complex în care, cu ajutorul anumitor relații, una sau mai multe judecăți sunt combinate într-un singur întreg. Termenul silogism este folosit pentru a desemna o concluzie în logică. Silogismele sunt fie formale, fie informale. Primele silogisme formale au fost folosite de Aristotel. Silogistica dezvoltată de el (teoria silogismelor formale, adică inferențe) a avut un impact semnificativ asupra dezvoltării logicii antice și scolastice, a servit drept bază pentru crearea teoriei logice moderne a inferențelor. Pentru consolidarea conceptelor de logică este necesară finalizarea exercițiilor de la pagina 78. Legile logicii Cele mai importante legi logice includ: - identitățile (orice obiect este identic doar cu el însuși); - non-incoerență (afirmațiile care se contrazic între ele nu pot fi adevărate în același timp); - a treia exclusă (din două afirmații reciproc contradictorii, una este adevărată, cealaltă este falsă, iar a treia nu este dată); - motiv suficient (orice afirmație adevărată are un motiv suficient, în virtutea căruia este adevărată, nu falsă). Să aruncăm o privire mai atentă la fiecare dintre aceste poziții. I. Legea identității Legea identității dovedește că fiecare gând este identic cu sine, „A este A” (A → A), unde A este orice gând. De exemplu: „Sarea de masă NaCl constă din Na și Cl”. Dacă această lege este încălcată, sunt posibile erorile enumerate mai jos. Amphibolia (din grecescul amphibolos - ambiguitate, dualitate) este o eroare logică, care se bazează pe ambiguitatea expresiilor lingvistice. Un alt nume pentru această eroare este „înlocuirea tezei”. Exemplu „Se spune pe bună dreptate că limba te va aduce la Kiev. Și am cumpărat ieri o limbă afumată. Acum pot merge în siguranță la Kiev.” - 33 - Echivocarea este o eroare logică, care se bazează pe folosirea aceluiași cuvânt în sensuri diferite. Echivocarea este adesea folosită ca un dispozitiv artistic retoric. În logică, această tehnică este numită și „substituție de concept”. Exemplu „Bătrânul lup de mare este într-adevăr un lup. Toți lupii trăiesc în pădure.” Aici eroarea se datorează faptului că în prima judecată cuvântul „lup” este folosit ca metaforă, iar în a doua premisă - în sensul său direct. Logomakhia este o dispută despre cuvinte, când în timpul discuției participanții nu pot ajunge la un punct de vedere comun din cauza faptului că nu au clarificat conceptele originale. Astfel, legea identității exprimă una dintre cele mai importante cerințe ale gândirii logice – certitudinea. II. Legea necontradicţiei Această lege exprimă cerinţa necontradicţiei gândirii. Legea necontradicției spune: două judecăți, dintre care una afirmă ceva despre subiectul gândirii („A este B”), iar cealaltă neagă același lucru despre același subiect de gândire („A nu este B” ), nu poate fi concomitent adevărată, dacă în același timp atributul B este afirmat sau negat despre subiectul gândirii A, considerat în același timp și în același sens. De exemplu, hotărârile „Kama este un afluent al Volgăi” și „Kama nu este un afluent al Volgăi” nu pot fi adevărate simultan dacă aceste judecăți se referă la același râu. Nu va exista nicio contradicție dacă afirmăm ceva și negăm același lucru despre aceeași persoană, care, totuși, este considerată în momente diferite. Deci, judecățile „Această persoană este un student al MaSU” și „Această persoană nu este un student al MaSU” pot fi simultan adevărate dacă prima dintre ele înseamnă o singură dată (când această persoană studiază la MaSU) și al doilea - altul (când a absolvit facultatea). Legea necontradicției indică faptul că dintre două propoziții opuse, una este în mod necesar falsă. Dar, din moment ce se extinde la propoziții opuse și contradictorii, întrebarea celei de-a doua propoziții rămâne deschisă: nu poate fi atât adevărată, cât și falsă: hârtia nu poate fi albă și non-albă. III. Legea mijlocului exclus Legea mijlocului exclus afirmă că două propoziții contradictorii nu pot fi ambele false: una dintre ele este în mod necesar adevărată; celălalt este în mod necesar fals; a treia hotărâre este exclusă, adică fie A este adevărat, fie nu-A. - 34 - Legea Mijlocului Exclus formulează o cerință importantă pentru gândirea ta: nu poți să te abate de la recunoașterea adevărului uneia dintre cele două afirmații contradictorii și să cauți ceva al treilea între ele. Dacă unul dintre ele este recunoscut ca fiind adevărat, atunci celălalt trebuie să fie recunoscut ca fals și să nu-l caute pe al treilea. Exemplu: animalele pot fi fie vertebrate, fie nevertebrate, nu poate exista nimic al treilea. IV. Legea rațiunii suficiente Conținutul acestei legi poate fi exprimat astfel: pentru a fi considerată complet de încredere, orice propoziție trebuie dovedită, i.e. trebuie cunoscute temeiuri suficiente pe baza cărora este considerat adevărat. Un motiv suficient poate fi altul, deja testat de practică, recunoscut ca gândire adevărată, al cărui rezultat necesar este adevărul poziției care se dovedește. Exemplu. Motivul pentru propunerea „Camera se încălzește” este faptul că mercurul din termometru se extinde. În știință, sunt considerate temeiuri suficiente: a) afirmații despre fapte verificate ale realității, b) definiții științifice, c) afirmații științifice dovedite anterior, d) axiome și, de asemenea, e) experiență personală. Inferența logică Inferența logică este derivarea unei formule dintr-un set de alte formule logice prin aplicarea regulilor de inferență. Interpret expresii booleene , folosind o concluzie logică, construiește lanțul necesar de calcule pe baza descrierii inițiale. Semnificația abordării logice constă în posibilitatea construirii unui interpret, a cărui funcționare nu depinde de formule logice. Regulile din reprezentarea logică arată astfel: P0←P1, …, Pn. P0 se numește obiectiv, iar P1, P2, ..., Pn - corpul regulii. Predica P1, P2, ..., Pn condiţii care trebuie îndeplinite pentru ca atingerea scopului P0 să fie cu succes. Să analizăm elementele de bază ale inferenței logice folosind exemplul procedurii de determinare a corectitudinii raționamentului. Definiția raționamentului corect din punct de vedere logic Când spunem că o propoziție D decurge logic dintr-o altă P, ne referim la următoarele: ori de câte ori propoziția P este adevărată, atunci este adevărată și propoziția D. În logica propozițională, avem de-a face cu formulele P și D. , în funcție de unele variabile X1, X2,.., Xn. Definiție. Vom spune că formula D(X1, X2,...,Xn) decurge logic din formula P(X1, X2,...,Xn) și notăm P ├ D dacă pentru - 35 - orice seturi de valori ​​X1, X2 ,...,Xn în condiția P(X1, X2,...,Xn) = I2, este îndeplinită condiția D(X1, X2,...,Xn) = I. Formula P se numește premisă, iar D este concluzia raționamentului logic. De obicei, în raționamentul logic, nu se folosește o premisă P, ci mai multe; în acest caz, raționamentul va fi corect din punct de vedere logic; din conjuncția premiselor rezultă logic concluzia. Verificarea corectitudinii raționamentului logic Prima modalitate este prin definiție: a) notați toate premisele și concluziile sub forma unor formule logice propoziționale; b) face o conjuncție a premiselor formalizate Р1& P2&…& Рn,; c) verificați pe tabelul de adevăr dacă concluzia D rezultă din formula P1&P2&...&Pn. A doua metodă se bazează pe următorul semn de consecință logică: „Formula D rezultă logic din formula P dacă și numai dacă formula P | - D este o tautologie”. Apoi verificarea corectitudinii raționamentului logic se reduce la a răspunde la întrebarea: formula este o tautologie? La această întrebare se poate răspunde prin construirea unui tabel de adevăr pentru formulă sau prin reducerea acestei formule cu ajutorul transformărilor echivalente la o tautologie binecunoscută. A treia metodă de verificare a corectitudinii raționamentului logic se va numi prescurtat, deoarece nu necesită enumerarea exhaustivă a valorilor variabilelor pentru a construi un tabel de adevăr. Pentru a justifica această metodă, formulăm o condiție în care raționamentul logic este incorect. Raționamentul este incorect dacă există un set de valori pentru variabilele X01, X02,. ., X0n astfel încât premisa D(X01, X02,.., X0n)=A 3 și concluzia P(X01, X02,.., X0n)=I. Exemplu. Se dă raționament: „Dacă plouă, atunci pisica se află în cameră sau la subsol. Un șoarece într-o cameră sau într-o nurcă. Dacă pisica este în subsol, atunci șoarecele este în cameră. Dacă pisica este în cameră, atunci șoarecele este în nurcă, iar brânza este în frigider. Acum plouă și brânza e pe masă. Unde este pisica și unde este șoarecele? Să introducem următoarele denumiri: D - „plouă”; K - „pisica în cameră”; P - „pisica la subsol”; M - „șoarece în cameră”; N - „șoarece într-o nurcă”; Х - ""brânză la frigider"; ¬Х - "brânză pe masă". Obținem următoarea schemă de raționament: D→K|RM|NK→H&X 2 3 Adevărat Fals - 36 - R→M D&¬X - -- Să folosim regulile de inferență 1) D&¬X├D; 2) D&¬X├¬X; 3) D→K|P, D├ K|R. În continuare, luați în considerare două opțiuni.Opțiunea A. Fie K Atunci 4a) K, K → H&X, K├ H&X; 5a) H&X ├ X; 6a) ¬X,X├X&¬X - a primit o contradicție, ceea ce înseamnă că presupunerea a fost greșită și această opțiune este imposibilă. Opțiunea B, Să aibă loc R. Atunci 4b) P, P → M├M; 5b) P, M├P&M Concluzie Se obține P&M, adică „pisica este la subsol, iar șoarecele este în cameră” Exemplu de verificare corectitudinea raționamentului într-un mod scurtat. Se dă raționament: „Dacă azi e frig, atunci mă duc la patinoar. Dacă azi e dezgheț, atunci merg la discotecă. Azi va fi ger sau dezgheț. Prin urmare, voi merge la discotecă." Decizie. Oficializăm condiția problemei introducând notația: M - „azi va fi geroasă”; K - „Voi merge la patinoar”; O - „ va fi dezgheț astăzi”; D - „I Mă duc la discotecă. Schema de raționament are forma: M→KO→DM|O ---D Raționamentul este corect din punct de vedere logic dacă, pentru orice set de valori ale variabilelor (M, K, O, D), zilele cărora toate premisele sunt adevărate, concluzia este și adevărată. Să presupunem contrariul: există o mulțime (M0,K0,O0.D0) astfel încât premisele sunt adevărate și concluzia este falsă. Aplicarea definițiilor operatii logice , să încercăm să găsim acest set. Suntem convinși că ipoteza este valabilă pentru valorile variabilelor - 37 - M0 = I, K0 = I, O0 = L, D0 = L (Tabelul 1). Prin urmare, raționamentul nu este corect din punct de vedere logic. Tabelul 1 Schema de rezolvare a unei probleme logice Nr. 1 2 3 4 5 6 7 și definițiile disjuncției de la 1, 6 și definițiile implicației O altă modalitate de a rezolva problema este construirea unui tabel de adevăr pentru formula (M→K)& (O→D)&(M˅O)→D și asigurați-vă că nu este o tautologie. Apoi, pe baza urmăririi logice, raționamentul nu este corect din punct de vedere logic. Deoarece patru variabile propoziționale (M, K, O, D) sunt implicate în raționament, tabelul de adevăr va conține 16 rânduri, iar această metodă necesită timp. Cu ajutorul regulilor de inferență, se poate construi un raționament logic corect, dar nu este întotdeauna posibil să se dovedească incorectitudinea unui raționament logic. Prin urmare, pentru această problemă, cea mai convenabilă modalitate este de a verifica corectitudinea raționamentului logic. Pentru a consolida regulile de inferență logică, trebuie să finalizați exercițiile de la pagina 78. Principalele secțiuni ale logicii simbolice moderne În dezvoltarea logicii clasice se disting trei etape principale: logica antică (aproximativ 500 î.Hr. - începutul d.Hr.), logica scolastică (începutul AD - prima jumătate a secolului al XIX-lea), logica simbolică modernă (mijlocul secolelor XIX-XX) Logica simbolică modernă este împărțită în secțiuni principale, a căror esență este dezvăluită mai jos. Logica propozițională (calcul propozițional). El studiază judecățile simple, considerate indiferent de structura lor internă, precum și concluziile elementare, cele mai accesibile înțelegerii umane. În limbajul natural, astfel de propoziții simple sunt reprezentate de propoziții care sunt considerate numai din punctul de vedere al adevărului sau al falsității lor, iar inferențe sunt reprezentate de sistemele corespunzătoare de enunțuri. - 38 - Logica predicatelor (calcul de predicate). Obiecte de studiu mai complexe sunt judecățile luate în considerare cu privire la structura lor internă. Secțiunea de logică care studiază nu numai conexiunile dintre propoziții, ci și structura conceptuală internă a propozițiilor, a fost numită „logica predicatelor”. Metalogic. Metalogica este o extensie a logicii predicatelor. Subiectul studiului său îl constituie întreaga sferă a relațiilor în ansamblu, toate acele relații universale care pot avea loc între concepte, judecăți, concluzii, precum și simbolurile care le desemnează. Următoarele paragrafe ale paragrafului prezintă pozițiile cheie ale logicii propoziționale și ale predicatelor de ordinul întâi. Pentru a înțelege mai bine logica modernă, este necesar să luăm în considerare principalele prevederi definite de silogismele lui Aristotel. Logica lui Aristotel În logica lui Aristotel, structura judecăţilor elementare este exprimată prin structurile: - S este P (1); − S nu este P (2) , unde S este un subiect logic (din lat. Subjectum); P - vreun predicat logic (din lat. Predicatum). Tipurile de judecăți din logica lui Aristotel sunt enumerate mai jos. 1. Judecăți generale afirmative - A „Totul S este P” - Toți poeții sunt oameni impresionabili. Cuvintele „este”, „nu este” servesc drept legătură subiect-predicat. Din enunţurile (1) şi (2) cu ajutorul cuvintelor „toate” şi „unele” se construiesc enunţuri de formă: - tot S este P: Tipul A (Affirmo); − unele S sunt P: Tip I (AffIrmo); − toate S nu sunt P: Tip N (Nego); − unii S nu sunt P: Tip O (NegO). 2. Judecăți generale negative - E (N) „Nu S este P” - Nicio persoană nu este omniscientă. 3. Judecata afirmativă particulară - I "Unii S sunt P" - Unii oameni au părul creț. 4. Negativ parțial - O „Unii S nu sunt P” - Unii oameni nu pot asculta. Afirmații precum A, E, I, O sunt afirmații categorice simple care formează fundamentul întregii logici aristotelice. Între adevărul și falsitatea afirmațiilor de tip A, E, I, O, există o relație funcțional-holistică, care este de obicei descrisă ca un pătrat logic (Fig. 16, Tabelul 2). - 39 - Când folosiți pătratul logic, este important să luați în considerare următoarea subtilitate: cuvântul „unii” este înțeles în acest caz într-un sens larg - ca „unii, și poate toți”. Tabelul 2 Tabelul de adevăr pentru judecățile logicii lui Aristotel A I L L E L L I I I I L O L I I Fig. 16. Pătrat logic Explicații la pătratul logic al lui Aristotel În stânga colțul de sus afirmațiile de tip A (în general afirmative) sunt situate în pătratul logic. În colțul din dreapta sus sunt enunțuri de tip E (negativ general). În colțul din stânga jos (sub A) sunt enunțuri de tip I (afirmativ parțial). În colțul din dreapta jos (sub E) sunt afirmații de tip O (în special negative). Enunțurile de tipurile A și O, precum și enunțurile de tipurile E și I, sunt reciproc contradictorii sau contradictorii (relații diagonale). Enunțurile de tipurile A și E sunt în relație cu contrarietatea sau opoziția. - 40 - Enunțurile de tip I sunt subordonate (prin urmare implică) enunțuri de tip A. Enunțurile de tip O sunt subordonate afirmațiilor de tip E. În timp ce afirmațiile contradictorii au valori de adevăr opuse (una este adevărată, cealaltă este falsă) , afirmațiile contra nu pot fi ambele adevărate, dar pot fi false în același timp. Cu ajutorul unui pătrat logic se pot deduce judecăți opuse, contradictorii și subordonate datelor, stabilindu-le adevărul sau falsitatea. Exemplul 1. Orice judecată este exprimată în propoziția A → 1. 2. Nicio judecată nu este exprimată în propoziţia E → 0. 3. Unele judecăţi nu sunt exprimate în propoziţia O → 0. 4. Unele judecăţi sunt exprimate în propoziţia I → 1. În plus, folosind pătratul logic al lui Aristotel, puteţi stabiliți tipuri de relații între judecăți: 1) obținerea cunoștințelor de inferență; 2) compararea diferitelor puncte de vedere asupra problemelor discutabile; 3) editarea textelor și în alte cazuri. Formalisme de calcul propozițional Multe modele de reprezentare a cunoștințelor se bazează pe formalisme de calcul propozițional și predicat. O expunere riguroasă a acestor teorii din punct de vedere al logicii matematice clasice este cuprinsă în lucrările lui Shenfield și Teise, Pospelov poate găsi o expunere populară a acestor teorii, care poate fi recomandată ca o introducere inițială. După definiția lui Taise, propozițiile logice sunt o clasă de propoziții în limbaj natural care pot fi adevărate sau false, iar calculul propozițional este ramura logicii care studiază astfel de propoziții. Se naște o întrebare firească: Dar propozițiile limbii, despre adevărul despre care nu se poate spune nimic cert? Exemplu. „Dacă mâine plouă, voi sta acasă.” Deocamdată, vom presupune pur și simplu că toate propozițiile cu care avem de-a face aparțin clasei propozițiilor logice. Declarațiile vor fi notate cu majuscule ale alfabetului latin și un index, dacă acest lucru este cerut de prezentare. Exemple de notație pentru enunțuri: S, S1, S2, H, H1, H2. După cum sa menționat deja, o propoziție logică este fie adevărată, fie falsă. O declarație adevărată i se atribuie o valoare logică - 41 - TRUE (sau ȘI), una falsă - o valoare logică FALSE (sau L). Astfel, valoarea de adevăr formează mulțimea (I, L). În calculul propozițional sunt introduse cinci conjunctive logice (Tabelul 3), cu ajutorul cărora, în conformitate cu regulile de construcție, se întocmesc formule logice. Tabelul 3 Conexiuni logice Nume comun Tip Altă notație Simbol Negație Unar -, ~, NOT, NOT  Conjuncție ^ Binar & , ., AND , AND * Disjuncție  Binar SAU SAU Implicație  Binar => -> Echivalență  Binar<=> <-> ~ * Notă: a nu se confunda cu valoarea de adevăr I. Setul de reguli de construire a formulelor logice pe bază de propoziţii cuprinde trei componente: − bază: orice propoziţie este o formulă; − pasul de inducție: dacă X și Y sunt formule, atunci X, (X ^ Y), (X  Y), X Y și X  Y sunt formule; − constrângere: formula se obține în mod unic folosind regulile descrise în baza și etapa de inducție. Formulele sunt notate cu majuscule ale alfabetului latin cu indici. Exemple de formule logice sunt date în exemplu. Exemple a) T = S1 ^ S2; b) N = H1H2. Expresia a) poate fi citită după cum urmează: „Formula logică T este o conjuncție (conjunctiv logic ȘI) a afirmațiilor logice S1 și S2”. Interpretarea expresiei b) este următoarea: „Formula logică N este disjuncția (conexiunea SAU logică) a negației (NU) a enunțului logic H1 și a afirmației logice H2”. Valoarea de adevăr a unei formule logice este o funcție a valorilor de adevăr ale afirmațiilor sale constitutive și poate fi determinată în mod unic folosind tabele de adevăr. Mai jos sunt tabelele de adevăr pentru negație și conective binare (Tabelele 4, 5) Astfel, dacă sunt cunoscute valorile de adevăr pentru afirmațiile din exemplul a), de exemplu S1 = I, S2 = L, atunci valoarea de adevăr pentru formula - 42 - T poate fi găsit la intersecția celui de-al doilea rând și a treia coloană din Tabelul 5, adică T = L. Tabelul 4 Tabelul de adevăr pentru negație ¬X ȘI LL ȘI Tabelul 5 Tabelul de adevăr pentru conexiunile binare XYX^YX  YXYXY AND AND AND AND AND I I L I L L I I I L I L L I I I Logica predicatelor de ordinul întâi Relațiile dintre obiecte sunt descrise folosind concepte matematice speciale numite predicate logice, iar calculul predicatului este o ramură a logicii care se ocupă cu studiul lor. Orice logică este un sistem formal, pentru care trebuie definite următoarele: - alfabetul sistemului - un set numărabil de simboluri; - formule ale sistemului - un subset al tuturor cuvintelor care pot fi formate din caracterele incluse în alfabet (de obicei se stabilește o procedură care vă permite să faceți formule din caracterele alfabetului sistemului); − axiomele sistemului - un set selectat de formule ale sistemului; − reguli de inferență de sistem - un set finit de relații între formulele de sistem. Vocabularul calculului de predicate din prezentarea standard cuprinde următoarele concepte: - variabile (le vom nota cu ultimele litere ale alfabetului englez u, v, x, y, z); − constante (le vom nota prin primele litere ale alfabetului englez a, b, c, d): o constante individuale; o constante funcționale; o constante de predicat; − declarații; - 43 - - conjunctive logice (¬ (negaţie), conjuncţie, disjuncţie, implicaţie); − cuantificatori: (existenţă, generalitate); − termeni; − forme funcţionale; − forme de predicat; − atomi; − formule. Constante individuale și variabile individuale Sunt ca constantele și variabilele din analiză matematică , cu singura diferență că zona schimbării lor sunt indivizi, nu numere reale. În teoria inteligenței artificiale, constantele și variabilele numite din memoria agentului care corespund obiectelor și conceptelor din lumea reală sunt numite concepte. În limbile de ordinul întâi, variabilele sunt doar individuale, deci sunt numite simplu variabile. După cum se va arăta mai jos, utilizarea limbilor de ordinul întâi și respingerea utilizării limbilor de ordin înalt impune restricții suplimentare asupra clasei de propoziții în limbaj natural luate în considerare. Constantele individuale vor fi notate cu litere mici a, b, c, u, v, w ale alfabetului latin cu indici sau denumiri mnemonice preluate din text. Pentru a desemna variabile se vor folosi litere mici x,y,z din alfabetul latin cu indici. Exemplu. Constante individuale: a1, b1, c, u, v1, seller_w, k22, buy_l, m10, book_a1 . Variabile: x, y2, z33. Constantele predicatelor Constantele predicatelor sunt folosite pentru a desemna o relație care descrie un predicat. O constantă de predicat nu își schimbă valoarea de adevăr. Este asociat cu un număr adecvat de argumente sau parametri, numiți termeni, formând o formă de predicat. Denumirea constantei predicatului este nume mnemonice sau litera alfabetului latin Р cu indici. Limbajul predicatelor conține limbajul propozițiilor, deoarece o propoziție nu este altceva decât o constantă de predicat fără argumente sau o formă de predicat de loc nul. Zona semantică a formei de predicat coincide cu zona de schimbare a enunțului, adică. (I, L). Constantele funcției Constanta funcției (f, g, h) precum și constanta predicatului, atunci când sunt combinate cu un număr adecvat de termeni, formează o formă funcțională. Diferența dintre forma funcțională și forma predicat constă în faptul că domeniul său semantic este alcătuit dintr-un set de constante individuale. O constantă de funcție de loc nul este doar o constantă individuală. conectivele logice în calculul predicatelor servesc la formarea formulelor. Cuantificatori. Calculul predicatelor folosește doi cuantificatori: cuantificatorul general () și cuantificatorul existențial (). Expresia xP se citește ca „pentru orice x P este adevărat”. Expresia xP se citește ca „există un x pentru care P este adevărat”. Un termen este o expresie formată din variabile și constante, eventual cu utilizarea funcțiilor. Termenii, formele, atomii și formulele din calculul predicatului se construiesc folosind următoarele reguli: - orice variabilă sau constantă este un termen; − dacă t1,. ..,tn sunt termeni și f este un simbol al funcției de n locuri, atunci f(t1,...,tn) este un termen; − nu există alți termeni. De fapt, toate obiectele din logica predicatelor de ordinul întâi sunt reprezentate tocmai sub formă de termeni. Dacă termenul nu conține variabile, atunci se numește termen principal sau constant. Un termen (t1,t2 ...tn) este orice variabilă și orice formă funcțională. O formă funcțională este o constantă funcțională asociată cu un număr adecvat de termeni. Dacă f este o constantă locală funcțională și t1 ..., tn sunt termeni, atunci forma corespunzătoare este de obicei notată cu f(t1, ...,tn). Dacă n=0, atunci pur și simplu se scrie f. O formă de predicat este o constantă de predicat concatenată cu un număr adecvat de termeni. Dacă p este constanta m - loc corespunzătoare și t1, ..., tn sunt termeni, atunci forma corespunzătoare se notează cu p(t1,...,tm). Un atom este o formă de predicat sau o egalitate, de exemplu. o expresie ca (s=t), unde s și t sunt termeni. O formulă atomică sau elementară se obține prin aplicarea unui predicat unor termeni, mai precis, este o expresie p(t1,...,tn), unde p este un simbol predicat de n locuri (formulă), iar t1,.. .,tn sunt termeni. Conceptul de formulă este definit recursiv (inductiv) prin următoarele reguli: - un atom este o formulă; - dacă A este o formulă, A este o formulă; - dacă A și B sunt formule, atunci formulele (A ^ B), (A  B), (A  B) și (A  B); - dacă A este o formulă și x este o variabilă, atunci xA și xA sunt formule. Să reprezentăm alfabetul logicii predicatelor în termeni de concepte. constante. Ele servesc ca nume pentru indivizi (spre deosebire de nume pentru colecții): obiecte, oameni sau evenimente. Constantele sunt reprezentate de - 45 - caractere precum Jacque_2 (adăugarea lui 2 la cuvântul Jacque indică o persoană bine definită printre persoanele cu acest nume), Book_22, Package_8. Variabile. Ele denotă numele agregatelor, cum ar fi o persoană, o carte, o parcelă, un eveniment. Simbolul Book_22 reprezintă o instanță bine definită, iar cartea de simboluri indică fie setul „toate cărțile” fie „conceptul de carte”. Simbolurile x, y, z reprezintă denumirile colecțiilor (anumite mulțimi sau concepte). Nume de predicate (constante de predicat). Ei definesc regulile de conectare a constantelor și variabilelor, cum ar fi regulile gramaticale, procedurile, operatii matematice . Numele predicative folosesc caractere precum următoarele expresii: Trimite, Scrie, Plus, Separa. Numele de funcții (constantele funcției) reprezintă aceleași reguli ca și predicate. Pentru a evita confuzia cu numele predicatelor, numele funcțiilor sunt scrise cu toate litere mici: frază, trimitere, scriere, plus, împărțire. Simbolurile care sunt folosite pentru a reprezenta constante, variabile, predicate și funcții nu sunt „cuvinte ale limbii ruse”. Sunt simbolurile unor reprezentări – cuvintele „limbajului obiect” (în cazul nostru, limbajul predicatelor). Reprezentarea trebuie să excludă orice ambiguitate a limbajului. Prin urmare, numele indivizilor conțin numerele atribuite numelor populațiilor. Jack_1 și Jack_2 reprezintă două persoane cu același nume. Aceste reprezentări sunt concretizarea denumirii colecției „Jacques”. Un predicat este un nume de predicat împreună cu un număr adecvat de termeni. Un predicat se mai numește și formă de predicat. Exemplu. În rusă: Jacques îi trimite o carte Mariei, logic: Parcel (Jacques_2, Marie_4, Book_22). Logica fuzzy Apariția logicii fuzzy, teoria mulțimilor fuzzy și alte teorii „fuzzy” este asociată cu munca omului de știință american Zadeh. Ideea principală a lui Zadeh a fost că modul uman de raționament, bazat pe limbajul natural, nu poate fi descris în cadrul formalismelor matematice tradiționale. Aceste formalisme sunt caracterizate de o strictă lipsă de ambiguitate a interpretării, iar tot ceea ce ține de utilizarea limbajului natural are o interpretare multivalorică. Scopul lui Zadeh a fost de a construi o nouă disciplină matematică, care să se bazeze nu pe teoria mulțimilor clasică, ci pe teoria mulțimilor fuzzy. Realizarea în mod constant a ideii de neclaritate, conform lui Zadeh, este posibil să se construiască analogii neclare ale tuturor conceptelor matematice de bază și să se creeze aparatul formal necesar pentru modelarea raționamentului uman și a modului uman de rezolvare a problemelor (Fig. 17). - 46 - Crearea teoriei mulţimilor fuzzy - Decizie Teoria matematică a mulţimilor fuzzy - Baza mecanismului Formalizarea raţionamentului modului uman - Sarcină Teză - o persoană în viaţa de zi cu zi - Problema gândeşte şi ia decizii pe baza unor concepte fuzzy Pic. 17. Logica apariției teoriei mulțimilor fuzzy În prezent, teoria mulțimilor fuzzy și logica fuzzy (fuzzy set & fuzzy logic) ocupă un loc puternic printre domeniile de frunte ale inteligenței artificiale. Conceptul de „fuzziness”, aplicat inițial mulțimilor, apoi logicii, a fost extins cu succes și în alte domenii ale matematicii și informaticii și acum există deja: - teoria relațiilor fuzzy; - teoria multimilor fuzzy; - teoria măsurilor şi integralelor fuzzy; - teoria numerelor și ecuațiilor fuzzy: - teoria logicii fuzzy și raționamentul aproximativ: - teoria limbajelor fuzzy; - teoria algoritmilor fuzzy; - teoria optimizării fuzzy și a modelelor decizionale. Următoarele pachete sunt cele mai populare printre clienții ruși: 1) CubiCalc 2.0 RTC este unul dintre cele mai puternice sisteme expert comerciale bazate pe logica fuzzy, care vă permite să vă creați propriile sisteme expert aplicate; 2) CubiQuick - versiunea academică a pachetului CubiCalc; 3) RuleMaker - un program pentru extragerea automată a regulilor fuzzy din datele de intrare; 4) FuziCalc - o foaie de calcul cu câmpuri neclare care vă permite să faceți estimări rapide cu date inexacte fără a acumula erori; 5) OWL - un pachet care conține textele sursă ale tuturor tipurilor cunoscute de rețele neuronale, memorie asociativă neclară etc. Principalii „consumatori” ai logicii fuzzy pe piața rusă sunt: ​​bancherii, finanțatorii și experții în domeniul analizei politice și economice. - 47 - Majoritatea sarcinilor umane nu necesită precizie ridicată. Adesea, atunci când comunicați cu lumea reală, trebuie să găsiți un compromis rezonabil între conceptele de „acuratețe” și „importanță”. De exemplu: pentru a lua o decizie privind traversarea unei străzi, o persoană nu estimează viteza unei mașini care se apropie cu o precizie de zecimi de metri pe secundă. El definește singur viteza mașinii ca „foarte rapidă”, „rapidă”, „încetă”, etc., adică. folosește variabile lingvistice pentru a indica viteza. În teoria mulțimilor fuzzy sunt propuse următoarele modalități de formalizare a conceptelor fuzzy. Prima modalitate (bazată pe lucrarea lui Zadeh) implică respingerea afirmației principale a teoriei clasice a mulțimilor conform căreia un element poate să aparțină sau să nu aparțină mulțimii. În acest caz, este introdusă o funcție caracteristică specială a mulțimii - așa-numita funcție de membru, care ia valori din intervalul . Această metodă duce la logica continuum. Cu al doilea mai mult mod general formalizarea neclarității, se presupune că funcțiile caracteristice ale mulțimii iau o valoare nu din intervalul , ci într-o rețea distributivă finită sau infinită. Această generalizare se numește mulțimi fuzzy în sensul lui Gauguin. A treia cale este P-seturi fuzzy . Cu această generalizare, fiecare element al mulțimii universale este asociat nu cu un punct din intervalul , ci cu o submulțime sau o parte a acestui interval. Algebra mulțimilor P-fuzzy poate fi redusă la algebra claselor. A patra cale este seturile neclare eterogene. Aici, în cazul general, elementelor mulțimii universale li se atribuie valori în diferite rețele distributive. Fiecare element poate fi asociat cu cel mai potrivit rating pentru acesta. În plus, valorile estimărilor în sine pot fi neclare și date ca funcții. S-a obținut o idee generală a logicii neclare. Acum despre totul în detaliu. Luați în considerare aparatul conceptual, care se bazează pe conceptul de „variabilă lingvistică”. Definirea unei variabile lingvistice (intuitivă)4 Dacă o variabilă poate prelua semnificațiile cuvintelor dintr-o limbă naturală (de exemplu, „mic”, „rapid” etc.), atunci această variabilă este definită ca o variabilă lingvistică. Cuvintele ale căror valori sunt luate de o variabilă lingvistică denotă de obicei seturi neclare. 4 Sisteme informaționale inteligente: Orientări pentru atelierul de laborator la cursul „Sisteme informaționale inteligente” pentru studenții specialității 071900 - Sisteme informaționale în economie / Ufimsk. stat aviaţie tehnologie. un-t; compilat de G.G. Kulikov, T.V. Breikin, L.Z. Kamalova. - Ufa, 1999. -40 p. - 48 - O variabilă lingvistică poate lua drept valori fie cuvinte, fie numere. Definiția unei variabile lingvistice (formale) O variabilă lingvistică este un cinci (x, T(x), X, G, M), unde x este numele variabilei; T(x) este mulțimea de nume de valori lingvistice ale variabilei x, fiecare dintre acestea fiind o mulțime neclară pe mulțimea X; G este o regulă sintactică pentru formarea numelor de valori x; M este o regulă semantică pentru asocierea fiecărei valori valorice cu conceptul său. Scopul conceptului de variabilă lingvistică este de a spune în mod formal că o variabilă poate lua cuvinte din limbajul natural drept valori. Cu alte cuvinte, fiecare variabilă lingvistică este formată din: - nume; − mulţimea valorilor sale, care se mai numeşte şi mulţimea de termeni de bază T. Elementele mulţimii de termeni de bază sunt denumirile variabilelor fuzzy; − multimea universala X; − regula sintactică G, conform căreia se generează termeni noi folosind cuvinte dintr-un limbaj natural sau formal; − regula semantică P, care asociază fiecare valoare a unei variabile lingvistice cu o submulțime fuzzy a mulțimii X. De exemplu, dacă spunem „viteză rapidă”, atunci variabila „viteză” ar trebui înțeleasă ca o variabilă lingvistică, dar asta nu înseamnă că variabila „viteză” nu poate lua valori reale. O variabilă fuzzy este descrisă de mulțime ( N,X,A), unde N este numele variabilei, X este mulțimea universală (aria raționamentului), A este mulțimea fuzzy pe X. Valorile variabilei lingvistice pot fi variabile fuzzy , adică variabila lingvistică este la un nivel mai înalt decât variabila fuzzy. Abordarea principală a formalizării neclarității este următoarea. Un set fuzzy se formează prin introducerea unui concept generalizat de apartenență, i.e. extinderea setului de valori cu două elemente ale funcției caracteristice (0,1) la un continuum. Aceasta înseamnă că trecerea de la apartenența completă a unui obiect la o clasă la non-aptitudinea sa completă nu are loc brusc, ci lin, treptat, iar apartenența unui element într-o mulțime este exprimată printr-un număr din intervalul . - 49 - Mulțimea neclară (NM) , este definită matematic ca o mulțime de perechi ordonate compuse din elemente x ale mulțimii universale X și gradele corespunzătoare de apartenență μа(x) sau (deoarece funcția de apartenență este o caracteristică exhaustivă a NM) direct sub forma unei funcții de către Mulțimea Universală X a mulțimii fuzzy A este domeniul de definiție al funcției de membru μа. Pe fig. 18 prezintă principalele varietăți de funcții de membru. Orez. 18. Tipul funcţiilor de apartenenţă După tipul de funcţii de membru, acestea se împart în: - submodale (Fig. 1. c); − amodal (Fig. 1. a); − multimodal (Fig. 1. m); − unimodal (Fig. 1. u). − Exemplu. 1) A =((x1,0,2),(x2,0,6),(x3,1),(x4,0,8)); 2) A = 0,2|x1 + 0,6|x2 + 1|x3 + 0,8|x4. 3) Același exemplu poate fi prezentat sub forma unui tabel. Tabelul 6 A= Tabel de descriere a funcției de membru x1 x2 x3 x4 0,2 0,6 1 0,8 Exemplu „Mulți oameni înalți” În viața reală, un lucru precum „înălțimea unei persoane înalte” este subiectivă. Unii cred că o persoană înaltă ar trebui să aibă mai mult de 170 cm înălțime, alții - mai mult de 180 cm, alții - mai mult de 190 cm. Seturile neclare fac posibilă luarea în considerare a unei astfel de neclarități a estimărilor. - 50 - Fie x o variabilă lingvistică care denotă „înălțimea unei persoane”, funcția sa de a aparține mulțimii de oameni înalți A:X(0,1), unde X este o mulțime care include toate valorile posibile ale unui înălțimea persoanei, este dată după cum urmează: Apoi mulțimea „oamenilor înalți” este dată de expresia A=(x| A(x)=1), x ϲ X. Grafic, acest lucru este prezentat în Fig. 19 (linie continuă), adică depinde de persoana care face evaluarea. Fie ca funcția de membru A:X(0,1) să aibă forma prezentată în figură printr-o linie punctată. Orez. 19. Set neclar de oameni înalți Astfel, o persoană cu înălțimea de 145 cm va aparține setului A cu un grad de apartenență A(145)=0, o persoană cu înălțimea de 165 cm - A(165) = 0,3, o persoană cu o înălțime de 185 cm -A (185) = 0,9, o înălțime de 205 cm - A(205)=1. Exemplu. — Ți-e frig acum? O persoană percepe o temperatură de +60oF (+12oC) ca rece și +80oF (+27oC) ca căldură. O temperatură de +65oF (+15oC) pare scăzută pentru unii, destul de confortabilă pentru alții. Numim acest grup de definiții funcția de apartenență la seturi care descriu percepția subiectivă a temperaturii de către o persoană. Mașinile nu sunt capabile de o gradație atât de fină. Dacă standardul pentru definirea frigului este „temperatura sub +15oC”, atunci +14,99oC ar fi considerat rece, dar +15oC nu. Pe fig. 20. este un grafic care ajută la înțelegerea modului în care o persoană percepe temperatura. Este la fel de ușor să creezi seturi suplimentare care descriu percepția temperaturii de către o persoană. De exemplu, puteți adăuga seturi precum „foarte rece” și „foarte cald”. Este posibil să se descrie funcții similare pentru alte concepte, cum ar fi stările deschise și închise, temperatura mai rece - 51 - sau temperatura turnului de răcire. Orez. 20. Mulțimea fuzzy „Temperatura” Astfel, putem trage următoarele concluzii asupra esenței conceptului de „multime fuzzy”: 1) seturile fuzzy descriu concepte nedefinite (alergator rapid, apă caldă, vreme caldă); 2) seturile neclare permit posibilitatea apartenenței parțiale la ele (vineri este parțial zi liberă (scurtată), vremea este destul de caldă); 3) gradul de apartenență a unui obiect la o mulțime neclară este determinat de valoarea corespunzătoare a funcției de membru pe interval (vineri aparține zilelor libere cu un grad de apartenență de 0,3); 4) functia de apartenenta asociaza un obiect (sau o variabila logica) cu valoarea gradului de apartenenta sa intr-o multime fuzzy. Forme de curbă pentru funcțiile de membru Există peste o duzină de curbe tipice pentru funcțiile de membru. Cele mai răspândite sunt: ​​funcțiile de apartenență triunghiulare, trapezoidale și gaussiene. Funcția de apartenență triunghiulară este definită printr-un triplu de numere (a,b,c), iar valoarea sa în punctul x este calculată conform expresiei (1).  bx 1  b  a , a  x  b;  c  x MF (x)   , b  x  c; c  b  0, în toate celelalte cazuri   - 52 - (1) Cu (ba)=(cb) avem cazul unei funcții de membru triunghiular simetric (Fig. 21), care poate fi specificată unic prin două parametrii din triplu (a,b,c). Orez. 21. Funcția de apartenență triunghiulară În mod similar, pentru a seta o funcție de apartenență trapezoidală, sunt necesare patru numere (a,b,c,d).  bx 1  b  a , a  x  b;  1, b  x  c; MF (x)   d  x , c  x  d; d c 0, în toate celelalte cazuri  (2) Cu (b-a)=(d-c), funcţia de membru trapezoidală capătă o formă simetrică (Fig. 22). Orez. 22. Funcția de apartenență trapezoidală Setul de funcții de apartenență pentru fiecare termen din setul de termeni de bază T este de obicei prezentat împreună pe un singur grafic. Pe fig. 23 arată formalizarea conceptului inexact de „vârstă umană”. Deci, pentru o persoană de 48 de ani, gradul de apartenență la setul „Tânăr” este 0, „Medie” - 0,47, „Peste medie” - 0,20. - 53 - Fig. 23. Descrierea variabilei lingvistice „Vârsta unei persoane” Operații de bază pe mulțimi fuzzy Operațiile de bază pe NM din clasa tuturor NM-urilor F(X)=( | :X  ) ale mulțimii universale X sunt prezentate mai jos. 1. Adunarea5  2 =   = 1-  1,  x  X 24. Graficul operaţiei „Complement” asupra funcţiei M 2. Intersecţia I (minim: variabile neinteracţionale).  3 = ( 1   2) (x)= min( 1(x),  2(x)) ,  x  X 3. Unirea I (maxim: variabile neinteracționante).  3 = ( 1   2) (x)= max( 1(x),  2(x)) ,  x  X 4. Intersecția II (produs limitat).  3 = ( 1   2) (x)= max(0,  1(x) +  2(x)-1) , x  X 5. Unirea II (maxim: cantitate limitată).  3 = ( 1   2) (x)= min(1,  1(x) +  2(x)) ,  x  X 6. Intersecția III (produs algebric). 5 În continuare, pe fond galben, sunt afișate operațiuni care sunt aceleași pentru toate cele trei baze. - 54 -  3 = ( 1   2) (x)=  1(x) *  2(x) ,  x  X 7. Unirea III (suma algebrică).  3 = ( 1   2) (x)=  1(x) +  2(x)-  1(x)   2(x) ,  x  X A B Fig. 25. Graficul funcționării intersecției I (A) a uniunii I (B) a funcțiilor M și M1 A B Fig. 26. Graficul funcționării intersecției II (A) a unirii II (B) a funcțiilor M și M1 A B Pic. 27. Graficul funcționării intersecției III (A) a unirii III (B) a funcțiilor M și M1 - 55 - 8. Diferența.  3 =  1(x) -  2(x) = max(0,  1(x) -  2(x)) ,  x  X 9. Concentrația.  3 =  2(x) ,  x  X 28. Graficul diferenței dintre funcțiile M și M1 Fig. 29. Graficul concentrației funcției M1 Spre deosebire de algebra booleană, în F(X) legile eliminării celei de-a treia nu sunt îndeplinite. Când construim operațiile de unire sau intersecție în F(X), trebuie să renunțăm fie la legile excluderii celui de-al treilea, fie la proprietatea distributivității și idempotnței. Obiectele fuzzy pot fi clasificate în funcție de tipul intervalului de valori al funcției de membru. Și aici se disting variantele X: - zăbrele; - semigrup; - inel; - categorie. Important pentru aplicațiile practice în ceea ce privește exprimarea reprezentărilor și evaluărilor calitative ale unei persoane în procesul de luare a unei decizii a unei probleme este cazul mulțimilor S-fuzzy specificate de o pereche (X, ), unde - 56 - :X S este o mapare de la X la o mulţime ordonată liniar S Este firesc să impunem lui S cerinţele de finitate şi completitudine. Un exemplu de mulțime finită ordonată liniar este un set de valori lingvistice ale variabilei lingvistice „CALITATE” = (slab, mediu, bun, excelent). 1 2 3 4 5 6 7 8 9 SAU variabile care nu interacționează) (FIE, ... , SAU) Intersecția II (produs limitat ȘI) Unirea II (suma limitată) SAU Intersecția III (produs algebric ȘI) Unirea III (suma algebrică) ) SAU Diferența Concentrarea FOARTE După cum se arată, în funcție de modalitățile de introducere a operațiilor de unire și intersecție a NM, există trei teorii principale ale NM. În conformitate cu criterii similare, ele împart: − logica fuzzy cu operaţii maximin (operaţiile 1,2,3,8,9); − logica fuzzy cu operatii limitate (operatiile 1,4,5,8,9); − logica fuzzy probabilistica (operatiile 1,6,7,8,9). Tratarea adevărului ca o variabilă lingvistică duce la o logică neclară cu valorile „adevărat”, „foarte adevărat”, „complet adevărat”, „mai mult sau mai puțin adevărat”, „nu foarte adevărat”, „fals” etc. , adică la logica fuzzy, pe care se bazează teoria raționamentului aproximativ. Domenii de aplicare ale teoriei mulțimilor fuzzy în diverse domenii ale cunoașterii umane Din punct de vedere filozofic, teoria NM este remarcabilă prin faptul că deschide

Statul Armavir

Universitatea Pedagogică

BAZELE INTELIGENTEI ARTIFICIALE

pentru studenții care studiază la specialitatea „Informatică”

Armavir 2004

Tipărită prin decizia UMC ASPU

Referent: , Candidat la Științe Fizice și Matematice, Profesor asociat, Șef al Centrului de Internet al Academiei Agricole de Stat Kabardino-Balkarian

Inteligența artificială Kozyrev. Ajutor didactic pentru studenții cu specializarea în informatică. - Armavir, 2004

Sunt luate în considerare Noțiuni de bază inteligența artificială, direcțiile și perspectivele de dezvoltare a cercetării în domeniul inteligenței artificiale, bazele limbajului de programare logică PROLOG.

Manualul educațional și metodic este destinat studenților care studiază la specialitatea „informatică”, putând fi folosit și de oricine este interesat de inteligența artificială și programarea logică.

Introducere……………………………………………………..…………... 4

1. Inteligența artificială: subiect, istorie
direcții de dezvoltare, cercetare ……..………………….. 5

1.1. Direcții de cercetare în domeniu
inteligența artificială……………………………………………….. 5


inteligența artificială…………………………………………………………… 6

2. Sistemul de cunoștințe………………………………………………………………….. 8

3. Modele de reprezentare a cunoștințelor…………………………………. 9

3.1. Rețele semantice……………………………………………………..9

3.2. Modelul cadru ………………………………………….…………10

3.3. Model de producție……………………………………………………..11

3.4. Model logic……………………………………………………. .12

4. Sisteme expert………………………………………………...12

4.1. Numirea sistemelor expert………………………………………….12

4.2. Tipuri de sarcini rezolvate cu ajutorul sistemelor expert…………….14

4.3. Structura sistemelor expert…………………………………………...15

4.4. Principalele etape ale dezvoltării sistemelor expert………………………16

4.5. Instrumente pentru dezvoltarea sistemelor expert………18

5. PROLOG - limbaj de programare logic ……….19

5.1. Informații generale despre PROLOG…………………………………………………… 19

5.2. Sugestii: fapte și reguli………………………………………20

5.4. Variabile în PROLOG……………………………………………………….22

5.5. Obiecte și tipuri de date în PROLOG………………………………...23

5.6. Secțiunile principale ale programului PROLOG…………………………….23

5.7. Backtracking……………………………………………………...24

5.8. Controlul backtracking: eșuați și tăiați predicate ……26

5.9. Calcule aritmetice……………………………………………………27

5.10. Recursiune…………………………………………………………… .28

5.11. Liste……………………………………………………………………30

5.12. Sarcini standard de procesare a listei……………………………….31

Literatură………………………………………………............................... .35

Introducere

În ultimele decenii, inteligența artificială a invadat toate domeniile de activitate, devenind un mijloc de integrare a științelor. Instrumentele software bazate pe tehnologia și metodele inteligenței artificiale au devenit larg răspândite în lume. Cercetările intensive privind crearea unui spațiu informațional unic care creează condiții pentru lucrul comun de la distanță, bazate pe baze de cunoștințe, au început acum să fie efectuate de către toate țările dezvoltate economic. Cursul „Fundamentele inteligenței artificiale” în învățământul superior include studiul unor astfel de secțiuni precum reprezentarea cunoștințelor într-un limbaj formal, structura sistemelor expert și principiile de bază ale dezvoltării acestora, diverse strategii pentru găsirea unui scop. Una dintre liniile principale ale cursului este discuția despre implementarea sistemelor de inteligență artificială pentru rezolvarea unor probleme aplicate specifice.

Mediul de dezvoltare este considerat ca suport informatic pentru curs. Programe vizuale Prolog. Limbajul de programare Prolog, bazat pe ideile și metodele logicii matematice, a fost creat inițial pentru dezvoltarea aplicațiilor de inteligență artificială. Aplicații precum baze de cunoștințe, sisteme expert, interfețe în limbaj natural și sisteme inteligente de management al informațiilor sunt programate eficient în mediul Visual Prolog. Un nivel ridicat de abstractizare, capacitatea de a reprezenta structuri complexe de date și de a modela relații logice între obiecte fac posibilă rezolvarea problemelor din diverse domenii.

Suportul didactic „Fundamentals of Artificial Intelligence” va ajuta la extinderea ideilor unui viitor profesor de informatică despre domeniile de aplicare a teoriei inteligenței artificiale, despre limbajele de programare existente și promițătoare și structurile hardware pentru crearea sistemelor de inteligență artificială.

1. Inteligența artificială: subiect, istoria dezvoltării, domenii de cercetare.

euintelectualus(lat) - minte, rațiune, minte, abilități mentale ale unei persoane. Inteligență artificială(AI) este un domeniu al informaticii, al cărui subiect este dezvoltarea de instrumente hardware și software care permit utilizatorului să rezolve probleme care sunt considerate în mod tradițional intelectuale. Teoria inteligenței artificiale este știința cunoașterii, cum să o extragem, să o reprezentăm în sisteme artificiale, să o procesăm în interiorul sistemului și să o folosești pentru a rezolva probleme practice. Tehnologiile care utilizează inteligența artificială sunt folosite astăzi în multe domenii de aplicare.

Începutul cercetării în domeniul AI (sfârșitul anilor 50 ai secolului XX) este asociat cu lucrările lui Newell, Saiman și Shaw, care au studiat procesele de rezolvare a diferitelor probleme. Rezultatele muncii lor au fost programe precum „LOGIC-TEORETIC”, destinate dovedirii teoremelor în calculul propozițional și „GENERAL PROBLEM SOLVER”. Aceste lucrări au marcat începutul primei etape de cercetare în domeniul AI, asociată cu dezvoltarea de programe care rezolvă probleme pe baza utilizării diferitelor metode euristice.

Metoda euristică de rezolvare a problemei a fost considerată ca inerentă gândirii umane „în general”, care se caracterizează prin apariția unor presupuneri despre modalitatea de rezolvare a problemei cu verificarea lor ulterioară. S-a opus metodei algoritmice utilizate în computer, care a fost interpretată ca implementarea mecanică a unei anumite secvențe de pași, conducând determinist la răspunsul corect. Interpretarea metodelor euristice de rezolvare a problemelor ca activitate pur umană a condus la apariția și răspândirea în continuare a termenului AI.

A. Neurocibernetica.

Neurociberetica se concentrează pe modelarea hardware a structurilor similare cu structura creierului. Fiziologii au stabilit de mult timp că baza creierului uman este un număr mare de celule nervoase interconectate și care interacționează - neuroni. Prin urmare, eforturile neurociberneticii s-au concentrat pe crearea de elemente similare neuronilor și combinarea acestora în sisteme funcționale. Aceste sisteme sunt numite rețele neuronale sau rețele neuronale. Recent, neurocibernetica a început să se dezvolte din nou datorită unui salt în dezvoltarea computerelor. Au apărut neurocalculatoarele și transputerii.

În prezent, există trei abordări pentru crearea rețelelor neuronale:

hardware- crearea de calculatoare speciale, plăci de expansiune, chipset-uri care implementează toți algoritmii necesari,

program- Crearea de programe și instrumente concepute pentru calculatoare de înaltă performanță. Rețelele sunt create în memoria computerului, toată munca este realizată de propriile procesoare;

hibrid este o combinație a primelor două. O parte din calcule este efectuată de plăci de expansiune speciale (coprocesoare), parțial prin software.

B. Cibernetica cutiei negre.

Cibernetica „cutiei negre” se bazează pe un principiu opus neurociberneticii. Nu contează cum funcționează dispozitivul „gânditor”. Principalul lucru este că reacționează la acțiunile de intrare date în același mod ca creierul uman.

Această zonă a inteligenței artificiale s-a concentrat pe căutarea algoritmilor pentru rezolvarea problemelor intelectuale pe modelele de computer existente.

Cercetările în domeniul inteligenței artificiale au parcurs un drum lung și spinos: primele hobby-uri (1960), pseudoștiința (1960-65), succes în rezolvarea de puzzle-uri și jocuri (), dezamăgire în rezolvarea problemelor practice (), primele succese în rezolvare. o serie de probleme practice ( ), utilizare comercială în masă în rezolvarea problemelor practice (). Dar baza succesului comercial este pe bună dreptate alcătuită din sisteme expert și, în primul rând, sisteme expert în timp real. Ei au fost cei care au permis inteligenței artificiale să treacă de la jocuri și puzzle-uri la utilizarea în masă pentru a rezolva probleme practic semnificative.

1.2. Principalele sarcini rezolvate în regiune
inteligență artificială

Reprezentarea cunoştinţelor şi dezvoltarea sistemelor bazate pe cunoştinţe

Dezvoltarea modelelor de reprezentare a cunoștințelor, crearea de baze de cunoștințe care formează nucleul sistemelor expert (ES). Recent, include modele și metode pentru extragerea și structurarea cunoștințelor și se îmbină cu ingineria cunoașterii. În domeniul inteligenței artificiale, sistemele și instrumentele experte pentru dezvoltarea lor au obținut cel mai mare succes comercial.

Jocuri și creativitate.

Sarcini intelectuale de joc - șah, dame, du-te. Se bazează pe una dintre abordările timpurii - modelul labirint plus euristica.

Dezvoltarea de interfețe în limbaj natural și traducere automată

Control vocal, traducere din limbă în limbă. Primul program din acest domeniu este un traducător din engleză în rusă. Prima idee - traducerea cuvânt cu cuvânt, s-a dovedit a fi inutilă. În prezent, se utilizează un model mai complex, inclusiv analiza și sinteza mesajelor în limbaj natural, care constă din mai multe blocuri. Pentru analiza este:

Limbajul care folosește modelul de producție este PROLOG.

3.4. Model logic

Descrierea lor se bazează pe un sistem formal cu patru elemente:

M=<Т, Р, А, В >, Unde

T este un set de elemente de bază de natură variată cu proceduri corespunzătoare;

R este un set de reguli sintactice. Cu ajutorul lor, se formează seturi corecte din punct de vedere sintactic din elementele lui T. Procedura P(R) determină dacă această colecție este corectă;

A este o submulțime a mulțimii P, numită axiome. Procedura P(A) dă un răspuns la întrebarea de apartenență la mulțimea A;

B este setul de reguli de inferență. Aplicându-le elementelor lui A, se pot obține noi colecții corecte din punct de vedere sintactic la care aceste reguli pot fi aplicate din nou. Procedura P(V) determină, pentru fiecare set corect sintactic, dacă este dedusă.

4. Sisteme experte

4.1. Numirea sistemelor expert

Sistem expert(ES) sunt sisteme software complexe care acumulează cunoștințe ale specialiștilor în domenii specifice și reproduc această experiență empirică pentru consultarea utilizatorilor mai puțin calificați.

Scopul studiului sistemelor expert este dezvoltarea de programe care, la rezolvarea problemelor dintr-un anumit domeniu, obțin rezultate care nu sunt inferioare ca calitate și eficiență rezultatelor obținute de experți.

Sistemele experte sunt concepute pentru a rezolva sarcini neformalizate, practic semnificative. Utilizarea unui sistem expert ar trebui făcută numai atunci când dezvoltarea lor este posibilă și adecvată.

Fapte care indică necesitatea dezvoltării și implementării sistemelor expert:

Lipsa profesioniștilor care petrec mult timp ajutându-i pe alții;

Necesitatea unei echipe mari de specialisti, intrucat niciunul dintre ei nu are suficiente cunostinte;

Productivitate scăzută, deoarece sarcina necesită o analiză completă a unui set complex de condiții, iar specialistul mediu nu este capabil să revizuiască (în timpul alocat) toate aceste condiții;

Prezența concurenților care au un avantaj prin faptul că sunt mai buni la sarcina în cauză.

De funcţional Scopul sistemelor expert poate fi împărțit în următoarele tipuri:

1. Sisteme expert puternice concepute pentru un cerc restrâns de utilizatori (sisteme de control pentru echipamente tehnologice complexe, sisteme experte de apărare aeriană). Astfel de sisteme funcționează de obicei în timp real și sunt foarte scumpe.

2. Sisteme expert concepute pentru o gamă largă de utilizatori. Acestea includ sisteme de diagnosticare medicală, sisteme complexe de predare. Baza de cunoștințe a acestor sisteme nu este ieftină, deoarece conține cunoștințe unice obținute de la experți. Culegerea de cunoștințe și formarea unei baze de cunoștințe este realizată de un specialist în colectarea de cunoștințe - un inginer cognitiv.

3. Sisteme experte cu un număr mic de reguli și relativ ieftine. Aceste sisteme sunt concepute pentru consumatorul de masă (sisteme care facilitează depanarea echipamentelor). Utilizarea unor astfel de sisteme vă permite să faceți fără personal înalt calificat, reduceți timpul de depanare și depanare. Baza de cunoștințe a unui astfel de sistem poate fi completată și modificată fără ajutorul dezvoltatorilor de sistem. Ei folosesc de obicei cunoștințele din diverse manuale de referință și documentație tehnică.

4. Sisteme expert simple pentru uz individual. Deseori făcute pe cont propriu. Sunt folosite în situații pentru a facilita munca de zi cu zi. Utilizatorul, după ce a organizat regulile într-o anumită bază de cunoștințe, își creează propriul sistem expert pe baza acestuia. Astfel de sisteme sunt utilizate în jurisprudență, activități comerciale, reparații de echipamente simple.

Utilizarea sistemelor expert și a rețelelor neuronale aduce beneficii economice semnificative. De exemplu: - American Express și-a redus pierderile cu 27 milioane USD pe an datorită unui sistem expert care determină oportunitatea acordării sau refuzului unui împrumut unei anumite firme; - DEC economisește 70 milioane USD pe an cu XCON/XSEL, o configurație specifică clientului sistem de calcul VAX. Utilizarea sa a redus numărul de erori de la 30% la 1%; - Sira a redus costurile de construcție a conductelor în Australia cu 40 de milioane USD cu un sistem expert de management al conductelor.

4.2. Tipuri de sarcini rezolvate cu
sistem expert

Interpretarea datelor. Interpretarea se referă la determinarea semnificației datelor, ale căror rezultate trebuie să fie consecvente și corecte. Exemple de ES:

Detectarea și identificarea diferitelor tipuri de nave oceanice - SIAP;

Determinarea principalelor trasaturi de personalitate pe baza rezultatelor testelor psihodiagnostice in sistemele AVTANTEST si MICROLUSHER etc.

Diagnosticare. Diagnosticarea se referă la detectarea unei defecțiuni în anumite sisteme. Exemple de ES:

Diagnosticul și terapia îngustării vaselor coronare - ANGY;

Diagnosticarea erorilor hardware și software ale calculatoarelor - sistem CRIB etc.

Monitorizarea. Sarcina principală a monitorizării este interpretarea continuă a datelor în timp real și semnalizarea ieșirii anumitor parametri dincolo de limitele admise. Principalele probleme sunt „saritul” unei situații alarmante și problema inversă a unei operațiuni „false”. Exemple de ES:

Controlul exploatarii centralelor SPRINT, asistenta dispeceratelor reactoarelor nucleare - REACTOR:

Monitorizarea senzorilor de urgență dintr-o uzină chimică - FALCON etc.

Proiecta. Proiectarea constă în pregătirea specificațiilor pentru crearea de „obiecte” cu proprietăți predeterminate. Caietul de sarcini este înțeles ca întregul set de documente necesare, un desen, o notă explicativă etc. Exemple de ES:

Proiectarea configurațiilor computerului VAX - 1/780 în sistemul XCON (sau R1),

Proiectare LSI - CADHELP;

Sinteza circuitelor electrice - SYN și altele.

Prognoza. Sistemele predictive deduc în mod logic consecințele probabile din situații date. Exemple de ES:

Prognoza meteo - sistem WILLARD:

Estimări ale recoltei viitoare - PI. FURNICĂ;

Prognoze în economie - ECON și altele.

Planificare. Planificarea este înțeleasă ca găsirea de planuri de acțiune legate de obiecte capabile să îndeplinească anumite funcții. În astfel de ES se folosesc modele comportamentale ale obiectelor reale pentru a deduce logic consecințele activității planificate. Exemple de ES:

Planificarea comportamentului robotului - STRIPS,

Planificarea comenzilor industriale - 1SIS,

Experiment Design - MOLGEN et al.

Educaţie. Sistemele de antrenament diagnosticează erorile în studiul oricărei discipline cu ajutorul calculatorului și sugerează soluțiile potrivite. Ei acumulează cunoștințe despre un „elev” ipotetic și greșelile sale caracteristice, apoi în muncă sunt capabili să diagnosticheze slăbiciunile cunoștințelor elevilor și să găsească mijloace adecvate pentru a le elimina. Exemple de ES:

Predarea limbajului de programare Lisp în sistemul „Lisp Teacher”;

Sistemul PROUST - învățarea limbii Pascal etc.

Soluțiile de sistem expert sunt transparente, adică pot fi explicate utilizatorului la nivel calitativ.

Sistemele experte sunt capabile să-și completeze cunoștințele în cursul interacțiunii cu un expert.

4.3. Structura sistemelor expert

Structura sistemelor expert include următoarele componente:

Bază de cunoștințe- nucleul ES, corpul de cunoștințe ale domeniului subiectului, înregistrat pe un suport de mașină într-o formă înțeleasă de expert și utilizator (de obicei într-un limbaj apropiat de natural). În paralel cu o astfel de reprezentare „umană”, există o bază de cunoștințe în reprezentarea internă „mașină”. Constă dintr-un set de fapte și reguli.

Fapte - descrie obiectele și relația dintre ele. Reguli - utilizate în baza de cunoștințe pentru a descrie relațiile dintre obiecte. Pe baza relațiilor definite de reguli, se efectuează o inferență logică.

Bază de date- este destinat stocarii temporare a faptelor si ipotezelor, contine date intermediare sau rezultatul comunicarii intre sisteme si utilizator.

Inferență logic-mașină- un mecanism de raționament care operează pe cunoștințe și date în vederea obținerii de noi date; pentru aceasta se folosește de obicei un mecanism de căutare a deciziilor implementat de software.

Subsistemul de comunicare- servește la desfășurarea unui dialog cu utilizatorul, în timpul căruia sistemul expert îi cere utilizatorului faptele necesare procesului de raționament și, de asemenea, permite utilizatorului să controleze cursul raționamentului într-o oarecare măsură.

Subsistem explicație- este necesar pentru a oferi utilizatorului posibilitatea de a controla cursul raționamentului.

Subsistemul de achiziție a cunoștințelor- un program care oferă unui inginer de cunoștințe capacitatea de a crea baze de cunoștințe într-un mod interactiv. Acesta include un sistem de meniuri imbricate, șabloane de limbaj de reprezentare a cunoștințelor, indicii („help” - mod) și alte instrumente de service care facilitează lucrul cu baza de date.

Sistemul expert funcționează în două moduri:

Dobândirea de cunoștințe (definire, modificare, adăugare);

Rezolvarea problemelor.

În acest mod, datele sarcinii sunt procesate și, după o codificare corespunzătoare, transferate în blocurile sistemului expert. Rezultatele prelucrării datelor primite sunt transmise la modulul de sfaturi și explicații și, după recodificare într-un limbaj apropiat de firesc, sunt emise sub formă de sfaturi, explicații și comentarii. Dacă răspunsul nu este clar pentru utilizator, acesta poate solicita sistemului expert să explice cum a fost primit.

4.4. Principalele etape de dezvoltare a sistemelor expert

Procesul tehnologic de dezvoltare a unui sistem expert industrial poate fi împărțit în șase etape principale:

1. Alegerea problemei potrivite

Activitățile care au condus la decizia de a începe dezvoltarea unui anumit SE includ:

Identificarea zonei problematice și a sarcinilor;

Găsirea unui expert care este dispus să coopereze în rezolvarea problemei și numirea unei echipe de dezvoltare;

Determinarea unei abordări preliminare pentru rezolvarea problemei;

Analiza costurilor si profiturilor din dezvoltare;

Întocmirea unui plan detaliat de dezvoltare.

2. Dezvoltarea unui sistem prototip

sistem prototip este o versiune trunchiată a unui sistem expert conceput pentru a verifica corectitudinea faptelor de codificare, a relațiilor și a strategiilor de raționament expert.

Prototipul trebuie să îndeplinească două cerințe:

Sistemul prototip ar trebui să rezolve cele mai tipice probleme, dar nu ar trebui să fie prea mare.

Timpul și efortul de prototipare ar trebui să fie reduse.

Funcționarea programelor prototip este evaluată și testată pentru a le aduce în concordanță cu nevoile reale ale utilizatorilor. Prototipul este verificat pentru:

Comoditatea și adecvarea interfețelor de intrare-ieșire (natura întrebărilor din dialog, coerența textului de ieșire al rezultatului etc.)

Eficiența strategiei de control (ordinea de enumerare, utilizarea inferenței fuzzy etc.);

Calitatea cazurilor de testare;

Corectitudinea bazei de cunoștințe (completitudinea și consistența regulilor).

Un expert lucrează de obicei cu un inginer de cunoștințe care ajută la structurarea cunoștințelor, definirea și formarea conceptelor și regulilor necesare

pentru a rezolva problema. Dacă are succes, expertul, cu ajutorul unui inginer de cunoștințe, extinde baza de cunoștințe a prototipului despre zona problemei.

Dacă eșuează, se poate concluziona că Ce alte metode sunt necesare pentru a rezolva această problemă sau pentru a dezvolta un nou prototip.

3. Dezvoltarea unui prototip la un sistem expert industrial.

În această etapă, baza de cunoștințe este extinsă semnificativ, se adaugă un număr mare de euristici suplimentare. Aceste euristici cresc, în general, profunzimea sistemului, oferind mai multe reguli pentru aspectele subtile ale cazurilor individuale. După stabilirea structurii de bază a ES, inginerul de cunoștințe procedează la dezvoltarea și adaptarea interfețelor prin care sistemul va comunica cu utilizatorul și expertul.

De regulă, este implementată o tranziție lină de la prototipuri la sistemele expert industriale. Uneori, la dezvoltarea unui sistem industrial, se disting etape suplimentare pentru tranziție: prototip demonstrativ - prototip de cercetare - prototip viu - sistem industrial.

4. Evaluarea sistemului

Sistemele experte sunt evaluate pentru a verifica acuratețea programului și utilitatea acestuia. Evaluarea poate fi efectuată pe baza diferitelor criterii, pe care le grupăm după cum urmează:

Criteriile utilizatorului (comprehensibilitatea și „transparența” funcționării sistemului, comoditatea interfețelor etc.);

Criterii pentru experții invitați (evaluarea sfatului-soluții oferite de sistem, compararea acestuia cu soluțiile proprii, evaluarea subsistemului de explicații etc.);

Criteriile echipei de dezvoltare (eficiența implementării, performanța, timpul de răspuns, designul, lărgimea de acoperire a domeniului subiectului, consistența bazei de cunoștințe, numărul de blocaje atunci când sistemul nu poate lua o decizie, analiza sensibilității programului la modificări minore în reprezentarea cunoștințelor, coeficienții de pondere utilizați în mecanismele de ieșire logică, date etc.).

5. Sistem de andocare

În această etapă, sistemul expert este andocat cu alte programe software din mediul în care va funcționa, iar persoanele pe care le va deservi sunt instruite.Andocarea presupune și dezvoltarea de legături între sistemul expert și mediul în care operează.

Andocarea include asigurarea conexiunii ES cu bazele de date existente și alte sisteme din întreprindere, precum și îmbunătățirea factorilor de sistem dependenți de timp, astfel încât acesta să poată fi furnizat mai mult. munca eficientași îmbunătățirea performanței mijloacelor sale tehnice dacă sistemul funcționează într-un mediu neobișnuit (de exemplu, comunicarea cu dispozitivele de măsurare).

6. Suport de sistem

Recodificarea unui sistem într-un limbaj asemănător C îmbunătățește performanța și portabilitatea, dar reduce flexibilitatea. Acest lucru este acceptabil numai dacă sistemul păstrează toate cunoștințele despre zona cu probleme și aceste cunoștințe nu se vor schimba în viitorul apropiat. Totuşi, dacă sistemul expert este creat tocmai pentru că zona cu probleme modificări, este necesară menținerea sistemului în mediul instrumentului de dezvoltare.

Limbi de inteligență artificială

Lisp (LISP) și Prolog (Prolog) sunt cele mai comune limbaje pentru rezolvarea problemelor de inteligență artificială. Există, de asemenea, limbaje de inteligență artificială mai puțin obișnuite, cum ar fi REFAL, dezvoltate în Rusia. Universalitatea acestor limbi este mai mică decât cea a limbilor tradiționale, dar limbajele de inteligență artificială compensează pierderea acesteia cu oportunități bogate de lucru cu date simbolice și logice, ceea ce este extrem de important pentru sarcinile de inteligență artificială. Pe baza limbajelor de inteligență artificială, sunt create calculatoare specializate (de exemplu, mașinile Lisp) pentru rezolvarea problemelor de inteligență artificială. Dezavantajul acestor limbi este inaplicabilitatea lor pentru crearea de sisteme experte hibride.

Instrumente software speciale

Biblioteci și suplimente Lisp pentru limbajul de inteligență artificială Lisp: KEE (Knowledge Engineering Environment), FRL (Frame Representation Language), KRL (Knowledge Represantation Language), ARTS, etc., permițând utilizatorilor să lucreze cu spații de sisteme expert la un nivel superior. nivel decât este posibil în limbajele convenționale de inteligență artificială.

"Cochilii"

„Shell-urile” sunt versiuni goale” ale sistemelor expert existente, adică sisteme expert gata făcute fără o bază de cunoștințe. Un exemplu de astfel de shell este EMYCIN (Empty MYCIN - empty MYC1N), care este un sistem expert MYCIN gol. Avantajul shell-uri este că nu necesită deloc munca programatorilor pentru a crea un sistem expert gata făcut. Este nevoie doar de experți în domeniu pentru a popula baza de cunoștințe. Cu toate acestea, dacă un anumit domeniu nu se încadrează bine în model utilizat într-un shell, nu este ușor să populați baza de cunoștințe în acest caz.

5. PROLOG - limbajul logicului
programare

5.1. Informații generale despre PROLOG.

PROLOG (PROGRAMMING IN LOGIC) este un limbaj de programare logic conceput pentru a rezolva probleme din domeniul inteligenței artificiale (crearea de ES, programe de traducere, procesare a limbajului natural). Este folosit pentru procesarea limbajului natural și are instrumente puternice pentru extragerea informațiilor din bazele de date, iar metodele de căutare folosite în el sunt fundamental diferite de cele tradiționale.

Construcțiile de bază ale PROLOGului sunt împrumutate din logică. PROLOGUE nu este un limbaj de programare procedural, ci declarativ. Se concentrează nu pe dezvoltarea soluțiilor, ci pe o descriere sistematică și formalizată a problemei astfel încât soluția să decurgă din descriere.

Esența abordării logice este că mașinii i se oferă nu un algoritm ca program, ci o descriere formală a domeniului subiectului și a problemei care se rezolvă sub forma unui sistem axiomatic. Apoi, căutarea unei soluții folosind rezultatul din acest sistem poate fi încredințată computerului însuși. Sarcina principală a unui programator este să reprezinte cu succes domeniul cu un sistem de formule logice și un astfel de set de relații pe acesta care descriu cel mai pe deplin sarcina.

Proprietățile fundamentale ale PROLOG:

1) mecanism de inferență cu căutare și întoarcere

2) mecanism de potrivire a modelului încorporat

3) structură de date simplă și ușor de schimbat

4) lipsa indicatorilor, a operatorilor de atribuire și de tranziție

5) naturalețea recursiunii

Etapele programării în PROLOG:

1) declararea faptelor despre obiecte și relații dintre acestea;

2) definirea regulilor de relaţionare a obiectelor şi a relaţiilor dintre acestea;

3) formularea întrebării despre obiecte și relații dintre acestea.

Baza teoretică a PROLOG este o secțiune a logicii simbolice numită calculul predicatelor.

Predicat este numele unei proprietăți sau al unei relații între obiecte cu o succesiune de argumente.

<имя_предиката>(t1, t2, ..., tn)), t1,t2,...,tn sunt argumente

De exemplu, faptul că black(cat) este scris folosind predicatul negru, care are un singur argument. Fapt a scris (Sholokhov, „QUIET DON”) scris folosind predicatul a scris, care are două argumente.

Numărul de argumente de predicat se numește aritatea predicatului și este notat cu negru/1 (predicatul negru are un argument, aritatea lui este unul). Predicatele pot să nu aibă argumente; aritatea unor astfel de predicate este 0.

Limbajul Prolog a apărut din lucrările lui A. Colmerauer privind procesarea limbajului natural și din munca independentă a lui R. Kowalski despre Aplicațiile logicii la programare (1973).

Cel mai faimos sistem de programare din Rusia este Turbo Prolog, o implementare comercială a limbajului pentru computerele compatibile cu IBM. În 1988, un mult mai puternic versiune turbo Prolog 2.0, care include un IDE îmbunătățit, un compilator rapid și instrumente de programare de nivel scăzut. Borland a distribuit această versiune până în 1990, când PDC a dobândit dreptul exclusiv de utilizare cod sursa compilator și promovare în continuare a sistemului de programare pe piață sub denumirea PDC Prolog.

În 1996, Centrul de Dezvoltare Prolog a lansat pe piață Visual Prolog 4.0. Mediul Visual Prolog utilizează o abordare numită „programare vizuală” în care aspect iar comportamentul programelor sunt definite folosind instrumente speciale de proiectare grafică fără programare tradițională într-un limbaj algoritmic.

Visual Prolog include un mediu interactiv de dezvoltare vizuală (VDE - Visual Develop Environment), care include editori de text și diverse grafice, instrumente de generare de cod care construiesc logica de control (Experți), precum și o extensie a interfeței de programare vizuală (VPI - Visual Programming). Interfață). ), un compilator Prolog, un set de diferite fișiere și biblioteci plug-in, un editor de linkuri, fișiere care conțin exemple și ajutor.

5.2. Sugestii: fapte și reguli

Un program PROLOG constă din propoziții, care pot fi fapte, reguli sau interogări.

Fapt este o afirmație că se observă o anumită relație specifică între obiecte. Un fapt este folosit pentru a arăta o relație simplă între date.

Structura faptului:

<имя_отношения>(t1,t2,...,tn)), t1,t2,...,tn sunt obiecte

Exemple de fapte:

studii (Ira, universitate). % Ira studiază la universitate

părinte (ivan, alexey). % Ivan este părintele lui Alexei

limbaj_programare (prolog). % Prolog este un limbaj de programare

Setul de fapte este Bază de date. Sub forma unui fapt, programul înregistrează date care sunt acceptate ca adevărate și nu necesită dovezi.

Reguli sunt folosite pentru a stabili relații între obiecte pe baza faptelor existente.

Structura regulilor:

<имя_правила> :- <тело правила>sau

<имя_правила >dacă<тело правила>

Partea stângă a regulii de inferență este numită cap reguli, iar partea dreaptă - corp. Corpul poate consta din mai multe condiții separate prin virgule sau punct și virgulă. Virgula reprezintă operația logică AND, punctul și virgulă reprezintă operația logică SAU. Propozițiile folosesc variabile pentru a generaliza formularea regulilor de inferență. Variabilele funcționează doar într-o singură propoziție. Numele în propoziții diferite se referă la diferite obiecte. Toate propozițiile trebuie să se încheie cu un punct.

Exemple de reguli:

mama (X, Y) :- părinte (X, Y), femeie (X).

student (X) :- studii (X, institut); studiind (X, universitate).

O regulă diferă de un fapt prin faptul că un fapt este întotdeauna adevărat și o regulă este adevărată dacă toate afirmațiile care alcătuiesc corpul regulii sunt valabile. Faptele și regulile formează bază de cunoștințe.

Dacă există o bază de date, atunci puteți scrie Anchetă(țintă) la acesta. O interogare este o declarație a unei probleme pe care programul trebuie să o rezolve. Structura sa este aceeași cu cea a unei reguli sau a unui fapt. Există interogări cu constante și interogări cu variabile.

Interogările cu constante vă permit să obțineți unul dintre cele două răspunsuri: „da” sau „nu”

De exemplu, există fapte:

știe (lena, tanya).

știe (lena, sasha).

știe (Sasha, Tanya).

a) Lena o cunoaște pe Sasha?

Anchetă: știe (lena, sasha).

Rezultat: da

b) O cunoaște Tanya pe Lena?

Anchetă știe (tanya, lena).

Rezultat: Nu

Dacă o variabilă este inclusă în cerere, atunci interpretul încearcă să găsească astfel de valori pentru care cererea va fi adevărată.

a) Pe cine cunoaște Lena?

Anchetă: știe (lena, X).

Rezultat:

X = Tanya

X = sasha

b) Cine o cunoaste pe Sasha?

Anchetă: știe (X, Sasha).

Rezultat: X = Lena

Solicitările pot fi compuse, adică constau din mai multe solicitări simple. Ele sunt combinate cu semnul „,”, care este înțeles ca un conjunctiv logic „și”.

Sunt apelate interogări simple subscop, interogarea în mai multe părți se evaluează la adevărat atunci când fiecare subscop ​​este adevărat.

Pentru a răspunde dacă Lena și Sasha au cunoștințe comune, ar trebui să faceți o solicitare:

știe (lena, X), știe (sasha, X).

Rezultat:

X = Tanya

5.4. Variabile în PROLOG

O variabilă din PROLOG nu este tratată ca o bucată de memorie alocată. Este folosit pentru a desemna un obiect la care nu se poate face referire prin nume. O variabilă poate fi considerată ca un nume local pentru un obiect.

Numele variabilei trebuie să înceapă cu o literă mare sau liniuță de subliniere și să conțină numai litere, cifre și caractere de subliniere: X, _y, AB, X1. Se apelează o variabilă care nu are valoare gratuit, o variabilă care are o valoare - specific.

Se apelează o variabilă constând doar dintr-un caracter de subliniere anonimși este utilizat atunci când valoarea sa nu este semnificativă. De exemplu, există fapte:

părinte (Ira, Tanya).

părinte (Misha, Tanya).

părinte (olya, ira).

Toți părinții trebuie să fie identificați

Anchetă: părinte (X, _)

Rezultat:

X = Ira

X = Misha

X = Olya

Sfera variabilei este aserțiunea. În cadrul unei instrucțiuni, același nume aparține aceleiași variabile. Două instrucțiuni pot folosi același nume de variabilă în moduri complet diferite.

Nu există operator de atribuire în PROLOG, rolul său este jucat de operatorul de egalitate =. Ținta X=5 poate fi văzută ca o comparație (dacă X are o valoare) sau o atribuire (dacă X este liber).

În PROLOG nu puteți scrie X=X+5 pentru a crește valoarea unei variabile. Ar trebui folosită o nouă variabilă: Y=X+5.

5.5. Obiecte și tipuri de date în PROLOG

Sunt apelate obiectele de date din PROLOG termeni. Un termen poate fi o constantă, o variabilă sau un termen (structură) compus. Constantele sunt numere întregi și reale (0, - l, 123.4, 0.23E-5), precum și atomii.

Atom– orice succesiune de caractere cuprinsă între ghilimele. Ghilimelele sunt omise dacă șirul începe cu literă micăși conține doar litere, cifre și liniuțe de subliniere (adică, dacă poate fi distinsă de desemnarea variabilă). Exemple de atomi:

abcd, „a+b”, „elev Ivanov”, prolog, „Prolog”.

Structura vă permite să combinați mai multe obiecte într-un singur întreg. Este format dintr-un functor (nume) și o secvență de termeni.

Numărul de componente dintr-o structură se numește aritatea structurii: date/3.

O structură poate conține o altă structură ca unul dintre obiectele sale.

data_zișterii (persoană ("Masha","Ivanova"), date(15 aprilie 1983))

domeniuîn PROLOG este un tip de date. Domeniile standard sunt:

întreg - numere întregi.

reale - numere reale.

șir - șiruri de caractere (orice secvență de caractere cuprinsă între ghilimele).

char este un singur caracter închis în apostrofe.

simbol - o succesiune de litere, numere și liniuțe latine care încep cu o literă mică sau orice succesiune de caractere cuprinse între ghilimele.

5.6. Principalele secțiuni ale programului PROLOG

De regulă, programul de pe PROLOG este format din patru secțiuni.

DOMENIILE– secțiunea de descriere a domeniilor (tipurilor). Secțiunea este utilizată dacă în program sunt utilizate domenii non-standard.

De exemplu:

PREDICATE- secțiunea descriere a predicatului. Secțiunea este utilizată dacă în program sunt folosite predicate non-standard.

De exemplu:

știe (nume, nume)

numele studentului)

CLAUZE- sectiunea oferte. În această secțiune sunt scrise propoziții: fapte și reguli de inferență.

De exemplu:

știe (Lena, Ivan).

student (ivan).

student_sign(X, Y):- știe (X, Y), student (Y).

POARTĂ- secțiunea țintă. Solicitarea este scrisă în această secțiune.

De exemplu:

semn_student(lena, X).

Cel mai simplu program poate conține doar o secțiune GOAL, de exemplu:

write("Introduceți numele dvs.: "), readln(Nume),

scrie ("Bună ziua, ", Nume, "!").

Tutorialul introduce cititorii în istoria inteligenței artificiale, a modelelor de reprezentare a cunoștințelor, a sistemelor experte și a rețelelor neuronale. Sunt descrise principalele direcții și metode utilizate în analiza, dezvoltarea și implementarea sistemelor inteligente. Sunt luate în considerare modelele de reprezentare a cunoștințelor și metodele de lucru cu acestea, metodele de dezvoltare și crearea de sisteme expert. Cartea va ajuta cititorul să stăpânească abilitățile de proiectare logică a bazelor de date de domeniu și de programare în limbajul ProLog.
Pentru studenții și profesorii universităților pedagogice, profesorii de licee, gimnazii, licee.

Conceptul de inteligență artificială.
Un sistem de inteligență artificială (AI) este un sistem software care simulează procesul gândirii umane pe un computer. Pentru a crea un astfel de sistem, este necesar să se studieze însuși procesul de gândire al unei persoane care rezolvă anumite probleme sau care ia decizii într-un anumit domeniu, să evidențiem pașii principali ai acestui proces și să dezvolte instrumente software care le reproduc pe un computer. Prin urmare, metodele AI implică o abordare structurală simplă a dezvoltării unor sisteme software complexe de luare a deciziilor.

Inteligența artificială este o ramură a informaticii, al cărei scop este de a dezvolta instrumente hardware și software care să permită unui utilizator non-programator să-și stabilească și să rezolve sarcinile intelectuale considerate în mod tradițional, comunicând cu un computer într-un subset limitat de limbaj natural.

CUPRINS
Capitolul 1. Inteligența artificială
1.1. Introducere în sistemele de inteligență artificială
1.1.1. Conceptul de inteligență artificială
1.1.2. Inteligența artificială în Rusia
1.1.3. Structura funcțională a sistemului de inteligență artificială
1.2. Direcții pentru dezvoltarea inteligenței artificiale
1.3. Date și cunoștințe. Reprezentarea cunoștințelor în sisteme inteligente
1.3.1. Date și cunoștințe. Definiții de bază
1.3.2. Modele de reprezentare a cunoștințelor
1.4. Sistem expert
1.4.1. Structura unui sistem expert
1.4.2. Dezvoltarea și utilizarea sistemelor expert
1.4.3. Clasificarea sistemelor expert
1.4.4. Reprezentarea cunoștințelor în sisteme expert
1.4.5. Instrumente pentru construirea de sisteme expert
1.4.6. Tehnologie expertă de dezvoltare a sistemului
Întrebări și sarcini de control pentru capitolul 1
Literatura pentru capitolul 1
Capitolul 2 Programarea logică
2.1. Metodologii de programare
2.1.1. Metodologia programării imperative
2.1.2. Metodologia programării orientate pe obiecte
2.1.3. Metodologia de programare funcțională
2.1.4. Metodologia de programare logica
2.1.5. Metodologia de programare prin constrângeri
2.1.6. Metodologia de programare a rețelelor neuronale
2.2. O scurtă introducere în calculul predicatului și demonstrarea teoremei
2.3. Procesul de inferență în Prolog
2.4. Structura programului în Prolog
2.4.1. Folosind obiecte compuse
2.4.2. Folosind domenii alternative
2.5. Organizarea repetițiilor în Prolog
2.5.1. Metoda rollback după eșec
2.5.2. Metoda de tăiere și derulare înapoi
2.5.3. recursivitate simplă
2.5.4. Metoda regulilor de recursivitate generalizată (GRR)
2.6. Liste în Prolog
2.6.1. Operațiuni pe liste
2.7. Coarde în Prolog
2.7.1. Operații pe șiruri
2.8. Fișiere în Prolog
2.8.1. Predicate Prolog pentru lucrul cu fișiere
2.8.2. Descrierea domeniului fișierului
2.8.3. Scrieți în fișier
2.8.4. Citirea dintr-un fișier
2.8.5. Modificarea unui fișier existent
2.8.6. Adăugarea la sfârșitul unui fișier existent
2.9. Crearea bazelor de date dinamice în Prolog
2.9.1. Baze de date pe Prolog
2.9.2. Predicate dinamice ale bazei de date în Prolog
2.10. Crearea sistemelor expert
2.10.1. Structura unui sistem expert
2.10.2. Reprezentarea cunoștințelor
2.10.3. Metode de ieșire
2.10.4. sistem UI
2.10.5. Sistem expert bazat pe reguli
Întrebări și sarcini de control pentru capitolul 2
Literatura pentru capitolul 2
Capitolul 3 Rețele neuronale
3.1. Introducere în rețelele neuronale
3.2. Model de neuron artificial
3.3. Aplicarea rețelelor neuronale
3.4. Antrenamentul rețelei neuronale
Întrebări și sarcini de control pentru capitolul 3
Literatura pentru capitolul 3.

Descărcare gratuită a cărții electronice la format convenabil, urmăriți și citiți:
Descarcă cartea Fundamentals of Artificial Intelligence, Borovskaya E.V., Davydova N.A., 2016 - fileskachat.com, descărcare rapidă și gratuită.

Top articole similare