Come configurare smartphone e PC. Portale informativo

Suggerimenti: fatti e regole. Scegliere il problema giusto

Il libro di testo introduce i lettori alla storia intelligenza artificiale, modelli di rappresentazione della conoscenza, sistemi esperti e reti neurali. Vengono descritte le principali direzioni e metodi utilizzati nell'analisi, sviluppo e implementazione di sistemi intelligenti. Modelli di rappresentazione della conoscenza e metodi di lavoro con essi, metodi di sviluppo e creazione sistemi esperti. Il libro aiuterà il lettore a padroneggiare le abilità di progettazione logica di database di dominio e di programmazione nel linguaggio ProLog.
Per studenti e insegnanti università pedagogiche, insegnanti di scuole secondarie, palestre, licei.

Il concetto di intelligenza artificiale.
Un sistema di intelligenza artificiale (AI) è un sistema software che simula il processo del pensiero umano su un computer. Per creare un tale sistema, è necessario studiare il processo stesso di pensiero di una persona che decide determinati compiti o decisore in una determinata area, evidenziare i passaggi principali di questo processo e sviluppare un software che li riproduca su un computer. Pertanto, i metodi di intelligenza artificiale adottano un approccio strutturale semplice allo sviluppo di complessi sistemi software il processo decisionale .

L'intelligenza artificiale è una branca dell'informatica, il cui scopo è sviluppare strumenti hardware e software che consentano a un utente non programmatore di impostare e risolvere i propri compiti intellettuali tradizionalmente considerati, comunicando con un computer in un sottoinsieme limitato del linguaggio naturale.

SOMMARIO
Capitolo 1. Intelligenza Artificiale
1.1. Introduzione ai sistemi di intelligenza artificiale
1.1.1. Il concetto di intelligenza artificiale
1.1.2. Intelligenza artificiale in Russia
1.1.3. Struttura funzionale sistemi di intelligenza artificiale
1.2. Indicazioni per lo sviluppo dell'intelligenza artificiale
1.3. Dati e conoscenza. Rappresentazione della conoscenza nei sistemi intelligenti
1.3.1. Dati e conoscenza. Definizioni di base
1.3.2. Modelli di rappresentazione della conoscenza
1.4. Sistemi esperti
1.4.1. Struttura di un sistema esperto
1.4.2. Sviluppo e utilizzo di sistemi esperti
1.4.3. Classificazione dei sistemi esperti
1.4.4. Rappresentazione della conoscenza nei sistemi esperti
1.4.5. Strumenti per la costruzione di sistemi esperti
1.4.6. Tecnologia esperta di sviluppo del sistema
domande di prova e compiti per il capitolo 1
Letteratura per il capitolo 1
Capitolo 2 Programmazione logica
2.1. Metodologie di programmazione
2.1.1. Metodologia della programmazione imperativa
2.1.2. Metodologia della programmazione orientata agli oggetti
2.1.3. Metodologia programmazione funzionale
2.1.4. Metodologia programmazione logica
2.1.5. Metodologia di programmazione dei vincoli
2.1.6. Metodologia di programmazione delle reti neurali
2.2. Una breve introduzione al calcolo dei predicati e alla dimostrazione di teoremi
2.3. Processo di inferenza nel Prologo
2.4. Struttura del programma in Prolog
2.4.1. Utilizzo di oggetti composti
2.4.2. Utilizzo di domini alternativi
2.5. Organizzare le ripetizioni nel Prologo
2.5.1. Metodo di rollback dopo un errore
2.5.2. Metodo di taglio e rollback
2.5.3. semplice ricorsione
2.5.4. Metodo della regola di ricorsione generalizzata (GRR)
2.6. Elenchi nel Prologo
2.6.1. Operazioni sulle liste
2.7. Stringhe nel prologo
2.7.1. Operazioni sulle stringhe
2.8. File nel Prologo
2.8.1. Prologo predicati per lavorare con i file
2.8.2. Descrizione del dominio del file
2.8.3. Scrivi su file
2.8.4. Lettura da un file
2.8.5. Modifica di un file esistente
2.8.6. Aggiungendo alla fine di un file esistente
2.9. Creazione di database dinamici in Prolog
2.9.1. Banche dati su Prolog
2.9.2. Predicati dinamici del database in Prolog
2.10. Creazione di sistemi esperti
2.10.1. Struttura di un sistema esperto
2.10.2. Rappresentazione della conoscenza
2.10.3. Metodi di output
2.10.4. Sistema interfaccia utente
2.10.5. Sistema esperto basato su regole
Controllare le domande e le attività per il capitolo 2
Letteratura per il capitolo 2
Capitolo 3 Reti neurali
3.1. Introduzione alle reti neurali
3.2. Modello di neurone artificiale
3.3. Applicazione reti neurali
3.4. Formazione sulle reti neurali
Controllare le domande e le attività per il capitolo 3
Letteratura per il capitolo 3.

Download gratuito e-libro in formato conveniente, guarda e leggi:
Scarica il libro Fundamentals of Artificial Intelligence, Borovskaya E.V., Davydova N.A., 2016 - fileskachat.com, download veloce e gratuito.

Lo sviluppo dell'intelligenza artificiale

Storia dell'intelligenza artificiale iniziato non molto tempo fa. Nella seconda metà del 20° secolo, il concetto intelligenza artificiale(intelligenza artificiale) e sono state proposte diverse definizioni. Una delle prime definizioni, che, nonostante la notevole ampiezza di interpretazioni, non ha ancora perso rilevanza, è quella di presentare l'intelligenza artificiale come: “Un modo per forzare computer pensa come un essere umano".

La rilevanza dell'intellettualizzazione dei sistemi informatici è dovuta alla necessità per una persona di trovare soluzioni in tali realtà. mondo moderno come inesattezza, ambiguità, incertezza, sfocatura e informazioni infondate. La necessità di aumentare la velocità e l'adeguatezza questo processo stimola la creazione di sistemi informatici attraverso l'interazione con il mondo reale per mezzo della robotica, attrezzatura di produzione, elettrodomestici e altro hardware, possono contribuire alla sua implementazione.

I sistemi informatici, che si basano esclusivamente sulla logica classica, ovvero algoritmi per la risoluzione di problemi noti, affrontano problemi quando incontrano situazioni incerte. Al contrario, gli esseri viventi, sebbene perdano in velocità, sono in grado di prendere decisioni di successo in tali situazioni.

Un esempio di intelligenza artificiale

Un esempio è il crollo del mercato azionario del 1987, quando programmi per computer ha venduto azioni per centinaia di milioni di dollari per realizzare un profitto di diverse centinaia di dollari, il che ha effettivamente creato le premesse per il crollo. La posizione è stata corretta dopo la transizione pieno controllo per la compravendita di azioni in sistemi intelligenti protoplasmatici, cioè alle persone.

