Come configurare smartphone e PC. Portale informativo
  • casa
  • In contatto con
  • Le sezioni principali del programma del prologo. "Informatica e Ingegneria Informatica"

Le sezioni principali del programma del prologo. "Informatica e Ingegneria Informatica"

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 dell'interpretazione, non ha ancora perso rilevanza, è la presentazione dell'intelligenza artificiale come: "Un modo per far pensare un computer come una persona".

L'importanza dell'intellettualizzazione dei sistemi informatici è dovuta alla necessità umana di trovare soluzioni in realtà del mondo moderno come l'imprecisione, l'ambiguità, l'incertezza, la sfocatura e l'infondatezza dell'informazione. La necessità di aumentare la velocità e l'adeguatezza di questo processo stimola la creazione di sistemi informatici che, attraverso l'interazione con il mondo reale per mezzo di robotica, apparecchiature di produzione, strumenti e altro hardware, possono contribuire alla sua attuazione.

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 i programmi per computer vendettero azioni per un valore di centinaia di milioni di dollari per realizzare un profitto di diverse centinaia di dollari, che di fatto creò le premesse per il crollo. La situazione è stata corretta dopo il trasferimento del pieno controllo sul commercio di borsa ai 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à dei sistemi automatizzati di acquisire, adattare, modificare e reintegrare conoscenze al fine di trovare soluzioni a problemi difficili da formalizzare.

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 in un in un determinato momento dell'ambiente, è 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.

Maslennikova O.E. , Popova IV

Esercitazione. Magnitogorsk: MaSU, 2008. 282 pp. Il libro di testo delinea i modelli di rappresentazione della conoscenza, la teoria dei sistemi esperti, le basi della programmazione logica e funzionale. Molta attenzione è dedicata alla storia dello sviluppo dell'intelligenza artificiale. La presentazione del materiale è accompagnata da un gran numero di illustrazioni, vengono offerti esercizi e domande per l'autocontrollo.
Il lavoro è rivolto a studenti a tempo pieno e part-time che studiano nelle aree di "Informatica", "Educazione Fisica e Matematica (Profilo - Informatica)". Introduzione all'Intelligenza Artificiale.
La storia dello sviluppo dell'intelligenza artificiale come direzione scientifica.
Le principali direzioni di ricerca nel campo dell'intelligenza artificiale.
Aspetti filosofici del problema dell'intelligenza artificiale.
Domande per l'autocontrollo.
Letteratura.
Modelli di rappresentazione della conoscenza.
Conoscenza.
Modello logico di rappresentazione della conoscenza.
reti semantiche.
Cornici.
modello di produzione.
Altri modelli di rappresentazione della conoscenza.
Esercizi.
Domande per l'autocontrollo.
Letteratura.
Sistemi esperti.
Il concetto di sistema esperto.
Tipi di sistemi esperti e tipi di compiti da risolvere.
Struttura e modalità di funzionamento del sistema esperto.
Tecnologia di sviluppo di sistemi esperti.
Strumenti di sistema esperti.
Sistemi informativi intelligenti.
Esercizi.
Domande per l'autocontrollo.
Letteratura.
Prolog come linguaggio di programmazione logica.
Introduzione alla programmazione logica.
Rappresentazione della conoscenza dell'area disciplinare sotto forma di fatti e regole della base di conoscenza Prolog.
Significato descrittivo, procedurale e macchina di un programma Prolog.
Tecniche di programmazione di base in Prolog.
Ambiente di Visual Prolog.
Esercizi.
Letteratura.
Introduzione alla programmazione funzionale.
Storia della programmazione funzionale.
Proprietà dei linguaggi di programmazione funzionale.
Compiti di programmazione funzionale.
Esercizi.
Risposte per autotest.
Letteratura.
ssario.
Allegato 1.
Appendice 2
Appendice 3

Il file verrà inviato all'indirizzo email selezionato. Potrebbero essere necessari fino a 1-5 minuti prima di riceverlo.

Il file verrà inviato al tuo account Kindle. Potrebbero essere necessari fino a 1-5 minuti prima di riceverlo.
Si prega di notare che "devi aggiungere la nostra email [email protetta] agli indirizzi email approvati. Per saperne di più.

Puoi scrivere una recensione di un libro e condividere le tue esperienze. Gli altri lettori saranno sempre interessati alla tua opinione sui libri che "hai letto. Che tu" abbia amato il libro o meno, se dai i tuoi pensieri onesti e dettagliati, le persone troveranno nuovi libri adatti a loro.

