Construction, conception, rénovation

Problèmes modernes de la science et de l'éducation. Systèmes d'intelligence artificielle. Guide d'étude Tutoriel sur les systèmes d'intelligence artificielle

AGENCE FÉDÉRALE POUR L'ÉDUCATION

INSTITUTION ÉDUCATIVE D'ÉTAT

FORMATION PROFESSIONNELLE SUPÉRIEURE

"UNIVERSITÉ TECHNIQUE D'ÉTAT DE VOLGOGRAD"

INSTITUT TECHNOLOGIQUE KAMYSHIN (BRANCHE)

GOU VPO "UNIVERSITÉ TECHNIQUE D'ÉTAT DE VOLGOGRAD"

COURS PRATIQUE DANS LA DISCIPLINE « SYSTÈMES D'INTELLIGENCE ARTIFICIELLE »

Édition électronique pédagogique

Volgograd

NL – langage naturel

IA – intelligence artificielle

LP – logique de prédicat

Décideur - décideur

MT – Machine de Turing

PGA – algorithme génétique simple

PPF - une formule correctement construite

PRO – opérateur récursif primitif

PRF – fonction récursive primitive

RF – fonction récursive

SNI – système d'intelligence artificielle

FP – fonction fitness

TF - fonction objectif

ES – système expert

INTRODUCTION

Initialement, l’intelligence artificielle était considérée comme la science permettant de créer des machines pensantes. Ce domaine était considéré comme le Saint Graal de l’informatique. Au fil du temps, l’intelligence artificielle a évolué vers une discipline plus pragmatique. Ce domaine comprend toujours l'étude des mécanismes de la pensée. Dans le cadre de l'intelligence artificielle, diverses stratégies permettant à l'ordinateur de résoudre des problèmes pratiques complexes sont envisagées. De plus, il est devenu évident aujourd’hui que l’intelligence elle-même est une entité trop complexe qui ne peut être décrite dans le cadre d’une seule théorie. Diverses théories le décrivent à différents niveaux d'abstraction. L'apprentissage au niveau le plus bas est assuré par les réseaux neuronaux, les machines de reconnaissance, les algorithmes génétiques et d'autres formes d'informatique qui modélisent la capacité à s'adapter, à percevoir et à interagir avec le monde physique. À un niveau d'abstraction plus élevé, travaillent les créateurs de systèmes experts, d'agents intelligents, de modèles stochastiques et de systèmes de compréhension du langage naturel. Ce niveau prend en compte le rôle des processus sociaux dans la création, la transmission et la récupération des connaissances. Le plus haut niveau d’abstraction comprend des approches logiques, notamment des modèles déductifs et abductifs, des systèmes de support de vérité et d’autres formes et méthodes de raisonnement.


Ce manuel décrit les bases de certaines théories de bas niveau avec des tâches pratiques pour étudier les algorithmes basés sur les dispositions de ces théories. En particulier, les fondements de la théorie de la reconnaissance de formes sont examinés avec pour tâche d'étudier les fonctions discriminantes linéaires et les fonctions de similarité ; théorie des réseaux de neurones artificiels avec la formulation du problème de l'étude des propriétés des réseaux de neurones artificiels sur le problème de la reconnaissance des formes ; algorithmes génétiques avec la formulation du problème de l'étude de leurs propriétés lors de la recherche de l'extremum d'une fonction. Pour effectuer des tâches de recherche, vous devez être capable de programmer dans un langage de programmation, de préférence orienté objet.

1.1. Origine de la théorie de l'intelligence artificielle

1.1.1. Concept d'intelligence artificielle

Terme intelligence(intelligence) vient du latin intellectus, qui signifie esprit, raison, esprit et capacités de réflexion d'une personne. Respectivement intelligence artificielle(IA, en anglais équivalent : artificial intelligence, AI) est la propriété des systèmes automatiques d’assumer des fonctions individuelles de l’intelligence humaine.

Toute intelligence artificielle est un modèle de prise de décision réalisée par l'intelligence naturelle d'une personne. L’intelligence artificielle peut être comparée à l’intelligence naturelle, à condition que la qualité des solutions générées ne soit pas pire que l’intelligence naturelle moyenne.

1.1.2. L'intelligence artificielle dans la boucle d'automatisation

Dans de tels systèmes, la boucle de contrôle est introduite décideur(DM).

Le décideur a son propre système de préférences concernant le critère de gestion de l’objet, voire le but de l’existence de l’objet. Le décideur, le plus souvent, n'est pas d'accord, au moins partiellement, avec les modes proposés par le système de contrôle automatisé traditionnel. En règle générale, le décideur contrôle les principaux paramètres du système, tandis que le reste est contrôlé par des systèmes de contrôle locaux. La tâche consiste à automatiser les activités des décideurs dans la boucle de contrôle.

L'IA est un domaine de recherche qui crée des modèles et des logiciels correspondants qui permettent aux ordinateurs de résoudre des problèmes de nature créative et non informatique, qui, dans le processus de résolution, nécessitent d'aborder la sémantique (le problème du sens).

L'IA est un système logiciel qui imite la pensée humaine sur un ordinateur. Pour créer un tel système, il faut étudier le processus de réflexion du décideur, mettre en évidence les principales étapes de ce processus et développer un logiciel reproduisant ces étapes sur un ordinateur.

1.1.3. Le concept de tâche et d'activité intellectuelle

Une caractéristique de l'intelligence humaine est la capacité de résoudre des problèmes intellectuels en acquérant, en mémorisant et en transformant délibérément des connaissances dans le processus d'apprentissage par l'expérience et d'adaptation à diverses circonstances.

Tâches intellectuelles– des problèmes, dont la division formelle du processus de recherche d'une solution en étapes élémentaires distinctes s'avère souvent très difficile, même si leur solution elle-même n'est pas difficile.

Nous appellerons activité cérébrale visant à résoudre des problèmes intellectuels réflexion ou activité intellectuelle.

L'activité intellectuelle présuppose la capacité de déduire, de générer et de construire une solution qui n'est pas explicitement et prête à l'emploi dans le système. La conclusion de solutions n'est possible que s'il existe une représentation interne des connaissances dans le système ( modèles du monde extérieur) – une représentation formalisée des connaissances sur le monde extérieur (domaine automatisé).