Definindo il concetto di intelligenza come una categoria scientifica, va inteso come l'idoneità del sistema all'apprendimento. Pertanto, una delle definizioni più specifiche, a nostro avviso, di intelligenza artificiale è interpretata come la capacità di sistemi automatizzati acquisire, adattare, modificare e reintegrare conoscenze al fine di trovare soluzioni a problemi la cui formalizzazione è difficile.

In questa definizione, il termine "conoscenza" ha una differenza qualitativa dal concetto di informazione. Questa differenza riflette bene la rappresentazione di questi concetti nella forma piramide dell'informazione nella figura 1.

Figura 1 - Piramide dell'informazione

Si basa sui dati, il livello successivo è l'informazione e il livello di conoscenza completa la piramide. Man mano che sali nella piramide dell'informazione, i volumi di dati si trasformano nel valore dell'informazione e ulteriormente nel valore della conoscenza. Cioè, l'informazione sorge nel momento dell'interazione tra i dati soggettivi e le modalità oggettive del loro trattamento. La conoscenza si forma sulla base della formazione di relazioni distribuite tra informazioni eterogenee, creando al contempo un sistema formale - un modo per rifletterle in concetti o affermazioni precise.

È il supporto di un tale sistema: un sistema di conoscenza, in uno stato così aggiornato, che consente di costruire programmi d'azione per trovare soluzioni ai compiti loro assegnati, tenendo conto delle situazioni specifiche che si formano ad un certo punto in ambiente, è un compito dell'intelligenza artificiale. Pertanto, l'intelligenza artificiale può anche essere rappresentata come un algoritmo universale in grado di creare algoritmi per risolvere nuovi problemi.

Stato di Armavir

Università Pedagogica

BASI DELL'INTELLIGENZA ARTIFICIALE

per gli studenti della specialità "Informatica"

Armavir 2004

Stampato dalla decisione dell'ASPU UMC

Revisore: , Candidato di scienze fisiche e matematiche, professore associato, capo dell'Internet Center dell'Accademia agricola statale di Kabardino-Balkarian

Intelligenza artificiale Kozyrev. Sussidio didattico per gli studenti che studiano nella specialità "informatica". - Armavir, 2004

Vengono presi in considerazione concetti basilari intelligenza artificiale, direzioni e prospettive per lo sviluppo della ricerca nel campo dell'intelligenza artificiale, le basi del linguaggio di programmazione logica PROLOG.

Il manuale didattico e metodico è destinato agli studenti che studiano nella specialità "informatica" e può essere utilizzato anche da tutti coloro che sono interessati all'intelligenza artificiale e alla programmazione logica.

Introduzione…………………………………………………..………………………... 4

1. Intelligenza artificiale: soggetto, storia
sviluppo, indirizzi di ricerca ……..………………….. 5

1.1. Direzioni di ricerca sul campo
intelligenza artificiale…..………………………………………………….. 5


intelligenza artificiale….……………………………..………………..... 6

2. Sistema di conoscenza…………………………………………………………….. 8

3. Modelli di rappresentazione della conoscenza……………………………………. 9

3.1. Reti semantiche………………………………………………………..9

3.2. Modello telaio ………………………………………………….…………10

3.3. Modello di produzione……………………………………………………..11

3.4. Modello logico……………………………………………………. .12

4. Sistemi esperti……………………………………………………...12

4.1. Nomina dei sistemi esperti…………………………………………….12

4.2. Tipi di compiti risolti con l'ausilio di sistemi esperti…………….14

4.3. La struttura dei sistemi esperti………………………………………………...15

4.4. Le principali fasi di sviluppo dei sistemi esperti………………………16

4.5. Strumenti per lo sviluppo di sistemi esperti………18

5. PROLOGO - linguaggio di programmazione logica ……….19

5.1. Informazione Generale sul PROLOGO…………………………………………………………………………………………………19

5.2. Suggerimenti: fatti e regole……………………………………………20

5.4. Variabili in PROLOG………………………………………………...22

5.5. Oggetti e tipi di dati in PROLOG…………………………………...23

5.6. Le sezioni principali del programma PROLOG……………………………….23

5.7. Tornando indietro…………………………………………………………...24

5.8. Controllo del backtracking: fallire e tagliare i predicati ……26

5.9. Calcoli aritmetici…………………………………………………27

5.10. Ricorsività…………………………………………………………………… .28

5.11. Elenchi………………………………………………………………………30

5.12. Compiti standard elaborazione liste…………………………….….31

Letteratura………………………………………………............................... .35

introduzione

Negli ultimi decenni, l'intelligenza artificiale ha invaso tutti i settori di attività, diventando un mezzo per integrare le scienze. Strumenti software basati sulla tecnologia e sui metodi dell'intelligenza artificiale si sono diffusi nel mondo. Ricerca intensiva per creare un'unità spazio informativo, che crea le condizioni per il lavoro a distanza congiunto basato su basi di conoscenza, oggi ha iniziato ad essere svolto da tutti i paesi economicamente sviluppati. Il corso "Fondamenti di intelligenza artificiale" nell'istruzione superiore comprende lo studio di sezioni come la rappresentazione della conoscenza in un linguaggio formale, la struttura dei sistemi esperti e i principi di base del loro sviluppo, varie strategie per trovare un obiettivo. Una delle linee principali del corso è la discussione dell'implementazione di sistemi di intelligenza artificiale per la risoluzione di specifici problemi applicati.

Come supporto informatico il corso si occupa dell'ambiente di sviluppo Programmi visivi Prologo. Il linguaggio di programmazione Prolog, basato sulle idee e sui metodi della logica matematica, è stato originariamente creato per lo sviluppo di applicazioni di intelligenza artificiale. Applicazioni come basi di conoscenza, sistemi esperti, interfacce in linguaggio naturale e sistemi intelligenti Gestione dell'informazione. Un alto livello di astrazione, la capacità di rappresentare strutture dati complesse e modellare relazioni logiche tra oggetti consentono di risolvere problemi in varie aree tematiche.

Il sussidio didattico "Fondamenti di Intelligenza Artificiale" aiuterà ad ampliare le idee del futuro insegnante di informatica sugli ambiti di applicazione della teoria dell'intelligenza artificiale, sulla disponibilità e lingue promettenti programmazione e strutture hardware per la creazione di sistemi di intelligenza artificiale.

1. Intelligenza artificiale: materia, storia dello sviluppo, aree di ricerca.

iointellettuale(lat) - mente, ragione, mente, capacità mentali di una persona. Intelligenza artificiale(AI) è un campo dell'informatica, il cui oggetto è lo sviluppo di strumenti hardware e software che consentono all'utente di risolvere problemi tradizionalmente considerati intellettuali. La teoria dell'intelligenza artificiale è la scienza della conoscenza, come ottenerla, come rappresentarla sistemi artificiali, elaborare all'interno del sistema e utilizzare per risolvere compiti pratici. Le tecnologie che utilizzano l'IA sono oggi utilizzate in molte aree di applicazione.

