Tutorial sisteme de inteligență artificială. Probleme moderne ale științei și educației

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 complexe de luare a deciziilor software.

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 de 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ărcați gratuit cărți electronice într-un format convenabil, vizionați și citiți:
Descarcă cartea Fundamentals of Artificial Intelligence, Borovskaya E.V., Davydova N.A., 2016 - fileskachat.com, descărcare rapidă și gratuită.

AGENȚIA FEDERALĂ PENTRU EDUCAȚIE

INSTITUȚIE DE ÎNVĂȚĂMÂNT DE STAT

ÎNVĂŢĂMÂNT PROFESIONAL SUPERIOR

„UNIVERSITATEA TEHNICĂ DE STAT VOLGOGRAD”

INSTITUTUL TEHNOLOGIC KAMYSHINSKY (SUCURSALA)

SEI HPE „UNIVERSITATEA TEHNICĂ DE STAT VOLGOGRAD”

CURS PRACTIC PE DISCIPLINA „SISTEME DE INTELIGENTE ARTIFICIALA”

Ediție electronică educațională

Volgograd

NL - limbaj natural

AI - inteligență artificială

LP - logica predicatelor

decident - decident

MT - Mașină de Turing

PGA - un algoritm genetic simplu

PPF este o formulă bine formată

PRO - operator recursiv primitiv

PRF - funcție recursivă primitivă

RF - funcție recursivă

SNI - sistem de inteligență artificială

FP - functie de fitness

TF - functie obiectiv

ES - sistem expert

INTRODUCERE

Inițial, inteligența artificială a fost considerată știința creării de mașini de gândire. Această zonă a fost considerată Sfântul Graal al informaticii. De-a lungul timpului, inteligența artificială a evoluat într-o disciplină mai pragmatică. Acest domeniu include încă studiul mecanismelor gândirii. În cadrul inteligenței artificiale sunt luate în considerare diverse strategii pentru soluționarea computerizată a problemelor practice complexe. În plus, astăzi a devenit clar că intelectul în sine este o entitate prea complexă care nu poate fi descrisă în cadrul unei teorii. Diverse teorii îl descriu la diferite niveluri de abstractizare. Învățarea la cel mai scăzut nivel este asigurată de rețele neuronale care recunosc mașini, algoritmi genetici și alte forme de calcul care modelează capacitatea de a se adapta, percepe și interacționa cu lumea fizică. Creatorii de sisteme expert, agenți inteligenți, modele stocastice și sisteme de înțelegere a limbajului natural lucrează la un nivel superior de abstractizare. Acest nivel ia în considerare rolul proceselor sociale în crearea, transferul și extragerea cunoștințelor. Cel mai înalt nivel de abstractizare include abordări logice, inclusiv modele deductive, abductive, sisteme de suport pentru adevăr și alte forme și metode de raționament.


Acest manual conturează bazele unor teorii de nivel scăzut cu sarcini practice pentru studiul algoritmilor pe baza prevederilor acestor teorii. În special, fundamentele teoriei recunoașterii modelelor sunt luate în considerare cu sarcina de a studia funcțiile discriminante liniare și funcțiile de similaritate; teoria rețelelor neuronale artificiale cu formularea problemei studierii proprietăților rețelelor neuronale artificiale pe problema recunoașterii modelelor; algoritmi genetici cu formularea problemei studierii proprietăților lor la căutarea extremului unei funcții. Pentru a efectua sarcini de cercetare este necesar să se poată programa în orice limbaj de programare, de preferință unul orientat pe obiecte.

1.1. Originile teoriei inteligenței artificiale

1.1.1. Conceptul de inteligență artificială

Termen inteligență(inteligența) provine din latinescul intellectus, care înseamnă mintea, rațiunea, mintea, abilitățile mentale ale unei persoane. Respectiv inteligență artificială(AI, în echivalentul în engleză: inteligența artificială, AI) este proprietatea sistemelor automate de a prelua funcții individuale ale inteligenței umane.

Orice inteligență artificială este un model de luare a deciziilor realizat de inteligența naturală a unei persoane. Inteligența artificială poate pretinde că este comparată cu inteligența naturală, cu condiția ca calitatea soluțiilor generate să nu fie mai slabă decât inteligența naturală medie.

1.1.2. Inteligența artificială în bucla de automatizare

În astfel de sisteme este introdusă bucla de control factor de decizie(LPR).

Factorul de decizie are propriul sistem de preferințe în ceea ce privește criteriul managementului obiectului, și chiar scopul existenței obiectului. Factorul de decizie, de cele mai multe ori, nu este de acord, cel puțin parțial, cu regimurile oferite de ACS tradițională. Factorul de decizie controlează, de regulă, principalii parametri ai sistemului, în timp ce restul este controlat de sistemele de control locale. Există o problemă de automatizare a activității factorilor de decizie în bucla de control.

AI este o direcție de cercetare care creează modele și instrumente software corespunzătoare care permit utilizarea computerelor pentru a rezolva probleme de natură creativă, non-computațională, care, în procesul de rezolvare, necesită un apel la semantică (problema sensului).

AI este un sistem software care simulează gândirea umană pe un computer. Pentru a crea un astfel de sistem, este necesar să se studieze procesul de gândire al decidentului, să evidențieze pașii principali ai acestui proces, să se dezvolte un software care reproduce acești pași pe un computer.

1.1.3. Conceptul de sarcină și activitate intelectuală

O caracteristică a inteligenței umane este capacitatea de a rezolva probleme intelectuale prin dobândirea, memorarea și transformarea intenționată a cunoștințelor în procesul de învățare din experiență și de adaptare la diverse circumstanțe.