1.1.4. Les premiers pas de l'histoire de l'intelligence artificielle

Les premiers programmes mettant en œuvre les caractéristiques de l'activité intellectuelle :

1. Traduction automatique (1947). En URSS, depuis 1955, les travaux dans le domaine de la traduction automatique sont associés à... La tâche de traduction automatique nécessitait de séparer les connaissances du code. L'apparition d'un langage intermédiaire marque la première tentative de création d'un langage de représentation interne des connaissances.

2. Extraction automatisée de résumés et de recherche d'informations (1957, États-Unis). L'idée d'isoler un système de connexions et de relations entre des faits individuels, incarnée dans le concept de thésaurus.

3. Preuve de théorèmes (1956, USA). L'émergence d'un programme de preuve de théorèmes de logique propositionnelle : « Logicien-théoricien ». En 1965, la méthode de résolution est apparue (J. Robinson, USA), en 1967 - la méthode inverse (URSS). Les méthodes mettent en œuvre l'idée d'utiliser heuristique– des règles expérimentées pour réduire la recherche d'options lors de l'élaboration d'une solution.

4. Reconnaissance de formes (début des années 60). Idées en théorie de la reconnaissance liées à l'apprentissage de la recherche de la règle décisive à partir d'un ensemble d'exemples positifs et négatifs.

En 1956, K. Shannon, M. Minsky et J. McCarthy organisèrent une conférence à Dartmouth (USA) pour résumer l'expérience pratique dans le développement de programmes intelligents.

1.1.5. Création d'une base théorique

En 1969, la première conférence internationale sur l'intelligence artificielle (IJCAI) s'est tenue à Washington. En 1976, la revue internationale Artificial Intelligence a commencé à paraître. Au cours des années 70, les principales orientations théoriques de recherche dans le domaine des systèmes intelligents émergent :

représentation des connaissances, formalisation des connaissances sur l'environnement extérieur, création d'un modèle interne du monde extérieur ;

− communication, création de langages d'interaction entre le système et l'utilisateur ;

− raisonnement et planification, prise de décision dans des situations alternatives ;

− perception (vision industrielle), obtention de données de l'environnement externe ;

− formation, extraction de connaissances à partir de l'expérience du système ;

− activité, comportement actif du système en fonction de ses propres objectifs de fonctionnement.

1.1.6. Problèmes philosophiques de la théorie de l'intelligence artificielle

Cette sous-section répertorie les principales questions et quelques commentaires sur celles-ci sur des problèmes fréquemment et largement discutés dans la théorie de l'intelligence artificielle.

Est-il possible de reproduire l'intelligence ? L'auto-reproduction est théoriquement possible. La possibilité fondamentale d'automatiser la solution de problèmes intellectuels à l'aide d'un ordinateur est assurée par la propriété d'universalité algorithmique. Cependant, il ne faut pas penser que les ordinateurs et les robots peuvent, en principe, résoudre n’importe quel problème. Il existe des problèmes algorithmiquement insolubles.

Quel est le but de la création de l’intelligence artificielle ? Supposons qu'une personne ait réussi à créer un intellect qui dépasse son propre intellect (même si ce n'est pas en qualité, mais en quantité). Qu’arrivera-t-il à l’humanité maintenant ? Quel rôle la personne jouera-t-elle ? A quoi sert-il maintenant ? Et de manière générale, est-il en principe nécessaire de créer une IA ? Apparemment, la réponse la plus acceptable à ces questions est le concept de « rehausseur d’intelligence ».

Est-il sécuritaire de créer une intelligence artificielle ? Possédant des capacités d’intelligence et de communication plusieurs fois supérieures à celles des humains, la technologie deviendra une puissante force indépendante capable de contrecarrer son créateur.

1.1.7. Domaines d'utilisation

1. Traitement des langues naturelles, reconnaissance d'images, de parole, de signaux, ainsi que création de modèles d'interface intelligents, prévisions financières, extraction de données, diagnostic du système, surveillance des activités des réseaux, cryptage des données (direction - réseaux de neurones).

2. Nanotechnologie, problèmes d'auto-assemblage, d'auto-configuration et d'auto-guérison de systèmes constitués de nombreux nœuds fonctionnant simultanément, de systèmes multi-agents et de robotique (direction - calculs évolutifs).

3. Systèmes de contrôle hybrides, traitement d'images, outils de recherche, d'indexation et d'analyse de la signification des images, reconnaissance et classification des images (direction - logique floue).

4. Diagnostic médical, formation, conseil, programmation automatique, tests et analyses de la qualité des programmes, conception de circuits intégrés ultra-larges, diagnostics techniques et élaboration de recommandations pour la réparation des équipements, planification dans divers domaines et analyse des données (direction - systèmes experts (ES)).

5. Tâches de transport, informatique distribuée, chargement optimal des ressources (direction - méthodes de réduction de la recherche).

6. Développement de grands systèmes de conception de logiciels, génération de code, vérification, tests, évaluation de la qualité, identification des possibilités de réutilisation, résolution de problèmes sur des systèmes parallèles (direction - ingénierie intelligente).

7. Création de cyber-usines entièrement automatisées.

8. Jeux, comportement social des émotions humaines, créativité.

9. Technologies militaires.

1.2. Architecture des systèmes d'intelligence artificielle

1.2.1. Éléments de l'architecture ASI

Architecture du système d'intelligence artificielle(SII) – organisation de la structure au sein de laquelle se produisent la prise de décision et l’application des connaissances dans un domaine spécifique. Le schéma le plus général du SII est présenté dans la Fig. 1. Il n’existe pas une seule IA réelle sous cette forme ; certains blocs peuvent manquer. Dans l’AIS, il n’y a toujours que deux blocs : la base de connaissances et le mécanisme d’inférence.

Considérons les principaux types d'intelligence artificielle dans les systèmes automatisés de traitement et de contrôle de l'information :

− SII pour le contrôle des processus technologiques ;

− Diagnostic SII ;

− Planification et répartition des SII ;

− des robots intelligents.

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

Riz. 1. Schéma généralisé de l'AIS

1.2.2. Contrôle de processus SII

L'architecture du système d'information de contrôle de processus automatisé est illustrée à la Fig. 2.

Caractéristiques de ce système :