L'inizio della ricerca nel campo dell'IA (fine degli anni '50 del XX secolo) è associato al lavoro di Newell, Saiman e Shaw, che hanno studiato i processi di risoluzione di vari problemi. I risultati del loro lavoro sono stati programmi come "LOGIC-THEORETIC", destinati a dimostrare teoremi nel calcolo proposizionale, e "GENERAL PROBLEM SOLVER". Questi lavori hanno segnato l'inizio della prima fase della ricerca nel campo dell'IA, associata allo sviluppo di programmi, risoluzione dei problemi basato sull'uso di vari metodi euristici.

Il metodo euristico per risolvere il problema era considerato inerente al pensiero umano "in generale", caratterizzato dall'emergere di ipotesi sul modo di risolvere il problema con la loro successiva verifica. Si opponeva al metodo algoritmico utilizzato nel computer, che veniva interpretato come l'attuazione meccanica di una determinata sequenza di passaggi, determinando deterministicamente la risposta corretta. L'interpretazione dei metodi euristici per la risoluzione dei problemi come attività puramente umana ha portato all'emergere e all'ulteriore diffusione del termine AI

A. Neurocibernetica.

Neurocyberietics si concentra sulla modellazione hardware di strutture simili alla struttura del cervello. I fisiologi lo hanno da tempo stabilito cervello umanoè un gran numero di cellule nervose interconnesse e interagenti - neuroni. Pertanto, gli sforzi della neurocibernetica si sono concentrati sulla creazione di elementi simili ai neuroni e sulla loro combinazione in sistemi funzionanti. Questi sistemi sono chiamati reti neurali o reti neurali. A tempi recenti la neurocibernetica ha ricominciato a svilupparsi grazie al salto nello sviluppo dei computer. Apparvero neurocomputer e trasmettitori.

Attualmente esistono tre approcci alla creazione di reti neurali:

hardware- creazione computer speciali, schede di espansione, chipset che implementano tutti gli algoritmi necessari,

programma- Creazione di programmi e strumenti progettati per computer ad alte prestazioni. Le reti vengono create nella memoria del computer, tutto il lavoro viene svolto dai propri processori;

ibridoè una combinazione dei primi due. Parte dei calcoli viene eseguita da speciali schede di espansione (coprocessori), parte da software.

B. Cibernetica della scatola nera.

La cibernetica della "scatola nera" si basa su un principio opposto alla neurocibernetica. Non importa come funziona il dispositivo "pensante". La cosa principale è che reagisce alle azioni di input fornite allo stesso modo del cervello umano.

Quest'area dell'intelligenza artificiale era focalizzata sulla ricerca di algoritmi per la risoluzione di problemi intellettuali su modelli informatici esistenti.

La ricerca nel campo dell'intelligenza artificiale ha percorso un percorso lungo e spinoso: i primi hobby (1960), la pseudoscienza (1960-65), il successo nella risoluzione di enigmi e giochi (), la delusione nella risoluzione di problemi pratici (), i primi successi nella risoluzione una serie di problemi pratici ( ), uso commerciale di massa nella risoluzione di problemi pratici (). Ma la base del successo commerciale è giustamente costituita da sistemi esperti e, in primis, sistemi esperti in tempo reale. Sono stati loro che hanno permesso all'intelligenza artificiale di passare da giochi ed enigmi a un uso di massa nella risoluzione pratica compiti significativi.

1.2. I principali compiti risolti nella regione
intelligenza artificiale

Rappresentazione della conoscenza e sviluppo di sistemi basati sulla conoscenza

Sviluppo di modelli di rappresentazione della conoscenza, creazione di basi di conoscenza che costituiscono il nucleo dei sistemi esperti (ES). Di recente, include modelli e metodi per estrarre e strutturare la conoscenza e si fonde con l'ingegneria della conoscenza. Nel campo dell'intelligenza artificiale, i sistemi esperti e gli strumenti per il loro sviluppo hanno ottenuto il maggior successo commerciale.

Giochi e creatività.

Compiti intellettuali di gioco: scacchi, dama, via. Si basa su uno dei primi approcci: il modello del labirinto più l'euristica.

Sviluppo di interfacce in linguaggio naturale e traduzione automatica

Controllo vocale, traduzione da lingua a lingua. Il primo programma in quest'area è un traduttore dall'inglese al russo. La prima idea, la traduzione parola per parola, si è rivelata infruttuosa. Attualmente viene utilizzato un modello più complesso, che comprende l'analisi e la sintesi dei messaggi in linguaggio naturale, che consiste in diversi blocchi. Per l'analisi è:

Il linguaggio che utilizza il modello di produzione è PROLOGO.

3.4. Modello logico

La loro descrizione si basa su un sistema formale con quattro elementi:

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

T - set Elementi basici diversa natura con procedure adeguate;

R è un insieme di regole sintattiche. Con il loro aiuto, si formano insiemi sintatticamente corretti dagli elementi di T. La procedura P(R) determina se questa raccolta è corretta;

A è un sottoinsieme dell'insieme P, chiamato assiomi. La procedura P(A) risponde alla domanda di appartenenza all'insieme A;

B è l'insieme delle regole di inferenza. Applicandole agli elementi di A, si possono ottenere nuove raccolte sintatticamente corrette a cui queste regole possono essere nuovamente applicate. La procedura P(V) determina, per ogni insieme sintatticamente corretto, se esso è dedotto.

4. Sistemi esperti

4.1. Nomina di sistemi esperti

Sistemi esperti(ES) sono complessi complessi software, accumulando conoscenze di specialisti in aree tematiche specifiche e replicando questa esperienza empirica per consultazioni di utenti meno qualificati.

Lo scopo dello studio dei sistemi esperti è lo sviluppo di programmi che, risolvendo problemi di una determinata area disciplinare, ottengano risultati non inferiori per qualità ed efficienza ai risultati ottenuti dagli esperti.

I sistemi esperti sono progettati per risolvere compiti non formalizzati e praticamente significativi. L'uso di un sistema esperto dovrebbe essere fatto solo quando il loro sviluppo è possibile e appropriato.

Fatti che indicano la necessità di sviluppare e implementare sistemi esperti:

Mancanza di professionisti che trascorrono molto tempo ad aiutare gli altri;

La necessità di un grande team di specialisti, poiché nessuno di loro ha conoscenze sufficienti;

Bassa produttività, poiché l'attività richiede un'analisi completa di un insieme complesso di condizioni e lo specialista medio non è in grado di visualizzare (nel tempo assegnato) tutte queste condizioni;

La presenza di concorrenti che hanno un vantaggio in quanto sono più bravi nel compito da svolgere.

Di funzionale Lo scopo dei sistemi esperti può essere suddiviso nei seguenti tipi:

1. Potenti sistemi esperti progettati per una ristretta cerchia di utenti (sistemi di controllo per apparecchiature tecnologiche complesse, sistemi esperti di difesa aerea). Tali sistemi funzionano in genere in tempo reale e sono molto costosi.

2. Sistemi esperti progettati per un'ampia gamma di utenti. Questi includono sistemi di diagnostica medica, sistemi di insegnamento complessi. La base di conoscenza di questi sistemi non è economica, poiché contiene conoscenze uniche ottenute da esperti. La raccolta di conoscenze e la formazione di una base di conoscenze viene eseguita da uno specialista nella raccolta di conoscenze: un ingegnere cognitivo.

3. Sistemi esperti con pochi regole e relativamente poco costoso. Questi sistemi sono progettati per il consumatore di massa (sistemi che facilitano la risoluzione dei problemi nelle apparecchiature). L'uso di tali sistemi consente di fare a meno di personale altamente qualificato, ridurre i tempi di risoluzione dei problemi e risoluzione dei problemi. La base di conoscenze di un tale sistema può essere integrata e modificata senza l'aiuto degli sviluppatori di sistema. Di solito usano le conoscenze di vari manuali di riferimento e documentazione tecnica.

4. Sistemi esperti semplici uso individuale. Spesso fatti da soli. Usato in situazioni per alleviare lavoro quotidiano. L'utente, dopo aver organizzato le regole in una determinata base di conoscenza, crea il proprio sistema esperto sulla base. Tali sistemi sono utilizzati in giurisprudenza, attività commerciali, riparazione di apparecchiature semplici.

L'uso di sistemi esperti e reti neurali porta notevoli vantaggi economici. Ad esempio: - American Express ha ridotto le proprie perdite di 27 milioni di dollari l'anno grazie a un sistema esperto che determina l'opportunità di concedere o rifiutare un prestito a una determinata società; - DEC risparmia 70 milioni di dollari all'anno con XCON/XSEL, una configurazione specifica per il cliente sistema informatico VAX. Il suo utilizzo ha ridotto il numero di errori dal 30% all'1%; - Sira ha ridotto di 40 milioni di dollari i costi di costruzione del gasdotto in Australia grazie a un sistema esperto di gestione del gasdotto.

4.2. Tipi di compiti risolti con
sistemi esperti

Interpretazione dei dati. L'interpretazione si riferisce alla determinazione del significato dei dati, i cui risultati devono essere coerenti e corretti. Esempi di ES:

Rilevamento e identificazione vari tipi navi oceaniche - SIAP;

Determinazione dei principali tratti della personalità sulla base dei risultati dei test psicodiagnostici nei sistemi AVTANTEST e MICROLUSHER, ecc.

Diagnostica. La diagnostica si riferisce al rilevamento di un malfunzionamento in alcuni sistemi. Esempi di ES:

Diagnosi e terapia del restringimento dei vasi coronarici - ANGY;

Diagnosi di errori nell'hardware e Software COMPUTER - Sistema CRIB, ecc.

Monitoraggio. Il compito principale del monitoraggio è l'interpretazione continua dei dati in tempo reale e la segnalazione che determinati parametri superano i limiti consentiti. I problemi principali sono il "salto" di una situazione allarmante e il problema inverso di una "falsa" operazione. Esempi di ES:

Controllo sul funzionamento delle centrali SPRINT, assistenza agli spedizionieri di reattori nucleari - REACTOR:

Monitoraggio di sensori di emergenza in un impianto chimico - FALCON, ecc.

Disegno. La progettazione consiste nella preparazione delle specifiche per la creazione di "oggetti" con proprietà predeterminate. La specifica si riferisce all'intero set documenti richiesti disegno, nota esplicativa, ecc. Esempi di ES:

Progettazione di configurazioni di computer VAX - 1/780 nel sistema XCON (o R1),

Progettazione LSI - CADHELP;

Sintesi circuiti elettrici- SYN ecc.

Previsione. I sistemi predittivi deducono logicamente le probabili conseguenze da determinate situazioni. Esempi di ES:

Previsioni meteo - Sistema WILLARD:

Stime del raccolto futuro - PI. FORMICA;

Previsioni nell'economia - ECON e altri.

Pianificazione. La pianificazione è intesa come trovare piani d'azione relativi a oggetti in grado di svolgere determinate funzioni. In tali ES, vengono utilizzati modelli comportamentali di oggetti reali per dedurre logicamente le conseguenze dell'attività pianificata. Esempi di ES:

Pianificazione del comportamento dei robot - STRIP,

Pianificazione delle commesse industriali - 1SIS,

Disegno sperimentale - MOLGEN et al.

Formazione scolastica. I sistemi di formazione diagnosticano gli errori nello studio di qualsiasi disciplina con l'aiuto di un computer e suggeriscono decisioni giuste. Accumulano conoscenze su un ipotetico "studente" e sui suoi errori caratteristici, quindi nel lavoro sono in grado di diagnosticare le debolezze nella conoscenza degli studenti e trovare i mezzi appropriati per eliminarle. Esempi di ES:

Insegnamento del linguaggio di programmazione Lisp nel sistema "Lisp Teacher";

Sistema PROUST - apprendimento della lingua Pascal, ecc.

Le soluzioni di sistema Expert sono trasparenti, ovvero possono essere spiegate all'utente a livello qualitativo.

I sistemi esperti sono in grado di reintegrare le proprie conoscenze nel corso dell'interazione con un esperto.

4.3. Struttura dei sistemi esperti

La struttura dei sistemi esperti comprende i seguenti componenti:

Base di conoscenza- il nucleo dell'ES, il corpo di conoscenza dell'area disciplinare, registrato su un supporto macchina in una forma comprensibile all'esperto e all'utente (di solito in un linguaggio vicino al naturale). Parallelamente a tale rappresentazione "umana", c'è una base di conoscenza nella rappresentazione interna della "macchina". Consiste in un insieme di fatti e regole.

Fatti: descrivi gli oggetti e la relazione tra loro. Regole: utilizzate nella base di conoscenza per descrivere le relazioni tra oggetti. Sulla base delle relazioni definite dalle regole, viene eseguita un'inferenza logica.

Banca dati- è destinato alla memorizzazione temporanea di fatti e ipotesi, contiene dati intermedi o il risultato della comunicazione tra i sistemi e l'utente.

Inferenza logica macchina- un meccanismo di ragionamento che opera sulla conoscenza e sui dati al fine di ottenere nuovi dati; per questo viene solitamente utilizzato un meccanismo di ricerca decisionale implementato da software.

Sottosistema di comunicazione- serve a condurre un dialogo con l'utente, durante il quale il sistema esperto chiede all'utente i fatti necessari per il processo di ragionamento e consente anche all'utente di controllare in una certa misura il corso del ragionamento.

Spiegazione Sottosistema- è necessario per dare all'utente la possibilità di controllare l'andamento del ragionamento.

Sottosistema di acquisizione della conoscenza- un programma che fornisce a un ingegnere della conoscenza la capacità di creare basi di conoscenza in modalità interattiva. Include un sistema di menu nidificati, modelli di linguaggio di rappresentazione della conoscenza, suggerimenti ("guida" - modalità) e altri strumenti di servizio che semplificano l'utilizzo del database.

Il sistema esperto opera in due modalità:

Acquisizione di conoscenze (definizione, modifica, aggiunta);

Risoluzione dei problemi.

In questa modalità i dati del task vengono elaborati e, dopo opportuna codificazione, trasferiti ai blocchi del sistema esperto. I risultati dell'elaborazione dei dati ricevuti vengono inviati al modulo consigli e spiegazioni e, dopo la ricodificazione in un linguaggio vicino al naturale, vengono emessi sotto forma di consigli, spiegazioni e commenti. Se la risposta non è chiara all'utente, può richiedere al sistema esperto di spiegare come è stata ricevuta.

4.4. Principali fasi di sviluppo dei sistemi esperti

Il processo tecnologico di sviluppo di un sistema esperto industriale può essere suddiviso in sei fasi principali:

1. Scegliere il problema giusto

Le attività che portano alla decisione di iniziare a sviluppare un particolare ES includono:

Identificazione dell'area problematica e dei compiti;

Trovare un esperto disposto a collaborare per risolvere il problema e nominare un team di sviluppo;

Determinazione di un approccio preliminare alla soluzione del problema;

Analisi dei costi e dei profitti da sviluppo;

preparazione programma dettagliato sviluppo.

2. Sviluppo di un sistema prototipo

sistema prototipoè una versione troncata di un sistema esperto progettato per verificare la correttezza dei fatti di codifica, delle relazioni e delle strategie di ragionamento degli esperti.

Il prototipo deve soddisfare due requisiti:

Il sistema prototipo dovrebbe risolvere di più compiti tipici, ma non dovrebbe essere neanche troppo grande.

Il tempo e lo sforzo per la prototipazione dovrebbero essere bassi.

Il funzionamento dei programmi prototipo viene valutato e testato per allinearli alle reali esigenze degli utenti. Il prototipo viene controllato per:

Convenienza e adeguatezza delle interfacce input-output (la natura delle domande nel dialogo, la coerenza del testo di output del risultato, ecc.)

Efficienza della strategia di controllo (ordine di enumerazione, uso di inferenza fuzzy, ecc.);

Qualità dei casi di test;

Correttezza della base di conoscenza (completezza e coerenza delle regole).

Un esperto di solito lavora con un ingegnere della conoscenza che aiuta a strutturare la conoscenza, definire e formare i concetti e le regole necessarie

per risolvere il problema. In caso di successo, l'esperto, con l'aiuto di un ingegnere della conoscenza, espande la base di conoscenze del prototipo sull'area problematica.

Se fallisce, si può concludere che Quali altri metodi sono necessari per risolvere questo problema o sviluppare un nuovo prototipo.

3. Sviluppo di un prototipo per un sistema esperto industriale.

In questa fase, la base di conoscenze è notevolmente ampliata, gran numero euristica aggiuntiva. Queste euristiche in genere aumentano la profondità del sistema fornendo Di più regole per aspetti sottili dei singoli casi. Dopo aver stabilito la struttura di base dell'ES, l'ingegnere della conoscenza procede allo sviluppo e all'adattamento delle interfacce attraverso le quali il sistema comunicherà con l'utente e l'esperto.

Tipicamente implementato transizione graduale dai prototipi ai sistemi esperti industriali. A volte, quando si sviluppa un sistema industriale, si distinguono fasi aggiuntive per la transizione: prototipo dimostrativo - prototipo di ricerca - prototipo live - sistema industriale.

4. Valutazione del sistema

I sistemi esperti vengono valutati al fine di verificare l'accuratezza del programma e la sua utilità. La valutazione può essere effettuata sulla base di vari criteri, che raggruppiamo come segue:

Criteri dell'utente (comprensibilità e "trasparenza" del funzionamento del sistema, comodità delle interfacce, ecc.);

Criteri degli esperti invitati (valutazione dei consigli-soluzioni offerti dal sistema, confronto con le proprie soluzioni, valutazione del sottosistema delle spiegazioni, ecc.);

Criteri del team di sviluppo (efficienza di implementazione, prestazioni, tempi di risposta, progettazione, ampiezza di copertura dell'area disciplinare, coerenza della base di conoscenze, numero di deadlock quando il sistema non può prendere una decisione, analisi della sensibilità del programma a modifiche minori nella rappresentazione della conoscenza, coefficienti di peso utilizzati nei meccanismi di output logico, dati, ecc.).

5. Sistema di aggancio

In questa fase, il sistema esperto è agganciato ad altri strumenti software nell'ambiente in cui opererà e la formazione delle persone che servirà.L'accoppiamento implica anche lo sviluppo di legami tra il sistema esperto e l'ambiente in cui opera.

L'aggancio include la comunicazione tra ES e basi esistenti dati e altri sistemi dell'azienda, oltre a migliorare i fattori di sistema dipendenti dal tempo in modo che possa funzionare in modo più efficiente e migliorare le prestazioni dei suoi mezzi tecnici se il sistema funziona in un ambiente insolito (ad esempio, comunicazione con dispositivi di misurazione).

6. Supporto del sistema

La ricodifica di un sistema in un linguaggio simile al C migliora le prestazioni e la portabilità, ma riduce la flessibilità. Ciò è accettabile solo se il sistema conserva tutta la conoscenza dell'area problematica e questa conoscenza non cambierà nel prossimo futuro. Tuttavia, se il sistema esperto viene creato proprio perché area problematica modifiche, è necessario mantenere il sistema nell'ambiente dello strumento di sviluppo.

Linguaggi di intelligenza artificiale

Lisp (LISP) e Prolog (Prolog) sono i linguaggi più comuni per risolvere i problemi di intelligenza artificiale. Esistono anche linguaggi di intelligenza artificiale meno comuni, come REFAL, sviluppati in Russia. L'universalità di queste lingue è inferiore a quella delle lingue tradizionali, ma le lingue di intelligenza artificiale compensano la sua perdita con ricche opportunità di lavorare con dati simbolici e logici, che sono estremamente importanti per i compiti di intelligenza artificiale. Sulla base dei linguaggi di intelligenza artificiale, vengono creati computer specializzati (ad esempio macchine Lisp) per risolvere problemi di intelligenza artificiale. Lo svantaggio di questi linguaggi è la loro inapplicabilità per la creazione di sistemi esperti ibridi.

Strumenti software speciali

Librerie Lisp e componenti aggiuntivi per il linguaggio di intelligenza artificiale Lisp: KEE (Knowledge Engineering Environment), FRL (Frame Representation Language), KRL (Knowledge Represantation Language), ARTS, ecc. alto livello di quanto sia possibile nei linguaggi di intelligenza artificiale convenzionali.

"conchiglie"

Le "shell" sono versioni vuote" di sistemi esperti esistenti, ovvero sistemi esperti già pronti senza una base di conoscenza. Un esempio di tale shell è EMYCIN (Empty MYCIN - empty MYC1N), che è un sistema esperto MYCIN vuoto. Il vantaggio di shell è che non richiedono affatto il lavoro dei programmatori per creare un sistema esperto già pronto. Richiede solo esperti nell'area tematica per popolare la base di conoscenza. Tuttavia, se una determinata area tematica non si adatta bene al modello utilizzato in alcune shell, in questo caso non è facile popolare la knowledge base.

5. PROLOGO - il linguaggio della logica
programmazione

5.1. Informazioni generali su PROLOG.

PROLOG (PROGRAMMING IN LOGIC) è un linguaggio di programmazione logica progettato per risolvere problemi nel campo dell'intelligenza artificiale (creazione di ES, programmi di traduzione, elaborazione del linguaggio naturale). Viene utilizzato per l'elaborazione del linguaggio naturale e dispone di potenti strumenti per estrarre informazioni dai database e i metodi di ricerca utilizzati sono fondamentalmente diversi da quelli tradizionali.

Le costruzioni di base del PROLOGO sono mutuate dalla logica. PROLOGUE non è un linguaggio di programmazione procedurale, ma dichiarativo. Non si concentra sullo sviluppo di soluzioni, ma su una descrizione sistematica e formalizzata del problema in modo che la soluzione segua dalla descrizione.

L'essenza dell'approccio logico è che alla macchina non viene offerto un algoritmo come programma, ma una descrizione formale dell'area disciplinare e del problema da risolvere sotto forma di un sistema assiomatico. Quindi la ricerca di una soluzione utilizzando l'output in questo sistema può essere affidata al computer stesso. Il compito principale di un programmatore è presentare con successo argomento un sistema di formule logiche e un tale insieme di relazioni su di esso che descrivono nel modo più completo il compito.

Proprietà fondamentali di PROLOG:

1) meccanismo di inferenza con ricerca e ritorno

2) meccanismo di corrispondenza dei modelli integrato