Ministero dell'Istruzione e della Scienza della Federazione Russa Università statale di Magnitogorsk O.E. Maslennikova, IV Popova Fundamentals of Artificial Intelligence Textbook Magnitogorsk 2008 UDC 681.142.1.01 LBC Z97 M Revisori: dottore in scienze fisiche e matematiche, professor S.I. Kadchenko Dottore in scienze tecniche, il professor A,S. Sarvarov M. Maslennikova O.E., Popova I.V. Fondamenti di intelligenza artificiale: libro di testo. indennità / O.E. Maslennikova, IV Popov. - Magnitogorsk: MaGU, 2008. - 282 pag. ISBN 978-5.86781-609-4 Il libro di testo delinea i modelli di rappresentazione della conoscenza, la teoria dei sistemi esperti, le basi della programmazione logica e funzionale. Molta attenzione è dedicata alla storia dello sviluppo dell'intelligenza artificiale. La presentazione del materiale è accompagnata da un gran numero di illustrazioni, vengono offerti esercizi e domande per l'autocontrollo. Il lavoro è incentrato su studenti a tempo pieno e part-time che studiano nelle aree di "Informatica", "Educazione Fisica e Matematica (Profilo - Informatica)". UDC 681.142.1.01 BBC Z97 ISBN 978-5.86781-609-4  Maslennikova O.E., Popova IV, 2008  Università statale di Magnitogorsk, 2008 -2- CONTENUTI CAPITOLO 1. INTRODUZIONE ALL'INTELLIGENZA ARTIFICIALE..... ...... ........ 5 1.1. STORIA DELLO SVILUPPO DELL'INTELLIGENZA ARTIFICIALE COME DIREZIONE SCIENTIFICA ....................................... ............................................................. .................................. 9 1.2. PRINCIPALI INDIRIZZI DI RICERCA NEL CAMPO DELL'INTELLIGENZA ARTIFICIALE............................. ................................... ............... .................................................. 13 1.3. ASPETTI FILOSOFICI DEL PROBLEMA DELL'INTELLIGENZA ARTIFICIALE.... 16 DOMANDE PER L'AUTOCONTROLLO............................. ................. ................................. ........ 21 LETTERATURA ....................................... .................................................. ............... 21 CAPITOLO 2. MODELLI DI RAPPRESENTAZIONE DELLA CONOSCENZA............................. .................................. 22 2.1. CONOSCENZA................................................. .................................................. ...... 22 2.2. MODELLO LOGICO DI RAPPRESENTAZIONE DELLA CONOSCENZA............................. ..................... 25 2.3. RETI SEMANTICHE ................................................ .................................................. ................. 58 2.4. TELAI ................................................. . ................................................. ...... 59 2.5. MODELLO DI PRODOTTO ............................................... ............................................. 62 2.6. ALTRI MODELLI DI RAPPRESENTAZIONE DELLA CONOSCENZA ................................................ ................ .... 64 ESERCIZI ............................. ................................................... .................. .. 78 DOMANDE PER IL SELF-CHECK-IN .................. .............................................. 83 LETTERATURA ... ....................................................... ...................................................... 84 CAPITOLO 3. SISTEMI ESPERTI ................................................ ................................... 86 3.1. IL CONCETTO DI SISTEMA ESPERTO ................................................ .................. ............... 86 3.2. TIPI DI SISTEMI ESPERTI E TIPI DI PROBLEMI RISOLTI............................................... ......... 89 3.3. STRUTTURA E MODALITÀ DI FUNZIONAMENTO DEL SISTEMA EXPERT ................................................ .... 99 3.4. TECNOLOGIA PER LO SVILUPPO DI SISTEMI ESPERTI ............................................. ................... 102 3.5. STRUMENTI DEL SISTEMA ESPERTO ................................................ 113 3.6. SISTEMI INFORMATIVI INTELLIGENTI ................................................ ... 129 ESERCIZI ............................................. .................................................. ............... 135 DOMANDE PER IL SELF-CHECK-IN .............. .............. ................................... ............... .. 136 LETTERATURA .................................. ............... .................................................................. ........... 138 CAPITOLO 4. IL PROLOGO COME LINGUAGGIO DI PROGRAMMAZIONE LOGICA ................................ ................................................... .. ........... 139 4.1. VISTA DELLA PROGRAMMAZIONE LOGICA ................................................ 139 4.2. RAPPRESENTAZIONE DELLE CONOSCENZE SULL'AREA TEMATICA COME FATTI E REGOLE DELLA BASE DI CONOSCENZA DEL PROLOGO.................................... ............................................................. ............................. 140 4.3 . SIGNIFICATO DESCRIZIONE, PROCEDURA E MACCHINA DEL PROGRAMMA SUL PROLOGO............................. ..................................................... .................................. 148 4.4. TECNICHE BASE DI PROGRAMMAZIONE IN PROLOG ............................................. 151 4.5. AMBIENTE PROLOGO VISIVO ................................................ .................................. 154 ESERCIZI .............. ................. ................................. .................................................. .. 194 LETTERATURA .............................................. ................. ................................. ........ 197 -3- CAPITOLO 5. INTRODUZIONE ALLA PROGRAMMAZIONE FUNZIONALE. .................................................. ................................ 199 5.1. STORIA DELLA PROGRAMMAZIONE FUNZIONALE ................................................ .... 200 5.2. PROPRIETA' DEI LINGUAGGI FUNZIONALI DI PROGRAMMAZIONE 203 5.3. ATTIVITÀ DI PROGRAMMAZIONE FUNZIONALE ................................................ .................. 207 ESERCIZI ................................. ................................................................... ................................................... ................... 210 RISPOSTE DI AUTOTEST.... ................... ................................ ................... 210 LETTERATURA ................................ ................... ................................ .................... ..... 211 GLOSSARIO .................. ................... ............................. ..................... ......... 213 APPENDICE 1 .................. ................... ............................. ..................... .... 221 APPENDICE 2 ..................................................... ........................................................... 252 APPENDICE 3 ......................................................... ................................ ..................... 265 -4 - PREFAZIONE Di recente, c'è stato un aumento dell'interesse per l'intelligenza artificiale, causato dall'aumento dei requisiti per sistemi di formazione. L'umanità si sta muovendo costantemente verso una nuova rivoluzione informatica, paragonabile in scala allo sviluppo di Internet. L'intelligenza artificiale è una branca dell'informatica, il cui scopo è lo sviluppo di strumenti hardware e software che consentono 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 . La storia dell'intelligenza artificiale come nuova direzione scientifica inizia a metà del XX secolo. A questo punto, si erano già formati molti prerequisiti per la sua origine: tra i filosofi c'erano state a lungo controversie sulla natura dell'uomo e sul processo di conoscenza del mondo, neurofisiologi e psicologi hanno sviluppato una serie di teorie sul lavoro del cervello umano e pensiero, economisti e matematici hanno posto domande sui calcoli ottimali e sulla rappresentazione della conoscenza del mondo in forma formalizzata; infine, nacque il fondamento della teoria matematica della computazione - la teoria degli algoritmi - e furono creati i primi computer. Lo scopo di questo manuale è presentare le principali direzioni e metodi utilizzati nell'intelligenza artificiale, nonché determinare la possibilità del loro utilizzo nell'attività pedagogica professionale. Questo tutorial è composto da cinque capitoli. Il primo fornisce una breve introduzione all'intelligenza artificiale: viene considerata la storia del suo sviluppo come direzione scientifica, vengono evidenziate le principali aree dell'intelligenza artificiale e aspetti filosofici del problema come la possibilità di esistenza, sicurezza e utilità di si considera l'intelligenza artificiale. Il secondo capitolo è dedicato alla descrizione dei modelli classici di rappresentazione della conoscenza: logica, semantica, frame, produzione e rete neurale. Il terzo capitolo affronta le questioni teoriche e pratiche dello sviluppo di sistemi esperti; descrive il wrapper XpertRule. Il quarto capitolo delinea i principi di base della programmazione nel linguaggio Prolog, descrive l'ambiente Visual Prolog. Il quinto capitolo copre le basi della programmazione funzionale con esempi LISP. Il manuale contiene un gran numero di illustrazioni, esercizi e domande per l'autocontrollo. Per comodità di studio del materiale, viene fornito un glossario. -5- CAPITOLO 1. INTRODUZIONE ALL'INTELLIGENZA ARTIFICIALE L'intelligenza artificiale (AI) è una nuova area dell'informatica, il cui oggetto è qualsiasi attività intellettuale umana che obbedisce a leggi conosciute. In senso figurato, questa direzione è chiamata “il primogenito dell'informatica”, poiché molti problemi da essa irrisolti stanno gradualmente trovando una soluzione nell'ambito dell'intelligenza artificiale. È noto che il tema dell'informatica è l'elaborazione delle informazioni. Il campo dell'IA comprende tali casi (compiti) da questa elaborazione che non possono essere eseguiti con metodi algoritmici semplici e accurati, e di cui ce ne sono moltissimi. L'IA si basa sulla conoscenza del processo del pensiero umano. Allo stesso tempo, non si sa esattamente come funzioni il cervello umano, tuttavia, per sviluppare programmi efficaci con elementi di intelligenza artificiale, la conoscenza delle caratteristiche dell'intelligenza umana che la scienza ha oggi è già sufficiente. Allo stesso tempo, l'IA non cerca di copiare esattamente il lavoro del cervello umano, ma cerca di simularne le funzioni utilizzando la tecnologia informatica. Dal momento stesso della sua nascita, l'IA si è sviluppata come una direzione interdisciplinare che interagisce con l'informatica e la cibernetica, le scienze cognitive, la logica e la matematica, la linguistica e la psicologia, la biologia e la medicina (Fig. 1). Informatica e cibernetica. Molti specialisti sono arrivati ​​all'IA dall'informatica e dalla cibernetica. Inoltre, molti problemi combinatori che non possono essere risolti con i metodi tradizionali in informatica sono migrati nel campo dell'IA. Inoltre, i risultati ottenuti nell'IA vengono presi in prestito durante la creazione di software e diventano parte dell'Informatica (informatica). Scienze cognitive. Le scienze cognitive sono scienze della conoscenza. L'IA si occupa anche di conoscenza. Ma le scienze cognitive non utilizzano solo approcci informativi e neurobiologici, ma considerano anche gli aspetti sociali e psicolinguistici dell'uso della conoscenza. Logica e matematica. La logica è alla base di tutti i formalismi di rappresentazione della conoscenza conosciuti, nonché di linguaggi di programmazione come Lisp e Prolog. Per risolvere i problemi di intelligenza artificiale, vengono utilizzati metodi di matematica discreta, teoria dei giochi e teoria delle operazioni. A sua volta, l'IA può essere utilizzata per dimostrare teoremi, risolvere problemi in varie aree della matematica: geometria, calcolo integrale. Psicologia e linguistica. Di recente, gli specialisti dell'IA si sono interessati agli aspetti psicologici del comportamento umano per modellarlo. La psicologia aiuta a costruire modelli di valutazioni di valore, prendendo decisioni soggettive. Interessante è la psicologia della comunicazione -6 - "uomo-computer", la psicolinguistica. La linguistica computazionale è una parte dell'IA che si basa su metodi matematici per l'elaborazione delle lingue naturali e artificiali, da un lato, e sulla fenomenologia del linguaggio, dall'altro. La biologia e la medicina consentono di studiare e comprendere meglio il lavoro del cervello, dei sistemi visivi, dell'udito e di altri sensori naturali e dare un nuovo impulso al campo della modellazione del loro lavoro. Riso. 1. Interazione dell'IA con altre discipline Non esiste un'unica definizione di IA, così come non esiste un'unica definizione di intelligenza naturale. Tra i tanti punti di vista su questo campo scientifico, tre ora dominano. 1. La ricerca nel campo dell'IA è la ricerca fondamentale, nell'ambito della quale vengono sviluppati modelli e metodi per la risoluzione di problemi, che erano tradizionalmente considerati intellettuali e non erano precedentemente suscettibili di formalizzazione e automazione. 2. L'intelligenza artificiale è una nuova direzione nell'informatica associata a nuove idee per la risoluzione di problemi su un computer, con lo sviluppo di una tecnologia di programmazione fondamentalmente diversa, con un passaggio a un'architettura informatica che rifiuta l'architettura classica, che risale al primo computer. 3. Come risultato del lavoro nel campo dell'IA, nascono molti sistemi applicati che risolvono problemi per i quali i sistemi precedentemente creati non erano adatti. -7- Per illustrare il primo approccio, possiamo fare un esempio con una calcolatrice. All'inizio del sec calcoli aritmetici con cifre a più cifre erano la sorte di pochi individui dotati, e la capacità di eseguire tali operazioni aritmetiche nella mente era giustamente considerata un dono unico della natura ed era un oggetto ricerca scientifica . Ai nostri giorni, l'invenzione della calcolatrice ha reso questa capacità disponibile anche a un bambino di terza elementare. Lo stesso vale per l'IA: migliora le capacità intellettuali di una persona, assumendosi la soluzione di compiti che non erano stati precedentemente formalizzati. Per illustrare il secondo approccio, possiamo considerare la storia di un tentativo di creare un computer di quinta generazione. A metà degli anni '80, il Giappone annunciò l'inizio di un ambizioso progetto per creare computer di quinta generazione. Il progetto si basava sull'idea di una implementazione hardware del linguaggio PROLOG. Tuttavia, il progetto si è concluso con un fallimento, sebbene abbia avuto una forte influenza sullo sviluppo e sulla distribuzione del linguaggio PROLOG come linguaggio di programmazione. La ragione del fallimento è stata la conclusione affrettata che una lingua (anche se abbastanza universale) può fornire l'unica soluzione per tutti i problemi. La pratica ha dimostrato che finora non è stato inventato un paradigma di programmazione universale per risolvere tutti i problemi ed è improbabile che appaia. Ciò è dovuto al fatto che ogni compito è una parte dell'area disciplinare che richiede uno studio attento e un approccio specifico. I tentativi di creare nuove architetture di computer continuano e sono associati al calcolo parallelo e distribuito, ai neurocomputer, ai processori probabilistici e fuzzy. Il lavoro nel campo della creazione di sistemi esperti (ES) può essere attribuito alla terza direzione più pragmatica dell'IA. I sistemi esperti sono sistemi software che sostituiscono uno specialista umano in aree ristrette dell'attività intellettuale che richiedono l'uso di conoscenze speciali. La creazione di ES nel campo della medicina (come MYCIN) consente di diffondere la conoscenza nelle aree più remote. Pertanto, in combinazione con l'accesso alle telecomunicazioni, qualsiasi medico rurale può ottenere consigli da un tale sistema, sostituendolo con la comunicazione con uno specialista su una questione ristretta. In Russia, AI ha trovato i suoi sostenitori fin dal momento della sua comparsa. Tuttavia, questa disciplina non ha ricevuto immediatamente il riconoscimento ufficiale. L'IA è stata criticata come un sottoramo della cibernetica, considerata "pseudoscienza". Fino a un certo punto, anche il nome scioccante "intelligenza artificiale" ha giocato un ruolo negativo. Quindi, nel Presidium dell'Accademia delle Scienze c'era una battuta sul fatto che "coloro che mancano di intelligenza naturale sono impegnati nell'intelligenza artificiale". Tuttavia, oggi l'IA è una direzione scientifica ufficialmente riconosciuta in Russia, vengono pubblicate le riviste "Control Systems and Machines" e "AI News", si tengono conferenze e seminari scientifici. Esiste un'associazione russa di intelligenza artificiale con circa 200 membri, il cui presidente è il dottore in scienze tecniche D. A.Pospelov, e -8- Presidente Onorario Accademico dell'Accademia Russa delle Scienze G.S.Pospelov. C'è l'Istituto Russo di Intelligenza Artificiale sotto il Consiglio del Presidente della Federazione Russa per l'Informatica e l'Informatica. Nell'ambito dell'Accademia delle scienze russa esiste un consiglio scientifico sul problema dell'"intelligenza artificiale". Con la partecipazione di questo Consiglio sono stati pubblicati molti libri sul tema dell'IA e delle traduzioni. Le opere di D.A. Pospelov, Litvintseva e Kandrashina sono ben note - nel campo della rappresentazione e dell'elaborazione della conoscenza, E.V. Popov e Khoroshevsky - nel campo dell'elaborazione del linguaggio naturale e dei sistemi esperti, Averkin e Melikhov nel campo della logica fuzzy e degli insiemi fuzzy, Stefanyuk - nel campo dei sistemi di apprendimento, Kuznetsov, Finn e Vagin - nel campo della logica e della conoscenza rappresentazione. In Russia esiste una scuola di informatica tradizionalmente forte, che ha origine dal lavoro di Melchuk sul modello SmyslText. Tra i famosi linguisti informatici ci sono Apresyan, Gorodetsky, Paducheva, Narinyani, Leontiev, Chaliapin, Zaliznyak Sr., Kibrik Sr., Baranov e molti altri. ecc. 1.1. La storia dello sviluppo dell'intelligenza artificiale come direzione scientifica L'idea di creare una somiglianza artificiale della mente umana per risolvere problemi complessi e simulare la capacità di pensiero è nell'aria sin dai tempi antichi. Nell'antico Egitto fu creata una statua meccanica "rianimata" del dio Amon. Nell'Iliade di Omero, il dio Efesto forgiò creature umanoidi. In letteratura questa idea è stata riproposta molte volte: dalla Galatea di Pigmalione al Pinocchio di Papa Carlo. Tuttavia, l'antenato dell'intelligenza artificiale è considerato il filosofo, matematico e poeta spagnolo medievale R. Lull (c.1235-c.1315), che nel XIV secolo. ha cercato di creare una macchina per risolvere vari problemi basata su una classificazione generale dei concetti. Nel XVIII sec. G. Leibniz (1646 - 1716) e R. Descartes (1596 - 1650) svilupparono autonomamente questa idea, proponendo lingue universali classificazione di tutte le scienze. Queste idee hanno costituito la base degli sviluppi teorici nel campo della creazione dell'intelligenza artificiale (Fig. 2). Lo sviluppo dell'intelligenza artificiale come direzione scientifica è diventato possibile solo dopo la creazione dei computer. Questo è successo negli anni '40. 20 ° secolo Allo stesso tempo, N. Wiener (1894 - 1964) ha creato le sue opere fondamentali su una nuova scienza: la cibernetica. Il termine intelligenza artificiale fu proposto nel 1956 in un seminario omonimo alla Stanford University (USA). Il seminario è stato dedicato allo sviluppo di problemi logici, non computazionali. Subito dopo il riconoscimento dell'intelligenza artificiale come branca indipendente della scienza, c'è stata una divisione in due aree principali: neurocibernetica e cibernetica "scatola nera". E solo attualmente -9 - sono diventate evidenti le tendenze verso l'unificazione di queste parti nuovamente in un tutto unico. In URSS, nel 1954, presso l'Università statale di Mosca, sotto la guida del professor A.A. Lyapunov (1911 - 1973), iniziò il seminario "Automata and Thinking". Al seminario hanno preso parte importanti fisiologi, linguisti, psicologi e matematici. È generalmente accettato che in questo periodo sia nata l'intelligenza artificiale in Russia. Oltre che all'estero, si sono distinte le direzioni della neurocibernetica e della cibernetica della "scatola nera". Nel 1956-1963. sono state effettuate intense ricerche di modelli e algoritmi del pensiero umano e lo sviluppo dei primi programmi. Si è scoperto che nessuna delle scienze esistenti - filosofia, psicologia, linguistica - può offrire un tale algoritmo. Poi la cibernetica si è offerta di creare i propri modelli. Sono stati creati e testati vari approcci. La prima ricerca nel campo dell'IA è associata alla creazione di un programma per giocare a scacchi, poiché si credeva che la capacità di giocare a scacchi fosse un indicatore di alta intelligenza. Nel 1954, lo scienziato americano Newell concepì l'idea di creare un programma del genere. Shannon ha proposto, e Turing ha specificato, un metodo per creare un tale programma. Gli americani Shaw e Simon, in collaborazione con un gruppo di psicologi olandesi di Amsterdam, sotto la guida di de Groot, hanno creato un tale programma. Lungo la strada, è stato creato un linguaggio speciale IPL1 (1956), progettato per manipolare informazioni in forma simbolica, che è stato il predecessore del linguaggio Lisp (MacCarthy, 1960). Tuttavia, il primo programma di intelligenza artificiale è stato il programma Logic Theorist, progettato per dimostrare teoremi nel calcolo proposizionale (9 agosto 1956). Il programma di scacchi è stato creato nel 1957 (NSS - Newell, Shaw, Simon). La sua struttura e la struttura del programma Logic Theorist hanno costituito la base per la creazione del programma Universal Problem Solver (GPS-General Problem Solving). Questo programma, analizzando le differenze tra le situazioni e costruendo obiettivi, è bravo a risolvere enigmi della torre di Hanoi o calcolare integrali indefiniti. Il programma EPAM (Elementary Perceiving and Memorizing Program) è un programma elementare per la percezione e la memorizzazione, ideato da Feigenbaum. Nel 1957 apparve un articolo di Chomsky, uno dei fondatori della linguistica computazionale, sulle grammatiche trasformazionali. Alla fine degli anni '50. è nato il modello di ricerca a labirinto. Questo approccio rappresenta il problema come un certo grafico che riflette lo spazio degli stati1, e in questo grafico viene eseguita la ricerca del percorso ottimale dai dati di input a quelli risultanti. È stato fatto molto lavoro per sviluppare questo modello, ma nel risolvere problemi pratici l'idea non ha ricevuto ampia diffusione. 1 Lo spazio degli stati è un grafo i cui vertici corrispondono alle situazioni incontrate nel problema (“situazioni problematiche”), e la soluzione del problema si riduce a trovare un percorso in questo grafo. - 10 - Primi anni '60. - l'era della programmazione euristica. Un'euristica è una regola che non è teoricamente giustificata, ma consente di ridurre il numero di iterazioni nello spazio di ricerca. La programmazione euristica è lo sviluppo di una strategia d'azione basata su euristiche note e predeterminate. Negli anni '60 furono creati i primi programmi che funzionavano con query in linguaggio naturale. Il programma BASEBALL (Green et al., 1961) rispondeva alle richieste dei risultati delle passate partite di baseball, il programma STUDENT (Bobrow, 1964) era disponibile per risolvere problemi algebrici formulati in inglese. Riso. 2. Pietre miliari nello sviluppo dell'IA come campo scientifico Grandi speranze sono state riposte sul lavoro nel campo della traduzione automatica, il cui inizio è associato al nome del linguista russo Belskaya. Tuttavia, i ricercatori hanno impiegato molti anni per capire che la traduzione automatica non è un problema isolato e richiede la presenza di una fase così necessaria come la comprensione per avere successo. Tra i risultati più significativi ottenuti dagli scienziati domestici negli anni '60, va notato l'algoritmo "Cortex" di M. Bongard, che simula l'attività del cervello umano nel riconoscimento di schemi. Nel 1963 - 1970. i metodi della logica matematica cominciarono ad essere collegati alla soluzione dei problemi. Un nuovo approccio alla logica formale, basato sulla riduzione del ragionamento a una contraddizione, è apparso nel 1965. - 11 - (J.Robinson). Basandosi sul metodo della risoluzione, che permetteva di dimostrare automaticamente teoremi in presenza di un insieme di assiomi iniziali, nel 1973 è stato creato il linguaggio Prolog. In URSS nel 1954 - 1964. vengono creati programmi separati e viene studiata la ricerca di una soluzione compiti logici . A Leningrado (LOMI - Dipartimento di Leningrado dell'Istituto di Matematica intitolato a V.A.Steklov) è in corso la creazione di un programma che dimostra automaticamente i teoremi (ALPEV LOMI). Si basa sulla derivazione inversa originale di S.Yu.Maslov, simile al metodo di risoluzione Robinson. Nel 1965-1980. si sta sviluppando una nuova scienza: la gestione situazionale (corrisponde alla rappresentazione della conoscenza nella terminologia occidentale). Il fondatore di questa scuola scientifica è il professor D.A. Pospelov. Sono stati sviluppati modelli speciali per rappresentare situazioni - rappresentazioni della conoscenza. All'estero, la ricerca nel campo dell'IA si accompagna allo sviluppo di linguaggi di programmazione di nuova generazione e alla realizzazione di sistemi di programmazione sempre più sofisticati (Lisp, Prolog, Plannar, QA4, Macsyma, Reduce, Refal, ATNL, TMS). I risultati ottenuti iniziano ad essere utilizzati in robotica, quando si controllano robot, fissi o mobili, che operano in uno spazio tridimensionale reale. Ciò solleva il problema della creazione di organi artificiali di percezione. Prima del 1968, i ricercatori lavoravano principalmente con "microspazi" separati, creavano sistemi adatti ad ambiti di applicazione così specifici e limitati come i giochi, la geometria euclidea, il calcolo integrale, "il mondo dei cubi", elaborazione di frasi semplici e brevi con un piccolo vocabolario. Quasi tutti questi sistemi utilizzavano lo stesso approccio: una semplificazione della combinatoria basata sulla riduzione della necessaria enumerazione di alternative basate sul buon senso, l'uso di funzioni di valutazione numerica e varie euristiche. All'inizio degli anni '70, c'è stato un salto di qualità nella ricerca sull'intelligenza artificiale. Ciò è dovuto a due motivi.  Primo. Tutti i ricercatori si sono resi conto gradualmente che tutti i programmi precedentemente creati mancano della cosa più importante: una profonda conoscenza nel campo pertinente. La differenza tra un esperto e una persona comune è che un esperto ha esperienza in un determinato campo, ad es. conoscenze accumulate negli anni.  Secondo. Sorge un problema specifico: come trasferire questa conoscenza in un programma se il suo creatore diretto non ha questa conoscenza. La risposta è chiara: il programma stesso deve estrarli dai dati ricevuti dall'esperto. La ricerca sulla risoluzione dei problemi e sulla comprensione del linguaggio naturale è unita da un problema comune: la rappresentazione della conoscenza. Nel 1970 c'erano - 12 - molti programmi basati su queste idee. Il primo di questi è il programma DENDRAL. È progettato per generare formule strutturali di composti chimici sulla base delle informazioni di uno spettrometro di massa. Il programma è stato sviluppato a Stanford con la partecipazione del premio Nobel D. Lederberg. Ha acquisito esperienza nel processo del proprio funzionamento. L'esperto vi ha inserito molte migliaia di fatti elementari, presentati sotto forma di regole separate. Il sistema in esame è stato uno dei primi sistemi esperti ei risultati del suo lavoro sono sorprendenti. Attualmente, il sistema viene fornito ai consumatori insieme allo spettrometro. Nel 1971, Terry Winograd ha sviluppato il sistema SHRDLU, che simula un robot che manipola i blocchi. Puoi parlare inglese con il robot. Il sistema è interessato non solo alla sintassi delle frasi, ma ne comprende correttamente il significato grazie alla conoscenza semantica e pragmatica del suo “mondo dei cubi”. Dalla metà degli anni '80, l'intelligenza artificiale è stata commercializzata all'estero. Crescono gli investimenti annuali, vengono creati sistemi esperti industriali. Vi è un crescente interesse per i sistemi di autoapprendimento. Nel nostro paese, 1980-1990. sono in corso ricerche attive nel campo della rappresentazione della conoscenza, dei linguaggi di rappresentazione della conoscenza, dei sistemi esperti (più di 300). La lingua REFAL è stata creata presso l'Università statale di Mosca. Nel 1988 viene creata l'IA, l'Associazione di Intelligenza Artificiale. Più di 300 ricercatori sono i suoi membri. Presidente dell'Associazione - D.A. Pospelov. I centri più grandi si trovano a Mosca, San Pietroburgo, Pereslavl-Zalessky, Novosibirsk. 1.2. Le principali direzioni di ricerca nel campo dell'intelligenza artificiale L'IA è attualmente un campo scientifico in rapido sviluppo e altamente ramificato. Solo nella linguistica computazionale nel mondo si tengono più di 40 conferenze all'anno. In quasi tutti i paesi europei, oltre a USA, Canada, Giappone, Russia, Sud-est asiatico, si tengono regolarmente conferenze nazionali sull'IA. In Russia, questo evento si tiene ogni due anni sotto gli auspici dell'Associazione russa per l'IA (RAAI). Inoltre, ogni due anni si tiene la Conferenza internazionale congiunta sull'IA (IJCAI). Più di 3mila periodici pubblicano risultati scientifici in questo ambito. Non esiste una classificazione completa e rigorosa di tutte le aree dell'IA; un tentativo di classificare i compiti che l'IA risolve è mostrato in Fig. 3. Secondo D.A. Pospelov in AI, ci sono due approcci dominanti alla ricerca nel campo dell'IA: neurobionico e informativo (Fig. 4 e 5). - 13 - Compiti Generale Esperto formale Percezione del gioco (Scacchi, Go, Puzzle) Ingegneria Elaborazione del linguaggio naturale Matematica Analisi scientifica Senso comune Ragionamento Geometria Analisi finanziaria Controllo robot Verifica del programma Diagnostica medica 3. Compiti dell'IA I proponenti del primo si sono posti l'obiettivo di riprodurre artificialmente i processi che avvengono nel cervello umano. Questa direzione si trova all'incrocio tra medicina, biologia e cibernetica. Allo stesso tempo, studiano il cervello umano, identificano come funziona, creano mezzi tecnici per ripetere le strutture biologiche e i processi che si verificano in esse. Il campo dell'IA può essere condizionatamente suddiviso in cinque sezioni principali: - strutture simil-neuronali; − programmi per la risoluzione di problemi intellettuali; − sistemi basati sulla conoscenza; − programmazione intellettuale; − sistemi intelligenti. Ciascuna sezione può essere rappresentata come segue (vedere la Figura 4-9). - 14 - Fig. 4. Strutture neurali Fig. 5. Programmi per la risoluzione di problemi intellettuali 6. Sistemi basati sulla conoscenza - 15 - Fig. 7. Programmazione intelligente 8. Sistemi intelligenti 1.3. Aspetti filosofici del problema dell'intelligenza artificiale Il principale problema filosofico nel campo dell'intelligenza artificiale è legato alla ricerca di una risposta alla domanda: è possibile o meno simulare il pensiero umano. Nel caso in cui venga mai ricevuta una risposta negativa a questa domanda, tutte le altre domande nel campo dell'IA non avranno il minimo senso. Pertanto, quando si inizia lo studio dell'intelligenza artificiale, si presume in anticipo una risposta positiva. Evidenza della possibilità di modellare il pensiero umano. 1. Scolastico: la consistenza dell'intelligenza artificiale e la Bibbia. A quanto pare, anche coloro che sono lontani dalla religione conoscono le parole della Sacra Scrittura: "E il Signore creò l'uomo a sua immagine e somiglianza...". Sulla base di queste parole, possiamo concludere che poiché il Signore, in primo luogo, ha creato le persone e, in secondo luogo, sono essenzialmente simili a Lui, allora le persone sono perfettamente in grado di creare qualcuno a immagine e somiglianza di una persona. 2. Biologico. La creazione di una nuova mente in modo biologico è una cosa abbastanza comune per una persona. Osservando i bambini, vediamo che - 16 - acquisiscono la maggior parte delle conoscenze attraverso la formazione, e non come incorporate in loro in anticipo. Questa affermazione non è stata provata al livello attuale, ma secondo segni esteriori tutto sembra esattamente così. 3. Empirico. Quello che in precedenza sembrava essere l'apice della creatività umana - giocare a scacchi, dama, riconoscere immagini visive e sonore, sintesi di nuove soluzioni tecniche, in pratica si è rivelato un compito non così difficile. Ora il lavoro non viene svolto a livello di possibilità o impossibilità di implementare quanto sopra, ma di trovare l'algoritmo più ottimale - spesso questi problemi non sono nemmeno classificati come problemi di intelligenza artificiale. Si spera che sia possibile anche una simulazione completa del pensiero umano. 4. Possibilità di auto-riproduzione. La capacità di riprodursi è stata a lungo considerata una prerogativa degli organismi viventi. Tuttavia, alcuni fenomeni che si verificano in natura inanimata (ad esempio la crescita di cristalli, la sintesi di molecole complesse mediante copiatura) sono molto simili all'autoriproduzione. All'inizio degli anni '50, J. von Neumann iniziò uno studio approfondito dell'autoriproduzione e gettò le basi per la teoria matematica degli "automi auto-riproducenti". Dimostrò anche teoricamente la possibilità della loro creazione. Esistono anche varie prove informali della possibilità di autoreplicazione, ma per i programmatori la prova più sorprendente, forse, sarà l'esistenza di virus informatici. 5. Algoritmico. La possibilità fondamentale di automatizzare la soluzione di problemi intellettuali con l'ausilio di un computer è fornita dalla proprietà dell'universalità algoritmica. Questa proprietà di un computer significa che è possibile implementare programmaticamente (cioè rappresentare sotto forma di un programma per computer) qualsiasi algoritmo di conversione delle informazioni su di esso. Inoltre, i processi generati da questi algoritmi sono potenzialmente ammissibili, cioè fattibili come risultato di un numero finito di operazioni elementari. La fattibilità pratica degli algoritmi dipende dai mezzi disponibili, che possono cambiare con lo sviluppo della tecnologia. Pertanto, in connessione con l'avvento dei computer ad alta velocità, algoritmi che in precedenza erano solo potenzialmente realizzabili sono diventati praticamente fattibili. Inoltre, il contenuto di questa proprietà è di natura predittiva: ogni volta che in futuro una qualsiasi prescrizione viene riconosciuta dall'algoritmo, allora indipendentemente dalla forma e dal mezzo in cui è inizialmente espressa, può essere specificata anche sotto forma di computer programma. Tuttavia, non si dovrebbe pensare che computer e robot possano, in linea di principio, risolvere qualsiasi problema. L'analisi di vari problemi ha portato i matematici a una scoperta notevole. L'esistenza di questo tipo di problemi è stata rigorosamente dimostrata per i quali un unico algoritmo efficiente che risolva tutti i problemi è impossibile. di questo tipo; in questo senso, è impossibile risolvere problemi di questo tipo con l'ausilio di macchine informatiche. Questo fatto contribuisce a una migliore comprensione di cosa possono fare le macchine e cosa non possono fare. In effetti, l'affermazione sull'irrisolvibilità algoritmica di una certa classe di problemi non è solo un'ammissione che un tale algoritmo è sconosciuto e non è stato ancora trovato da nessuno. Tale affermazione è allo stesso tempo una previsione per tutti i tempi futuri che questo tipo di algoritmo non ci è noto e non sarà indicato da nessuno, o, in altre parole, che non esiste. L'IA può essere considerata in una serie di strumenti (intellettuali e non) che sono stati creati e padroneggiati dall'umanità nel percorso del suo sviluppo storico. Questi includono:  utensili manuali;  macchine e macchine;  lingua e discorso;  dispositivi di conteggio;  mezzi di TV e telecomunicazioni. I filosofi sostengono che la produzione di strumenti (nel senso ampio del termine) è l'attività più importante che distingue i nostri antenati dagli altri primati. Gli esseri umani si distinguono tra gli animali per la loro capacità di produrre conoscenze e strumenti. Nessun'altra invenzione tecnologica o socio-politica ha causato una così grande separazione nello sviluppo dell'homo sapience dalle altre specie di fauna selvatica. Sviluppo informatica può essere sostanzialmente suddiviso in due aree: elaborazione digitale ed elaborazione simbolica. La prima direzione ha reso le informazioni molto più convenienti per l'archiviazione, l'elaborazione e la trasmissione rispetto a tutti i precedenti miglioramenti nella tecnologia della carta. Il computer ha superato tutti gli strumenti informatici del passato (abaco, abaco, calcolatrice) in termini di velocità, varietà di funzioni, facilità d'uso. Espandendo costantemente l'ambito dell'automazione nel campo del lavoro mentale monotono, l'elaborazione digitale delle informazioni ha ampliato l'ambito della stampa e della rivoluzione industriale a nuove frontiere. Il secondo ramo della tecnologia informatica, l'elaborazione dei segni (termine di Newell e Simon) o l'intelligenza artificiale, ha consentito al computer di imitare la percezione sensoriale e l'orientamento, il ragionamento e la risoluzione dei problemi, l'elaborazione del linguaggio naturale e altre abilità umane. In altre parole, l'IA lo è il nuovo tipo toolkit, alternativo a quelli esistenti. Questa realtà ha costretto i filosofi dell'IA ad andare oltre la domanda "È possibile creare una macchina intelligente?" al problema dell'influenza degli strumenti intellettuali sulla società. Si considera, tra l'altro, il possibile effetto sociale dello sviluppo dell'IA, vale a dire: - 18 - un aumento del livello di intelligenza dell'intera società, che darà nuove scoperte, invenzioni e una nuova comprensione dell'umanità stessa.  cambiamento nella situazione in cui la maggioranza delle persone è il mezzo e lo strumento di produzione. La prossima domanda filosofica dell'IA è lo scopo della creazione. In linea di principio, tutto ciò che facciamo nella vita pratica è di solito volto a non fare altro. Tuttavia, con un tenore di vita sufficientemente elevato (una grande quantità di energia potenziale) di una persona, non è più la pigrizia (nel senso del desiderio di risparmiare energia), ma gli istinti di ricerca che giocano i primi ruoli. Supponiamo che una persona sia riuscita a creare un intelletto che supera il proprio (se non in qualità, quindi in quantità). Cosa accadrà ora all'umanità? Che ruolo avrà la persona? Perché è necessario adesso? E in generale, è necessario in linea di principio creare l'IA? Apparentemente, la risposta più accettabile a queste domande è il concetto di "amplificatore di intelligenza" (IA). Secondo SL Sotnik, qui è appropriata un'analogia con il presidente dello stato: non è tenuto a conoscere la valenza del vanadio o il linguaggio di programmazione Java per prendere una decisione sullo sviluppo dell'industria del vanadio. Ognuno fa le sue cose: un chimico descrive un processo tecnologico, un programmatore scrive un programma; l'economista dice al presidente che investendo nello spionaggio industriale, il paese riceverà il 20% e nell'industria del vanadio il 30% all'anno. Penso che con una tale formulazione della domanda, chiunque possa fare la scelta giusta. In questo esempio, il presidente utilizza un'IA biologica, un gruppo di specialisti con i loro cervelli proteici. Ma le MI non viventi vengono già utilizzate, ad esempio computer, dispositivi informatici di bordo. Inoltre, una persona utilizza da tempo amplificatori di potenza (SS), un concetto che è per molti aspetti simile all'interfaccia utente. Auto, gru, motori elettrici, presse, pistole, aeroplani e molto altro ancora servono da amplificatori di potenza. La principale differenza tra UI e CS è la presenza della volontà: la prima può avere i suoi “desideri” e agire diversamente da quanto ci si aspetta da essa. Pertanto, si pone il problema della sicurezza dei sistemi di intelligenza artificiale. Come evitare quelle conseguenze negative che accompagnano ogni nuova conquista della rivoluzione scientifica e tecnologica? Questo problema perseguita le menti dell'umanità sin dai tempi di Karel Capek, che per primo usò il termine "robot". Anche altri scrittori di fantascienza hanno contribuito notevolmente alla sua discussione. I più famosi sono una serie di storie dello scrittore e scienziato di fantascienza Isaac Asimov, in cui si può trovare la soluzione più sviluppata e accettata dalla maggior parte delle persone al problema della sicurezza. Riguarda sulle tre leggi della robotica. 1. Un robot non può danneggiare una persona o, con la sua inazione, consentire che una persona venga danneggiata.  - 19 - 2. Un robot deve obbedire ai comandi impartitigli da un essere umano, tranne nei casi in cui questi comandi contraddicono la prima legge. 3. Il robot deve avere cura della sua sicurezza, purché non sia in contraddizione con la prima e la seconda legge. Successivamente, Asimov aggiunge la "Legge zero" a questo elenco: "Un robot non può causare danni all'umanità o, con la sua inazione, consentire che si facciano danni all'umanità". A prima vista, tali leggi, se pienamente osservate, dovrebbero garantire la sicurezza dell'umanità. Tuttavia, uno sguardo più attento solleva alcune domande. In primo luogo, le leggi sono formulate in linguaggio umano, il che non consente la loro semplice traduzione in forma algoritmica. Supponiamo che questo problema sia stato risolto. Ora, cosa significherà il sistema di intelligenza artificiale con il termine "danno"? Deciderà che l'esistenza stessa di una persona è un danno completo? Dopotutto fuma, beve, invecchia e perde salute negli anni, soffre. Il male minore non porrebbe rapidamente fine a questa catena di sofferenza? Naturalmente possono essere introdotte alcune integrazioni legate al valore della vita e alla libertà di espressione. Ma queste non saranno più le semplici tre leggi che erano nell'originale. Inoltre: cosa deciderà il sistema di IA in una situazione in cui salvare una vita è possibile solo a spese di un'altra? Di particolare interesse sono quei casi in cui il sistema ha n informazioni complete su chi è chi. Tuttavia, nonostante questi problemi, queste leggi sono una buona base informale per testare l'affidabilità del sistema di sicurezza per i sistemi di intelligenza artificiale. Quindi, non esiste davvero un sistema di sicurezza affidabile? Sulla base del concetto di interfaccia utente, possiamo offrire la seguente opzione. Secondo numerosi esperimenti, nonostante la mancanza di dati affidabili su ciò di cui ogni singolo neurone nel cervello umano è responsabile, molte delle emozioni di solito corrispondono all'eccitazione di un gruppo di neuroni (insieme neurale) in un'area completamente prevedibile. Sono stati effettuati anche esperimenti inversi, quando la stimolazione di una certa area ha causato il risultato desiderato. Potrebbero essere emozioni di gioia, oppressione, paura, aggressività. Pertanto, sembra possibile considerare il grado di soddisfazione del cervello dell'ospite umano come una funzione oggettiva. Se prendi misure per escludere l'attività autodistruttiva in uno stato di depressione, oltre a provvedere ad altri stati speciali della psiche, ottieni quanto segue. Poiché si presume che una persona normale non danneggerà se stessa e, per nessun motivo speciale, gli altri, e l'interfaccia utente ora fa parte di questo individuo (non necessariamente una comunità fisica), tutte e tre le leggi della robotica valgono automaticamente. Allo stesso tempo, i problemi di sicurezza vengono spostati nel campo della psicologia e delle forze dell'ordine, poiché - 20 - il sistema (addestrato) non farà nulla che il suo proprietario non vorrebbe. Domande per l'autocontrollo 1. Che cos'è l'intelligenza artificiale? 2. Con quali aree scientifiche interagisce l'intelligenza artificiale? 3. Descrivere gli approcci per comprendere l'argomento dell'intelligenza artificiale come disciplina scientifica. 4. Descrivi lo stato attuale dell'IA in Russia. 5. Descrivere la fase "pre-computer" nello sviluppo dell'intelligenza artificiale 6. Descrivere lo sviluppo dell'intelligenza artificiale negli anni '40. 20 ° secolo 7. Descrivi lo sviluppo dell'intelligenza artificiale negli anni '50. 20 ° secolo 8. Descrivi lo sviluppo dell'intelligenza artificiale negli anni '60. 20 ° secolo 9. Descrivi lo sviluppo dell'intelligenza artificiale negli anni '70. 20 ° secolo 10. Descrivi lo sviluppo dell'intelligenza artificiale negli anni '80. 20 ° secolo 11. Descrivi i principali compiti dell'intelligenza artificiale. 12. Quali sezioni sono assegnate nel campo dell'intelligenza artificiale? 13. Fornire prove della possibilità di modellare il pensiero umano. 14. Cosa giustifica il passaggio al problema dell'influenza degli strumenti intellettuali sulla società? 15. Quali sono le cause e come si può risolvere il problema della sicurezza dei sistemi di intelligenza artificiale? Letteratura 1. Luger, J., F. Intelligenza artificiale: strategie e metodi per risolvere problemi complessi: per. dall'inglese / George F. Luger. - M.: Williams Publishing House, 2003. - 864 p. 2. Fondamenti di intelligenza artificiale / B.V. Kostrov, V.N. Ruchkin, VA Fulin. – M.: DESS, Tekhbuk, 2007. – 192 pag. 3. Sito web dell'Associazione russa di intelligenza artificiale. – Modalità di accesso: http://www.raai.org/ 4. Sotnik, S.L. Fondamenti di progettazione di sistemi di intelligenza artificiale: lezioni frontali. – Modalità di accesso: http://newasp.omskreg.ru/intellect/f25.htm 5. Russell, S. Intelligenza artificiale: un approccio moderno / Stuart Russell, Peter Norvig. – M.: Williams Publishing House, 2006. – 1408 p. - 21 - CAPITOLO 2. MODELLI DI RAPPRESENTAZIONE DELLA CONOSCENZA 2.1. Conoscenza Quali tipi di conoscenza sono necessari per abilitare un comportamento "intelligente"? Il "segreto" della fenomenologia del modello di conoscenza sta nel mondo che ci circonda. Nel caso generale, il modello di rappresentazione della conoscenza dovrebbe fornire una descrizione diversa degli oggetti e dei fenomeni che lo compongono argomento , in cui l'agente intelligente deve lavorare. L'area tematica è una parte della realtà associata alla soluzione di un problema. Un agente intelligente è un sistema (umano, programma) che ha capacità intellettuali. La conoscenza è i modelli rivelati dell'area disciplinare (principi, connessioni, leggi). La conoscenza ha una struttura più complessa dei dati (metadati). Allo stesso tempo, la conoscenza è specificata sia estensivamente (cioè, attraverso un insieme di fatti specifici corrispondenti a un dato concetto e relativi all'area disciplinare) sia intensionalmente (cioè, attraverso proprietà corrispondenti a un dato concetto e uno schema di relazioni tra attributi ). Tipi di conoscenza Oggetti. Di solito, una persona rappresenta la conoscenza in termini di fatti sugli oggetti che lo circondano. Per questo motivo, devono esserci modi per rappresentare oggetti, classi (categorie, tipi) di oggetti, descrivere proprietà e interazioni di oggetti. Un modo per classificare gli oggetti è una gerarchia di classi. Inoltre, è necessario distinguere tra oggetti astratti che vengono utilizzati per denotare gruppi (insiemi, classi) di individui. Esempio "Gli uccelli hanno le ali" "Le colombe sono uccelli" "La neve è bianca" "Questo libro è nuovo" - singoli oggetti Situazioni - tutti i tipi di interazioni tra oggetti. Esempio “Ieri ha piovuto” “Il treno era in ritardo di 10 minuti” Un esempio della classificazione delle situazioni proposta da Paducheva è riportato in Fig. 9. Inoltre, per poter descrivere le situazioni in se stesse, il modello di presentazione deve essere in grado di descrivere la collocazione degli eventi sull'asse del tempo, nonché la loro relazione causale. Situazioni Stati statici Proprietà e relazioni costanti Processi dinamici Incidenti stabili Risultati temporanei Eventi Fig. 9. Un esempio della classificazione delle situazioni proposta da Paducheva Quando si presenta una gerarchia di oggetti e relazioni, la difficoltà principale è la scelta della base, cioè proprietà (attributo) in base alla quale avviene la divisione. Di solito, anche se una persona distingue facilmente tra diversi tipi di oggetti e situazioni della vita, il tentativo di classificazione verbale presenta un grosso problema. Procedure. Il comportamento (ad esempio: il ciclismo) richiede una conoscenza che va oltre la conoscenza dichiarativa degli oggetti e delle relazioni tra di essi. Questa è la conoscenza su come fare questa o quell'azione, che è chiamata conoscenza procedurale o esperienza (abilità). Come andare in bicicletta, i comportamenti più coscienti (come la comunicazione, la comprensione o la dimostrazione di teoremi) implicano conoscenze procedurali ed è spesso difficile distinguere chiaramente tra conoscenza procedurale e conoscenza oggettuale. Esempio Il termine "dottrina" - descrive la situazione di mancanza di conoscenza procedurale di una persona che si spaccia per specialista Meta-conoscenza - conoscenza della conoscenza: circa il volume e l'origine della conoscenza su un particolare oggetto, sull'affidabilità informazione specifica o sull'importanza relativa dei singoli fatti. La meta-conoscenza include anche - 23 - ciò che le persone sanno delle proprie capacità di elaboratore di conoscenze: punti di forza, di debolezza, livelli di esperienza in varie aree e senso di progresso nella risoluzione dei problemi. Classificazione della conoscenza Per profondità:  Conoscenza superficiale (un insieme di associazioni empiriche e relazioni causali tra i concetti dell'area disciplinare).  Conoscenze approfondite (astrazioni, immagini, analogie, che riflettono la comprensione della struttura dell'area disciplinare e il rapporto dei singoli concetti). Per esistenza:  Fatti (circostanze ben note).  Euristica (conoscenza dall'esperienza di esperti). In termini di rigidità:  Conoscenza rigida (consente di ricevere raccomandazioni chiare e univoche in determinate condizioni iniziali).  conoscenza morbida(consenti soluzioni multiple e vaghe e varie opzioni raccomandazioni). Per moduli di presentazione:  Conoscenza dichiarativa (fatti sotto forma di set di dati strutturati).  Conoscenza procedurale (algoritmi sotto forma di procedure di elaborazione dei fatti). A titolo di acquisizione:  Conoscenze scientifiche (conseguite nel corso di formazione e/o studio sistematico).  Conoscenza quotidiana, quotidiana (acquisita nel corso della vita). Per posizionare la base di conoscenza in modo da utilizzarla per risolvere problemi applicati, è necessario descriverla formalmente utilizzando modelli matematici. Come già accennato, la rappresentazione della conoscenza è possibile con l'ausilio di modelli dichiarativi e procedurali. I modelli dichiarativi tipici di solito includono modelli di rete e frame; a procedurale - logico e produttivo. Dal punto di vista dell'approccio alla rappresentazione della conoscenza in un computer, i modelli di rappresentazione della conoscenza possono essere classificati come segue: Basati sull'approccio euristico: modelli "troika", produzione, frame, rete Basati sull'approccio teorico: basati su logica formale e basata sulla "logica umana" - modale e multivalore. - 24 - 2.2. Modello logico di rappresentazione della conoscenza Concetti di base della logica La maggior parte delle persone pensa che la parola "logico" significhi "ragionevole". Pertanto, se una persona ragiona logicamente, il suo ragionamento è giustificato, quindi non consente conclusioni affrettate. La logica è la scienza delle forme e dei metodi del pensiero corretto. Ciò significa che, dato il numero richiesto di fatti veri, la conclusione deve essere sempre vera. D'altra parte, se la conclusione logica non è valida, significa che è stata tratta una conclusione falsa basata sui fatti veri. È necessario separare i concetti di logica formale e informale. Una caratteristica distintiva della logica informale è che viene utilizzata nella vita di tutti i giorni. Una dimostrazione logica complessa è una catena di conclusioni logiche in cui una conclusione porta a un'altra, e così via. Nella logica formale, detta anche logica simbolica, ciò che conta è come viene eseguita la conclusione logica, come vengono presi in considerazione altri fattori che forniscono la prova della verità o falsità della conclusione finale in modo valido. La logica ha bisogno anche della semantica per dare significato ai simboli. La logica formale utilizza una semantica basata non sull'uso di parole che portano un carico emotivo, ma sulla scelta di nomi significativi per le variabili, come la programmazione. Come la matematica, la logica studia direttamente oggetti non empirici, ma astratti. Ciò solleva la domanda: qual è la natura o lo stato ontologico degli oggetti astratti? Di che tipo di oggetti astratti stiamo parlando? Nella logica (classica) si distinguono due varietà fondamentali di oggetti astratti: − concetti (proprietà); − relazioni. I concetti possono essere semplici o complessi. I concetti complessi sono un insieme di concetti relativamente più semplici (proprietà semplici) interconnessi da una o dall'altra relazione. Gli oggetti astratti più complessi sono giudizi, costruzioni che sono anche concetti e relazioni definite. I giudizi, a loro volta, sono elementi strutturali di inferenze (sistemi di giudizi) e le inferenze sono elementi strutturali di concetti e teorie (sistemi di inferenze). Sulla Fig. 10 mostra la gerarchia dei tipi di oggetti astratti nella logica classica. La specificità della logica sta nel fatto che studia le relazioni più generali, universali, o relazioni, tra oggetti astratti. In accordo con ciò, vi è il seguente obiettivo - 25 - definizione della logica: "La logica è la scienza delle relazioni universali (generalmente valide) tra concetti, giudizi, inferenze e altri oggetti astratti". Concetti e teorie (sistemi di inferenza) Inferenze (sistema di giudizi) Sentenze Concetti (proprietà) Relazioni Fig. 10. Gerarchia dei tipi di oggetti astratti nella logica classica Esempio “Studente” è un concetto. "Affiliazione" è una proprietà. "Studente diligente", "Studente del 4° anno" - relazioni. “Una persona studia all'università” è un giudizio. "Se una persona studia in un istituto, allora è uno studente o uno studente laureato" - una conclusione. "Teoria del calcolo dei predicati del primo ordine" è un concetto. I concetti concettuali sono oggetti astratti accessibili alla comprensione umana come proprietà (caratteristiche) semplici e complesse di oggetti empirici. Il concetto si oppone a entità quali: "parola", "percezione", "oggetto empirico". Il concetto è un'unità universale di pensiero e la base dell'attività intellettuale. Le caratteristiche più importanti del concetto sono il contenuto e il volume. Tutte le caratteristiche logiche e le operazioni logiche sono il risultato della conoscenza inferenziale dalla legge del rapporto inversamente proporzionale tra il contenuto e la portata del concetto. Qualsiasi concetto ha lo scopo del concetto (ambito concettuale) e si aggiunge allo scopo del concetto (Fig. 11, 12). Lo scopo di un concetto è un insieme (insieme) di tutti quegli empirici (oggetti individuali) a cui questo concetto è inerente (come proprietà, segno). - 26 - Supplemento al volume - la totalità di tutti quegli oggetti empirici che non hanno questo concetto. Concetto Х а1 а2 V Volume а3 Fig. 11. Concetto X, ambito del concetto X, elemento dello scopo (a1, a2, a3) Х Non Х Fig. 12. Scopo e complemento Esempio Concetto: modello di dati fattuali. Ambito del concetto: modelli di dati relazionali, di rete, gerarchici Integrazione dello scopo: modelli di dati documentari (descrittore, thesaurus, modelli di dati orientati al formato del documento) I concetti possono essere dei seguenti tipi: 1) per ambito: a. uniforme (U = 1 elemento, KAMAZ); B. generale (elemento U>1, stabilimento automobilistico di Mosca); 2) dall'esistenza di elementi: a. non vuoto (studente); B. vuoto (kolobok); 3) dalla struttura degli elementi: a. non collettivo (Polo Nord); B. collettivo (debitore); 4) per contenuto: a. irrilevante(pubblico); B. correlativo (genitori); 5) dalla presenza di qualità, proprietà, relazioni a. positivo (virtù); B. negativo (reato); 6) dalla qualità degli elementi: a. registrato (Rivista "Open Systems", 1/2008); B. non registrato (intelligentsia), astratto; 7) per la natura dell'oggetto: a. specifico (penna); - 27 - b. astratto (modello). Sulla base dei tipi elencati, è possibile fornire una descrizione logica di qualsiasi concetto, ovvero mostrare l'uso del concetto in tutti e sette i sensi. Ad esempio, il concetto di debitore è generale, non vuoto, collettivo, correlativo, positivo, non registrabile e specifico. Metodi di base di comprensione dei concetti I principali metodi di comprensione di un concetto includono: - astrazione; − confronto; − generalizzazione; − analisi; − sintesi. L'astrazione è la selezione mentale (comprensione) di una certa proprietà o relazione astraendo da altre proprietà o relazioni di un oggetto empirico. Il confronto è l'instaurazione di somiglianze o differenze tra oggetti. La generalizzazione è la selezione mentale di un concetto confrontando alcuni altri concetti. Astrazione, confronto e generalizzazione sono tecniche strettamente correlate tra loro. Possono essere chiamate "procedure cognitive". Il confronto è impossibile senza riguardo all'astrazione. La generalizzazione implica il confronto e allo stesso tempo non è altro che una sorta di astrazione complessa, ecc. L'analisi è la divisione mentale di un oggetto empirico o astratto nelle sue componenti strutturali costitutive (parti, proprietà, relazioni). La sintesi è l'unione mentale di vari oggetti in un oggetto integrale. Esempi 1. Il confronto delle persone per altezza comporta l'astrazione per evidenziare la proprietà "crescita" del concetto di "persona". 2. Generalizzazione: "sedia" e "tavolo" - "mobili". Correlazione di concetti Per spiegare le relazioni tra concetti, è possibile utilizzare diagrammi sotto forma di cerchi di Eulero (Fig. 13). Esempi Uniforme (equivalente): Kazan è la capitale. Indipendente (attraversamento): passeggero-studente. Presentazione: albero - betulla. Di fronte (contrarità): bianco e nero. - 28 - Conraditorio: bianco - non bianco. Subordinazione (subcontrario): ufficiali (capitano maggiore). La divisione logica del concetto è la divisione dell'ambito del concetto in parti non intersecanti basate su qualche attributo. Concetti X, Y Incompatibile M(X)M(Y)= Compatibile M(X)M(Y) Indipendente Contradittorio Y=Non-X X Y X M(X)M(Y); M(X)M(Y)M(X); M(X)M(Y)M(Y) M(X)M(Y)=U Identità contatore (uniforme) X, YXYM(X)= M(Y) M(X)M(Y) UX subordinato a YXYM(X)M(Y)=M(X) Fig. 13. Correlazione di concetti In questo caso si hanno: − concetto generico X; − membri della divisione (concetti di specie A e B); − base di divisione (cioè segno). - 29 - Tre regole di divisione logica. 1. La regola dell'incompatibilità. I volumi dei concetti di specie non dovrebbero intersecare (cioè, i membri della divisione non dovrebbero essere incompatibili tra loro); 2. Regola di sequenza. Non puoi dividere in una volta per più motivi; 3. La regola della proporzionalità. La somma dei volumi dei concetti specifici dovrebbe essere uguale al volume del concetto generico. La divisione dicotomica (la forma più rigorosa) è la divisione dei concetti secondo il principio di contraddizione (A, non-A). Le classificazioni sono determinati sistemi (insiemi ordinati) di concetti specifici. Le classificazioni vengono utilizzate per cercare nuove relazioni tra concetti, nonché per sistematizzare le conoscenze esistenti. Esempio 1. La tavola periodica è un esempio di classificazione scientifica degli elementi chimici. 2. Un esempio di classificazione dei sistemi informativi (SI) è mostrato nella figura seguente. Basi di divisione: scopo funzionale. A, B, C sono esempi di sistemi informativi secondo questa classificazione. IS Sistemi factografici Sistemi di intelligenza artificiale Sistemi documentali IS "University" Lingvo "Consultant Plus" A B C Fig. 14. Esempio di classificazione Le tecniche di comprensione dei concetti (astrazione, confronto, generalizzazione, analisi, sintesi, divisione) sono procedure cognitive universali e fondamentali che non sono state ancora modellate con successo nell'ambito dell'intelligenza artificiale. Questa è una delle sezioni fondamentali della logica classica, che deve essere integrata nella teoria delle basi di conoscenza. Successivamente, i compiti di modellare tali atti mentali come ipotesi, l'insegnamento della conoscenza dichiarativa diventeranno disponibili e le procedure di inferenza diventeranno più capienti. - 30 - Giudizio Il giudizio è un oggetto strutturalmente complesso che riflette la relazione oggettiva tra l'oggetto e la sua proprietà. Il giudizio si oppone a entità quali: “frase”, “percezioni”, “scene del mondo reale”. Esempio. Le seguenti frasi esprimono la stessa proposizione: - "Uno squalo è un pesce predatore"; - "Tutti gli squali sono pesci predatori". - "I pesci predatori sono gli squali". La logica classica considera la struttura di una proposizione semplice in un'interpretazione leggermente diversa da quella consueta negli studi logico-linguistici moderni. Quindi, in accordo con i concetti della logica classica sulla struttura di un giudizio, un giudizio semplice è un oggetto astratto, i cui principali elementi strutturali sono: − un concetto individuale (CI); − concetto di predicato (PC); − relazione di predicazione (RP). Esempi Data la frase: "Platone è un filosofo". In questa frase, che esprime la proposizione S: "Platone" è un soggetto logico, cioè un simbolo che denota il concetto individuale di giudizio S. "Filosofo" è un predicato logico, cioè un simbolo che denota il concetto predicato della proposizione S. “Essere” è un legame soggetto-predicato, cioè un simbolo che denota una relazione di predicazione. Possiamo quindi trarre la seguente conclusione intermedia: - un concetto individuale è un sistema di concetti, considerato come un'entità concettuale, un oggetto empirico; - concetto predicato - un concetto considerato come una proprietà di un particolare oggetto empirico; - relazione di predicazione - una relazione che collega i concetti individuali e predicati di un oggetto empirico in un oggetto astratto integrale. Inoltre, si possono distinguere diversi tipi di giudizi semplici (vedi Fig. 15). Esistono diversi modi per formalizzare giudizi elementari. - 31 - 1a via. Il linguaggio naturale, tradizionalmente considerato ingombrante e impreciso, ma non è stato ancora inventato un metodo formale che possa essere paragonato nella sua universalità al linguaggio naturale. Semplici giudizi Attributivo Sui rapporti di Esistenza I monaci, di regola, sono modesti Magnitogorsk al sud di Chelyabinsk Ci sono abeti blu Pic. 15. Tipi di giudizi semplici 2° metodo. Logica aristotelica tradizionale. 3a via. Logica simbolica moderna. I principali tipi di giudizi complessi Oltre ai giudizi espressi nella logica aristotelica da enunciati della forma A, E, I, O (vedi p. Logica di Aristotele), esistono vari tipi di giudizi complessi. Quanto più complesso è il giudizio, tanto più difficile è formalizzarlo accuratamente attraverso la logica aristotelica tradizionale, e in alcuni casi tale formalizzazione è semplicemente impossibile. Pertanto, l'analisi della struttura logica dei giudizi complessi è utile da svolgere attraverso la logica simbolica moderna, ivi compresi i mezzi della logica proposizionale e della logica predicativa (si vedano i relativi paragrafi del paragrafo). Le principali tipologie di giudizi complessi sono − congiuntivo; − disgiuntivo; − implicativo; - modale: o aletico (necessario, forse per caso); o epistemico (so, credo, credo, credo); o deontico (deciso, proibito); o assiologico (buono, cattivo); o temporale (nel passato, prima, ieri, domani, nel futuro); - domande: o se - domande; o qualcosa si interroga. C'è anche una continuità di classi di logica e metodi di intelligenza artificiale. - 32 - Inferenza Per inferenza (nella logica tradizionale) si intende una qualche forma di pensiero mediante la quale si effettua un passaggio mentale (chiamato "inferenza") da una o più proposizioni (chiamate "premessa") a qualche altra proposizione (chiamata "conclusione" ). Pertanto, una conclusione è un oggetto astratto complesso in cui, con l'aiuto di determinate relazioni, uno o più giudizi vengono combinati in un unico insieme. Il termine sillogismo è usato per denotare una conclusione in logica. I sillogismi sono formali o informali. I primi sillogismi formali furono usati da Aristotele. La sillogistica da lui sviluppata (la teoria dei sillogismi formali, cioè le inferenze) ha avuto un impatto significativo sullo sviluppo della logica antica e scolastica, è servita come base per la creazione della moderna teoria logica delle inferenze. Per consolidare i concetti di logica, è necessario completare gli esercizi a pagina 78. Leggi della logica Le leggi logiche più importanti includono: - identità (ogni oggetto è identico solo a se stesso); - non incoerenza (le affermazioni che si contraddicono non possono essere contemporaneamente vere); - terzo escluso (su due affermazioni tra loro contraddittorie, una è vera, l'altra è falsa e la terza non è data); - ragione sufficiente (ogni affermazione vera ha una ragione sufficiente, per cui è vera, non falsa). Diamo un'occhiata più da vicino a ciascuna di queste posizioni. I. La legge dell'identità La legge dell'identità dimostra che ogni pensiero è identico a se stesso, "A è A" (A → A), dove A è un pensiero qualsiasi. Ad esempio: "Il sale da tavola NaCl è costituito da Na e Cl". Se questa legge viene violata, sono possibili gli errori elencati di seguito. Amphibolia (dal greco amphibolos - ambiguità, dualità) è un errore logico, che si basa sull'ambiguità delle espressioni linguistiche. Un altro nome per questo errore è "sostituzione tesi". Esempio “Si dice giustamente che la lingua ti porterà a Kiev. E ieri ho comprato una lingua affumicata. Ora posso tranquillamente andare a Kiev". - 33 - L'equivoco è un errore logico, che si basa sull'uso della stessa parola in significati diversi. L'equivoco è spesso usato come espediente retorico artistico. In logica, questa tecnica è anche chiamata "sostituzione di concetti". Esempio “Il vecchio lupo di mare è davvero un lupo. Tutti i lupi vivono nella foresta". Qui l'errore è dovuto al fatto che nel primo giudizio la parola "lupo" è usata come metafora, e nella seconda premessa - nel suo significato diretto. Logomakhia è una disputa sulle parole, quando durante la discussione i partecipanti non possono arrivare a un punto di vista comune a causa del fatto che non hanno chiarito i concetti originali. Pertanto, la legge dell'identità esprime uno dei requisiti più importanti del pensiero logico: la certezza. II. La legge della non contraddizione Questa legge esprime l'esigenza della non contraddizione del pensiero. La legge di non contraddizione dice: due giudizi, di cui uno afferma qualcosa sul soggetto del pensiero ("A è B"), e l'altro nega la stessa cosa sullo stesso soggetto del pensiero ("A non è B" ), non può essere contemporaneamente vero, se nello stesso tempo si afferma o si nega l'attributo B circa l'oggetto del pensiero A, considerato nello stesso tempo e nello stesso rispetto. Ad esempio, i giudizi “Kama è un affluente del Volga” e “Kama non è un affluente del Volga” non possono essere contemporaneamente veri se questi giudizi si riferiscono allo stesso fiume. Non ci sarà contraddizione se affermiamo qualcosa e neghiamo la stessa cosa della stessa persona, che però è considerata in tempi diversi. Pertanto, i giudizi "Questa persona è una studentessa dell'Università statale di Mosca" e "Questa persona non è una studentessa dell'Università statale di Mosca" possono essere contemporaneamente veri se il primo di essi si riferisce a una volta (quando questa persona studia all'Università statale di Mosca), e nel secondo - un altro (quando si è laureato all'università). La legge di non contraddizione indica che di due proposizioni opposte, una è necessariamente falsa. Ma poiché si estende a proposizioni opposte e contraddittorie, la questione della seconda proposizione resta aperta: non può essere contemporaneamente vera e falsa: la carta non può essere bianca e non bianca. III. La Legge del Mezzo Escluso La Legge del Mezzo Escluso afferma che due proposizioni contraddittorie non possono essere entrambe false: una di esse è necessariamente vera; l'altro è necessariamente falso; è escluso il terzo giudizio, cioè o A è vero o no-A. - 34 - La Legge del Mezzo Escluso formula un requisito importante per il tuo pensiero: non puoi deviare dal riconoscere la verità di una delle due affermazioni contraddittorie e cercare qualcosa di terzo tra di loro. Se uno di questi è riconosciuto come vero, allora l'altro deve essere riconosciuto come falso e non cercare il terzo. Esempio: gli animali possono essere vertebrati o non vertebrati, non può esserci nulla di terzo. IV. La legge della ragion sufficiente Il contenuto di questa legge può essere espresso come segue: per essere considerata completamente attendibile, qualsiasi proposizione deve essere provata, cioè devono essere conosciuti motivi sufficienti in base ai quali è considerato vero. Una ragione sufficiente può essere un'altra, già verificata dalla pratica, riconosciuta come vero pensiero, il cui risultato necessario è la verità della posizione dimostrata. Esempio. La logica della proposizione "La stanza si sta scaldando" è il fatto che il mercurio nel termometro si espande. Nella scienza, sono considerati motivi sufficienti: a) affermazioni su fatti verificati della realtà, b) definizioni scientifiche, c) affermazioni scientifiche precedentemente provate, d) assiomi, e anche e) esperienza personale. Inferenza logica L'inferenza logica è la derivazione di una formula da un insieme di altre formule logiche applicando regole di inferenza. L'interprete di espressioni logiche, utilizzando l'inferenza logica, costruisce esso stesso la catena di calcoli necessaria sulla base della descrizione originale. Il significato dell'approccio logico sta nella possibilità di costruire un interprete, il cui funzionamento non dipende da formule logiche. Le regole nella rappresentazione logica sono: P0←P1, …, Pn. P0 è chiamato obiettivo e P1, P2, ..., Pn - il corpo della regola. Indica le condizioni P1, P2, ..., Pn che devono essere soddisfatte affinché il raggiungimento dell'obiettivo P0 abbia successo. Analizziamo le basi dell'inferenza logica usando l'esempio della procedura per determinare la correttezza del ragionamento. Definizione di ragionamento logicamente corretto Quando diciamo che una frase D segue logicamente da un'altra P, intendiamo quanto segue: ogni volta che la frase P è vera, allora è vera anche la frase D. Nella logica proposizionale, abbiamo a che fare con le formule P e D , a seconda di alcune variabili X1, X2,.., Xn. Definizione. Diremo che la formula D(X1, X2,...,Xn) segue logicamente dalla formula P(X1, X2,...,Xn) e indicheremo P ├ D se per - 35 - qualsiasi insieme di valori ​​X1, X2 ,...,Xn nella condizione P(X1, X2,...,Xn) = I2, la condizione D(X1, X2,...,Xn) = I è soddisfatta La formula P è chiamata premessa, e D è la conclusione del ragionamento logico. Di solito, nel ragionamento logico, non si usa una premessa P, ma diverse; in questo caso il ragionamento sarà logicamente corretto; dalla congiunzione delle premesse segue logicamente la conclusione. Verifica della correttezza del ragionamento logico Il primo modo è per definizione: a) annotare tutte le premesse e le conclusioni sotto forma di formule logiche proposizionali; b) fare una congiunzione di locali formalizzati Р1& P2&…& Рn,; c) verificare sulla tavola di verità se la conclusione D deriva dalla formula P1&P2&...&Pn. Il secondo metodo si basa sul seguente segno di conseguenza logica: "La formula D segue logicamente dalla formula P se e solo se la formula P | - D è una tautologia". Quindi controllare la correttezza del ragionamento logico si riduce a rispondere alla domanda: la formula è una tautologia? Questa domanda può essere risolta costruendo una tavola di verità per la formula, o riducendo questa formula con l'aiuto di trasformazioni equivalenti a una tautologia ben nota. Il terzo metodo per verificare la correttezza del ragionamento logico sarà chiamato abbreviato, perché non richiede un'enumerazione esaustiva dei valori variabili per costruire una tavola di verità. Per giustificare questo metodo, formuliamo una condizione in base alla quale il ragionamento logico è errato. Il ragionamento è errato se esiste un insieme di valori delle variabili X01, X02,.., X0n tale che la premessa D(X01, X02,.., X0n)=A 3, e la conclusione P(X01, X02,.., X0n)= E. Esempio. Viene fornito il ragionamento: "Se piove, il gatto è nella stanza o nel seminterrato. Un topo in una stanza o in un visone. Se il gatto è nel seminterrato, il topo è nella stanza. Se il gatto è nella stanza, il topo è nel visone e il formaggio nel frigorifero. Adesso piove e il formaggio è in tavola. Dov'è il gatto e dov'è il topo? Introduciamo le seguenti designazioni: D - "sta piovendo"; K - "gatto nella stanza"; P - "gatto nel seminterrato"; M - "mouse nella stanza"; N - "topo nel visone"; X - "formaggio in frigo"; ¬X - "formaggio in tavola". Otteniamo il seguente schema di ragionamento: D→K|R M|N K→N&X 2 3 Vero Falso - 36 - R→M D&¬X ----? Usiamo le regole di inferenza 1) D&¬X├D; 2) D&¬H├¬H; 3) RE→K|R, RE├K|R. Quindi, considera due opzioni. Variante A. Sia K. Allora 4a) K, K→H&X, K├ H&X; 5a) H&X ├ X; 6a) ¬X,X├X&¬X - ha una contraddizione, il che significa che l'assunzione era sbagliata e questa opzione è impossibile. Opzione B. Sia P. Allora 4b) P, P →M├M; 5b) R,M├R&M “il gatto è nel seminterrato e il topo è nella stanza” Esempio Verificare la correttezza del ragionamento in modo abbreviato. In quali altri modi si può risolvere questo problema? Viene fornito il ragionamento: "Se oggi è gelido, allora andrò alla pista di pattinaggio. Se c'è un disgelo oggi, andrò in discoteca. Oggi sarà gelo o disgelo. Perciò andrò in discoteca". Soluzione. Formalizziamo la condizione del problema introducendo la notazione: M - “oggi sarà gelido”; K - "Vado alla pista"; O - "oggi ci sarà un disgelo"; D - "Vado in discoteca." Lo schema di ragionamento ha la forma: M→KO→DM|O ---D Il ragionamento è logicamente corretto se per qualsiasi insieme di valori delle variabili (M, K, O, D), i giorni di cui tutte le premesse sono vere, anche la conclusione è vera. Si supponga il contrario: esiste un insieme (M0,K0,O0.D0) tale che le premesse siano vere e la conclusione falsa. Applicando le definizioni delle operazioni logiche, cercheremo di trovare questo insieme. Siamo convinti che l'ipotesi sia valida per i valori delle variabili - 37 - M0 = I, K0 = I, O0 = L, D0 = L (Tabella 1). Pertanto, il ragionamento non è logicamente corretto. Tabella 1 Schema per risolvere un problema logico n. 1 2 3 4 5 6 7 e definizioni di disgiunzione da 1, 6 e definizioni di implicazione Un altro modo per risolvere il problema è costruire una tavola di verità per la formula (M→K)& (O→D)&(M˅O)→D e assicurarsi che non sia una tautologia. Quindi, sulla base del seguito logico, il ragionamento non è logicamente corretto. Poiché nel ragionamento sono coinvolte quattro variabili proposizionali (M, K, O, D), la tabella di verità conterrà 16 righe e questo metodo richiede tempo. Con l'aiuto delle regole di inferenza è possibile costruire un ragionamento logicamente corretto, ma non è sempre possibile provare l'inesattezza di un ragionamento logico. Pertanto, per questo problema, il modo più conveniente è verificare la correttezza del ragionamento logico. Per consolidare le regole dell'inferenza logica, devi completare gli esercizi a p. 78. Le principali sezioni della logica simbolica moderna Nello sviluppo della logica classica si distinguono tre fasi principali: logica antica (circa 500 aC - inizio dC), logica scolastica (inizio dC - prima metà del XIX secolo), logica simbolica moderna ( metà del XIX-XX secolo).La moderna logica simbolica è suddivisa in sezioni principali, la cui essenza è divulgata di seguito. Logica proposizionale (calcolo proposizionale). Studia giudizi semplici, considerati senza riguardo alla loro struttura interna, così come conclusioni elementari, le più accessibili alla comprensione umana. Nel linguaggio naturale, proposizioni così semplici sono rappresentate da enunciati che sono considerati solo dal punto di vista della loro verità o falsità, e le inferenze sono rappresentate dai corrispondenti sistemi di enunciati. - 38 - Logica predicata (calcolo predicato). Oggetti di studio più complessi sono i giudizi considerati rispetto alla loro struttura interna. La sezione della logica che studia non solo le connessioni tra proposizioni, ma anche la struttura concettuale interna delle proposizioni, è stata chiamata "logica dei predicati". Metalogico. Metalogic è un'estensione della logica dei predicati. Oggetto del suo studio è l'intera sfera delle relazioni nel suo insieme, tutte quelle relazioni universali che possono aver luogo tra concetti, giudizi, conclusioni, nonché i simboli che li designano. I paragrafi seguenti del paragrafo presentano le posizioni chiave della logica proposizionale e dei predicati del primo ordine. Per comprendere meglio le logiche moderne, è necessario considerare le principali disposizioni definite dai sillogismi di Aristotele. La logica aristotelica Nella logica aristotelica la struttura dei giudizi elementari è espressa dalle strutture: - S è P (1); − S non è P (2), dove S è un soggetto logico (dal lat. Subjectum); P - qualche predicato logico (dal lat. Predicatum). I tipi di giudizio nella logica di Aristotele sono elencati di seguito. 1. Giudizi affermativi generali - A "All S is P" - Tutti i poeti sono persone impressionabili. Le parole "è", "non è" servono come collegamento soggetto-predicato. Dagli enunciati (1) e (2) con l'ausilio delle parole "tutti" e "alcuni" si costruiscono gli enunciati della forma: - tutto S è P: Tipo A (Affermo); − alcune S sono P: Tipo I (AffIrmo); − tutte le S non sono P: Tipo N (Nego); − alcune S non sono P: Tipo O (NegO). 2. Giudizi negativi generali - E (N) "No S is P" - Nessuna persona è onnisciente. 3. Giudizio affermativo particolare - I "Alcune S sono P" - Alcune persone hanno i capelli ricci. 4. Negativo parziale - O "Alcune S non sono P" - Alcune persone non possono ascoltare. Affermazioni come A, E, I, O sono semplici affermazioni categoriali che costituiscono il fondamento di tutta la logica aristotelica. Tra la verità e la falsità delle affermazioni di tipo A, E, I, O, c'è una relazione funzionale-olistica, che di solito è rappresentata come un quadrato logico (Fig. 16, Tabella 2). - 39 - Quando si usa il quadrato logico, è importante considerare la seguente sottigliezza: la parola "alcuni" è intesa in questo caso in senso lato - come "alcuni, e forse tutti". Tavola 2 Tavola di verità per i giudizi della logica aristotelica A I L L E L L I I I I L O L I I Fig. 16. Il quadrato logico Spiegazioni al quadrato logico di Aristotele Nell'angolo in alto a sinistra del quadrato logico ci sono affermazioni di tipo A (affermativa generale). Nell'angolo in alto a destra ci sono affermazioni di tipo E (negativo generale). Nell'angolo in basso a sinistra (sotto A) ci sono affermazioni di tipo I (affermativa parziale). Nell'angolo in basso a destra (sotto E) ci sono affermazioni di tipo O (particolarmente negative). Le affermazioni di tipo A e O, così come le affermazioni di tipo E e I, sono reciprocamente contraddittorie o contraddittorie (relazioni diagonali). Le affermazioni di tipo A ed E sono in relazione alla contrarietà o all'opposizione. - 40 - Le affermazioni di tipo I sono subordinate (quindi implicano) le affermazioni di tipo A. Le affermazioni di tipo O sono subordinate alle affermazioni di tipo E. Mentre le affermazioni contraddittorie hanno valori di verità opposti (una è vera, l'altra è falsa) , le controdichiarazioni non possono essere entrambe vere, ma possono essere false allo stesso tempo. Con l'aiuto di un quadrato logico si possono dedurre giudizi opposti, contraddittori e subordinati ai dati, stabilendone la verità o falsità. Esempio 1. Qualsiasi giudizio è espresso nella frase A → 1. 2. Nessun giudizio è espresso nella frase E → 0. 3. Alcuni giudizi non sono espressi nella frase O → 0. 4. Alcuni giudizi sono espressi nella frase I → 1. Inoltre, utilizzando il quadrato logico di Aristotele, puoi stabilire tipi di relazioni tra i giudizi: 1) ottenere conoscenze inferenziali; 2) confronti punti diversi prospettiva su questioni discutibili; 3) editing di testi e negli altri casi. Formalismi del calcolo proposizionale Molti modelli di rappresentazione della conoscenza si basano su formalismi del calcolo proposizionale e predicativo. Un'esposizione rigorosa di queste teorie dal punto di vista della logica matematica classica è contenuta nelle opere di Shenfield e Teise, Pospelov può trovare un'esposizione popolare di queste teorie, che può essere raccomandata come introduzione iniziale. Secondo la definizione di Taise, le proposizioni logiche sono una classe di frasi del linguaggio naturale che possono essere vere o false, e il calcolo proposizionale è la branca della logica che studia tali frasi. Sorge naturale una domanda: che dire degli enunciati della lingua, della cui verità non si può dire nulla di definito? Esempio. “Se domani piove, rimarrò a casa”. Per ora, assumeremo semplicemente che tutti gli enunciati con cui abbiamo a che fare appartengano alla classe delle proposizioni logiche. Le dichiarazioni saranno contrassegnate da lettere maiuscole Alfabeto latino e un indice, se richiesto dalla presentazione. Esempi di notazione per affermazioni: S, S1, S2, H, H1, H2. Come già notato, una proposizione logica è vera o falsa. A un'affermazione vera viene assegnato un valore logico - 41 - VERO (o AND), a uno falso - un valore logico FALSO (o L). Pertanto, il valore di verità forma l'insieme (I, L). Nel calcolo proposizionale vengono introdotti cinque connettivi logici (Tabella 3), con l'aiuto dei quali, secondo le regole di costruzione, vengono compilate formule logiche. Tabella 3 Connettivi logici Nome comune Tipo Altra notazione Simbolo Negazione Unario -, ~, NOT, NOT  Congiunzione ^ Binario & , ., AND , AND * Disgiunzione  Binario OR OR Implicazione  Binario => -> Equivalenza  Binario<=> <->~ * Nota: da non confondere con il valore di verità I. L'insieme delle regole per costruire formule logiche basate su proposizioni comprende tre componenti: − base: ogni proposizione è una formula; − passo di induzione: se X e Y sono formule, allora X, (X ^ Y), (X  Y), X Y e X  Y sono formule; − vincolo: la formula si ottiene univocamente utilizzando le regole descritte nella base e nella fase di induzione. Le formule sono indicate da lettere maiuscole dell'alfabeto latino con indici. Nell'esempio sono forniti esempi di formule logiche. Esempi a) T = S1 ^ S2; b) N = H1H2. L'espressione a) può essere letta come segue: "La formula logica T è una congiunzione (connettivo logico AND) di affermazioni logiche S1 e S2". L'interpretazione dell'espressione b) è la seguente: “La formula logica N è una disgiunzione (connettivo logico OR) della negazione (NOT) dell'affermazione logica H1 e affermazione logica H2". Il valore di verità di una formula logica è una funzione dei valori di verità delle sue affermazioni costituenti e può essere determinato in modo univoco utilizzando tabelle di verità. Di seguito sono riportate le tabelle di verità per la negazione e i connettivi binari (Tabelle 4, 5) Pertanto, se i valori di verità per le affermazioni dell'esempio a) sono noti, ad esempio S1 = I, S2 = L, allora il valore di verità per la formula - 42 - T si trova all'intersezione della seconda riga e della terza colonna nella Tabella 5, cioè T = L. Tabella 4 Tabella di verità per la negazione ¬X AND LL AND Tabella 5 Tabella di verità per connettivi binari XYX^YX  YXYXY AND AND AND AND AND AND I I I L I L L I I I L I L L I I I Logica dei predicati del primo ordine Le relazioni tra oggetti sono descritte utilizzando concetti matematici speciali chiamati predicati logici e il calcolo dei predicati è una branca della logica che si occupa del loro studio. Ogni logica è un sistema formale, per il quale occorre definire: - l'alfabeto del sistema - un insieme numerabile di simboli; - formule del sistema - alcuni sottoinsiemi di tutte le parole che possono essere formate dai caratteri inclusi nell'alfabeto (di solito viene impostata una procedura che consente di creare formule dai caratteri dell'alfabeto del sistema); − assiomi del sistema - un insieme selezionato di formule del sistema; − regole di inferenza di sistema - un insieme finito di relazioni tra formule di sistema. Il vocabolario del calcolo dei predicati nella presentazione standard comprende i seguenti concetti: - variabili (le indicheremo con le ultime lettere dell'alfabeto inglese u, v, x, y, z); − costanti (le indicheremo con le prime lettere dell'alfabeto inglese a, b, c, d): o singole costanti; o costanti funzionali; o costanti del predicato; − dichiarazioni; - 43 - - connettivi logici (¬ (negazione), congiunzione, disgiunzione, implicazione); − quantificatori: (esistenza, generalità); − termini; − forme funzionali; − forme predicative; − atomi; − formule. Costanti individuali e variabili individuali Sono come le costanti e le variabili di analisi matematica, con l'unica differenza che l'area del loro cambiamento sono gli individui, non i numeri reali. Nella teoria dell'intelligenza artificiale, le costanti e le variabili denominate nella memoria dell'agente che corrispondono a oggetti e concetti nel mondo reale sono chiamate concetti. Nelle lingue del primo ordine, le variabili sono solo individuali, quindi sono chiamate semplicemente variabili. Come verrà mostrato di seguito, l'uso di lingue di primo ordine e il rifiuto dell'uso di lingue di ordine superiore impongono ulteriori restrizioni alla classe delle frasi in linguaggio naturale in esame. Le singole costanti saranno indicate con lettere minuscole a, b, c, u, v, w dell'alfabeto latino con indici o nomi mnemonici tratti dal testo. I caratteri minuscoli verranno utilizzati per indicare le variabili. lettere x,y,z , alfabeto latino con indici. Esempio. Costanti individuali: a1, b1, c, u, v1, venditore_w, k22, acquisto_l, m10, libro_a1 . Variabili: x, y2, z33. Costanti predicate Le costanti predicate vengono utilizzate per denotare una relazione che descrive un predicato. Una costante del predicato non cambia il suo valore di verità. È associato a un numero adeguato di argomenti o parametri, detti termini, che formano una forma di predicato. La designazione della costante del predicato è nomi mnemonici o la lettera dell'alfabeto latino Р con indici. Il linguaggio dei predicati contiene il linguaggio delle proposizioni, poiché una proposizione non è altro che una costante di predicato senza argomenti, o una forma di predicato di luogo nullo. L'area semantica della forma del predicato coincide con l'area di cambiamento dell'affermazione, ad es. (I L). Costanti di funzione La costante di funzione (f, g, h) e la costante di predicato, quando combinate con un numero adeguato di termini, formano una forma funzionale. La differenza tra la forma funzionale e la forma predicata sta nel fatto che il suo dominio semantico è costituito da un insieme di costanti individuali. Una costante di funzione di luogo nullo è solo una costante individuale. i connettivi logici nel calcolo dei predicati servono a formare formule. Quantificatori. Il calcolo dei predicati utilizza due quantificatori: il quantificatore generale () e il quantificatore esistenziale (). L'espressione xP viene letta come "per ogni x P è vero". L'espressione xP viene letta come "esiste una x per la quale P è vero". Un termine è un'espressione formata da variabili e costanti, possibilmente con l'uso di funzioni. Termini, forme, atomi e formule nel calcolo dei predicati sono costruiti utilizzando le seguenti regole: - qualsiasi variabile o costante è un termine; − se t1,...,tn sono termini ed f è un simbolo di funzione di n posti, allora f(t1,...,tn) è un termine; − non ci sono altri termini. Infatti, tutti gli oggetti nella logica dei predicati del primo ordine sono rappresentati proprio sotto forma di termini. Se il termine non contiene variabili, viene chiamato termine principale o costante. Un termine (t1,t2 ...tn) è qualsiasi variabile e qualsiasi forma funzionale. Una forma funzionale è una costante funzionale abbinata a un numero appropriato di termini. Se f è una costante locale funzionale e t1 ..., tn sono termini, allora la forma corrispondente è solitamente indicata con f(t1, ...,tn). Se n=0, allora viene semplicemente scritto f. Una forma del predicato è una costante del predicato concatenata con un numero appropriato di termini. Se p è la costante m-place corrispondente e t1, . .., tn sono termini, quindi la forma corrispondente è indicata con p(t1,...,tm). Un atomo è una forma predicata o una qualche uguaglianza, cioè un'espressione come (s=t), dove se t sono termini. Una formula atomica o elementare si ottiene applicando un predicato ai termini, più precisamente si tratta di un'espressione p(t1,...,tn), dove p è un simbolo predicato di n posti (formula), e t1,.. .,tn sono termini. Il concetto di formula è definito ricorsivamente (induttivamente) dalle seguenti regole: - un atomo è una formula; - se A è una formula, A è una formula; - se A e B sono formule, allora le formule (A ^ B), (A  B), (A  B) e (A  B); - se A è una formula e x è una variabile, allora xA e xA sono formule. Rappresentiamo l'alfabeto della logica dei predicati in termini di concetti. Costanti. Servono come nomi per gli individui (al contrario dei nomi per le raccolte): oggetti, persone o eventi. Le costanti sono rappresentate da - 45 - simboli come Jacque_2 (l'aggiunta di 2 alla parola Jacque indica una persona ben definita tra le persone con quel nome), Book_22, Package_8. Variabili. Indicano i nomi di aggregati, come una persona, un libro, un pacco, un evento. Il simbolo Book_22 rappresenta un'istanza ben definita e il simbolo book indica l'insieme di "tutti i libri" o "il concetto di libro". I simboli x, y, z rappresentano i nomi delle collezioni (certi insiemi o concetti). Nomi dei predicati (costanti dei predicati). Definiscono le regole per collegare costanti e variabili, come regole grammaticali, procedure, operazioni matematiche. I nomi predicativi utilizzano caratteri come le seguenti frasi: Invia, Scrivi, Più, Separa. I nomi delle funzioni (costanti di funzione) rappresentano le stesse regole dei predicati. Per evitare confusione con i nomi dei predicati, i nomi delle funzioni sono scritti in tutte le lettere minuscole: frase, invia, scrivi, più, dividi. I simboli utilizzati per rappresentare costanti, variabili, predicati e funzioni non sono "parole della lingua russa". Sono i simboli di qualche rappresentazione: le parole del "linguaggio degli oggetti" (nel nostro caso, il linguaggio dei predicati). La rappresentazione deve escludere ogni ambiguità del linguaggio. Pertanto, i nomi degli individui contengono i numeri assegnati ai nomi delle popolazioni. Jack_1 e Jack_2 rappresentano due persone con lo stesso nome. Queste rappresentazioni sono la concretizzazione del nome della collezione "Jacques". Un predicato è un nome di predicato insieme a un numero appropriato di termini. Un predicato è anche chiamato forma del predicato. Esempio. In russo: Jacques invia un libro a Marie, logicamente: Parcel (Jacques_2, Marie_4, Book_22). Logica fuzzy L'emergere della logica fuzzy, della teoria degli insiemi fuzzy e di altre teorie "fuzzy" è associata al lavoro dello scienziato americano Zadeh. L'idea principale di Zadeh era che il modo di ragionare umano, basato sul linguaggio naturale, non può essere descritto nel quadro dei tradizionali formalismi matematici. Questi formalismi sono caratterizzati da una rigorosa non ambiguità di interpretazione e tutto ciò che riguarda l'uso del linguaggio naturale ha un'interpretazione multivalore. L'obiettivo di Zadeh era quello di costruire una nuova disciplina matematica, che si sarebbe basata non sulla teoria degli insiemi classica, ma sulla teoria degli insiemi fuzzy. Attuando costantemente l'idea di sfocatura, secondo Zadeh, è ​​possibile costruire analogie sfocate di tutti i concetti matematici di base e creare l'apparato formale necessario per modellare il ragionamento umano e il modo umano di risolvere i problemi (Fig. 17). - 46 - Creazione della teoria degli insiemi fuzzy - Decisione Teoria matematica degli insiemi fuzzy - Le basi del meccanismo Formalizzazione del ragionamento del modo umano - Task Tesi - una persona nella sua vita quotidiana - Il problema pensa e prende decisioni sulla base di concetti fuzzy Fig. 17. La logica dell'emergere della teoria degli insiemi fuzzy Attualmente, la teoria degli insiemi fuzzy e la logica fuzzy (fuzzy set & logica sfocata ) occupa un posto di rilievo tra i principali settori dell'intelligenza artificiale. Il concetto di "fuzziness", applicato inizialmente agli insiemi, e poi in logica, è stato esteso con successo ad altre aree della matematica e dell'informatica e ora esistono già: - la teoria delle relazioni fuzzy; - teoria degli insiemi fuzzy; - teoria delle misure fuzzy e degli integrali; - teoria dei numeri fuzzy e delle equazioni: - teoria della logica fuzzy e del ragionamento approssimato: - teoria dei linguaggi fuzzy; - teoria degli algoritmi fuzzy; - teoria dell'ottimizzazione fuzzy e modelli decisionali. I seguenti pacchetti sono più apprezzati dai clienti russi: 1) CubiCalc 2.0 RTC è uno dei più potenti sistemi esperti commerciali basati sulla logica fuzzy, che consente di creare i propri sistemi esperti applicati; 2) CubiQuick - versione accademica del pacchetto CubiCalc; 3) RuleMaker - un programma per l'estrazione automatica di regole fuzzy dai dati di input; 4) FuziCalc - un foglio di calcolo con campi sfocati che consente di effettuare stime rapide con dati imprecisi senza accumulare errori; 5) OWL - un pacchetto contenente i testi di origine di tutti i tipi conosciuti di reti neurali, memoria associativa fuzzy, ecc. I principali "consumatori" di logica fuzzy nel mercato russo sono: banchieri, finanzieri ed esperti nel campo dell'analisi politica ed economica. - 47 - La maggior parte delle attività umane non richiede un'elevata precisione. Spesso è necessario trovare un ragionevole compromesso tra i concetti di "accuratezza" e "importanza" quando si comunica con il mondo reale. Ad esempio: per prendere una decisione sull'attraversamento di una strada, una persona non stima la velocità di un'auto in avvicinamento con una precisione di decimi di metri al secondo. Definisce da sé la velocità dell'auto come "molto veloce", "veloce", "lenta", ecc., cioè utilizza variabili linguistiche per indicare la velocità. Nella teoria degli insiemi fuzzy, vengono proposti i seguenti modi di formalizzare i concetti fuzzy. Il primo modo (basato sul lavoro di Zadeh) comporta il rifiuto dell'affermazione principale della teoria degli insiemi classica secondo cui alcuni elementi possono appartenere o non appartenere all'insieme. In questo caso viene introdotta una funzione caratteristica speciale dell'insieme, la cosiddetta funzione di appartenenza, che prende valori dall'intervallo . Questo metodo porta alla logica del continuo. Nel secondo modo più generale di formalizzare la sfocatura, si assume che le funzioni caratteristiche dell'insieme prendano valori non dall'intervallo, ma in un reticolo distributivo finito o infinito. Questa generalizzazione è chiamata insiemi fuzzy nel senso di Gauguin. Il terzo modo sono gli insiemi P-fuzzy. Con questa generalizzazione, ogni elemento dell'insieme universale è associato non a un punto dell'intervallo, ma a un sottoinsieme o parte di questo intervallo. L'algebra degli insiemi P-fuzzy può essere ridotta all'algebra delle classi. Il quarto modo sono gli insiemi fuzzy eterogenei. Qui, nel caso generale, agli elementi dell'insieme universale vengono assegnati valori in vari reticoli distributivi. Ogni elemento può essere associato alla valutazione più appropriata per esso. Inoltre, i valori delle stime stesse possono essere sfocati e dati come funzioni. Si è ottenuta un'idea generale di logica fuzzy. Ora su tutto in modo più dettagliato. Si consideri l'apparato concettuale, che si basa sul concetto di "variabile linguistica". Definizione di variabile linguistica (intuitiva)4 Se una variabile può assumere i significati di parole in un linguaggio naturale (ad esempio, "piccola", "veloce", ecc.), allora questa variabile è definita variabile linguistica. Le parole i cui valori sono presi da una variabile linguistica di solito denotano insiemi fuzzy. 4 Sistemi informativi intelligenti: Linee guida per il workshop di laboratorio sul corso "Sistemi informativi intelligenti" per studenti della specialità 071900 - Sistemi informativi in ​​economia / Ufimsk. stato aviazione tecnico. un-t; compilato da GG Kulikov, TV Breikin, L.Z. Kamalova. - Ufa, 1999. -40 pag. - 48 - Una variabile linguistica può assumere come valori sia parole che numeri. Definizione di variabile linguistica (formale) Una variabile linguistica è un cinque (x, T(x), X, G, M), dove x è il nome della variabile; T(x) è l'insieme dei nomi dei valori linguistici della variabile x, ognuno dei quali è un insieme fuzzy sull'insieme X; G è una regola sintattica per la formazione di nomi di valori x; M è una regola semantica per associare ogni valore al suo concetto. Lo scopo del concetto di variabile linguistica è dire formalmente che una variabile può prendere parole dal linguaggio naturale come valori. In altre parole, ogni variabile linguistica è composta da: - nome; − l'insieme dei suoi valori, detto anche insieme di termini di base T. Gli elementi dell'insieme di termini di base sono i nomi di variabili fuzzy; − insieme universale X; − regola sintattica G, secondo la quale i nuovi termini vengono generati utilizzando parole di un linguaggio naturale o formale; − regola semantica P, che associa ogni valore di una variabile linguistica a un sottoinsieme fuzzy dell'insieme X. Ad esempio, se diciamo "velocità veloce", allora la variabile "velocità" dovrebbe essere intesa come una variabile linguistica, ma ciò non significa che la variabile "velocità" non possa assumere valori reali. Una variabile fuzzy è descritta dall'insieme ( N,X,A), dove N è il nome della variabile, X è l'insieme universale (l'area del ragionamento), A è l'insieme fuzzy su X. I valori della variabile linguistica possono essere variabili fuzzy , cioè la variabile linguistica è ad un livello superiore rispetto alla variabile fuzzy. L'approccio principale alla formalizzazione della sfocatura è il seguente. Un insieme fuzzy si forma introducendo un concetto generalizzato di appartenenza, ad es. estensione dell'insieme di valori a due elementi della funzione caratteristica (0,1) a un continuum . Ciò significa che il passaggio dall'appartenenza completa di un oggetto a una classe alla sua completa non appartenenza non avviene in modo brusco, ma regolare, graduale e l'appartenenza di un elemento a un insieme è espressa da un numero dell'intervallo . - 49 - Un insieme fuzzy (NM) è definito matematicamente come un insieme di coppie ordinate composte da elementi x dell'insieme universale X e dai corrispondenti gradi di appartenenza μа(x) o (poiché la funzione di appartenenza è una caratteristica esaustiva del NM ) direttamente sotto forma di funzione dall'Insieme Universale X dell'insieme fuzzy A è il dominio di definizione della funzione di appartenenza μа. Sulla fig. 18 mostra le principali varietà di funzioni di appartenenza. Riso. 18. Tipologia delle funzioni di appartenenza In base alla tipologia delle funzioni di appartenenza, si suddividono in: - submodali (Fig. 1. c); − amodale (Fig. 1.a); − multimodale (Fig. 1. m); − unimodale (Fig. 1.u). − Esempio. 1) UN =((x1,0.2),(x2,0.6),(x3,1),(x4,0.8)); 2) LA = 0,2|x1 + 0,6|x2 + 1|x3 + 0,8|x4. 3) Lo stesso esempio può essere presentato sotto forma di tabella. Tabella 6 A= Tabella di descrizione della funzione di appartenenza x1 x2 x3 x4 0,2 0,6 1 0,8 Esempio "Molte persone alte" B vita reale una cosa come "la crescita di una persona alta" è soggettiva. Alcuni credono che una persona alta dovrebbe essere alta più di 170 cm, altri - più di 180 cm, altri - più di 190 cm I set sfocati consentono di tenere conto di tale sfocatura delle stime. - 50 - Sia x una variabile linguistica che denota "l'altezza di una persona", la sua funzione di appartenere all'insieme delle persone alte A:X(0,1), dove X è un insieme che include tutti i possibili valori di a l'altezza della persona, è data come segue: Allora l'insieme delle "persone alte" è dato dall'espressione A=(x| A(x)=1), x ϲ X. Graficamente, questo è mostrato in fig. 19 (linea continua), ovvero dipende dalla persona che effettua la valutazione. Sia la funzione di appartenenza A:X(0,1) la forma mostrata in figura da una linea tratteggiata. Riso. 19. Insieme sfocato di persone alte Quindi, una persona con un'altezza di 145 cm apparterrà all'insieme A con un grado di appartenenza A(145)=0, una persona con un'altezza di 165 cm - A(165) = 0,3 , una persona con un'altezza di 185 cm -A (185) = 0,9, un'altezza di 205 cm - A(205)=1. Esempio. "Hai freddo adesso?" Una persona percepisce una temperatura di +60oF (+12oC) come fredda e +80oF (+27oC) come calore. Una temperatura di +65oF (+15oC) sembra bassa per alcuni, abbastanza confortevole per altri. Chiamiamo questo gruppo di definizioni la funzione di appartenere a insiemi che descrivono la percezione soggettiva della temperatura da parte di una persona. Le macchine non sono in grado di ottenere una gradazione così fine. Se lo standard per definire il freddo è "temperatura inferiore a +15oC", allora +14,99oC sarebbe considerato freddo, ma +15oC no. Sulla fig. 20. è un grafico che aiuta a capire come una persona percepisce la temperatura. È altrettanto facile creare set aggiuntivi che descrivono la percezione della temperatura da parte di una persona. Ad esempio, puoi aggiungere set come "molto freddo" e "molto caldo". È possibile descrivere funzioni simili per altri concetti, come stati aperti e chiusi, temperatura del refrigeratore - 51 - o temperatura della torre di raffreddamento. Riso. 20. Set fuzzy "Temperatura" Quindi, possiamo trarre le seguenti conclusioni sull'essenza del concetto di "set fuzzy": 1) gli insiemi fuzzy descrivono concetti indefiniti (corridoio veloce, acqua calda, clima caldo); 2) gli insiemi sfocati consentono la possibilità di un'appartenenza parziale ad essi (il venerdì è in parte un giorno libero (abbreviato), il clima è piuttosto caldo); 3) il grado di appartenenza di un oggetto ad un fuzzy set è determinato dal valore corrispondente della funzione di appartenenza all'intervallo (il venerdì appartiene ai giorni di riposo con grado di appartenenza 0,3); 4) la funzione di appartenenza associa un oggetto (o una variabile logica) al valore del grado della sua appartenenza ad un insieme fuzzy. Forme delle curve per le funzioni di appartenenza Esistono più di una dozzina di curve tipiche per le funzioni di appartenenza. Le più diffuse sono: funzioni di appartenenza triangolare, trapezoidale e gaussiana. La funzione di appartenenza triangolare è definita da una tripla di numeri (a,b,c) e il suo valore nel punto x è calcolato secondo l'espressione (1).  bx 1  b  a , a  x  b;  c  x MF (x)   , b  x  c; c  b  0, in tutti gli altri casi   - 52 - (1) Con (ba)=(cb) abbiamo il caso di una funzione di appartenenza triangolare simmetrica (Fig. 21), che può essere specificata univocamente da due parametri dalla tripla (a ,b,c). Riso. 21. Funzione di appartenenza triangolare Allo stesso modo, per impostare una funzione di appartenenza trapezoidale, sono necessari quattro numeri (a,b,c,d).  bx 1  b  a , a  x  b;  1, b  x  c; MF (x)   d  x , c  x  d; d c 0, in tutti gli altri casi  (2) Con (b-a)=(d-c), la funzione di appartenenza trapezoidale assume forma simmetrica (Fig. 22). Riso. 22. Funzione di appartenenza trapezoidale L'insieme delle funzioni di appartenenza per ciascun termine dell'insieme di termini di base T è solitamente mostrato insieme su un grafico. Sulla fig. 23 mostra la formalizzazione del concetto impreciso di "età umana". Quindi, per una persona di 48 anni, il grado di appartenenza all'insieme "Giovane" è 0, "Media" - 0,47, "Sopra la media" - 0,20. - 53 - Fig. 23. Descrizione della variabile linguistica "Età di una persona" Operazioni di base sugli insiemi fuzzy Di seguito vengono presentate le operazioni di base sui NM dalla classe di tutti i NM F(X)=( | :X  ) dell'insieme universale X. 1. Addizione5  2 =   = 1-  1,  x  X 24. Grafico dell'operazione di "Complemento" sulla funzione M 2. Intersezione I (minimo: variabili non interagenti).  3 = ( 1   2) (x)= min( 1(x),  2(x)) ,  x  X 3. Unione I (massimo: variabili non interagenti).  3 = ( 1   2) (x)= max( 1(x),  2(x)) ,  x  X 4. Intersezione II (prodotto limitato).  3 = ( 1   2) (x)= max(0,  1(x) +  2(x)-1) , x  X 5. Unione II (massimo: importo limitato).  3 = ( 1   2) (x)= min(1,  1(x) +  2(x)) ,  x  X 6. Intersezione III (prodotto algebrico). 5 Di seguito, su sfondo giallo, vengono visualizzate le operazioni uguali per tutte e tre le basi. - 54 -  3 = ( 1   2) (x)=  1(x) *  2(x) ,  x  X 7. Unione III (somma algebrica).  3 = ( 1   2) (x)=  1(x) +  2(x)-  1(x)   2(x) ,  x  X A B Fig. 25. Grafico del funzionamento dell'intersezione I (A) dell'unione I (B) delle funzioni M e M1 A B Fig. 26. Grafico del funzionamento dell'intersezione II (A) dell'unione II (B) delle funzioni M e M1 A B fig. 27. Grafico del funzionamento dell'intersezione III (A) dell'unione III (B) delle funzioni M e M1 - 55 - 8. Differenza.  3 =  1(x) -  2(x) = max(0,  1(x) -  2(x)) ,  x  X 9. Concentrazione.  3 =  2(x) ,  x  X 28. Grafico della differenza tra le funzioni M e M1 Fig. 29. Grafico della concentrazione della funzione M1 Diversamente dall'algebra booleana, in F(X) le leggi di eliminazione del terzo non sono soddisfatte. Quando si costruiscono le operazioni di unione o intersezione in F(X), si devono scartare o le leggi di eliminazione del terzo, o la proprietà della distributività e dell'idempotenza. Gli oggetti fuzzy possono essere classificati in base al tipo di intervallo di valori della funzione di appartenenza. E qui si distinguono le varianti X: - reticolo; - semigruppo; - squillare; - categoria. Il caso di Insiemi S-fuzzy, data da una coppia (X, ), dove - 56 - :XS è una mappatura da X a un insieme S linearmente ordinato. È naturale imporre a S i requisiti di finitezza e completezza. Un esempio di insieme finito linearmente ordinato è un insieme di valori linguistici della variabile linguistica "QUALITÀ" = (scarso, medio, buono, eccellente). 1 2 3 4 5 6 7 8 9 OR variabili non interagenti) (O, ... , OR) Intersezione II (prodotto AND limitato) Unione II (somma limitata) OR Intersezione III (prodotto AND algebrica) Unione III (somma algebrica ) O Differenza Concentrazione MOLTO Come mostrato, a seconda dei modi di introdurre operazioni di unione e intersezione di NM, ci sono tre teorie principali di NM. In accordo con criteri simili, si dividono: − logica fuzzy con operazioni di maximin (operazioni 1,2,3,8,9); − logica fuzzy con operazioni limitate (operazioni 1,4,5,8,9); − logica fuzzy probabilistica (operazioni 1,6,7,8,9). L'interpretazione della verità come variabile linguistica porta alla logica fuzzy con i valori "vero", "verissimo", "completamente vero", "più o meno vero", "non molto vero", "falso", ecc. , cioè. alla logica fuzzy, su cui si basa la teoria del ragionamento approssimato. Campi di applicazione della teoria degli insiemi fuzzy in vari ambiti della conoscenza umana Filosoficamente, la teoria di NM è notevole in quanto apre