Sarcini intelectuale- sarcini, împărțirea formală a procesului de găsire a unei soluții la care este adesea foarte dificilă, chiar dacă soluția în sine nu este dificilă.

Activitatea creierului, care vizează rezolvarea problemelor intelectuale, o vom numi gândire sau activitate intelectuală.

Activitatea intelectuală implică capacitatea de a deduce, genera, proiecta o soluție care nu este în mod explicit și gata făcută în sistem. Derivarea soluțiilor este posibilă numai dacă există o reprezentare internă a cunoștințelor în sistem ( modele ale lumii exterioare) - o reprezentare formalizată a cunoștințelor despre lumea exterioară (domeniu automatizat).

1.1.4. Primii pași în istoria inteligenței artificiale

Primele programe care implementează caracteristicile activității intelectuale:

1. Traducere automată (1947). În URSS, din 1955, munca în domeniul traducerii automate a fost asociată cu, . Sarcina de traducere automată a necesitat separarea cunoștințelor de cod. Apariția unui limbaj intermediar a marcat prima încercare de a crea un limbaj pentru reprezentarea internă a cunoștințelor.

2. Referire automată și regăsire informații (1957, SUA). Ideea izolării unui sistem de conexiuni-relații între fapte individuale, concretizată în conceptul de tezaur.

3. Demonstrarea teoremelor (1956, SUA). Apariția unui program de demonstrare a teoremelor logicii propoziționale: „Logic-Teoretician”. În 1965 a apărut metoda rezoluției (J. Robinson, SUA), în 1967, metoda inversă (, URSS). Metodele implementează ideea de utilizare euristic– reguli experimentale pentru reducerea numărului de opțiuni la derivarea unei soluții.

4. Recunoașterea modelelor (începutul anilor 60). Idei de teoria recunoașterii legate de învățarea de a găsi o regulă de decizie pe un set de exemple pozitive și negative.

În 1956, K. Shannon, M. Minsky și J. McCarthy au organizat o conferință la Dartmouth (SUA) pentru a rezuma experiența practică de dezvoltare a programelor intelectuale.

1.1.5. Crearea unei baze teoretice

În 1969, a avut loc la Washington DC Prima Conferință Internațională privind Inteligența Artificială (IJCAI). În 1976, a început să fie publicată revista internațională „Inteligenta artificială”. În anii '70 s-au format principalele direcții teoretice de cercetare în domeniul sistemelor inteligente:

reprezentarea cunoștințelor, formalizarea cunoștințelor despre mediul extern, crearea unui model intern al lumii externe;

− comunicare, crearea de limbaje de interacțiune între sistem și utilizator;

− raționament și planificare, luarea deciziilor în situații alternative;

− perceptia (viziunea masinii), obtinerea de date din mediul extern;

− instruire, extragerea de cunoștințe din experiența de funcționare a sistemului;

- activitatea, comportamentul activ al sistemului bazat pe propriile scopuri de funcționare.

1.1.6. Probleme filozofice ale teoriei inteligenței artificiale

Această subsecțiune enumeră principalele întrebări și câteva comentarii la acestea privind problemele frecvent și pe larg discutate în teoria inteligenței artificiale.

Poate fi reprodusă inteligența? Auto-reproducerea este teoretic posibilă. Posibilitatea fundamentală de automatizare a soluționării problemelor intelectuale cu ajutorul unui computer este oferită de proprietatea universalității algoritmice. Totuși, nu trebuie să credem că computerele și roboții pot, în principiu, să rezolve orice problemă. Există probleme de nerezolvat din punct de vedere algoritmic.

Care este scopul creării inteligenței artificiale? Să presupunem că o persoană a reușit să creeze un intelect care depășește propriul intelect (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ță”.

Este sigur să creezi inteligență artificială? Deținând inteligență și capacități de comunicare de multe ori mai mari decât cele umane, tehnologia va deveni o forță puternică independentă, capabilă să-și contracareze creatorul.

1.1.7. Domenii de utilizare

1. Prelucrarea limbajelor naturale, recunoașterea imaginilor, vorbirii, semnalelor, precum și crearea de modele inteligente de interfață, prognoza financiară, extragerea datelor, diagnosticarea sistemului, monitorizarea activității rețelei, criptarea datelor (direcție - rețele neuronale).

2. Nanotehnologii, probleme de auto-asamblare, auto-configurare și auto-vindecare a sistemelor constând din mai multe noduri care funcționează simultan, sisteme multi-agent și robotică (direcție - calcul evolutiv).

3. Sisteme hibride de control, procesare imagini, instrumente de căutare, indexare și analiză a semnificației imaginilor, recunoașterea și clasificarea imaginilor (direcție - logica fuzzy).

4. Diagnosticare medicală, instruire, consultanță, programare automată, verificare și analiza calității programelor, proiectarea circuitelor integrate foarte mari, diagnosticarea tehnică și elaborarea recomandărilor pentru repararea echipamentelor, planificarea în diverse domenii și analiza datelor (direcție - sisteme expert (ES) )).

5. Probleme de transport, calcul distribuit, încărcare optimă a resurselor (direcție - metode de reducere a enumerației).

6. Dezvoltarea de sisteme mari de proiectare software, generare de cod, verificare, testare, evaluarea calitatii, identificarea posibilitatii de reutilizare, rezolvarea problemelor pe sisteme paralele (directie - inginerie intelectuala).

7. Crearea de fabrici cibernetice complet automatizate.

8. Jocuri, comportament social al emoțiilor umane, creativitate.

9. Tehnologia militară.

1.2. Arhitectura sistemelor de inteligență artificială

1.2.1. Elemente ale arhitecturii AIS