3) struttura dati semplice e facilmente modificabile

4) mancanza di puntatori, operatori di assegnazione e transizione

5) naturalezza della ricorsione

Fasi di programmazione in PROLOG:

1) dichiarazione di fatti su oggetti e relazioni tra gli stessi;

2) definizione delle regole per la relazione degli oggetti e delle relazioni tra loro;

3) formulazione della domanda sugli oggetti e le relazioni tra loro.

La base teorica di PROLOG è una sezione della logica simbolica chiamata calcolo dei predicati.

Predicatoè il nome di una proprietà o di una relazione tra oggetti con una sequenza di argomenti.

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

Ad esempio, il fatto black(cat) viene scritto usando il predicato nero, che ha un argomento. Fatto ha scritto (Sholokhov, "QUIET DON") scritto usando il predicato ha scritto, che ha due argomenti.

Il numero di argomenti del predicato è chiamato arità del predicato ed è denotato da nero/1 (il predicato nero ha un argomento, la sua arità è uno). I predicati possono non avere argomenti; l'arità di tali predicati è 0.

Il linguaggio Prolog è nato dal lavoro di A. Colmerauer sull'elaborazione del linguaggio naturale e dal lavoro indipendente di R. Kowalski sulle applicazioni della logica alla programmazione (1973).