trascrizione

2 E. V. Borovskaya N. A. Davydova BASE DELL'INTELLIGENZA ARTIFICIALE Tutorial 3a edizione (elettronica) Moscow Knowledge Lab 2016

3 UDC BBK B83 La serie è stata fondata da E. V. Borovskaya nel 2007. B83 Fondamenti di intelligenza artificiale [ Risorsa elettronica] : libro di testo / E.V. Borovskaya, N.A. Davydova. 3a ed. (el.). elettrone. dati di testo. (1 file pdf: 130 pagine). M. : Laboratorio della conoscenza, (Educazione pedagogica). Sistema. requisiti: Adobe Reader XI ; screen 10". ISBN Il tutorial introduce i lettori alla storia dell'intelligenza artificiale, dei modelli di rappresentazione della conoscenza, dei sistemi esperti e delle reti neurali. Vengono descritte le principali direzioni e metodi utilizzati nell'analisi, sviluppo e implementazione dei sistemi intelligenti. Modelli e metodi di rappresentazione della conoscenza per lavorare con loro vengono presi in considerazione metodi di sviluppo e creazione di sistemi esperti Il libro aiuterà il lettore a padroneggiare le abilità di progettazione logica di database dell'area disciplinare e programmazione nel linguaggio ProLog Per studenti e insegnanti di università pedagogiche, insegnanti di scuole secondarie, palestre, licei di intelligenza artificiale: libro di testo / EV Borovskaya, NA Davydova, M. : BINOM, Laboratory of Knowledge, pp. : ill. (Educazione pedagogica), ISBN In conformità con l'articolo 1301 del codice civile russo Federazione quando i mezzi tecnici di protezione del diritto d'autore, il titolare del diritto d'autore vp il diritto di chiedere un risarcimento danni o un risarcimento al trasgressore ISBN c Knowledge Lab, 2015