Arhitectura sistemului de inteligență artificială(SII) - organizarea structurii în cadrul căreia se iau deciziile și se aplică cunoștințele într-un anumit domeniu. Schema cea mai generală a SII este prezentată în fig. 1. În această formă, nu există un singur AIS real, anumite blocuri pot lipsi. În SII, există întotdeauna doar două blocuri: baza de cunoștințe și motorul de inferență.

Luați în considerare principalele tipuri de AIS în sistemele automate de procesare și control a informațiilor:

− Controlul procesului SII;

− IIS pentru diagnosticare;

− AIS pentru planificare și expediere;

− roboți inteligenți.

https://pandia.ru/text/78/057/images/image005_133.gif" width="357" height="360 src=">

Orez. 1. Schema SII generalizată

1.2.2. Controlul proceselor ISIS

Arhitectura controlului procesului ISIS este prezentată în fig. 2.

Caracteristicile acestui sistem:

− utilizarea informațiilor tehnologice pentru control (caracteristicile măsurate ale produsului despre parametrii și structura echipamentului);


− mecanismul de inferență este utilizat pentru modificarea datelor și elaborarea de recomandări și decizii de control;

− necesitatea de a lucra în timp real;

− necesitatea implementării raționamentului temporal (ținând cont de condițiile în schimbare).

Activitatea sistemului este organizată pe trei niveluri:

- baza de cunoștințe (KB) cuprinde regulile de rezolvare a problemelor, procedurile de rezolvare a problemelor, date despre zona problemei, adică la nivelul bazelor de cunoștințe sunt organizate tehnologia în sine și întreaga strategie de management al procesului;

− memoria de lucru conține informații despre caracteristicile specificate și date despre procesul în cauză (DB);

- mecanismul de inferență (într-un sistem convențional, acesta este un regulator) conține un mecanism general de control pentru atingerea scopului final (o soluție acceptabilă).

O componentă importantă o reprezintă blocurile de comunicare dintre procesul tehnologic cu baza de date și baza de cunoștințe (blocuri „Analiza datelor” și „Date proces”). Ele oferă utilizatorului un nivel superior de acces la informațiile de producție despre procesul tehnologic din obiecte de nivel inferior, adică mențin actualizat conținutul bazei de date și al bazei de cunoștințe prin actualizare. Blocurile oferă și funcții de monitorizare pentru a preveni situațiile critice.

Justificarea și explicarea echilibrului și adecvării răspunsului sistemului la evoluția situației producției sunt furnizate de blocurile „Interfață de dialog” și „Date de control”.

https://pandia.ru/text/78/057/images/image007_118.gif" width="357" height="149 src=">

Orez. 2. Structura FIS de control al procesului

1.2.3. AIS pentru diagnosticare

Acest sistem practic nu diferă de sistemul anterior. Și deoarece semnele diferitelor defecte pot coincide în mare măsură și manifestările lor pot fi inconsecvente, atunci în aceste sisteme există componente mai detaliate ale justificării și explicației diagnosticului. Prin urmare, foarte des în astfel de sisteme introduc o evaluare a deciziilor în termeni de probabilitate subiectivă.

1.2.4. AIS de linii robotizate și sisteme de producție flexibile

O caracteristică a unor astfel de sisteme este prezența unui model al lumii. Un sistem robotic funcționează în propriile sale condiții specifice și, în principiu, este posibilă o descriere detaliată a acestui mediu. Acest model matematic al mediului se numește modelul lumii exterioare. Este conținutul principal al KB al robotului AI, iar cealaltă parte a KB este cunoștințele despre obiectivele sistemului (Fig. 3).

https://pandia.ru/text/78/057/images/image009_112.gif" width="294" height="100 src=">

Orez. 3. AIS de linii robotizate și sisteme de producție flexibile

Sistemul de percepție a stării mediului include:

− senzori conectați direct cu mediul extern;

− subsistemul de preprocesare;

− bloc de segmentare a caracteristicilor;

− descrierea simbolică a stării mediului;

− descrierea semantică a stării mediului;

− bloc de formare a modelului de stat de mediu.

Mecanismul de inferență sau sistemul de planificare a comportamentului determină acțiunile robotului în mediul extern ca urmare a situației curente și în funcție de obiectivul global. Este format din:

− sisteme de inferență de decizie;

− planificarea blocului de mișcare a actuatoarelor.

Sistemul de execuție a acțiunilor include:

− subsistemul de control al conducerii;

− conduce;

− dispozitive executive.

1.2.5. Planificarea și expedierea AIS

Scop: rezolvarea problemelor managementului operațional, comparând rezultatele monitorizării funcționării obiectului în ceea ce privește obiectivele planificate, precum și monitorizarea (Fig. 4).

Monitorizarea– interpretarea continuă sau periodică a semnalelor și emiterea de mesaje atunci când apar situații care necesită intervenție.

O caracteristică a acestor sisteme este acțiunea în timp real, comunicarea cu o bază de date distribuită a unui sistem de control integrat. Un astfel de sistem este necesar, deoarece datele IS fac parte din sistemele de control.

https://pandia.ru/text/78/057/images/image011_89.gif" width="365" height="167 src=">

Orez. 4. Planificarea și expedierea AIS

1.3. Problema reprezentării cunoștințelor în AIS

1.3.1. Cunoștințe și date

Problema reprezentării cunoștințelor a apărut ca una dintre problemele AI. Este asociat cu crearea de sisteme practic utile, în primul rând ES, utilizate în medicină, geologie și chimie. Crearea unor astfel de sisteme necesită eforturi intense pentru oficializarea cunoștințelor acumulate în știința relevantă.