− utilisation d'informations technologiques pour la gestion (caractéristiques mesurées du produit sur les paramètres et la structure de l'équipement) ;


− le mécanisme d'inférence est utilisé pour modifier les données et élaborer des recommandations et des décisions de gestion ;

− la nécessité de travailler en temps réel ;

− la nécessité de mettre en œuvre un raisonnement temporel (en tenant compte des conditions changeantes).

Le système fonctionne à trois niveaux :

− la base de connaissances (KB) comprend des règles de résolution de problèmes, des procédures de résolution de problèmes, des données sur le domaine problématique, c'est-à-dire que la technologie elle-même et l'ensemble de la stratégie de gestion des processus sont organisés au niveau des bases de connaissances ;

− la mémoire de travail contient des informations sur les caractéristiques spécifiées et des données sur le processus considéré (DB) ;

− le mécanisme de sortie (dans un système conventionnel, il s'agit d'un régulateur) contient un mécanisme de contrôle général pour atteindre l'objectif final (une solution acceptable).

Les blocs de communication entre le processus technologique avec la base de données et la base de connaissances (blocs « Analyse des données » et « Données de processus ») constituent un élément important. Ils fournissent à l'utilisateur un accès de niveau supérieur aux informations de production sur le processus technologique à partir d'objets de niveau inférieur, c'est-à-dire qu'ils maintiennent à jour le contenu de la base de données et de la base de connaissances par le biais de mises à jour. Les unités fournissent également des fonctions de surveillance pour prévenir les situations critiques.

La justification et l'explication de l'équilibre et de l'adéquation de la réponse du système à l'évolution de la situation de production sont fournies par les blocs « Interface de dialogue » et « Données de contrôle ».

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

Riz. 2. Structure des systèmes de contrôle automatisés pour le contrôle des processus technologiques

1.2.3. Diagnostic SII

Ce système n’est fondamentalement pas différent du système précédent. Et comme les signes de divers défauts peuvent largement coïncider et que leurs manifestations peuvent ne pas être constantes, ces systèmes contiennent des éléments plus complets de justification et d'explication du diagnostic. Par conséquent, très souvent dans de tels systèmes, les décisions sont évaluées du point de vue de la probabilité subjective.

1.2.4. SII de lignes robotisées et de systèmes de production flexibles

Une caractéristique de tels systèmes est la présence d'un modèle mondial. Un système robotique fonctionne dans son environnement spécifique, et une description détaillée de cet environnement est en principe possible. Ce modèle mathématique de l'environnement est appelé modèle du monde extérieur. Il s'agit du contenu principal de la base de connaissances du robot IA, et une autre partie de la base de connaissances est la connaissance des objectifs du système (Fig. 3).

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

Riz. 3. Lignes robotisées SII et systèmes de production flexibles

Le système de perception de l'état de l'environnement comprend :

− des capteurs directement connectés au milieu extérieur ;

− sous-système de prétraitement ;

− bloc de segmentation des éléments caractéristiques ;

− description symbolique de l'état de l'environnement ;

− description sémantique de l'état de l'environnement ;

− bloc pour former un modèle de l'état de l'environnement.

Le mécanisme d'inférence ou le système de planification du comportement détermine les actions du robot dans l'environnement extérieur en fonction de la situation actuelle et conformément à l'objectif global. Comprend :

− systèmes de sortie de décision ;

− unité de planification du mouvement des actionneurs.

Le système d'exécution des actions comprend :

− sous-système de commande de conduite ;

− conduire ;

− les actionneurs.

1.2.5. Planification et répartition SII

Objectif : résoudre des problèmes de gestion opérationnelle, comparaison des résultats du suivi du fonctionnement d'un objet en termes de tâches planifiées, ainsi que du suivi (Fig. 4).

Surveillance– interprétation continue ou périodique des signaux et émission de messages lorsque surviennent des situations nécessitant une intervention.

La particularité de ces systèmes est l'action en temps réel, la communication avec une base de données distribuée d'un système de contrôle intégré. Un tel système est nécessaire puisque les données AIS font partie des systèmes de contrôle.

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

Riz. 4. Planification et répartition du SII

1.3. Le problème de la représentation des connaissances dans l’AIS

1.3.1. Connaissances et données

Le problème de la représentation des connaissances s’est posé comme l’un des problèmes de l’IA. Il est associé à la création de systèmes pratiquement utiles, principalement ES, utilisés en médecine, en géologie et en chimie. La création de tels systèmes nécessite des efforts intensifs pour formaliser les connaissances accumulées dans la science concernée.

Le terme « représentation des connaissances » est associé à une certaine étape du développement des logiciels informatiques. Si, au premier stade, les programmes dominaient et que les données jouaient un rôle auxiliaire en tant que sorte de « nourriture » pour les programmes « affamés », alors aux étapes suivantes, le rôle des données s'est progressivement accru. Leur structure est devenue plus complexe : d'un mot machine situé dans une cellule de mémoire d'ordinateur, il y a eu une transition vers des vecteurs, des tableaux, des fichiers et des listes. Le point culminant de ce développement a été les types de données abstraits - les classes. Le développement constant des structures de données a conduit à leur changement qualitatif et au passage de la représentation des données à la représentation des connaissances.

acquisition de connaissances