Il sistema di programmazione più famoso in Russia è Turbo Prolog, un'implementazione commerciale del linguaggio per PC compatibili con IBM. Nel 1988, un molto più potente versione turbo Prolog 2.0, che include un IDE migliorato, un compilatore veloce e strumenti di programmazione di basso livello. Borland ha distribuito questa versione fino al 1990, quando PDC ha acquisito il diritto di utilizzo esclusivo codice sorgente compilatore e ulteriore promozione del sistema di programmazione sul mercato con il nome PDC Prolog.

Nel 1996, il Prolog Development Center ha rilasciato sul mercato Visual Prolog 4.0. L'ambiente Visual Prolog utilizza un approccio chiamato "programmazione visiva" in cui aspetto esteriore e il comportamento dei programmi sono definiti utilizzando speciali strumenti di progettazione grafica senza la tradizionale programmazione in un linguaggio algoritmico.

Il prologo visivo include ambiente interattivo sviluppo visivo (VDE - Visual Develop Environment), che include testo e vari editore grafico, Strumenti generazione del codice, costruzione della logica di controllo (Esperti), nonché un'interfaccia che è un'estensione del linguaggio programmazione visiva(VPI - Visual Programming Interface), compilatore Prolog, un insieme di vari file e librerie di plug-in, un editor di collegamenti, file contenenti esempi e guida.