Termenul de „reprezentare a cunoașterii” este asociat cu o anumită etapă în dezvoltarea software-ului de calculator. Dacă în prima etapă au dominat programele, iar datele au jucat un rol auxiliar al unui fel de „hrană” pentru programele „foame”, atunci în etapele ulterioare rolul datelor a crescut constant. Structura lor a devenit mai complicată: de la un cuvânt de mașină situat într-o celulă de memorie a computerului, a existat o tranziție la vectori, matrice, fișiere, liste. Coroana acestei dezvoltări au fost tipurile de date abstracte - clase. Dezvoltarea constantă a structurilor de date a condus la schimbarea lor calitativă și la tranziția de la reprezentarea datelor la reprezentarea cunoștințelor.

dobândirea de cunoștințe

Nivelul de reprezentare a cunoștințelor diferă de nivelul de reprezentare a datelor nu numai într-o structură mai complexă, ci și prin caracteristici esențiale: interpretabilitate, prezența relațiilor clasificate, prezența relații situaționale(simultaneitate, a fi în același punct în spațiu etc., aceste relații determină compatibilitatea situațională a anumitor cunoștințe stocate în memorie). În plus, nivelul de cunoștințe este caracterizat de caracteristici precum prezența unor proceduri speciale de generalizare, completarea cunoștințelor disponibile în sistem și o serie de alte proceduri.

Prezentarea datelor are un aspect pasiv: o carte, un tabel, o memorie plină de informații. Teoria AI subliniază aspectul activ al reprezentării cunoștințelor: dobândirea de cunoștințe ar trebui să devină o operație activă care să permită nu doar memorarea, ci și aplicarea cunoștințelor percepute (dobândite, asimilate) pentru raționamentul bazat pe acestea.

1.3.2. Ideea de mașini auto-dezvoltate

Cercetările în domeniul AI au apărut sub influența ideilor ciberneticii - în primul rând ideea comunității proceselor de control și transmitere a informațiilor în organismele vii, societate și tehnologie, în special în computere.

Acceptabilitatea filozofică a problemei AI în forma sa tradițională s-a datorat noțiunii de bază că ordinea și legătura ideilor este aceeași cu ordinea și legătura lucrurilor. Astfel, a crea o structură într-un computer care reproduce „lumea ideilor” însemna pur și simplu a crea o structură izomorfă cu structura lumii materiale, adică a construi un „model electronic al lumii”. Acest model a fost considerat ca un model computerizat - un model de cunoștințe umane despre lume. Procesul gândirii umane a fost interpretat în computer ca o căutare automată a unor astfel de transformări ale modelului, care trebuiau să transfere modelul computerizat într-o stare finală. AIS trebuia să știe cum să efectueze transformări ale stării modelului care să conducă la un scop predeterminat - o stare cu anumite proprietăți. La început, a existat o credință larg răspândită în capacitatea fundamentală a unui computer de a studia în mod independent modelul stocat în el, adică de a auto-învăța o strategie pentru atingerea unui obiectiv stabilit.

Această abilitate ipotetică a fost interpretată ca fiind posibilitatea creativității mașinilor, ca bază pentru crearea viitoarelor „mașini care gândesc”. Și, deși în sistemele efectiv dezvoltate, atingerea scopului a fost realizată pe baza experienței umane cu ajutorul algoritmilor bazați pe o analiză teoretică a modelelor create și a rezultatelor experimentelor efectuate pe acestea, ideile de construire a auto- sistemele de învățare li s-au părut multora cele mai promițătoare. Abia prin anii 1980 a fost realizată semnificația problemei utilizării cunoștințelor umane despre realitate în sistemele intelectuale, ceea ce a condus la dezvoltarea serioasă a bazelor de cunoștințe și a metodelor de extragere a cunoștințelor personale ale experților.

1.3.3. Reflecția ca componentă a activității intelectuale

Odată cu dezvoltarea acestei direcții, a apărut ideea controlului reflexiv. Până în acest punct, în cibernetică, controlul era considerat ca fiind transmisia de semnale către un obiect care îi afectează direct comportamentul, iar eficiența controlului se realiza cu ajutorul feedback-ului - obținerea de informații despre reacțiile obiectului controlat. reflexiv la fel Control- are loc un transfer de informatii care afecteaza imaginea obiectului asupra lumii. Astfel, feedback-ul se dovedește a fi redundant - starea subiectului este cunoscută de informația care transmite, adică de obiect.

AIS tradițional se bazează pe ideologia comportamentului orientat spre obiective, cum ar fi un joc de șah, în care scopul ambilor parteneri este de a șahmat cu prețul oricărui sacrificiu. Nu este o coincidență că programele de șah s-au dovedit a fi atât de importante pentru dezvoltarea metodelor AI.

Analiza funcționării propriului model sau modelul „întregii realități înconjurătoare” (în cadrul setului de sarcini), controlul asupra stării sale, prognozarea stării nu este altceva decât implementarea reflecției. Reflecția este un anumit meta-nivel. Cu utilizarea limbajelor de programare la nivel înalt, cum ar fi Prolog, care vă permite să formulați obiective și să construiți concluzii logice despre realizabilitatea acestor obiective, sarcina de implementare a reflecției poate fi deja parțial rezolvată. Cu ajutorul lor, poți construi un fel de suprastructură, un fel de meta-nivel care îți permite să evaluezi comportamentul celui precedent. Cu toate acestea, când luăm în considerare termenul „reflexie profundă” sau „reflexie pe mai multe niveluri”, se pune problema construirii modelelor de către sistemul însuși. Aici vin în ajutor tipurile de date abstracte. Acestea vă permit să operați cu structuri de date de orice complexitate finită. Astfel, putem presupune că sistemele de inteligență artificială pot conține un model de reflexie.