Le niveau de représentation des connaissances diffère du niveau de représentation des données non seulement par sa structure plus complexe, mais aussi par des caractéristiques significatives : interprétabilité, présence de connexions classifiables, présence relations situationnelles(simultanéité, être en un point de l'espace, etc., ces relations déterminent la compatibilité situationnelle de certaines connaissances stockées en mémoire). De plus, le niveau de connaissances est caractérisé par des caractéristiques telles que la présence de procédures spéciales de généralisation, la reconstitution des connaissances disponibles dans le système et un certain nombre d'autres procédures.

La présentation des données a un aspect passif : un livre, un tableau, une mémoire remplie d'informations. La théorie de l’IA met l’accent sur l’aspect actif de la représentation des connaissances : acquisition de connaissances devrait devenir une opération active qui permet non seulement de se souvenir, mais aussi d'appliquer les connaissances perçues (acquises, assimilées) pour un raisonnement basé sur celles-ci.

1.3.2. L'idée de machines auto-développées

La recherche dans le domaine de l'IA est née sous l'influence des idées de la cybernétique - principalement l'idée de la communauté des processus de contrôle et de transmission d'informations dans les organismes vivants, la société et la technologie, en particulier dans les ordinateurs.

L'acceptabilité philosophique du problème de l'IA dans sa forme traditionnelle était due à l'idée sous-jacente selon laquelle l'ordre et la connexion des idées sont les mêmes que l'ordre et la connexion des choses. Ainsi, créer dans un ordinateur une structure reproduisant le « monde des idées » signifiait simplement créer une structure isomorphe à la structure du monde matériel, c’est-à-dire construire un « modèle électronique du monde ». Ce modèle était considéré comme un modèle informatique – un modèle de connaissance humaine du monde. Le processus de pensée humaine a été interprété dans l'ordinateur comme une recherche automatique de telles transformations de modèle censées transférer le modèle informatique vers un certain état final. AGI avait besoin de savoir comment effectuer des transformations d'états modèles menant à un objectif prédéterminé - un état doté de certaines propriétés. Au début, il y avait une croyance répandue dans la capacité fondamentale d'un ordinateur à étudier de manière indépendante le modèle qui y est stocké, c'est-à-dire à auto-apprendre une stratégie pour atteindre un objectif fixé.

Cette capacité hypothétique a été interprétée comme la possibilité d’une créativité machine, comme base pour la création de futures « machines pensantes ». Et bien que dans les systèmes actuellement développés, l'objectif ait été atteint sur la base de l'expérience humaine à l'aide d'algorithmes basés sur une analyse théorique des modèles en cours de création et des résultats des expériences menées sur ceux-ci, les idées de construction d'auto-apprentissage les systèmes semblaient à beaucoup les plus prometteurs. Ce n'est que dans les années 1980 que l'importance du problème de l'utilisation des connaissances humaines sur la réalité dans les systèmes intelligents a été prise en compte, ce qui a conduit au développement sérieux de bases de connaissances et de méthodes d'extraction des connaissances personnelles des experts.

1.3.3. La réflexion comme composante de l'activité intellectuelle

Avec le développement de cette direction, l'idée d'un management réflexif est née. Jusqu'à présent, en cybernétique, le contrôle était considéré comme la transmission de signaux à un objet qui affectent directement son comportement, et l'efficacité du contrôle était obtenue grâce au feedback - l'obtention d'informations sur les réactions de l'objet contrôlé. Réfléchi ou contrôle– est le transfert d’informations qui affecte l’image du monde que l’objet se fait. Ainsi, le retour d'information s'avère inutile - l'état du sujet est connu de l'émetteur d'informations, c'est-à-dire de l'objet.

Les AGI traditionnels sont basés sur l'idéologie d'un comportement axé sur un objectif, comme un jeu d'échecs, où le but des deux partenaires est d'échec et mat au prix de tout sacrifice. Ce n’est pas un hasard si les programmes d’échecs se sont révélés si importants pour développer des méthodes d’IA.

Analyse du fonctionnement de son propre modèle ou du modèle de « toute la réalité environnante » (dans le cadre de la tâche), contrôle de son état, prévision de l'état n'est rien d'autre que la mise en œuvre d'une réflexion. La réflexion est un certain méta-niveau. Avec l'utilisation de langages de programmation de haut niveau, tels que Prolog, qui vous permettent de formuler des objectifs et de tirer des conclusions logiques sur la réalisabilité de ces objectifs, la tâche de mise en œuvre de la réflexion peut déjà être partiellement résolue. Avec leur aide, vous pouvez construire une certaine superstructure, un certain méta-niveau qui permet d'évaluer le comportement du précédent. Cependant, lorsqu’on considère le terme « réflexion profonde » ou « réflexion multi-niveaux », le problème de la construction de modèles par le système lui-même se pose. C'est là que les types de données abstraits viennent à la rescousse. Ils vous permettent d'opérer avec des structures de données de toute complexité finie. Ainsi, on peut considérer que les systèmes d’intelligence artificielle peuvent contenir un modèle de réflexion.

Ainsi, il est impossible de considérer un système intellectuel complet sans la capacité d’évaluer et de « comprendre » ses actions, c’est-à-dire de réfléchir. Par ailleurs, la réflexion doit être considérée comme l’un des principaux outils de construction du comportement des systèmes. Dans le langage mathématique, la réflexion est une condition nécessaire à l’existence d’un système intellectuel.

1.3.4. Langages de représentation des connaissances

D’une certaine manière, tout programme informatique contient des connaissances. Un programme de tri à bulles contient les connaissances du programmeur sur la manière d'ordonner les éléments d'une liste. Comprendre l'essence d'un programme informatique qui résout le problème du tri des listes n'est pas du tout facile. Il contient les connaissances du programmeur sur la méthode de résolution du problème, mais, en plus de ces connaissances, il en contient également d'autres :

− comment manipuler les constructions du langage de programmation utilisé ;

− comment atteindre une performance élevée du programme ;

− comment choisir des méthodes appropriées pour résoudre des problèmes particuliers de traitement des données, qui jouent néanmoins un rôle important dans l'obtention du résultat final, et comment organiser la gestion des processus.

Langages de représentation des connaissances sont des langages de haut niveau spécialement conçus pour coder explicitement des fragments de connaissances humaines, tels que des règles d'influence et un ensemble de propriétés d'objets typiques, et le niveau élevé du langage se manifeste dans le fait que, dans la mesure du possible, les détails techniques du mécanisme de représentation des connaissances sont cachés à l'utilisateur. Contrairement aux langages de programmation plus conventionnels, les langages de représentation des connaissances sont extrêmement économiques en termes de quantité de code de programme. Cela est dû en grande partie au fait que l’interprète linguistique s’occupe de nombreux petits détails.

Malgré les avantages constatés de ces langages, il ne faut pas oublier l'existence de certains problèmes dans leur utilisation.

Le passage de la description d'un domaine de connaissances dans tout langage « humain » compréhensible à sa représentation sous la forme d'une sorte de formalisme perçu par un ordinateur nécessite une certaine habileté, puisqu'il est impossible (du moins aujourd'hui) de décrire comment effectuer mécaniquement une telle connaissance. transformation. Puisque les capacités d’inférence logique qu’un programme peut mettre en œuvre sont directement liées au choix de la manière de représenter les connaissances, c’est la représentation des connaissances, et non leur extraction, qui constitue le goulot d’étranglement dans la pratique de la conception des SE.