5.2. Suggerimenti: fatti e regole

Un programma PROLOGUE consiste di frasi, che possono essere fatti, regole o domande.

Fattoè un'affermazione che si osserva una relazione specifica tra gli oggetti. Un fatto viene utilizzato per mostrare una semplice relazione tra i dati.

Struttura dei fatti:

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

Esempi di fatti:

studi (Ira, università). % Ira studia all'università

genitore (ivan, aleksey). % Ivan è il genitore di Alexei

linguaggio_di_programmazione (prologo). % Prolog è un linguaggio di programmazione

L'insieme dei fatti è Banca dati. Sotto forma di fatto, il programma registra dati che sono accettati come veri e non richiedono prove.

Regole sono usati per stabilire relazioni tra oggetti sulla base di fatti esistenti.

Struttura delle regole:

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

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

Viene chiamato il lato sinistro della regola di inferenza testa regole, e il lato destro - corpo. Il corpo può essere costituito da diverse condizioni separate da virgole o punti e virgola. La virgola sta per l'operazione logica AND, il punto e virgola sta per l'operazione logica OR. Le frasi utilizzano variabili per generalizzare la formulazione delle regole di inferenza. Le variabili funzionano solo in una frase. Il nome in frasi diverse si riferisce a oggetti diversi. Tutte le frasi devono terminare con un punto.

Esempi di regole:

madre (X, Y) :- genitore (X, Y), donna (X).

studente (X) :- studi (X, istituto); studiare (X, università).

Una regola differisce da un fatto in quanto un fatto è sempre vero e una regola è vera se valgono tutte le affermazioni che compongono il corpo della regola. Si formano fatti e regole base di conoscenza.