Astfel, este imposibil să considerăm un sistem intelectual complet fără capacitatea de a evalua, „înțelege” acțiunile cuiva, adică de a reflecta. Mai mult, reflecția ar trebui să fie considerată unul dintre instrumentele principale pentru construirea comportamentului sistemelor. În limbajul matematicii, reflecția este o condiție necesară pentru existența unui sistem intelectual.

1.3.4. Cunoașterea limbajelor de reprezentare

Într-un anumit sens, orice program de calculator conține cunoștințe. Programul de sortare cu bule conține cunoștințele programatorului despre cum să ordoneze elementele unei liste. Înțelegerea esenței unui program de calculator care rezolvă problema sortării listelor nu este deloc ușoară. Conține cunoștințele programatorului despre metoda de rezolvare a problemei, dar, pe lângă aceste cunoștințe, conține și altele:

− modul de manipulare a constructelor limbajului limbajului de programare utilizat;

− modul de realizare a performanței înalte a programului;

- cum să alegeți metodele adecvate pentru rezolvarea unor probleme particulare de prelucrare a datelor care totuși joacă un rol important în obținerea rezultatului final și cum să organizați controlul procesului.

Limbaje de reprezentare a cunoștințelor sunt limbaje de nivel înalt concepute special pentru a codifica în mod explicit fragmente de cunoștințe umane, cum ar fi regulile de influență și un set de proprietăți ale obiectelor tipice, iar nivelul înalt al limbajului se manifestă prin faptul că, pe cât posibil, detaliile tehnice ale mecanismului de reprezentare a cunoștințelor sunt ascunse utilizatorului. Spre deosebire de limbajele de programare mai convenționale, limbajele de reprezentare a cunoștințelor sunt excepțional de economice în ceea ce privește dimensiunea codului. Acest lucru se datorează în mare măsură faptului că interpretul limbii are grijă de o mulțime de lucruri mărunte.

În ciuda avantajelor remarcate ale unor astfel de limbi, nu trebuie să uităm de existența anumitor probleme în aplicarea lor.

Trecerea de la descrierea cunoștințelor despre domeniu în tot limbajul „uman” ușor de înțeles la prezentarea lor sub forma unui fel de formalism perceput de un computer necesită o anumită abilitate, deoarece este imposibil (cel puțin astăzi) să descrieți modul în care se face mecanic. efectua o astfel de transformare. Deoarece posibilitățile de inferență pe care le poate implementa un program sunt direct legate de alegerea unei modalități de reprezentare a cunoștințelor, reprezentarea cunoștințelor, și nu extragerea lor, este blocajul în practica de proiectare a ES.

S.G. TOLMACHEV

INTELIGENȚĂ ARTIFICIALĂ.

MODELE DE REȚEA NEURALĂ

Ministerul Educației și Științei al Federației Ruse Universitatea Tehnică de Stat Baltic „Voenmeh”

Departamentul de Prelucrare a Informaţiei şi Sisteme de Control

S.G. TOLMACHEV

INTELIGENȚĂ ARTIFICIALĂ.

MODELE DE REȚEA NEURALĂ

Tutorial

St.Petersburg

UDC 004.8(075.8) Т52

Tolmachev, S.G.

T52 Sisteme de inteligență artificială. Modele de rețele neuronale: manual / S.G. Tolmaciov; Balt. stat tehnologie. un-t. - Sankt Petersburg, 2011. 132 p.

ISBN 978-5-85546-633-1

Sunt date informații de bază despre structura și principiile de funcționare a rețelelor neuronale artificiale. Sunt luate în considerare funcționarea unui neuron formal, clasificarea rețelelor neuronale în funcție de arhitectura și tipurile de învățare ale acestora, formulări tipice ale diferitelor probleme ale rețelelor neuronale și metode de rezolvare a acestora.

Este destinat studenților seniori care studiază la specialitățile „Sisteme și tehnologii informaționale” și „Sisteme automatizate pentru prelucrarea și controlul informațiilor”.

UDC 004.8(075.8)

Recensori colegi: Dr. tech. prof. științe, șef. științific angajat al OJSC „Concern „Granit-Electron”” S.N. mingi; cand. tehnologie. științe, prof., șef. cafenea I5 BSTU N.N. Smirnova

Aprobat de consiliul de redacție și de editare al universității

INTRODUCERE

Unul dintre cele mai puternice instrumente pentru crearea de sisteme inteligente sunt rețelele neuronale artificiale (ANN), care modelează mecanismele de bază de procesare a informațiilor inerente creierului uman. Se știe că creierul funcționează într-un mod fundamental diferit și adesea mai eficient decât orice computer creat de om. Acest fapt ia motivat de mulți ani pe oamenii de știință să lucreze la crearea și cercetarea rețelelor neuronale artificiale.

Creierul este un sistem de procesare a informațiilor extrem de complex. Are capacitatea de a-și organiza componentele structurale, numite neuroni, astfel încât aceștia să poată îndeplini sarcini specifice (recunoașterea modelelor, procesarea senzorială, funcțiile motorii) de multe ori mai rapid decât cele mai rapide computere de astăzi. Un exemplu de astfel de sarcină este viziunea obișnuită. Funcția sistemului vizual este de a crea o reprezentare a lumii în așa fel încât să ofere posibilitatea interacțiunii cu aceasta. Creierul îndeplinește secvențial sarcini de recunoaștere (de exemplu, recunoașterea unei fețe familiare într-un mediu necunoscut) și cheltuiește 100-200 ms pentru aceasta. Efectuarea unor sarcini similare de complexitate mai mică pe un computer poate dura câteva ore.