Le manuel présente aux lecteurs l'histoire de l'intelligence artificielle, les modèles de représentation des connaissances, les systèmes experts et les réseaux de neurones. Les principales orientations et méthodes utilisées dans l'analyse, le développement et la mise en œuvre de systèmes intelligents sont décrites. Des modèles de représentation des connaissances et des méthodes de travail avec eux, des méthodes de développement et de création de systèmes experts sont pris en compte. Le livre aidera le lecteur à maîtriser les compétences de conception logique de bases de données de domaine et de programmation dans le langage ProLog.
Pour les étudiants et les enseignants des universités pédagogiques, les enseignants des écoles secondaires, des gymnases, des lycées.

Le concept d'intelligence artificielle.
Un système d’intelligence artificielle (IA) est un système logiciel qui simule le processus de pensée humaine sur un ordinateur. Pour créer un tel système, il est nécessaire d'étudier le processus de réflexion même d'une personne résolvant certains problèmes ou prenant des décisions dans un domaine spécifique, mettre en évidence les principales étapes de ce processus et développer un logiciel qui les reproduit sur un ordinateur. Par conséquent, les méthodes d’IA adoptent une approche structurée simple pour développer des systèmes décisionnels logiciels complexes.

L'intelligence artificielle est une branche de l'informatique dont l'objectif est de développer du matériel et des logiciels permettant à un utilisateur non-programmeur de poser et de résoudre ses problèmes intellectuels traditionnellement considérés, en communiquant avec un ordinateur dans un sous-ensemble limité de langage naturel.

TABLE DES MATIÈRES
Chapitre 1. Intelligence artificielle
1.1. Introduction aux systèmes d'intelligence artificielle
1.1.1. Le concept d'intelligence artificielle
1.1.2. L'intelligence artificielle en Russie
1.1.3. Structure fonctionnelle d'un système d'intelligence artificielle
1.2. Orientations pour le développement de l'intelligence artificielle
1.3. Données et connaissances. Représentation des connaissances dans les systèmes intelligents
1.3.1. Données et connaissances. Définitions basiques
1.3.2. Modèles de représentation des connaissances
1.4. Systèmes experts
1.4.1. Structure du système expert
1.4.2. Développement et utilisation de systèmes experts
1.4.3. Classification des systèmes experts
1.4.4. Représentation des connaissances dans les systèmes experts
1.4.5. Outils pour construire des systèmes experts
1.4.6. Technologie de développement de systèmes experts
Questions de test et devoirs pour le chapitre 1
Références pour le chapitre 1
Chapitre 2. Programmation logique
2.1. Méthodologies de programmation
2.1.1. Méthodologie de programmation impérative
2.1.2. Méthodologie de programmation orientée objet
2.1.3. Méthodologie de programmation fonctionnelle
2.1.4. Méthodologie de programmation logique
2.1.5. Méthodologie de programmation par contraintes
2.1.6. Méthodologie de programmation de réseaux neuronaux
2.2. Une brève introduction au calcul des prédicats et à la démonstration de théorèmes
2.3. Processus d'inférence dans Prolog
2.4. Structure du programme en langage Prolog
2.4.1. Utiliser des objets composites
2.4.2. Utiliser des domaines alternatifs
2.5. Organiser la répétition dans Prolog
2.5.1. Méthode de restauration après échec
2.5.2. Méthode de coupe et de restauration
2.5.3. Récursion simple
2.5.4. Méthode de règle de récursivité généralisée (GRR)
2.6. Listes dans Prolog
2.6.1. Opérations sur les listes
2.7. Chaînes dans Prolog
2.7.1. Opérations sur les chaînes
2.8. Fichiers dans Prolog
2.8.1. Prédicats Prolog pour travailler avec des fichiers
2.8.2. Description du domaine de fichier
2.8.3. Écrire dans un fichier
2.8.4. Lecture à partir d'un fichier
2.8.5. Modification d'un fichier existant
2.8.6. Ajout à la fin d'un fichier existant
2.9. Création de bases de données dynamiques dans Prolog
2.9.1. Bases de données dans Prolog
2.9.2. Prédicats de base de données dynamiques dans Prolog
2.10. Création de systèmes experts
2.10.1. Structure du système expert
2.10.2. Représentation des connaissances
2.10.3. Méthodes de retrait
2.10.4. Système d'interface utilisateur
2.10.5. Système expert basé sur des règles
Questions de test et devoirs pour le chapitre 2
Références pour le chapitre 2
Chapitre 3. Réseaux de neurones
3.1. Introduction aux réseaux de neurones
3.2. Modèle de neurone artificiel
3.3. Application des réseaux de neurones
3.4. Entraîner un réseau de neurones
Questions de test et devoirs pour le chapitre 3
Références pour le chapitre 3.


Téléchargez gratuitement le livre électronique dans un format pratique, regardez et lisez :
Téléchargez le livre Fondamentaux de l'intelligence artificielle, Borovskaya E.V., Davydova N.A., 2016 - fileskachat.com, téléchargement rapide et gratuit.

1

Didacticiel « SGBD : langage SQL en exemples et problèmes » de I.F. Astakhova, A.P. Todstobrova, V.M. Melnikova, V.V. Fertikova, publié par la maison d'édition FIZMATLIT en 2007 et certifié par le ministère de l'Éducation et des Sciences, contient une sélection d'exemples, de problèmes et d'exercices de différents types. degrés de complexité pour dispenser des cours pratiques et pratiques pour étudier les bases du langage SQL dans le cadre d'une formation dédiée aux systèmes d'information avec bases de données dans le domaine d'études et de spécialité « Mathématiques appliquées et informatique ». Les systèmes d'information utilisant des bases de données représentent actuellement l'un des domaines les plus importants de la technologie informatique moderne. La majeure partie du marché des logiciels modernes est associée à ce domaine. Compte tenu de la place occupée par le langage SQL dans les technologies de l'information modernes, sa connaissance est nécessaire à tout spécialiste travaillant dans ce domaine. Son développement pratique fait donc partie intégrante des formations visant à étudier les systèmes d'information avec bases de données. Actuellement, ces cours sont inclus dans les programmes d'études d'un certain nombre de spécialités universitaires. Nul doute que pour garantir aux étudiants la possibilité d'acquérir des compétences stables dans le langage SQL, la formation correspondante, outre une familiarisation théorique avec les bases du langage, doit nécessairement contenir un nombre suffisamment important d'exercices pratiques. sur son utilisation pratique. Le manuel proposé vise avant tout un accompagnement méthodologique précisément pour ce type d'activité. À cet égard, il se concentre sur la sélection d'exemples pratiques, de tâches et d'exercices plus ou moins complexes d'élaboration de requêtes SQL, permettant de réaliser des séances pratiques d'apprentissage des langues au cours du semestre académique.

