Programmation IA

Principes et Algorithmes avec Application Pratique

Ce que vous apprendrez

  • Comprendre le concept d'intelligence artificielle et ses domaines
  • Comprendre l'agent intelligent, l'analyse PEAS et les types d'environnements
  • Formuler des problèmes et utiliser des stratégies de recherche comme DFS et BFS
  • Utiliser les algorithmes A Star et Minimax
  • Appliquer le raisonnement logique et la vérification de modèle
  • Comprendre les probabilités, la règle de Bayes et les réseaux bayésiens
  • Installer Anaconda et tester le code pratique
  • Utiliser des algorithmes d'optimisation comme Hill Climbing
  • Découvrir les bases de l'apprentissage automatique

À propos du cours

Ce cours enseigne la programmation d'applications d'intelligence artificielle, c'est-à-dire les principes et les algorithmes avec une mise en pratique en langage Python et avec Anaconda. Il commence par une définition de l'intelligence artificielle, de ses domaines et de ses sciences, puis l'agent intelligent, l'agent rationnel, l'analyse PEAS, les types d'environnements et les types d'agents. Ensuite, vous apprenez le processus de recherche, la formulation du problème, l'arbre de recherche et les stratégies de recherche comme DFS, BFS, ID, UCS, GBFS, A Star et Minimax, avec une application pratique sur un labyrinthe, Maze. Vous passez ensuite à la connaissance et au raisonnement logique, à la logique propositionnelle, à l'algorithme de vérification de modèle, Model Checking, à l'ingénierie de la connaissance et à la logique du premier ordre. Viennent ensuite les probabilités, la règle de Bayes, les réseaux bayésiens et l'inférence probabiliste, puis l'optimisation, la recherche locale, l'algorithme Hill Climbing, le recuit simulé et la programmation linéaire, pour terminer par une introduction à l'apprentissage automatique, Machine Learning. Le cours comprend des fichiers d'application et de code à télécharger et à tester. Il convient aux étudiants en programmation et en informatique et à toute personne intéressée par l'intelligence artificielle, et il est préférable de connaître les bases de Python. Ensuite, vous comprendrez comment fonctionnent les algorithmes d'intelligence artificielle et vous saurez les appliquer dans des projets.

Résultats attendus

  • Maîtriser la conception et la mise en œuvre d'applications d'IA.
  • Comprendre le fonctionnement interne des algorithmes d'IA.
  • Capacité à analyser des données et à les utiliser pour améliorer les processus.
  • Développer des projets réels en utilisant des outils de programmation avancés.
  • Se préparer à entrer dans le domaine professionnel des applications d'IA.

Avis des apprenants