Pentru a aprecia amploarea provocării de a crea o mașină care funcționează la fel de perfect ca și creierul nostru, este suficient să ne gândim la unele dintre sarcinile de rutină pe care le îndeplinim în fiecare zi. Să presupunem că stai la birou, iar în acest moment colegul tău, care s-a întors din vacanță, intră în cameră. Poartă un tricou nou, ochelari de soare pe fața bronzată și pare puțin mai tânăr pentru că și-a bărbierit barba. Îl recunoști? Fără îndoială, deoarece deghizarea nu face parte din planurile lui. În timpul conversației, te întreabă: „Unde este cartea pe care ți-am dat-o să o citești?”. Interpretați întrebarea ca pe o cerere de returnare a cărții. Apoi uită-te la masa ta și

vezi printre cărțile și teancurile de hârtii întinse pe ea cartea cu pricina, întinde mâna spre ea, scoate-o din grămada de documente și dă-o colegului tău. Astfel de sarcini de zi cu zi nu necesită mult efort intelectual din partea noastră, dar rezolvarea fiecăreia dintre ele implică mulți pași calculati cu precizie. Complexitatea rezolvării unor astfel de probleme poate fi simțită atunci când se încearcă programarea unui sistem informatic pentru a recunoaște obiectele după aspectul lor sau alte caracteristici, a lua decizii în funcție de context etc.

Un exemplu mai simplu este sonarul de lilieci, care este un sistem activ de ecolocație. Pe lângă faptul că oferă informații despre distanța până la obiectul dorit, acest localizator vă permite să calculați parametrii obiectului, cum ar fi viteza relativă, dimensiunea elementelor individuale și direcția de mișcare. Pentru a extrage aceste informații din semnalul primit, minuscul creier al unui liliac efectuează calcule neuronale complexe.

Ce permite creierului unei persoane sau al unui liliac să obțină astfel de rezultate? La naștere, creierul are deja o structură perfectă, permițându-i să-și construiască propriile reguli bazate pe ceea ce se numește de obicei experiență. Experiența se acumulează de-a lungul timpului până în ultimele zile de viață ale unei persoane, cu schimbări de amploare în special în primii doi ani de viață.

Dezvoltarea neuronilor este asociată cu conceptul de plasticitate cerebrală - capacitatea de a regla sistemul nervos în conformitate cu condițiile de mediu. Plasticitatea joacă cel mai important rol în funcționarea neuronilor ca unități de bază de procesare a informațiilor din creierul uman. În mod similar, neuronii artificiali sunt reglați în ANN. În general, un ANN este o mașină care simulează modul în care creierul rezolvă o problemă specifică. Această rețea este implementată folosind componente electronice (neuroprocesoare) sau modelată de un program care rulează pe un computer digital. Pentru a obține performanțe ridicate, ANN-urile folosesc o mulțime de interconexiuni între celulele elementare ale calculelor - neuronii. Dintre numeroasele definiții ale rețelelor neuronale, cea mai precisă este definiția unui ANN ca mașină adaptivă: retele neuronale artificialeeste distribuit

un procesor paralel format din elemente tipice de procesare a informațiilor care acumulează cunoștințe experimentale și le oferă pentru prelucrare ulterioară. O rețea neuronală este similară cu creierul în două moduri:

1) cunoștințele intră în rețeaua neuronală din mediul înconjurător

și utilizat de rețea în procesul de învățare;

2) pentru acumularea cunoștințelor se folosesc conexiuni interneuronale, numite și greutăți sinaptice.

Procedura utilizată pentru desfășurarea procesului de învățare se numește algoritm de învățare. Funcția sa este de a modifica greutățile sinaptice ale ANN într-un anumit mod, astfel încât rețeaua să dobândească proprietățile necesare.

Modificarea greutății este o modalitate tradițională de a învăța ANN-urile. Această abordare este apropiată de teoria filtrelor liniare adaptive care sunt utilizate în control. Totuși, pentru ANN există și posibilitatea de a-și modifica propria topologie, pe baza faptului că în creierul viu, neuronii pot muri, și pot fi create noi conexiuni sinaptice.

Astfel, ANN-urile își realizează puterea de calcul datorită celor două proprietăți principale: o structură distribuită în paralel și capacitatea de a învăța și generaliza cunoștințele acumulate. Proprietatea de generalizare este înțeleasă ca fiind capacitatea unei ANN de a genera ieșiri corecte pentru semnalele de intrare care nu au fost luate în considerare în procesul de învățare (antrenament). Aceste două proprietăți fac din ANN un sistem de procesare a informațiilor capabil să rezolve probleme multidimensionale complexe care sunt în prezent insolubile.

Trebuie remarcat faptul că, în practică, INS autonom nu poate oferi adesea soluții gata făcute. Ele trebuie să fie integrate în sisteme complexe. O sarcină complexă poate fi împărțită într-un număr de sarcini mai simple, dintre care unele pot fi rezolvate prin rețele neuronale.

Domeniile de aplicare ale ANN-urilor sunt foarte diverse: recunoașterea și analiza textului și vorbirii, căutare semantică, sisteme expert și sisteme de sprijinire a deciziilor, predicție a prețului acțiunilor, sisteme de securitate. Există mai multe exemple de utilizare a ANN-urilor în diferite domenii.

1. Sisteme de securitate a transporturilor. Firma americană

Science Application International Corporation a folosit ANN în

proiectul său TNA. Dispozitivul dezvoltat este conceput pentru a detecta explozivi din plastic în bagajele ambalate. Bagajul este bombardat cu particule care provoacă radiații secundare, al căror spectru este analizat de o rețea neuronală. Dispozitivul oferă o probabilitate de a detecta explozivi peste 97% și este capabil să vizualizeze 10 bagaje pe minut.