Manuel « Systèmes d'intelligence artificielle. Cours pratique" d'Astakhova I.F., Chulyukova V.A., Potapov A.S., Milovskaya L.S., Kashirina I.L., Bogdanova M.V., Prosvetova Yu.V., qui porte le cachet UMO selon l'enseignement universitaire classique et est publié par les maisons d'édition BINOM. KNOWLEDGE LABORATORY et PHYSMATLIT en 2008, préparé des cours et des cours de laboratoire dans les disciplines « Banques de données et systèmes experts », « Bases de données et systèmes experts », « Systèmes d'intelligence artificielle », « Systèmes d'information intelligents ». Ce livre est consacré au domaine de l'informatique, dans lequel il y a eu très peu de littérature pédagogique nationale destinée aux établissements d'enseignement supérieur ces dernières années. Les livres traduits sont plus susceptibles d’être des publications scientifiques que des manuels scolaires. Il a fallu proposer de nombreux exemples et tâches de laboratoire que les étudiants effectueraient sur un ordinateur et acquerraient des connaissances, des compétences et des aptitudes (du point de vue d'une approche éducative par compétences).

Le principal avantage et la différence significative de ce manuel par rapport aux publications similaires est la présence d'environ 100 exemples, 235 exercices, 79 questions pour répéter la matière couverte, 11 travaux de laboratoire dans lesquels 6 produits logiciels différents sont étudiés.

Lien bibliographique

Astakhova I.F., Tolstobrov A.P., Chulyukov V.A., Potapov A.S. GUIDE PÉDAGOGIQUE « SGBD : LANGAGE SQL EN EXEMPLES ET TÂCHES », « INTELLIGENCE ARTIFICIELLE. COURS PRATIQUE" // Problèmes modernes de la science et de l'éducation. – 2009. – N° 1. ;
URL : http://science-education.ru/ru/article/view?id=901 (date d'accès : 17/09/2019). Nous portons à votre connaissance les magazines édités par la maison d'édition "Académie des Sciences Naturelles"

Ce didacticiel couvre les bases de la programmation dans Prolog, la résolution de problèmes à l'aide de méthodes de recherche, les méthodes probabilistes, les bases des réseaux de neurones et les principes de représentation des connaissances à l'aide de réseaux sémantiques. Chaque section du manuel est accompagnée de travaux pratiques et de laboratoire. Les annexes contiennent de brèves descriptions de l'environnement SWI-Prolog, du logiciel de réseau neuronal

Ce didacticiel couvre les bases de la programmation dans Prolog, la résolution de problèmes à l'aide de méthodes de recherche, les méthodes probabilistes, les bases des réseaux de neurones et les principes de représentation des connaissances à l'aide de réseaux sémantiques. Chaque section du manuel est accompagnée de travaux pratiques et de laboratoire. Les annexes contiennent de brèves descriptions de l'environnement SWI-Prolog, du programme de modélisation de réseau neuronal NeuroGenetic Optimizer et du programme de visualisation des connaissances sémantiques. Conforme aux exigences actuelles de la norme éducative de l'État fédéral pour l'enseignement supérieur pour les étudiants des établissements d'enseignement supérieur qui étudient en ingénierie. et domaines techniques.


Livre " Systèmes d'intelligence artificielle. Didacticiel"L'auteur Bessmertny Igor Alexandrovich a été évalué par les visiteurs de KnigoGuid et sa note de lecteur était de 0,00 sur 10.
Les éléments suivants sont disponibles en consultation gratuite : résumé, publication, critiques, ainsi que fichiers à télécharger.

S.G. TOLMATCHEV

INTELLIGENCE ARTIFICIELLE.

MODÈLES DE RÉSEAU NEURONAL

Ministère de l'Éducation et des Sciences de la Fédération de Russie Université technique d'État balte « Voenmech »

Département de traitement et de gestion de l'information

S.G. TOLMATCHEV

INTELLIGENCE ARTIFICIELLE.

MODÈLES DE RÉSEAU NEURONAL

Didacticiel

Saint-Pétersbourg

CDU 004.8(075.8) T52

Tolmachev, S.G.

T52 Systèmes d'intelligence artificielle. Modèles de réseaux de neurones : manuel / S.G. Tolmachev ; Balte. État technologie. univ. – Saint-Pétersbourg, 2011. 132 p.

ISBN978-5-85546-633-1

Des informations de base sur la structure et les principes de fonctionnement des réseaux de neurones artificiels sont fournies. Le fonctionnement d'un neurone formel, la classification des réseaux de neurones selon leur architecture et leurs types de formation, les formulations typiques de divers problèmes de réseaux de neurones et les méthodes pour les résoudre sont considérés.

Destiné aux étudiants seniors des spécialités « Systèmes et technologies de l'information » et « Systèmes automatisés de traitement et de gestion de l'information ».

CDU 004.8(075.8)

EXAMINATEURS : Dr Tech. Professeur de sciences, chef. scientifique employé de l'OJSC « Concern « Granit-Electron » » S.N. Sharov; doctorat technologie. Sciences, prof., chef. département I5 BSTU N.N. Smirnova

Approuvé par le Conseil de rédaction et d'édition de l'Université

INTRODUCTION

L'un des outils les plus puissants pour créer des systèmes intelligents sont les réseaux de neurones artificiels (ANN), qui modélisent les mécanismes de base de traitement de l'information inhérents au cerveau humain. On sait que le cerveau fonctionne d’une manière fondamentalement différente et souvent plus efficace que n’importe quelle machine informatique créée par l’homme. C’est ce fait qui a motivé les scientifiques depuis de nombreuses années à travailler sur la création et la recherche de réseaux de neurones artificiels.

Le cerveau est un système de traitement de l’information extrêmement complexe. Il a la capacité d’organiser ses composants structurels, appelés neurones, afin qu’ils puissent effectuer des tâches spécifiques (reconnaissance de formes, traitement sensoriel, fonctions motrices) plusieurs fois plus rapidement que les ordinateurs modernes les plus rapides. Un exemple d'une telle tâche est la vision normale. Les fonctions du système visuel incluent la création d'une idée du monde environnant sous une forme qui offre la possibilité d'interagir avec lui. Le cerveau effectue séquentiellement des tâches de reconnaissance (par exemple, reconnaître un visage familier dans un environnement inconnu) et y consacre 100 à 200 ms. Effectuer des tâches similaires et moins complexes sur un ordinateur peut prendre plusieurs heures.

Pour comprendre l’ampleur du défi que représente la création d’une machine aussi performante que notre cerveau, il suffit de penser à certaines des tâches de routine que nous effectuons chaque jour. Disons que vous êtes assis à votre bureau et qu'à ce moment-là votre collègue, de retour de vacances, entre dans la pièce. Il porte un nouveau T-shirt, des lunettes de soleil sur son visage bronzé et il a l'air un peu plus jeune car il s'est rasé la barbe. Le reconnaissez-vous ? Sans doute, puisque le déguisement ne fait pas partie de ses projets. Au cours de la conversation, il vous demande : « Où est le livre que je vous ai donné à lire ? Vous interprétez la question comme une demande de restitution du livre. Alors regarde ton bureau et

Vous apercevez parmi les livres et les piles de papiers posés dessus le livre en question, vous l'attrapez, le sortez de la pile de documents et le donnez à votre collègue. De telles tâches quotidiennes ne nécessitent pas beaucoup d'effort mental de notre part, mais la résolution de chacune d'entre elles implique de nombreuses étapes calculées avec précision. La difficulté de résoudre de tels problèmes peut être ressentie lorsqu'on essaie de programmer un système informatique pour reconnaître des objets par leur apparence ou d'autres caractéristiques, en prenant des décisions en fonction du contexte, etc.

Un exemple plus simple est le sonar de chauve-souris, qui est un système d'écholocalisation actif. En plus de fournir des informations sur la distance jusqu'à l'objet souhaité, ce localisateur vous permet de calculer des paramètres d'objet tels que la vitesse relative, la taille des éléments individuels et la direction du mouvement. Pour extraire ces informations du signal reçu, le petit cerveau de la chauve-souris effectue des calculs neuronaux complexes.

Qu’est-ce qui permet au cerveau humain ou de chauve-souris d’obtenir de tels résultats ? À la naissance, le cerveau possède déjà une structure parfaite qui lui permet de construire ses propres règles basées sur ce qu’on appelle habituellement l’expérience. L'expérience s'accumule au fil du temps jusqu'aux derniers jours de la vie d'une personne, avec des changements particulièrement importants se produisant au cours des deux premières années de la vie.

Le développement des neurones est associé au concept de plasticité cérébrale - la capacité d'ajuster le système nerveux en fonction des conditions environnementales. La plasticité joue le rôle le plus important dans le fonctionnement des neurones en tant qu'unités élémentaires de traitement de l'information dans le cerveau humain. De la même manière, les neurones artificiels sont configurés dans un ANN. En général, un ANN est une machine qui modélise la manière dont le cerveau résout un problème spécifique. Ce réseau est mis en œuvre à l'aide de composants électroniques (neuroprocesseurs) ou modélisé par un programme exécuté sur un ordinateur numérique. Afin d’atteindre des performances élevées, les ANN utilisent de nombreuses connexions entre les cellules informatiques élémentaires – les neurones. Parmi les nombreuses définitions des réseaux de neurones, la plus précise est la définition d'un ANN en tant que machine adaptative : réseau neuronal artificielc'est distribué

un processeur parallèle composé d'éléments de traitement de l'information standard qui accumulent des connaissances expérimentales et les fournissent pour un traitement ultérieur. Un réseau neuronal est similaire au cerveau de deux manières :

1) la connaissance pénètre dans le réseau neuronal depuis l'environnement