4 CONTENUTI Capitolo 1. Intelligenza artificiale Introduzione ai sistemi di intelligenza artificiale Il concetto di intelligenza artificiale L'intelligenza artificiale in Russia La struttura funzionale del sistema di intelligenza artificiale Indicazioni per lo sviluppo dell'intelligenza artificiale Dati e conoscenza. Rappresentazione della conoscenza nei sistemi intelligenti Dati e conoscenza. Definizioni di base Modelli di rappresentazione della conoscenza Sistemi esperti Struttura di un sistema esperto Sviluppo e uso di sistemi esperti Classificazione dei sistemi esperti Rappresentazione della conoscenza nei sistemi esperti Strumenti per la costruzione di sistemi esperti Tecnologia di sviluppo di sistemi esperti domande di prova e compiti per il capitolo Riferimenti per il capitolo Capitolo 2. Programmazione logica Metodologie di programmazione Metodologia di programmazione imperativa Metodologia di programmazione orientata agli oggetti Metodologia di programmazione funzionale Metodologia di programmazione logica Metodologia di programmazione dei vincoli Metodologia di programmazione delle reti neurali Una breve introduzione al calcolo dei predicati e alla dimostrazione di teoremi Il processo di logica inferenza nel linguaggio Prolog.. ..58

5 4 Sommario 2.4. Struttura di un programma Prolog che utilizza oggetti composti che utilizzano domini alternativi Metodo di ripetizione del prologo Metodo di fallback Metodo di taglio e rollback Ricorsività semplice Metodo delle regole di ricorsione generale (GRR) Elenchi in Prolog List Operazioni Stringhe nelle operazioni Prolog String File nella lingua Predicati Prolog Prolog per l'utilizzo dei file Descrizione un dominio file Scrivere in un file Lettura da un file Modificare un file esistente Aggiunta a un file esistente Creazione di database dinamici in Prolog Database in Prolog Predicati di database dinamici in Prolog Creazione di sistemi esperti Struttura del sistema esperto Conoscenza della rappresentazione Metodi di inferenza Sistema di interfaccia utente Esperto basato su regole sistema Test e compiti per il capitolo Riferimenti per il capitolo Capitolo 3. Reti neurali Introduzione alle reti neurali Modello artificiale di un neurone Applicazione delle reti neurali Apprendimento neurologico reti Domande di prova e compiti per il capitolo Letteratura per il capitolo