2. Pachete software de rețea neuronală pe piețele financiare. American Chemical Bank folosește sistemul de rețea neuronală Neural Data pentru a preprocesa tranzacțiile la schimburile valutare, eliminând tranzacțiile „suspecte”. Citibank folosește predicțiile rețelei neuronale din 1990. Tranzacționarea automată arată randamente mai mari decât cele ale majorității brokerilor. Se poate observa că lucrările seminarului „Inteligenta artificială privind Wall Street” alcătuiesc mai multe volume voluminoase.

3. Monitorizarea și anterea automată a știrilor. Locație

cunoașterea subiectului mesajelor text este un alt exemplu de utilizare a ANN-urilor. Serverul de știri Convectis (un produs al Aptex Software Inc.) oferă clasificarea automată a mesajelor. Comparând semnificația cuvintelor în funcție de context, Convectis este capabil să recunoască subiecte în timp real și să clasifice fluxurile uriașe de mesaje text transmise prin rețelele Reuters, NBC, CBS etc. După analizarea mesajului, un rezumat, o listă de sunt generate cuvintele cheie și o listă de titluri cărora le aparține acest mesaj.

4. Pilotarea automată a vehiculelor aeriene fără pilot. Avionul de recunoaștere hipersonic LoFLYTE (Low-Observable Flight Test Experiment), un avion cu reacție fără pilot cu lungimea de 2,5 m, a fost dezvoltat pentru NASA și Forțele Aeriene ale SUA de către Accurate Automation Corp. în cadrul programului de sprijinire a întreprinderilor mici inovatoare. Aceasta este o dezvoltare experimentală pentru studiul noilor principii de pilotare. Include rețele neuronale care permit pilotului automat să învețe prin copierea tehnicilor de pilotare ale pilotului. De-a lungul timpului, rețelele neuronale adoptă experiența de management, iar viteza de procesare a informațiilor vă permite să găsiți rapid o cale de ieșire în situații extreme și de urgență. LoFLYTE este destinat zborului supersonic în care timpul de reacție al pilotului poate să nu fie suficient pentru a răspunde în mod adecvat la schimbările în regimul de zbor.

În prezent, ANN-urile sunt o extensie importantă a conceptului de calcul. Ei au făcut deja posibilă rezolvarea unei serii de probleme dificile și promit crearea de noi programe și dispozitive capabile să rezolve probleme pe care până acum doar o persoană le poate face. Neurocalculatoarele moderne sunt folosite în principal sub formă de produse software și, prin urmare, își folosesc rareori potențialul de „paralelism”. Era neurocalculării paralele reale va începe odată cu apariția pe piață a implementărilor hardware ale neurocipurilor specializate și plăcilor de expansiune concepute pentru a procesa vorbire, video, imagini statice și alte tipuri de informații figurative.

Un alt domeniu de aplicare a ANN-urilor este utilizarea lor

în software specializat agenți robotici conceputi pentru a procesa informații și nu pentru lucru fizic. Asistenții inteligenți ar trebui să faciliteze interacțiunea utilizatorilor cu un computer. Semnul lor distinctiv va fi dorința de a înțelege cât mai bine ceea ce li se cere, observând și analizând comportamentul „stăpânului” lor. Încercarea de a descoperi

în În acest comportament, există anumite tipare, agenții inteligenți trebuie să își ofere serviciile în timp util pentru a efectua anumite operațiuni, precum filtrarea mesajelor de știri, copierea de rezervă a documentelor la care lucrează utilizatorul etc. De aceea, ANN-urile, capabile să generalizeze datele și să găsească modele în ele, sunt o componentă naturală a unor astfel de agenți software.

1. CALCULATELE ȘI CREIERUL

1.1. neuron biologic

Sistemul nervos uman poate fi simplificat ca o structură în trei etape. Centrul acestui sistem este creierul, care constă dintr-o rețea de neuroni (Fig. 1.1). Primește informații, le analizează și ia decizii adecvate. Receptorii convertesc semnalele din mediu și din organele interne în impulsuri electrice care sunt percepute de rețeaua neuronală (creier). Receptorii asigură conexiunea creierului nostru cu lumea exterioară, realizând fluxul de informații vizuale, auditive, gustative, olfactive și tactile în el. ef-

Fectorii convertesc impulsurile electrice generate de creier în semnale de ieșire care controlează mușchii, organele interne și pereții vaselor. Astfel, creierul controlează activitatea inimii, respirația, tensiunea arterială, temperatura, menține conținutul dorit de oxigen în sânge etc. Neuronii intermediari procesează informațiile primite de la neuronii senzoriali și o transmit neuronilor efectori.

Orez. 1.1. Schema simplificată a sistemului nervos

Trebuie remarcat faptul că creierul este construit din două tipuri de celule: celule gliale și neuroni. Și deși rolul celulelor gliale pare a fi destul de semnificativ, majoritatea oamenilor de știință cred că principala modalitate de a înțelege cum funcționează creierul este studierea neuronilor uniți într-o singură rețea conectată. Această abordare este utilizată în construcția de rețele neuronale artificiale (ANN).

De menționat că există și alte opinii. Unii cercetători consideră că procesele principale au loc nu în rețeaua neuronală, ci în celulele în sine, și anume în citoscheletul lor, în așa-numiții microtubuli. Conform acestui punct de vedere, atât memoria, cât și chiar conștiința sunt determinate de modificările proteinelor din structurile intracelulare și de efectele cuantice asociate acestora.

Numărul de neuroni din creier este estimat la 1010 ... 1011 . Într-un neuron biologic, se pot distinge următoarele unități structurale (Fig. 1.2):