Ces avis proviennent d'apprenants qui ont acheté le contenu et en ont complété au moins 50% — il n'y a aucun avis de personnes n'ayant pas suivi le contenu.
4.9
★★★★★
72 avis
5★
65
4★
7
3★
0
2★
0
1★
0

    Contenu du cours

    1

    Introduction à l'intelligence artificielle

    3 leçons
    1. Qu'est-ce que l'intelligence artificielleDéfinit l'intelligence artificielle en séparant les deux mots, explique qu'il n'existe pas de définition unique admise, et passe en revue des définitions comme celle de John McCarthy et celle qui vise à faire mieux que l'humain par ordinateur.4:31
    2. Méthodes de définition de l'intelligence artificiellePasse en revue quatre approches pour définir l'IA : penser comme un humain, penser rationnellement, agir comme un humain et agir rationnellement, avec le test de Turing, ce qu'il exige d'un programme, et la notion d'agent rationnel.9:02
    3. Domaines et sciences de l'intelligence artificiellePasse en revue les domaines et sciences de l'IA : l'agent sous forme matérielle et logicielle, les traits de l'intelligence (apprentissage, réflexion, raisonnement, résolution de problèmes), et des domaines comme la Computer Vision, les réseaux de neurones et les types de Machine Learning.15:32
    2

    Agents intelligents

    8 leçons
    1. Introduction à l'agent intelligentPrésente le concept d'agent intelligent et les sujets de cette partie : l'environnement, la rationalité, les éléments PEAS (mesure de performance, actionneurs, capteurs), les types d'environnements et les types d'agents.1:36
    2. Qu'est-ce qu'un agentDéfinit un agent comme ce qui perçoit son environnement via des Sensors et agit dessus via des Actuators, et explique les percepts, la fonction d'agent et le programme d'agent avec l'exemple d'un aspirateur qui nettoie deux pièces.15:34
    3. Agent rationnelExplique l'agent rationnel, qui choisit la meilleure action pour obtenir la meilleure performance selon sa mesure de performance et sa connaissance de l'environnement, la différence entre rationalité et omniscience, et la notion d'autonomie.8:11
    4. Analyse PEAS pour l'agentExplique l'analyse PEAS d'un agent avant sa conception : mesure de performance, environnement, actionneurs et capteurs, avec les exemples de l'aspirateur, du chauffeur de taxi et d'un système médical.8:56
    5. Types d'environnementsExplique la classification des environnements d'un agent : entièrement ou partiellement observable, déterministe ou stochastique, épisodique ou séquentiel, statique ou dynamique, discret ou continu, mono ou multi-agent, avec l'exemple du chauffeur de taxi.9:48
    6. Types d'agents (Partie un)Classe les agents selon leur programme et explique le Simple Reflex Agent, qui agit par règles simples sur la perception courante sans mémoire, avec l'exemple du Vacuum Cleaner et ses limites.12:08
    7. Types d'agents (Partie deux)Présente les autres types d'agents : le Model-Based Reflex Agent qui garde un modèle du monde et le Goal-Based Agent qui agit vers un but, avec un exemple de taxi, avant d'introduire le Utility-Based Agent.23:26
    8. Types d'agents (Partie trois)Explique le Learning Agent, le type d'agent le plus avancé, ses composants Critic, Performance Standard, Learning Element et Performance Element, comment il apprend du retour d'information, puis résume les étapes de conception d'un agent.17:15
    3

    Opérations de recherche

    15 leçons
    1. Introduction au Processus de RecherchePrésente la recherche (Search) comme méthode de résolution de problèmes en IA : transformer un problème en problème de recherche et lui appliquer un algorithme, avec l'exemple de deviner un nombre en réduisant l'intervalle par des questions successives.8:57
    2. Étapes pour Convertir le ProblèmeExplique les étapes pour transformer un problème en Search Problem à quatre éléments : espace d'états, actions et fonction de transition, état initial et test de but, la solution étant un plan d'actions séquentielles, ainsi que la notion de modèle.9:05
    3. Exemple pratique des étapes de transformation du problèmeApplique concrètement la transformation d'un problème en Search Problem, avec l'exemple du trajet vers Bucarest en Roumanie puis le jeu Pacman, en définissant l'espace d'états, la fonction successeur, le test de but et le coût.12:23
    4. Détermination du nombre de casExplique comment compter le nombre d'états dans un espace d'états avec le jeu Pacman : multiplier les positions de l'agent et les mouvements des fantômes, ajouter les états des points pour le problème de manger tous les points, avant les graphes d'états et les arbres de recherche.20:35
    5. Organisation des casExplique l'organisation des états d'un Search Problem sous forme de graphe et d'arbre de recherche, où les états se ramifient en enfants, et comment les cycles apparaissent dans le graphe, avant d'appliquer les algorithmes de recherche.18:01
    6. Méthode de recherche dans l'arbre de rechercheExplique la différence entre Search Tree et Tree Search, le rôle de la Frontier dans l'algorithme de recherche général et les étapes de sélection et d'expansion des nœuds jusqu'au but, avec un exemple de villes et un exemple de graphe.18:40
    7. Première stratégie de recherche DFSExplique la recherche en profondeur d'abord, Depth First Search : descendre le plus loin possible dans une branche puis revenir au point de bifurcation pour essayer l'autre, appliquée à un graphe allant de S au but G.23:51
    8. Deuxième stratégie BFSExplique la recherche en largeur d'abord, Breadth First Search, qui explore le graphe niveau par niveau avec une file FIFO et convient lorsque la solution est proche du point de départ.14:07
    9. Application pratique des première et deuxième stratégies DFS & BFSApplication pratique en Python de DFS et BFS sur des labyrinthes lus depuis des fichiers texte, comparant le nombre d'états explorés par chacun et l'usage d'une Stack par rapport à une Queue.17:17
    10. Troisième stratégie IDExplique l'Iterative Deepening, qui combine les atouts de DFS et BFS en lançant une recherche en profondeur jusqu'à une limite de niveau puis en relevant cette limite niveau par niveau, avec un exemple de graphe.12:43
    11. Quatrième stratégie UCSExplique l'Uniform Cost Search, qui développe toujours le nœud de coût cumulé le plus faible depuis la racine en comparant les coûts dans la Frontier, et signale son défaut d'explorer beaucoup d'états faute de connaître la position du but.16:51
    12. Cinquième stratégie GBFSExplique la Greedy Best First Search, qui choisit le nœud le plus proche du but grâce à une fonction heuristique estimant la distance, et compare son résultat à la solution optimale.25:15
    13. Sixième stratégie A StarRécapitule les stratégies de recherche précédentes, puis explique A Star Search, qui choisit les nœuds en additionnant le coût déjà parcouru G et la distance estimée au but H sur un labyrinthe, et introduit l'Adversarial Search.21:33
    14. Septième stratégie MinimaxExplique l'algorithme Minimax pour la recherche adversariale au Tic Tac Toe, où le joueur Max maximise et le joueur Min minimise la valeur, avec les fonctions Actions, Result et Utility pour choisir le meilleur coup.33:43
    15. Application pratique Maze
    4

    Connaissance

    10 leçons
    1. Introduction à la connaissanceIntroduit la partie Connaissance : l'intelligence repose sur la connaissance pour tirer de nouvelles conclusions, et prépare les agents fondés sur la connaissance qui agissent grâce à la représentation de la connaissance en eux.2:00
    2. Pensée logiqueExplique le raisonnement logique en IA : déduire de nouvelles informations à partir de phrases connues avec l'exemple de Harry, Hagrid et Dumbledore, puis représenter la connaissance dans un langage formel, en préparant la logique propositionnelle.6:12
    3. Logique par défaut (partie un)Explique la logique propositionnelle et ses symboles P, Q et R, ainsi que ses connecteurs Not, And, Implication et Biconditional, avec les tables de vérité et la différence entre Implication et Biconditional.14:41
    4. Logique par défaut (partie deux)Explique le modèle, la base de connaissances, l'implication logique (Entailment) et l'inférence en logique propositionnelle, avec l'exemple où un mardi sans pluie signifie que Harry ira courir.9:31
    5. Algorithme de vérification de modèleExplique l'algorithme d'inférence Model Checking : énumérer tous les modèles possibles dans un tableau et vérifier si la base de connaissances KB implique Alpha, avec un exemple de trois symboles et huit possibilités.14:38
    6. Exemple pratique de l'algorithme de vérification de modèleApplique l'algorithme Model Checking en Python : définition des symboles et construction de phrases logiques avec And, Or et Not pour représenter la connaissance, puis vérification que la base de connaissances implique la conclusion.25:04
    7. Application pratique de la vérification de modèle
    8. Ingénierie des connaissancesExplique l'ingénierie de la connaissance, qui consiste à identifier les symboles et à représenter un problème dans une base de connaissances, appliquée en Python avec logic.py à un jeu de déduction du coupable, de l'arme et de la pièce.29:25
    9. Le code utilisé dans la conception du jeu Clue
    10. Logique du premier ordreExplique la logique du premier ordre et son avantage sur la logique propositionnelle, avec symboles de constantes, symboles de prédicats et quantificateurs universel et existentiel, à travers un exemple de maisons de Hogwarts.17:18
    5

    Probabilité

    12 leçons
    1. Introduction aux probabilitésIntroduit les probabilités pour traiter l'information incertaine en IA, avec des exemples comme un robot qui perçoit son environnement, la prévision météo et le lancer de dé.2:44
    2. Probabilité et probabilité inconditionnelleExplique les bases de la théorie des probabilités : valeurs entre zéro et un, calcul des probabilités avec des dés et la somme de deux dés, et la probabilité inconditionnelle ainsi que son insuffisance pour un agent intelligent.12:17
    3. Probabilité conditionnelleExplique la probabilité conditionnelle, c'est-à-dire la probabilité d'un événement sachant une information préalable, sa formule P(A sachant B) avec l'exemple des deux dés, la conversion entre P(A|B) et P(B|A), et une introduction aux variables aléatoires.10:29
    4. Variable aléatoire et indépendanceExplique la variable aléatoire, son domaine et sa distribution de probabilités dont la somme vaut un, puis l'indépendance entre événements et la règle du produit pour deux événements indépendants, avec l'exemple des deux dés.19:00
    5. Théorème de BayesExplique la règle de Bayes : sa dérivation à partir de la probabilité conditionnelle et son usage pour calculer la probabilité d'un événement à partir de celle de l'événement inverse, avec l'exemple de la pluie l'après-midi après un matin nuageux.12:01
    6. Probabilité conjointeExplique la probabilité conjointe, c'est-à-dire la probabilité que deux événements se produisent ensemble comme les nuages et la pluie, sa table de distribution et comment en déduire la probabilité conditionnelle.11:12
    7. Règles de probabilitéPrésente les règles des probabilités : la négation et la marginalisation pour obtenir une probabilité inconditionnelle à partir d'une probabilité conjointe, en lien avec la gestion de l'information incertaine par l'agent.20:46
    8. Réseau bayésienExplique le réseau bayésien, une structure de données qui représente les dépendances entre variables aléatoires par des nœuds et des flèches, avec des tables de probabilités conditionnelles et le calcul de la probabilité conjointe.25:31
    9. Inférence pour la probabilitéExplique l'inférence probabiliste : déduire la distribution de probabilité d'une variable de requête à partir d'une preuve en tenant compte des variables cachées, avec l'exemple d'un rendez-vous, de la maintenance des voies et de la pluie.11:55
    10. Application pratique de la construction d'un réseau bayésienConstruction pratique d'un réseau bayésien en Python : définition des nœuds et des tables de probabilités conditionnelles, puis ajout des flèches entre les nœuds pour finaliser le modèle.25:23
    11. Téléchargement de l'application et des codes
    12. Installation d'AnacondaÉtapes pour télécharger Anaconda depuis son site officiel, l'installer sur l'ordinateur, puis l'ouvrir et vérifier que l'installation a réussi.2:09
    6

    Optimisation

    11 leçons
    1. Introduction à l'optimisationIntroduit les problèmes d'optimisation, qui consistent à choisir la meilleure option parmi celles possibles, les compare aux problèmes de recherche, de connaissance et de probabilité, et annonce l'algorithme Local Search.1:50
    2. Recherche localeExplique l'algorithme Local Search, qui suit un seul état courant et passe à un voisin, avec l'exemple des maisons et hôpitaux et la distance de Manhattan, et définit la fonction objectif, la fonction de coût, l'état courant et les voisins.7:31
    3. Algorithme de montée de collineExplique l'algorithme Hill Climbing, la méthode la plus simple de Local Search, qui passe au meilleur voisin de l'état courant, avec le pseudo-code et l'exemple des maisons et deux hôpitaux, et son défaut : il est myope et peut se fixer sur une solution non optimale.12:07
    4. Variables de l'algorithmeExplique les problèmes de Hill Climbing comme le maximum local, le minimum local et le plateau, et les variantes de l'algorithme pour les résoudre : Steepest-ascent, First-choice, Random-restart et Local Beam Search.8:39
    5. Application pratiqueMise en pratique en Python de l'algorithme Hill Climbing sur un problème de placement d'hôpitaux sur une grille, avec Random Restart pour retenir le meilleur résultat.24:10
    6. Téléchargement de l'application et des codes
    7. Algorithme de simulation de recuitExplique le Simulated Annealing, qui évite le défaut du Hill Climbing de s'arrêter aux optima locaux grâce à une température décroissante qui contrôle l'acceptation de solutions moins bonnes, avec un exemple d'ordre de villes.16:39
    8. Algorithme de programmation linéaireIntroduit la programmation linéaire pour optimiser une fonction de coût sous contraintes, formule un exemple de deux machines et d'ouvriers en équations et transforme une contrainte « supérieur à » en « inférieur à » en multipliant par moins un.16:40
    9. Solution pratique au problème de l'algorithme de programmation linéaireRésolution pratique du problème de programmation linéaire en Python avec la fonction de programmation linéaire de SciPy, en définissant les coefficients de la fonction de coût et les contraintes, puis en affichant la solution ou son absence.10:02
    10. Téléchargement de l'application et des codes
    11. Apprentissage MachineIntroduction au Machine Learning comme branche de l'IA et à ses types : apprentissage supervisé avec régression et classification, apprentissage non supervisé avec clustering, et apprentissage par renforcement.6:27

    Formateur

    Ing. Amr Abdel Fattah

    Ing. Amr Abdel Fattah

    Ingénieur en systèmes informatiques spécialisé dans le développement d'applications mobiles et de sites Web, avec une expérience dans la création de plateformes et d'applications Web populaires.
    49.3K vues20 cours

    Ce cours fait partie du diplôme

    Cours similaires