6 CAPITOLO 1 INTELLIGENZA ARTIFICIALE 1.1. Introduzione ai sistemi di intelligenza artificiale 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 risolve determinati problemi o prende decisioni in un'area specifica, evidenziare i passaggi principali di questo processo e sviluppare strumenti software che li riproducano 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. L'idea di creare una somiglianza artificiale di una persona per risolvere problemi complessi e simulare la mente umana, come si suol dire, "è stata nell'aria" sin dai tempi antichi. L'antenato dell'intelligenza artificiale è il filosofo, matematico e poeta spagnolo medievale Raymond Lull, che risale al XIII secolo. ha cercato di creare un dispositivo meccanico per risolvere vari problemi basato sulla classificazione generale dei concetti da lui sviluppati.

7 6 Capitolo 1 Successivamente, Leibniz e Descartes continuarono indipendentemente questa idea, proponendo linguaggi di classificazione universali per tutte le scienze. Questi lavori possono essere considerati i primi lavori teorici nel campo dell'intelligenza artificiale. Tuttavia, la nascita finale dell'intelligenza artificiale come direzione scientifica avvenne solo dopo la creazione dei computer negli anni '40, quando Norbert Wiener creò le sue opere fondamentali sulla nuova scienza della cibernetica. Il termine "intelligenza artificiale" (AI; ​​​​inglese AI "Artificial Intelligence") fu proposto nel 1956 in un seminario omonimo al Dartmouth College (USA). Questo seminario è stato dedicato allo sviluppo di metodi per risolvere problemi logici (piuttosto che computazionali). Si noti che in inglese questa frase non ha quella colorazione antropomorfa leggermente fantastica che ha acquisito in una traduzione russa piuttosto infruttuosa. La parola "intelligenza" significa solo "la capacità di ragionare ragionevolmente" e per niente "intelligenza" (per la quale esiste un equivalente inglese separato "intelletto"). Subito dopo il riconoscimento dell'intelligenza artificiale come campo speciale della scienza, è stata divisa in due aree: neurocibernetica e cibernetica scatola nera. Queste aree si sono sviluppate in modo quasi indipendente, differendo in modo significativo sia nella metodologia che nella tecnologia. E solo in questo momento sono diventate evidenti tendenze a riunire di nuovo queste parti in un tutto unico. Neurocibernetica L'idea principale di questa tendenza può essere formulata come segue: "L'unico oggetto in grado di pensare è il cervello umano, quindi qualsiasi dispositivo pensante deve riprodurne la struttura in un modo o nell'altro". Pertanto, la neurocibernetica si concentra sulla modellazione hardware-software di strutture simili alla struttura del cervello. Gli sforzi in neurocibernetica si sono concentrati sulla creazione di elementi simili ai neuroni e sulla loro combinazione in sistemi funzionanti di reti neurali.