Et utilisé par le réseau dans le processus d'apprentissage;

2) Pour accumuler des connaissances, des connexions interneurones, également appelées poids synaptiques, sont utilisées.

La procédure utilisée pour réaliser le processus d’apprentissage est appelée algorithme d’apprentissage. Sa fonction est de modifier les poids synaptiques de l'ANN d'une certaine manière afin que le réseau acquière les propriétés nécessaires.

La modification des poids est une manière traditionnelle de former un ANN. Cette approche est proche de la théorie des filtres linéaires adaptatifs utilisés en contrôle. Cependant, pour un ANN, il existe également la possibilité de modifier sa propre topologie, sur la base du fait que dans un cerveau vivant, les neurones peuvent mourir et que de nouvelles connexions synaptiques peuvent être créées.

Ainsi, les ANN réalisent leur puissance de calcul grâce à leurs deux propriétés principales : une structure distribuée en parallèle et la capacité d'apprendre et de généraliser les connaissances acquises. La propriété de généralisation fait référence à la capacité d'un ANN à générer des sorties correctes pour les signaux d'entrée qui n'ont pas été pris en compte lors du processus d'apprentissage. Ces deux propriétés font d’ANN un système de traitement de l’information capable de résoudre des problèmes multidimensionnels complexes actuellement insolubles.

Il convient de noter qu’en pratique, les ANN autonomes ne peuvent souvent pas fournir de solutions toutes faites. Ils doivent être intégrés dans des systèmes complexes. Un problème complexe peut être décomposé en un certain nombre de problèmes plus simples, dont certains peuvent être résolus par des réseaux de neurones.

Les domaines d'application d'ANN sont très divers : reconnaissance et analyse de texte et de parole, recherche sémantique, systèmes experts et systèmes d'aide à la décision, prévision des cours boursiers, systèmes de sécurité. Il existe plusieurs exemples d'utilisation d'ANN dans différents domaines.

1. Systèmes de sécurité des transports. entreprise américaine

Science Application International Corporation a utilisé ANN dans