corp celular (soma);

dendritele sunt multe fibre nervoase ramificate scurte (nu mai mult de 1 mm) care colectează informații de la alți neuroni;

axonul este singura fibră nervoasă subțire lungă (uneori mai mult de un metru). Axonul conduce impulsul și transmite impactul altor neuroni sau fibre musculare. La capătul său, axonul se ramifică și formează contacte cu dendritele altor neuroni;

Acest tutorial include elementele de bază ale programării în limbajul Prolog, rezolvarea problemelor folosind metoda de căutare, metode probabilistice, bazele rețelelor neuronale, precum și principiile reprezentării cunoștințelor folosind rețele semantice. Fiecare dintre secțiunile manualului este prevăzută cu lucrări practice și de laborator. Anexele conțin scurte descrieri ale mediului SWI-Prolog, un program de rețea neuronală

Acest tutorial include elementele de bază ale programării în limbajul Prolog, rezolvarea problemelor folosind metoda de căutare, metode probabilistice, bazele rețelelor neuronale, precum și principiile reprezentării cunoștințelor folosind rețele semantice. Fiecare dintre secțiunile manualului este prevăzută cu lucrări practice și de laborator. Anexele conțin scurte descrieri ale mediului SWI-Prolog, programul de modelare a rețelei neuronale NeuroGenetic Optimizer și programul de vizualizare a cunoștințelor semantice. Corespunde cerințelor actuale ale Standardului Federal de Învățământ de Stat pentru Învățământul Superior. Pentru studenții instituțiilor de învățământ superior care studiază în domenii inginerești și tehnice.


Carte " Sisteme de inteligență artificială. Tutorial» autorul Bessmertny Igor Aleksandrovich a fost evaluat de vizitatorii KnigoGuide, iar ratingul ei de cititor a fost 0,00 din 10.
Pentru vizionare gratuită sunt furnizate: adnotări, publicare, recenzii, precum și fișiere pentru descărcare.
1

Tutorial « DBMS: Limbajul SQL în exemple și sarcini de Astakhova I.F., Todstobrova A.P., Melnikova V.M., Fertikova V.V., publicat de FIZMATLIT în 2007 și certificat de Ministerul Educației și Științei, conține o selecție de exemple și exerciții de diferite grade de complexitate pentru ofera ore practice si de laborator de invatare a bazelor limbajului SQL in cadrul cursului de pregatire dedicat sistemelor informatice cu baze de date in directia formarii si specialitatii „Matematica aplicata si informatica”. Sistemele informatice care utilizează baze de date sunt în prezent unul dintre cele mai importante domenii ale tehnologiei informatice moderne. Cea mai mare parte a pieței moderne de software este legată de acest domeniu. Având în vedere locul ocupat de limbajul SQL în tehnologiile informaționale moderne, cunoștințele sale sunt necesare oricărui specialist care lucrează în acest domeniu. Prin urmare, dezvoltarea sa practică este parte integrantă a cursurilor de formare care vizează studierea sistemelor informaționale cu baze de date. În prezent, astfel de cursuri sunt incluse în programele unui număr de specialități universitare. Fără îndoială, pentru a oferi studenților posibilitatea de a dobândi abilități stabile în limbajul SQL, cursul de formare corespunzător, pe lângă cunoașterea teoretică cu elementele de bază ale limbii, trebuie să conțină în mod necesar un număr suficient de mare de ore de laborator privind utilizarea sa practică. . Manualul propus vizează în primul rând sprijinirea metodologică doar a acestui gen de clase. În acest sens, se concentrează pe selecția de exemple practice, sarcini și exerciții de diferite grade de complexitate în compilarea interogărilor SQL, care fac posibilă desfășurarea de cursuri practice de învățare a limbilor străine în timpul semestrului universitar.

Manual „Sisteme de inteligență artificială. Curs practic” de Astakhova I.F., Chulyukov V.A., Potapov A.S., Milovskoy L.S., Kashirina I.L., Bogdanova M.V., Prosvetova Yu.V. învățământ universitar clasic și publicat la editurile BINOM. LABORATOR DE CUNOAȘTERE și FIZMATLIT în anul 2008, pregătit pentru prelegeri și ore de laborator la disciplinele „Bănci de date și sisteme expert”, „Bănci de date și sisteme expert”, „Sisteme de inteligență artificială”, „Sisteme informaționale inteligente”. Această carte este dedicată direcției de informatică, în care în ultimii ani există foarte puțină literatură educațională autohtonă pentru instituțiile de învățământ superior. Cărțile traduse seamănă mai mult cu publicațiile științifice decât cu manualele. A fost necesar să se vină cu o mulțime de exemple, sarcini de laborator pe care elevii le-ar îndeplini pe computer și să dobândească cunoștințe, abilități și abilități (în ceea ce privește o abordare bazată pe competențe a educației).

Principalul avantaj și diferența semnificativă a acestui manual față de publicații similare este prezența în el a aproximativ 100 de exemple, 235 de exerciții, 79 de întrebări pentru repetarea materialului acoperit, 11 lucrări de laborator în care sunt studiate 6 produse software diferite.

Link bibliografic

Astahova I.F., Tolstobrov A.P., Chulyukov V.A., Potapov A.S. TUTORIALE „DBMS: LIMBAJUL SQL ÎN EXEMPLE ȘI SARCINI”, „INTELEGȚĂ ARTIFICIALĂ. CURS PRACTIC” // Probleme moderne de știință și educație. - 2009. - Nr. 1.;
URL: http://science-education.ru/ru/article/view?id=901 (data accesului: 17/09/2019). Vă aducem la cunoștință jurnale publicate de editura „Academia de Istorie Naturală”