8 Intelligenza artificiale 7 Le prime reti neurali sono state create negli anni '90. Questi tentativi non hanno avuto molto successo per creare sistemi che simulano l'occhio umano e la sua interazione con il cervello. A poco a poco nel 1900 il numero di lavori in quest'area dell'intelligenza artificiale iniziò a diminuire, i primi risultati furono troppo deludenti. Di solito, gli autori degli sviluppi attribuivano i loro fallimenti alla poca memoria e alla bassa velocità dei computer che esistevano in quel momento. Il primo neurocomputer è stato creato in Giappone nell'ambito del progetto Fifth Generation Computer. A questo punto, le restrizioni sulla memoria e sulla velocità del computer sono state praticamente rimosse. Sono apparsi trasmettitori computer con un gran numero di processori che implementano il calcolo parallelo. La tecnologia dei transputer è uno di una dozzina di nuovi approcci all'implementazione hardware di reti neurali che modellano la struttura gerarchica del cervello umano. In generale, oggi esistono tre tipi principali di approcci alla creazione di reti neurali: hardware (creazione di computer speciali, neurochip, schede di espansione, chipset), software (creazione di programmi e strumenti software, progettato per computer ad alte prestazioni; tali reti vengono create "virtualmente", nella memoria del computer, mentre tutto il lavoro viene svolto dai propri processori) e ibride (una combinazione dei primi due metodi). Cibernetica scatola nera e intelligenza artificiale Questo approccio si basa su un principio opposto alla neurocibernetica. Qui non importa come sia esattamente organizzato il dispositivo "pensante", la cosa principale è che reagisce a determinate azioni di input allo stesso modo del cervello umano. I sostenitori di questa direzione hanno motivato il loro approccio dal fatto che una persona non dovrebbe seguire ciecamente la natura nelle sue ricerche scientifiche e tecnologiche. Inoltre, le scienze di frontiera dell'uomo non potrebbero contribuire in modo significativo