Se esiste un database, puoi scrivere richiesta(bersaglio) ad esso. Una query è una dichiarazione di un problema che il programma deve risolvere. La sua struttura è la stessa di una regola o di un fatto. Ci sono query con costanti e query con variabili.

Le query con costanti consentono di ottenere una delle due risposte: "sì" o "no"

Ad esempio, ci sono fatti:

sa (lena, tanya).

sa (lena, sasha).

sa (Sasha, Tanya).

a) Lena conosce Sasha?

richiesta: sa (lena, sasha).

Risultato:

b) Tanya conosce Lena?

richiesta sa (tanya, lena).

Risultato: No

Se una variabile è inclusa nella richiesta, l'interprete cerca di trovare tali valori per i quali la richiesta sarà vera.

a) Chi conosce Lena?

richiesta: sa (lena, X).

Risultato:

X = Tanya

X = sascia

b) Chi conosce Sasha?

richiesta: sa (X, Sasha).

Risultato: X = Lena

Le richieste possono essere composte, cioè consistere in più richieste semplici. Sono combinati con il segno “,”, inteso come connettivo logico “e”.

Vengono chiamate query semplici sottoobiettivo, la richiesta composta accetta vero valore quando ogni sottoobiettivo è vero.

Per rispondere se Lena e Sasha hanno conoscenze comuni, dovresti fare una richiesta:

sa (lena, X), sa (sasha, X).

Risultato:

X = Tanya

5.4. Variabili in PROLOG

Una variabile in PROLOG non viene trattata come una parte di memoria allocata. Viene utilizzato per designare un oggetto a cui non è possibile fare riferimento per nome. può essere considerata variabile nome locale per qualche oggetto.

Il nome della variabile deve iniziare con lettera maiuscola o underscore e contengono solo lettere, numeri e underscore: X, _y, AB, X1. Viene chiamata una variabile che non ha valore gratuito, una variabile che ha un valore - specifico.

Viene chiamata una variabile composta solo da un carattere di sottolineatura anonimo e viene utilizzato quando il suo valore non è significativo. Ad esempio, ci sono fatti:

genitore (Ira, Tanya).

genitore (Misha, Tanya).

genitore (olya, ira).

Tutti i genitori devono essere identificati

Richiesta: genitore(X, _)

Risultato:

X = Ira

X = Misha

X = Olja

L'ambito della variabile è l'asserzione. All'interno di un'istruzione, lo stesso nome appartiene alla stessa variabile. Due istruzioni possono utilizzare lo stesso nome di variabile in modi completamente diversi.

Non esiste un operatore di assegnazione in PROLOGUE, il suo ruolo è svolto dall'operatore di uguaglianza =. Il target X=5 può essere visto come un confronto (se X ha un valore) o un'assegnazione (se X è libero).

In PROLOG non puoi scrivere X=X+5 per aumentare il valore di una variabile. Dovrebbe essere utilizzata una nuova variabile: Y=X+5.

5.5. Oggetti e tipi di dati in PROLOG

Vengono chiamati gli oggetti dati in PROLOG termini. Un termine può essere una costante, una variabile o un termine composito (struttura). Le costanti sono numeri interi e reali (0, - l, 123,4, 0,23E-5), nonché atomi.

Atomo– qualsiasi sequenza di caratteri racchiusa tra virgolette. Le virgolette vengono omesse se la stringa inizia con minuscolo e contiene solo lettere, numeri e trattini bassi (cioè, se può essere distinto dalla designazione variabile). Esempi di atomi:

abcd, “a+b”, “studente Ivanov”, prologo, “Prologo”.

Struttura permette di unire più oggetti in un unico insieme. Consiste in un funtore (nome) e una sequenza di termini.

Il numero di componenti in una struttura è chiamato arità della struttura: data/3.

Una struttura può contenere un'altra struttura come uno dei suoi oggetti.

birthday_date (person("Masha","Ivanova"), data(15 aprile 1983))

dominio in PROLOG è un tipo di dati. I domini standard sono:

intero - numeri interi.

reale - numeri reali.

string - stringhe (qualsiasi sequenza di caratteri racchiusa tra virgolette).

char è un singolo carattere racchiuso tra apostrofi.

simbolo - sequenza Lettere latine, cifre e caratteri di sottolineatura che iniziano con una lettera minuscola o qualsiasi sequenza di caratteri racchiusa tra virgolette.

5.6. Le sezioni principali del programma PROLOG

Di norma, il programma su PROLOG è composto da quattro sezioni.

DOMINI– sezione di descrizione dei domini (tipi). La sezione viene utilizzata se nel programma vengono utilizzati domini non standard.

Per esempio:

PREDICA- sezione della descrizione del predicato. La sezione viene utilizzata se nel programma vengono utilizzati predicati non standard.

Per esempio:

sa (nome, nome)

nome dello studente)

CLAUSOLE- sezione offerta. È in questa sezione che vengono scritte le frasi: fatti e regole di inferenza.

Per esempio:

sa (Lena, Ivan).

studente (ivan).

student_sign(X, Y):- sa (X, Y), studente (Y).

OBIETTIVO- sezione di destinazione. La richiesta è scritta in questa sezione.

Per esempio:

segno_studente(lena, X).

Il programma più semplice può contenere solo una sezione OBIETTIVO, ad esempio:

write("Inserisci il tuo nome:"), readln(Nome),

write("Ciao, ", Nome, "!").

Istituto Kolomna (filiale)

Istituto statale di istruzione superiore

formazione professionale

"UNIVERSITÀ APERTA DELLO STATO DI MOSCA"

Dipartimento di Informatica e Tecnologia dell'Informazione

"APPROVATO"

educativo e metodico

Consiglio di KI (f) MGOU

Presidente del consiglio di amministrazione

professoressa

SONO. Lipatov

"___" ____________ 2010

PS Romanov

BASI DELL'INTELLIGENZA ARTIFICIALE

Libro di testo sulle discipline della direzione

"Informatica e Ingegneria Informatica"

Per gli studenti delle superiori istituzioni educative

Kolomna - 2010

In

Stampato secondo la decisione del consiglio educativo e metodologico dell'Istituto Kolomna (filiale) dell'Istituto statale di istruzione professionale superiore "MGOU" del __________ 2010 No. ________

DK 519.6

R69 Romanov PS

Fondamenti di intelligenza artificiale. Esercitazione. - Kolomna: KI (f) MGOU, 2010. - 164 pag.

Il tutorial copre le basi dell'intelligenza artificiale. Vengono presentati i concetti di base dell'intelligenza artificiale. Vengono fornite le disposizioni della teoria degli insiemi fuzzy. Vengono presi in considerazione i principali sistemi intelligenti, il loro scopo, la classificazione, le caratteristiche, i problemi di creazione, gli esempi.