son projet TNA. Le dispositif en cours de développement est conçu pour détecter les explosifs plastiques dans les bagages emballés. Le bagage est bombardé de particules qui provoquent un rayonnement secondaire dont le spectre est analysé par un réseau neuronal. L'appareil offre une probabilité de détection d'explosifs supérieure à 97 % et est capable de scanner 10 bagages par minute.

2. Progiciels de réseaux neuronaux sur les marchés financiers. L'American Chemical Bank utilise un système de réseau neuronal de Neural Data pour prétraiter les transactions sur les échanges de devises, en filtrant les transactions « suspectes ». Citibank utilise les prédictions des réseaux neuronaux depuis 1990. Les transactions automatisées affichent des rendements supérieurs à ceux de la plupart des courtiers. On peut noter que les actes du séminaire « L’Intelligence Artificielle en Wall Street" comprend plusieurs volumes importants.

3. Suivi et classement automatique des actualités. Emplacement

Connaître le sujet des messages texte est un autre exemple d'utilisation d'ANN. Le serveur de nouvelles Convectis (un produit d'Aptex Software Inc.) permet une classification automatique des messages en catégories. En vérifiant la signification des mots par contexte, Convectis est capable de reconnaître des sujets en temps réel et de catégoriser d'énormes flux de messages texte transmis sur les réseaux Reuters, NBC, CBS, etc. Après analyse du message, une annotation, une liste de mots-clés et une liste de catégories auxquelles appartient ce message sont générées

4. Pilotage automatique de véhicules aériens sans pilote. L'avion de reconnaissance hypersonique LoFLYTE (Low-Observable Flight Test Experiment), un avion sans pilote à réaction de 2,5 m de long, a été développé pour la NASA et l'US Air Force par Accurate Automation Corp. dans le cadre du programme de soutien aux petites entreprises innovantes. Il s'agit d'un développement expérimental pour explorer de nouveaux principes de pilotage. Il comprend des réseaux de neurones qui permettent au pilote automatique d'apprendre en copiant les techniques de vol du pilote. Au fil du temps, les réseaux de neurones acquièrent une expérience de contrôle et la rapidité du traitement de l'information leur permet de trouver rapidement une issue dans des situations extrêmes et d'urgence. LoFLYTE est conçu pour voler à des vitesses supersoniques, où le temps de réaction du pilote peut ne pas être suffisant pour répondre correctement aux changements des conditions de vol.

De nos jours, les ANN constituent une extension importante du concept de calcul. Ils ont déjà permis de résoudre un certain nombre de problèmes difficiles et promettent la création de nouveaux programmes et dispositifs capables de résoudre des problèmes que seuls les humains peuvent actuellement résoudre. Les neuroordinateurs modernes sont principalement utilisés comme produits logiciels et exploitent donc rarement leur potentiel de « parallélisme ». L'ère des véritables neurocalculs parallèles commencera avec l'apparition sur le marché d'implémentations matérielles de neuropuces spécialisées et de cartes d'extension conçues pour traiter la parole, la vidéo, les images statiques et d'autres types d'informations figuratives.

Un autre domaine d'application des ANN est leur utilisation

V logiciel spécialisé agents robotiques conçus pour traiter des informations plutôt que pour effectuer un travail physique. Les assistants intelligents devraient faciliter la communication des utilisateurs avec l'ordinateur. Leur particularité sera la volonté de comprendre au mieux ce qu'on attend d'eux, par l'observation et l'analyse du comportement de leur « maître ». Essayer de découvrir

V Ce comportement a certaines régularités, les agents intelligents doivent proposer leurs services en temps opportun pour effectuer certaines opérations, par exemple filtrer les messages d'actualité, sauvegarder les documents sur lesquels l'utilisateur travaille, etc. C'est pourquoi les ANN, capables de résumer les données et d'y trouver des modèles, sont un composant naturel de ces agents logiciels.

1. LES ORDINATEURS ET LE CERVEAU

1.1. Neurone biologique

Le système nerveux humain peut être simplifié en une structure en trois étapes. Le centre de ce système est le cerveau, constitué d'un réseau de neurones (Fig. 1.1). Il reçoit des informations, les analyse et prend les décisions appropriées. Les récepteurs convertissent les signaux de l'environnement et des organes internes en impulsions électriques perçues par le réseau neuronal (cerveau). Les récepteurs assurent la communication entre notre cerveau et le monde extérieur, lui permettant de recevoir des informations visuelles, auditives, gustatives, olfactives et tactiles. Ef-

Les fecteurs convertissent les impulsions électriques générées par le cerveau en signaux de sortie qui contrôlent les muscles, les organes internes et les parois des vaisseaux. Ainsi, le cerveau contrôle le fonctionnement du cœur, la respiration, la tension artérielle, la température, maintient la teneur en oxygène requise dans le sang, etc. Les neurones intermédiaires traitent les informations reçues des neurones sensoriels et les transmettent aux neurones effecteurs.

Riz. 1.1. Schéma simplifié du système nerveux

Il convient de noter que le cerveau est construit à partir de deux types de cellules : les gliales et les neurones. Et bien que le rôle des cellules gliales semble être assez important, la plupart des scientifiques pensent que la meilleure façon de comprendre le fonctionnement du cerveau consiste à étudier les neurones connectés dans un seul réseau connecté. Cette approche est utilisée dans la construction de réseaux de neurones artificiels (ANN).

Il convient de noter qu'il existe d'autres opinions. Certains chercheurs pensent que les principaux processus ne se produisent pas dans le réseau neuronal, mais dans les cellules elles-mêmes, notamment dans leur cytosquelette, dans ce qu'on appelle les microtubules. Selon ce point de vue, la mémoire et même la conscience sont déterminées par les modifications des protéines dans les structures intracellulaires et les effets quantiques associés.

Le nombre de neurones dans le cerveau est estimé entre 1 010 et 1 011. Dans un neurone biologique, on peut distinguer les unités structurelles suivantes (Fig. 1.2) :

corps cellulaire (soma) ;

les dendrites sont de nombreuses fibres nerveuses courtes (pas plus de 1 mm) ramifiées qui collectent des informations provenant d'autres neurones ;

L'axone est la seule fibre nerveuse fine et longue (parfois plus d'un mètre). L'axone assure la conduction des impulsions et la transmission des effets à d'autres neurones ou fibres musculaires. À sa terminaison, l'axone se ramifie également et forme des contacts avec les dendrites d'autres neurones ;