9 8 Capitolo 1 del 1° contributo teorico, che spiega (almeno approssimativamente) come procedono i processi intellettuali in una persona, come è organizzata la sua memoria e come una persona conosce il mondo che la circonda. Quest'area dell'intelligenza artificiale si è concentrata sulla ricerca di algoritmi per la risoluzione di problemi intellettuali sui modelli di computer esistenti. Contributo significativo allo sviluppo nuova scienza introdotto da pionieri come McCarthy, Minsky, Newell, Simon, Shaw, Hunt e altri. sono state effettuate ricerche approfondite di modelli e algoritmi del pensiero umano e lo sviluppo dei primi programmi basati su di essi. I rappresentanti dei filosofi umanistici, psicologi, linguisti, né allora né oggi, potevano offrire tali algoritmi, quindi la cibernetica iniziò a creare i propri modelli. Quindi sono stati creati e testati successivamente approcci diversi. Alla fine degli anni '50 è apparso il modello di ricerca del labirinto. Questo approccio rappresenta il problema come uno spazio degli stati sotto forma di un grafico, dopo il quale viene cercato il percorso ottimale dai dati di input ai dati di output in questo grafico. È stato fatto molto lavoro per creare un tale modello, ma questa idea non ha ancora trovato ampia applicazione per risolvere problemi pratici. Primi anni '60 divenne l'era della programmazione euristica. Un'euristica è una certa regola, non motivata teoricamente, ma che permette di ridurre il numero di iterazioni nello spazio di ricerca. La programmazione euristica è lo sviluppo di una strategia d'azione basata su euristiche note e predefinite. Nel ths. i metodi della logica matematica cominciarono ad essere collegati alla soluzione dei problemi. Robinson ha sviluppato il metodo di risoluzione, che consente di dimostrare automaticamente teoremi dati un insieme di assiomi iniziali. Più o meno nello stesso periodo, l'eccezionale matematico russo Yu. S. Maslov propose la cosiddetta derivazione inversa (che in seguito prese il suo nome), che risolve un problema simile in un modo diverso. In base al metodo di risoluzione

10 Intelligenza artificiale 9 Il francese Albert Colmeroe ha creato il linguaggio di programmazione logica Prolog nel 1973. Il programma Logic Theorist creato da Newell, Simon e Shaw, che ha dimostrato teoremi di scuola, ha causato una grande risonanza nella comunità scientifica. Tuttavia, la maggior parte compiti reali non è ridotto a un insieme di assiomi e una persona, quando risolve problemi di produzione, non usa sempre la logica classica, quindi i modelli logici, con tutti i loro vantaggi, hanno limitazioni significative sulle classi di compiti da risolvere. La storia dell'intelligenza artificiale è piena di eventi drammatici, uno dei quali è stato il cosiddetto "rapporto Lighthill" del 1973, preparato nel Regno Unito per ordine del British Research Council. Il noto matematico Lighthill, che non ha alcun legame professionale con l'intelligenza artificiale, ha preparato una panoramica dello stato delle cose in quest'area. Il rapporto ha riconosciuto alcuni risultati, ma li ha giudicati "deludenti" e la valutazione complessiva è stata negativa in termini di significato pratico. Questo rapporto ha riportato i ricercatori europei indietro di circa cinque anni, poiché i finanziamenti per il lavoro sono stati notevolmente ridotti. Più o meno nello stesso periodo, una svolta significativa nello sviluppo delle applicazioni pratiche dell'intelligenza artificiale si è verificata negli Stati Uniti, a metà degli anni '70. invece di cercare algoritmo universale Thinking ha avuto l'idea di modellare le conoscenze specifiche di esperti specializzati. Negli Stati Uniti sono apparsi i primi sistemi commerciali basati sulla conoscenza, o sistemi esperti (ES). È iniziato anche l'applicazione di un nuovo approccio alla risoluzione dei problemi dell'intelligenza artificiale, la rappresentazione della conoscenza. I primi due sistemi esperti per la medicina e la chimica, Mycin e Dendral, furono creati e divennero dei classici. Anche il Pentagono ha dato un contributo finanziario significativo, proponendo di basare il nuovo programma del Dipartimento della Difesa statunitense sui principi dell'intelligenza artificiale. Già alla ricerca di occasioni mancate, l'Unione Europea all'inizio degli anni '80. ha annunciato un programma globale per lo sviluppo di nuove tecnologie ESPRIT,

11 10 Capitolo 1 che includeva il problema dell'intelligenza artificiale. Alla fine degli anni '70 Il Giappone si unisce alla corsa, annunciando l'avvio di un progetto di macchine di quinta generazione basato sulla conoscenza. Il progetto è stato progettato per dieci anni e ha riunito i migliori giovani professionisti delle più grandi società di computer giapponesi. Per questi specialisti è stato creato appositamente un nuovo istituto ICOT a cui è stata data completa libertà d'azione (sebbene senza il diritto di pubblicare i risultati preliminari). Di conseguenza, hanno creato un processore simbolico piuttosto ingombrante e costoso che implementava a livello di codice un linguaggio simile a un prolog, ma non riceveva un ampio riconoscimento. Tuttavia, l'effetto positivo di questo progetto era evidente. In Giappone è apparso un gruppo significativo di specialisti altamente qualificati nel campo dell'intelligenza artificiale, che ha ottenuto risultati significativi in ​​vari compiti applicati. Entro la metà degli anni '90. L'Associazione giapponese per l'intelligenza artificiale contava già 40.000 membri. Dalla metà degli anni '80. l'intelligenza artificiale è stata commercializzata ovunque. Gli investimenti annuali sono cresciuti, sono stati creati sistemi esperti industriali. Crescente interesse per i sistemi di autoapprendimento. Vennero pubblicate decine di riviste scientifiche, annualmente si tenevano conferenze internazionali e nazionali in vari settori dell'intelligenza artificiale, che stava diventando una delle aree più promettenti e prestigiose dell'informatica. Attualmente, ci sono due approcci principali alla modellazione dell'intelligenza artificiale: l'intelligenza artificiale, che consiste in un compito rigoroso del risultato del funzionamento, e l'intelligenza artificiale, volta a modellare la struttura interna del sistema. La modellazione dei sistemi del primo gruppo si ottiene attraverso l'uso delle leggi della logica formale, della teoria degli insiemi, dei grafici, delle reti semantiche e di altre conquiste della scienza nel campo del calcolo discreto, e i risultati principali sono la creazione di sistemi esperti, l'analisi sistemi

12 Intelligenza artificiale 11 linguaggio naturale e sistemi di controllo più semplici di tipo “stimolo-risposta”. I sistemi del secondo gruppo si basano sull'interpretazione matematica dell'attività del sistema nervoso (principalmente il cervello umano) e sono implementati sotto forma di reti neurali basate su un elemento simile a un neurone dell'analogo di un neurone.AA Lyapunov (), uno dei fondatori della cibernetica russa. Al seminario hanno preso parte fisiologi, linguisti, psicologi, matematici. È generalmente accettato che in questo periodo sia nata l'intelligenza artificiale in Russia. Oltre che all'estero, in esso si distinguevano due aree principali della neurocibernetica e della cibernetica della "scatola nera". Nel ths. sono stati creati programmi separati e sono state condotte ricerche nel campo della ricerca di soluzioni a problemi logici. LOMI (ramo di Leningrado dello Steklov Institute of Mathematics) ha creato il programma ALPEV LOMI, che dimostra automaticamente i teoremi, che si basa sulla derivazione inversa originale di Maslov, simile al metodo di risoluzione di Robinson. Tra i risultati più significativi ottenuti dagli scienziati domestici negli anni '60, va notato l'algoritmo "Kora" di M. M. Bongard, che simula l'attività del cervello umano nel riconoscimento di schemi. Scienziati eccezionali come M. L. Tsetlin, V. N. Pushkin, M. A. Gavrilov, i cui studenti sono diventati i pionieri di questa scienza in Russia, hanno anche dato un grande contributo allo sviluppo della scuola russa di intelligenza artificiale. Nel ths. è nata una nuova direzione dell'IA situazionale (corrispondente alla rappresentazione della conoscenza nella terminologia occidentale). Il professor D. A. Pospelov divenne il fondatore di questa scuola scientifica. Sono stati inoltre sviluppati modelli speciali per la rappresentazione delle situazioni (rappresentazione della conoscenza). Nonostante il fatto che l'atteggiamento verso le nuove scienze nella Russia sovietica fosse sempre diffidente, la scienza con una tale "sfida"

13 12 Anche il capitolo 1 con il titolo più importante non sfuggì a questo destino e fu accolto con ostilità all'Accademia delle scienze. Fortunatamente, tra i membri dell'Accademia delle scienze dell'URSS c'erano persone che non avevano paura di una frase così insolita come il nome di una nuova direzione scientifica. Tuttavia, solo nel 1974, sotto il Comitato per l'analisi dei sistemi sotto il Presidium dell'Accademia delle scienze dell'URSS, fu creato un consiglio scientifico sul problema dell '"Intelligenza artificiale", guidato da D. A. Pospelov. Su iniziativa di questo consiglio sono stati organizzati cinque complessi progetti scientifici, guidati dai massimi esperti in materia: "Dialogo" (lavori sulla comprensione del linguaggio naturale), "Situazione" (gestione della situazione), "Banca" (banche dati), " Costruttore" (motore di ricerca). design) e "Intelligence del robot". Nel ths. nel nostro Paese è stata svolta una ricerca attiva nel campo della rappresentazione della conoscenza, sono stati sviluppati linguaggi di rappresentazione della conoscenza e sono stati sviluppati sistemi esperti; La lingua Refal è stata creata all'Università statale di Mosca. Nel 1988 è stata costituita l'Associazione di Intelligenza Artificiale (AII) e D. A. Pospelov è stato eletto presidente all'unanimità. Nell'ambito di questa associazione sono stati realizzati numerosi studi, scuole per giovani specialisti, seminari, simposi, conferenze congiunte ogni due anni ed è stata pubblicata una rivista scientifica. Va notato che il livello della ricerca teorica sull'intelligenza artificiale in Russia non è sempre stato inferiore al livello globale. Purtroppo, dagli anni '80 il lavoro applicato iniziò a risentire di un graduale ritardo tecnologico. Al momento, il ritardo nello sviluppo di sistemi intelligenti industriali è di circa 3 5 anni. Le principali applicazioni dei sistemi di intelligenza artificiale sono: dimostrazione di teoremi, giochi, riconoscimento di modelli, processo decisionale, programmazione adattiva, composizione di musiche automatiche, elaborazione del linguaggio naturale, reti di apprendimento (reti neurali), apprendimento concettuale verbale.

14 Intelligenza artificiale La struttura funzionale del sistema di intelligenza artificiale La struttura funzionale del sistema di IA (Fig. 1.1) è costituita da tre set di strumenti informatici. Il primo di questi è un sistema esecutivo (IS) - un insieme di strumenti che eseguono programmi e sono progettati dal punto di vista di un'efficace risoluzione dei problemi; questo complesso ha in alcuni casi un orientamento al problema. Il secondo complesso è un insieme di strumenti di interfaccia intelligenti che hanno una struttura flessibile, che offre la capacità di adattarsi a un'ampia gamma di interessi degli utenti finali. Il terzo insieme di strumenti, con l'aiuto del quale è organizzata l'interazione dei primi due complessi, è la base di conoscenza, che assicura l'uso del primo insieme di strumenti informatici.

15 [...]

16 Minimo requisiti di sistema sono determinati dai requisiti pertinenti di Adobe Reader versione 11 o successiva per Piattaforme Windows, Mac OS, Android, ios, Windows Phone e BlackBerry; schermo 10" Edizione elettronica didattica Serie: "Educazione pedagogica" BASE DELL'INTELLIGENZA ARTIFICIALE Tutorial Caporedattore D. Usenkov Artisti N. Novak, S. Infante Editore tecnico E. Denyukova Revisore bozze L. Makarova Layout computer: S. Yankova Firmato per l'uso Formato mm Casa editrice "Laboratorio della Conoscenza", Mosca, Passaggio aeroporto, 3 Telefono: (499)

17 BOROVSKAYA ELENA VLADIMIROVNA Docente senior, Dipartimento di Informatica e metodi di insegnamento dell'informatica, Università pedagogica statale di Chelyabinsk. Area di interesse: problematiche del sistema di valutazione dei moduli per il monitoraggio e la valutazione dei risultati scolastici degli studenti in termini di gestione della qualità in Ateneo. DAVYDOVA NADEZHDA ALEKSEEVNA Candidato di scienze pedagogiche nella specialità "Teoria e metodi di insegnamento e istruzione (informatica, livello di istruzione generale)", Professore associato del Dipartimento di informatica e metodi di insegnamento dell'informatica, Università pedagogica statale di Chelyabinsk. Aree di interesse: tecnologia per formare il contenuto dell'istruzione in informatica nelle classi specializzate delle scuole di istruzione generale, sistemi di apprendimento intelligenti. Il tutorial introduce i lettori alla storia dell'intelligenza artificiale, ai modelli di rappresentazione della conoscenza, ai sistemi esperti e alle reti neurali. Vengono descritte le principali direzioni e metodi utilizzati nell'analisi, sviluppo e implementazione di sistemi intelligenti. Vengono presi in considerazione modelli di rappresentazione della conoscenza e metodi di lavoro con essi, metodi di sviluppo e creazione di sistemi esperti. Il libro aiuterà il lettore a padroneggiare le abilità di progettazione logica di database di dominio e di programmazione nel linguaggio Prolog. Il libro è rivolto a studenti e insegnanti di università pedagogiche, insegnanti di scuole secondarie, palestre e licei.