Il libro di testo è destinato agli studenti delle istituzioni di istruzione superiore che studiano nella direzione di "Informatica e Ingegneria Informatica". Può essere utilizzato nello studio di sistemi informativi intelligenti da studenti di altre specialità.

Recensore: dottore in scienze tecniche, prof. V.G. Novikov

© Romanov PS

©KI(f) MGOU, 2010

Introduzione…………………………………..………………………………………...5

Capitolo 1. Concetti di base dell'intelligenza artificiale ................................................ .... 6

§ 1.1. Termini e definizioni di base ................................................ ................. .....6

§ 1.2. La storia dello sviluppo dei sistemi di IA ............................................... .............................12

§ 1.4. Principali direzioni di sviluppo e applicazione

sistemi intelligenti ................................................ ..................................25

Capitolo 2 32

§ 2.1. Insieme sfocato. Operazioni su set fuzzy…..32

§ 2.1.1. Operazioni di base sugli insiemi fuzzy ..................................35

§ 2.2. Creazione di una funzione di appartenenza ................................................ .........38

§ 2.2.1. Alcuni metodi per costruire una funzione di appartenenza ..................39

§ 2.3. Numeri sfocati ................................................ .................................................44

§ 2.4. Operazioni con il tipo di numeri fuzzy (L-R)................................ ........46

§ 2.5. Variabili fuzzy e linguistiche ................................................ .47

§ 2.6. Relazioni sfocate ................................................... ..................................................cinquanta

§ 2.7. Logica fuzzy ................................................ .................................................. .51

§ 2.8. Conclusioni confuse ................................................ ..............................................53

§ 2.9. Automazione dell'elaborazione delle informazioni utilizzando

sistemi fuzzy ................................................ .................................................59

Capitolo 3. Sistemi intelligenti di base................................................ .............................64

§ 3.1. Dati e conoscenze ................................................ .................................................. .64

§ 3.2. Modelli di rappresentazione della conoscenza ................................................ .............................66

§ 3.3.1. Norme di produzione ................................................ .................. ...............69

§ 3.3.2. Cornici ................................................. ..................................72

§ 3.3.3. Reti semantiche ................................................... ..................................................74

§ 3.4. Sistemi esperti. Aree tematiche .............................................76

§ 3.5. Scopo e portata dei sistemi esperti ................................77

§ 3.6. Metodologia per lo sviluppo di sistemi esperti ................................................ .........81

§ 3.7. Sistemi esperti di base ............................................... ................................... 86

§ 3.8. Difficoltà nello sviluppo di sistemi esperti e loro modalità

superamento ................................................. .................................................90

§ 3.9. Scopo, classificazione dei robot ................................................ 94

§ 3.10. Esempi di robot e sistemi robotici ................................................ ...97

§ 3.10.1. Robot domestici (domestici) ............................................. ....97

§ 3.10.2. Robot di soccorso e robot di ricerca..................................99

§ 3.10.3. Robot per l'industria e la medicina..................................100

§ 3.10.4. Robot militari e sistemi robotici ..................................101

§ 3.10.5. Il cervello come dispositivo analogico-digitale................................... ......104

§ 3.10.6. Robot - giocattoli ................................................ ..................104

§ 3.11. Problemi di implementazione tecnica dei robot ................................................ .. 105

§ 3.12. Robot industriali adattivi ............................................... ..................114

§ 3.12.1. Adattamento e formazione ............................................... .............................114

§ 3.12.2. Classificazione dei sistemi di controllo adattativi

robot industriali ................................................ .................. ...117

§ 3.12.3. Esempi di sistemi di controllo adattivi per robot..................123

§ 3.12.4. Problemi nella realizzazione di robot industriali.................................128

§ 3.13. Reti neurali e tecnologie dei neurocomputer ..................132

§ 3.13.1. Caratteristiche generali della direzione .................................. 132

§ 3.13.2. Neuropacchetti ................................................. .............................................140

§ 3.14. Reti neurali................................................ .............................147

§ 3.14.1. Perceptron e il suo sviluppo ................................................ ................ .....147

3.14.1.1. Neurone matematico di McCulloch-Pitts ................147

3.14.1.2. Il Perceptron di Rosenblatt e la Regola di Hebb .............................148

3.14.1.3. Riconoscimento della regola delta e della lettera ..................................150

3.14.1.4. Adaline, Madaline e la regola del delta generalizzata..........152

§ 3.14.2. Perceptron multistrato e algoritmo inverso

propagazione dell'errore ................................................ .................. .....155

§ 3.14.3. Tipi di funzioni di attivazione ................................................ .160

introduzione

La scienza chiamata "intelligenza artificiale" è inclusa nel complesso informatica, e le tecnologie create sulla sua base appartengono alle tecnologie dell'informazione. Il compito di questa scienza è fornire ragionamenti e azioni ragionevoli con l'aiuto di sistemi informatici e altri dispositivi artificiali. In quanto direzione scientifica indipendente, l'intelligenza artificiale (AI) esiste da poco più di un quarto di secolo. Durante questo periodo, l'atteggiamento della società nei confronti degli specialisti impegnati in tale ricerca si è evoluto dallo scetticismo al rispetto. Nei paesi avanzati, il lavoro nel campo dei sistemi intelligenti è sostenuto a tutti i livelli della società. È opinione ferma che saranno questi studi a determinare la natura della società dell'informazione, che sta già sostituendo la civiltà industriale che ha raggiunto il suo apice più alto nel XX secolo. Negli ultimi anni della formazione dell'IA come disciplina scientifica speciale, si sono formati i suoi modelli concettuali, si sono accumulati metodi e tecniche specifici che appartengono solo ad essa e sono stati stabiliti alcuni paradigmi fondamentali. L'intelligenza artificiale è diventata una scienza del tutto rispettabile, non meno onorevole e necessaria della fisica o della biologia.

L'intelligenza artificiale è una scienza sperimentale. La natura sperimentale dell'IA è che quando crea determinate rappresentazioni e modelli al computer, il ricercatore confronta i loro comportamenti tra loro e con esempi di risoluzione degli stessi problemi da parte di uno specialista, li modifica in base a questo confronto, cercando di ottenere una migliore corrispondenza tra i risultati. Per modificare i programmi in modo "monotono" per migliorare i risultati, è necessario avere idee e modelli iniziali ragionevoli. Sono forniti da studi psicologici sulla coscienza, in particolare dalla psicologia cognitiva.

Una caratteristica importante dei metodi di intelligenza artificiale è che si occupa solo di quei meccanismi di competenza che sono di natura verbale (consentire la rappresentazione simbolica). Non tutti i meccanismi che una persona usa per risolvere i problemi sono così.

Il libro presenta le basi dell'IA, che consentono di navigare in un gran numero di pubblicazioni sui problemi dell'intelligenza artificiale e acquisire le conoscenze necessarie in questo campo della scienza.

Articoli correlati in alto