Intelligenza artificiale Docente: Bragilevsky V.N. Relatore: Banar O.V. Piano Aspetti filosofici dell'IA Storia dello sviluppo dell'IA Approcci alla costruzione di sistemi di IA Approccio strutturale. Sistemi di identificazione

In occasione del centesimo anniversario della nascita di Germogen Sergeevich Pospelov

1. SCOPO E COMPITI DELLA DISCIPLINA La storia dei computer non è solo la storia dello sviluppo dei concetti, ma anche una delle parti della storia dell'attività umana, che riflette la vita di una persona sia come specie biologica che come un membro di

MANUALE per la preparazione all'Esame di Stato unificato MANUALE DI SCIENZE INFORMATICHE per la preparazione all'Esame di Stato unificato 3a edizione, corretto e integrato (elettronico) A cura di E. T. Vovk Moscow BIOM. Knowledge Lab 2015 UDC

Lezione di informatica 1 Definizioni di base Professore associato del Dipartimento di RES (2302) Kuznetsov Igor Rostislavovich Definizione L'informatica è una scienza che studia tutti gli aspetti dell'ottenere, immagazzinare, trasformare, trasmettere e utilizzare

Regia 09.03.03 Informatica 1.2 Lezione “Interazione uomo-macchina. Docente PPO Molnina Elena Vladimirovna Docente senior del Dipartimento di Sistemi Informativi, aula 9, edificio principale. posta: molny [email protetta]

UDC 004.89 L'INTELLIGENZA ARTIFICIALE IN EDUCAZIONE R.V. Streltsov, art. gr. TP08 LV Slavinskaya, art. insegnante bar VMIP Donetsk National Technical University Il processo di ingresso dell'istruzione superiore nel mondo

Documenti normativi Annotazione al programma di lavoro in informatica Grado 8 Il programma di lavoro in informatica e TIC si basa sul programma dell'autore Ugrinovich N.D. tenendo conto del programma approssimativo del principale

MODELLI PER LA SOLUZIONE DI PROBLEMI FUNZIONALI E COMPUTAZIONALI LECTOR RAZARCHENKOV A. A. CONCETTI BASE Compiti: compiti computazionali - determinazione di un certo valore, compiti funzionali - creazione

Il contenuto del programma di lavoro I. Nota esplicativa che indica i documenti normativi che garantiscono l'attuazione del programma 1. Caratteristiche generali della materia L'informatica è una disciplina delle scienze naturali

Agenzia federale per l'istruzione Istituto d'Istruzione istruzione professionale superiore "Università statale di Novosibirsk" (NSU) Facoltà di tecnologia dell'informazione

PRIMO ISTITUTO EDUCATIVO TECNICO SUPERIORE DELLA RUSSIA MINISTERO DELL'ISTRUZIONE E DELLA SCIENZA DELLA FEDERAZIONE RUSSA istituto di istruzione di bilancio dello stato federale di istruzione professionale superiore

Modellazione delle capacità cognitive umane nell'intelligenza artificiale Natalya Andreevna Yastreb VSPU, 2010 [email protetta] mail.ru 1 Il concetto di intelligenza Il termine "intelligenza" è ambiguo,

Annotazione del programma della disciplina "Metodi di ricerca e modellizzazione processi informativi e tecnologie" Scopo della disciplina: 1. OBIETTIVI E COMPITI DELLA DISCIPLINA Disciplina "Metodi di ricerca e modellizzazione

Sullo sviluppo di sistemi strumentali incentrati sulla risoluzione di problemi logici dell'informazione R. G. Bukharaev, A. I. Enikeev, I. I. Makarov La pratica dell'utilizzo dei computer per l'automazione

Istituto di istruzione di bilancio comunale "Scuola secondaria 9" Annotazione al programma di lavoro su informatica e TIC in parallelo con l'anno accademico 2016-2017 di Vilyuchinsk di 6a elementare 1 Numero di ore

Informatica L'informatica stabilisce le leggi della trasformazione dell'informazione nelle condizioni di funzionamento dei sistemi automatizzati, sviluppa metodi per la sua algoritmizzazione, formazione del linguaggio mezzi di comunicazione

ISTITUTO UNIVERSITARIO FEDERALE DI KAZAN DI MATEMATICA COMPUTAZIONALE E TECNOLOGIE DELL'INFORMAZIONE Dipartimento di Analisi dei Sistemi e Tecnologie dell'Informazione А.М. YURIN EXPERT SYSTEMS Educativo e metodico

83 UDC 004.822 SVILUPPO DI UN SISTEMA PER LA SOLUZIONE AUTOMATICA DI PROBLEMI COMPUTAZIONALI IN CAD, BASATO SUL METODO DI PROGRAMMAZIONE ENTRO VINCOLI SD Krilevich, AV Grigoriev. tecnico nazionale di Donetsk

UN. UN. Ernyak, Æ. UN. Ernyak, Yu. IO. Metelysky, S. UN. OPZIONI DEL METODO BOGDANOVI: TESTO DI TEORIA E LAVORO PER STUDI ACCADEMICI DI LAUREA 2a edizione, riveduta e integrata Rev.

NA Davydova EV Borovskaya Tutorial DI PROGRAMMAZIONE Mosca BIOM. Knowledge Laboratory 2009 UDC 004.4 LBC 32.973-018 D13 D13 Davydova N. A. Programmazione: un tutorial / N. A. Davydova,

Annotazione alla disciplina “sistemi informativi intellettuali” 1. OBIETTIVI E COMPITI DELLA DISCIPLINA 1.1. Obiettivi della disciplina Lo scopo dell'insegnamento della disciplina è aiutare gli studenti a sviluppare le capacità

Istituzione scolastica di bilancio comunale Scuola secondaria 83

Compiti di prova nella disciplina di IIS Argomento: 1. Intelligenza artificiale 1 domanda: l'intelligenza artificiale è una direzione che ti consente di risolvere complessi problemi di matematica nei linguaggi di programmazione;

NOTA ESPLICATIVA Il programma di lavoro del circolo sull'informatica "Young Informatician" per i gradi 5-7 è stato sviluppato sulla base del programma dell'autore N.V. Makarova per i gradi 5-9, raccomandato dal Ministero dell'Istruzione

Reti neurali artificiali e possibilità di creare intelligenza artificiale basata su di esse Suleymanov K.B. FGBOU VO "Dagestan State University" Makhachkala, Russia. reti neurali artificiali

Annotazione alla disciplina "Fondamenti di programmazione e algoritmizzazione" Direzione della formazione (specialità) 03.09.02 "Sistemi e tecnologie dell'informazione" Profilo Sistemi e tecnologie informatiche in edilizia

Metodologia e logica della ricerca scientifica La disciplina "Metodologia e logica della ricerca scientifica" è inserita nella parte fondamentale del ciclo scientifico generale della formazione del master. Lo scopo dello studio della disciplina è di familiarizzare

Sistemi intelligenti in ingegneria meccanica Lezione 2.1. Metodi di rappresentazione della conoscenza. 1 Rappresentazione della conoscenza nei sistemi di intelligenza artificiale La caratteristica principale dei sistemi intelligenti è quella

Marchuk 14 anno RECENSIONE dell'organizzazione leader per il lavoro di tesi di Dmitry Alexandrovich Krylov "Modelli e metodi per l'implementazione di una piattaforma cloud per lo sviluppo e l'uso di servizi intelligenti",

TECNOLOGIE DELL'INTELLIGENZA ARTIFICIALE Lezione 5. Sistemi esperti Continua Tecnologie AI 1 MODELLI SEMIOTICI Problemi di controllo classici. Alla loro base c'è la tesi che conosciamo: lo scopo

8. FONDO STRUMENTI DI VALUTAZIONE PER LA CERTIFICAZIONE INTERMEDIA DEGLI STUDENTI SULLA DISCIPLINA (MODULO) Informatica, Ingegneria Informatica e 1. Dipartimento informazioni di sicurezza 09.03.02 "Informazioni

SINTESI DEL PROGRAMMA DI LAVORO " Tecnologie dell'informazione in gestione" in direzione di formazione/specialità 38.03.04 "Amministrazione statale e comunale" codice e denominazione della direzione/specialità

MINISTERO DELL'ISTRUZIONE E DELLA SCIENZA DELLA RUSSIA istituto di istruzione di bilancio dello stato federale istruzione superiore"Università tecnologica statale di Mosca "STANKIN" (FGBOU VO "MSTU "STANKIN") ABSTRACT

1. Enciclopedia pedagogica russa. In 2 volumi / cap. ed. VV Davydov. M.: Great Russian Encyclopedia, 1993. Vol. 2. 608 p. 2. Selevko G.K. Tecnologie educative moderne: Proc. indennità M.:

G. V. Alekseev, S. A. Bredikhin, I. I. Kholyavin APPROCCIO SISTEMICO NELL'INGEGNERIA ALIMENTARE Definizioni generali e alcune applicazioni

Software(Software) Software Software di sistema e applicativo Il software di sistema viene utilizzato per sviluppare l'esecuzione di prodotti software, nonché per fornire determinati servizi all'utente. Sistemico

Annotazione ai programmi di lavoro in Informatica e ICT per l'a.a. 2016-2017 Grade 7 (istruzione generale di base) Lo studio dell'informatica e delle ICT nelle VII classi è finalizzato al raggiungimento dei seguenti obiettivi:

UDC 004.514.6 VALUTAZIONE DELLA QUALITÀ DELL'INTERFACCIA UTENTE DEI PROGRAMMI DIDATTICI Goretsky A.A. E-mail del Dipartimento di matematica applicata e informatica dell'Università tecnica nazionale di Donetsk: [email protetta]

ANNOTAZIONE DEL PROGRAMMA DI LAVORO DELLA DISCIPLINA Sistemi e tecnologie intelligenti nella direzione / specialità 09.03.02 - "Sistemi e tecnologie dell'informazione" 1. Obiettivi e obiettivi della padronanza della disciplina Lo scopo della padronanza

SISTEMI ADATTIVI E INTELLIGENTI T. Kohonen Mappe auto-organizzanti Traduzione della 3a edizione inglese di V. N. Ageev, a cura di Yu. V. Tyumentsev Moscow BINOM. Laboratorio della conoscenza 2008 UDC 517.11+519.92

MINISTERO DELL'ISTRUZIONE E DELLA SCIENZA DELLA FEDERAZIONE RUSSA Istituto statale di istruzione professionale superiore "Murmansk State University for the Humanities" (MGGU)

MINISTERO DELL'ISTRUZIONE E DELLA SCIENZA DELLA FEDERAZIONE RUSSA Istituzione educativa di bilancio statale federale dell'istruzione professionale superiore "UFA STATE AVIATION TECHNICAL

Sistemi di gestione dei database (DBMS) 1. Informazioni generali sui DBMS 2. Modelli di dati 3. DBMS Microsoft Access 1. Informazioni generali sui sistemi di gestione dei database Due principali aree di utilizzo dei computer:

COMPILATORI: Ryaby VV, docente senior, Dipartimento di supporto matematico dei computer elettronici, Università statale bielorussa; Pobegailo A.P., Professore Associato, Dipartimento di Tecnologia

MINISTERO DELL'ISTRUZIONE E DELLA SCIENZA DELLA FEDERAZIONE RUSSA istituto di istruzione autonomo dello stato federale di istruzione professionale superiore RICERCA NAZIONALE UNIVERSITÀ NUCLEARE

MINISTERO DELL'ISTRUZIONE E DELLE SCIENZE DELLA FEDERAZIONE RUSSA STATO FEDERALE DI BILANCIO ISTITUTO EDUCATIVO DI ISTRUZIONE SUPERIORE PROFESSIONALE

BILANCIO DELLO STATO ISTITUTO EDUCATIVO DELLA CITTÀ DI MOSCA SCUOLA EDUCATIVA SECONDARIA 382 Considerato nella riunione del Ministero della Difesa Capo del Ministero della Difesa N.V. Protocollo Pavlenko del 2014 D'ACCORDO Vice

UDC 372.851.046.14 LBC 74.262.21 G15 Revisori: Ph.D. ped. Scienze, Assoc. bar Matematica e metodi di insegnamento della matematica Istituto di istruzione “Mozyr State. ped. un-t im. IP Shamyakina» LA Ivanenko; insegnante

YURI MIKHAILOVICH ZABRODIN HA 70 ANNI Nell'ottobre 2010, Yuri Mikhailovich Zabrodin, eminente scienziato e organizzatore della scienza psicologica russa, ha festeggiato il suo 70° compleanno. Nella storia della psicologia sovietica e russa

TAMBOV ISTITUTO EDUCATIVO AUTONOMO REGIONALE STATALE PER LA FORMAZIONE PROFESSIONALE AGGIUNTIVA "ISTITUTO PER L'AVANZAMENTO PROFESSIONALE DEL PERSONALE EDUCATIVO"

Manuale per dirigenti, loro delegati, insegnanti di istituti di istruzione secondaria generale Mozyr "White Wind" 2 0 1 4 UDC 371 BBK 74.200.58 B59

Il curriculum si basa sul curriculum di un istituto di istruzione superiore nella specialità 1-40 05 01 "Sistemi e tecnologie dell'informazione (in aree)" e sul curriculum "Fondamenti di informazione

Pagina del titolo della sezione dei contenuti sezione 1. Nota esplicativa 3-4 2. Il contenuto della materia 4-5 3. Il requisito del livello di preparazione degli studenti 5-7 4. Letteratura 7 5. Calendario-programmazione tematica

Il principale programma formativo dell'istruzione superiore è stato approvato dal Consiglio Accademico dell'Ateneo (protocollo del Consiglio Accademico dell'Ateneo 3 del 16 marzo 2016) 2 CONTENUTI 1. Caratteristiche generali della principale figura professionale

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

Lezione 21 Sistemi decisionali di gruppo Il processo decisionale ha la stessa natura del processo di presa di una decisione manageriale. Può essere suddiviso nelle seguenti fasi (Fig. 4.1). I. Analisi del progetto

Ci scrivono ROSSIKHINA Larisa Vitalievna - candidata di scienze tecniche, capitano servizio interno, docente senior nel ciclo dei sistemi di ingegneria radio del Collegio Voronezh del Servizio Penitenziario Federale

1 Libro di testo: Informatica. Grado 11. livello avanzato. Alle 14 Autori: K.Yu. Polyakov, EA Eremin M.: BINOM, Knowledge Lab, 2013. Risultati pianificati del programma di studio dell'informatica nella materia "Informatica"

Il ruolo della programmazione logica nello studio dell'informatica. N. Pelin State University Tiraspol (UST) Sommario Il documento analizza le opinioni di numerosi scienziati e

Formazione municipale - distretto urbano, città di Ryazan, regione di Ryazan

APPLICAZIONE DELL'INTELLIGENZA ARTIFICIALE NELLO SVILUPPO DI GIOCHI PER COMPUTER Kaziev AB, Prokopyuk S.Yu. Tomsk Polytechnic University Tomsk, Russia APPLICAZIONE DELL'INTELLIGENZA ARTIFICIALE

Controllo, Ingegneria Informatica e informatica UDC 004.032.26:612.825

SIMULAZIONE DI ROBOT INTEGRALI IN MATLAB Sadykov ENU loro. LN Gumiliov, Astana, st. Munaitpasova, 5, 001008. E-mail: [email protetta] Introduzione. Dispositivo automatico robot (robot ceco).

Stato di Armavir

Università Pedagogica

BASE 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……………………………………. nove

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. Informazioni generali su PROLOG………………………………………………… 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. Attività di elaborazione elenco standard…………………………….….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. La ricerca intensiva sulla creazione di uno spazio informativo unico che crei le condizioni per il lavoro a distanza congiunto basato su basi di conoscenza ha ora iniziato a essere condotta 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.

L'ambiente di sviluppo è considerato un supporto informatico per il corso. 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 di gestione delle informazioni intelligenti sono programmate in modo efficiente nell'ambiente Visual Prolog. 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, di come estrarla, rappresentarla in sistemi artificiali, elaborarla all'interno del sistema e usarla per risolvere problemi 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 che risolvono problemi basati 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 hanno da tempo stabilito che la base del cervello umano è un gran numero di cellule nervose interconnesse e interagenti: i 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. Recentemente, la neurocibernetica ha ricominciato a svilupparsi a causa di un balzo nello sviluppo dei computer. Apparvero neurocomputer e trasmettitori.

Attualmente esistono tre approcci alla creazione di reti neurali:

hardware- realizzazione di 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 e puzzle all'uso di massa per risolvere problemi praticamente 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 è un insieme di elementi base di varia natura con relative procedure;

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 sistemi software complessi che accumulano conoscenze di specialisti in aree tematiche specifiche e replicano questa esperienza empirica per le 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 rivedere (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 un numero limitato di regole e relativamente poco costosi. 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:

Rilevazione e identificazione di vari tipi di 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.

Design. La progettazione consiste nella preparazione delle specifiche per la creazione di "oggetti" con proprietà predeterminate. La specifica è intesa come l'intera serie di documenti necessari, un disegno, una nota esplicativa, ecc. Esempi di ES:

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

Progettazione LSI - CADHELP;

Sintesi di circuiti elettrici - SYN e altri.

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 di un piano di sviluppo dettagliato.

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 i problemi più tipici, ma non dovrebbe essere troppo grande.

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

Il funzionamento dei programmi prototipo viene valutato e testato per adeguarli alle reali richieste 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 viene notevolmente ampliata, viene aggiunto un gran numero di euristiche aggiuntive. Queste euristiche generalmente aumentano la profondità del sistema fornendo 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.

Di norma, viene implementata una 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 tematica, coerenza della base di conoscenze, numero di deadlock quando il sistema non è in grado di 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, computer specializzati(ad esempio, macchine Lisp) progettate 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., che consentono agli utenti di lavorare con spazi vuoti di sistemi esperti a un livello superiore livello di quello 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 è rappresentare con successo l'area disciplinare con un sistema di formule logiche e un tale insieme di relazioni su di essa che descrivono in 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 ariità è 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 Robert Kowalski su Applications of Logic to Programming (1973).

Il sistema di programmazione più famoso in Russia è Turbo Prolog, un'implementazione commerciale del linguaggio per PC compatibili con IBM. Nel 1988 è stata rilasciata una versione molto più potente di Turbo Prolog 2.0, che includeva un IDE migliorato, un compilatore veloce e strumenti di programmazione di basso livello. Borland ha distribuito questa versione fino al 1990, quindi PDC ha acquisito il diritto esclusivo di utilizzare il codice sorgente del compilatore e commercializzare ulteriormente il sistema di programmazione 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 l'aspetto e il comportamento dei programmi sono definiti utilizzando speciali strumenti di progettazione grafica senza la programmazione tradizionale in un linguaggio algoritmico.

Il prologo visivo include ambiente interattivo sviluppo visivo (VDE - Visual Develop Environment), che include testi e vari editor grafici, strumenti di generazione del codice che costruiscono la logica di controllo (Experts), nonché un'estensione dell'interfaccia di 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 inchiesta(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?

inchiesta: sa (lena, sasha).

Risultato:

b) Tanya conosce Lena?

inchiesta 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?

inchiesta: sa (lena, X).

Risultato:

X = Tanya

X = sascia

b) Chi conosce Sasha?

inchiesta: 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 libero, 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

Inchiesta: 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 una lettera minuscola e contiene solo lettere, numeri e trattini bassi (cioè, se può essere distinta da una notazione 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).

OBBIETTIVO- 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, "!").

Articoli correlati in alto