1. Heuristique AI-Pacman : dans le projet Pacman 1, l'agent Pacman recherchera des chemins à partir du labyrinthe pour arriver à une certaine destination et collectera efficacement la nourriture. Des algorithmes de recherche généraux sont implémentés afin de répondre à différents types de scénarios Pacman. Nous utilisons ce jeu comme modèle pour comprendre le fonctionnement des différents algorithmes de recherche. Dans cette mission, l'agent Pacman trouvera des chemins à travers son monde labyrinthique, à la fois pour atteindre un endroit particulier et pour collecter efficacement de la nourriture... Implémentation de cette mission en python3.
2. Mécanisme Bit-Torrent : Le programme télécharge tous les différents morceaux du fichier à partir de différents pairs, les combine et enregistre le fichier dans notre répertoire portable/local. Le but de cette mission est de comprendre le mécanisme de BitTorrent. BitTorrent obtient un fichier torrent contenant une liste de pairs hébergeant le fichier et télécharge différentes parties du fichier à partir de différents pairs. les logiciels utilisés ici sont l'environnement python3 et Linux.
3. Réseaux client-serveur : le serveur écoute sur un port, le programme serveur est exécuté avec un numéro de port en entrée et le client établit une connexion TCP et le serveur envoie un fichier au client. En plus d'agir en tant que serveur, le serveur peut également agir comme mandataire. Les programmes client et serveur sont implémentés en python3 et utilisent la programmation socket, multithread pour prendre en charge les connexions simultanées sur le serveur.
4. Prototype de système de gestion de compagnie aérienne factice : Dans ce projet, nous avons développé un système de gestion de compagnie aérienne factice. qui stocke et récupère les données relatives aux aéroports, aux compagnies aériennes et aux vols. Fondamentalement, la motivation derrière le choix de cette idée était de développer un système qui était visuellement attrayant et facile à utiliser. Il existe deux types d'utilisateurs dans ce système : 1) Clients et 2) La page d'administration et l'administrateur a donné accès à la modification de nouveaux vols, etc. La principale source de données que nous avons utilisée dans ce projet est uniquement l'ensemble de données de vols de 2015, qui peut être trouvé sur Les logiciels Kaggle utilisés dans ce projet sont MY SQL Workbench pour les requêtes, un framework Web Python qui fournit des outils et des fonctionnalités utiles permettant de créer des applications Web et du HTML pour la page Web frontale.
5. Estimation de la densité du trafic-opencv : Il y a principalement deux parties dans ce code : La chose de base dont nous avons besoin pour surveiller le trafic est le flux de la caméra qui est placé sur la route réelle, mais nous ne pouvons pas garantir qu'il est placé dans une bonne position telle que la route. à regarder se trouve dans un rectangle parfait et la caméra reçoit une vue de dessus. Il peut y avoir de nombreuses autres choses dans l'image qui doivent être éliminées pour un fonctionnement efficace de l'algorithme. L'opencv fonctionne mieux pour les cadres rectangulaires. Pour des tâches telles que l'estimation de la densité du trafic, il est essentiel de d'abord corriger l'angle de la caméra dans le logiciel et de recadrer l'image pour éliminer les éléments supplémentaires. L'un des référentiels contient la correction de l'angle de la caméra et le code de recadrage du cadre.
sous-tâche 2 : l'image extraite de la vidéo qui est utilisée comme arrière-plan. Dans la partie suivante, l'analyse des compromis d'exécution de l'utilitaire a été effectuée.
6. Projet Cloud Computing : Expliquer en simple :Le projet consistait à créer un outil qui aide les personnes qui utilisent des machines virtuelles. Les machines virtuelles sont comme des ordinateurs qui s’exécutent dans un autre ordinateur. Ils sont utiles car ils permettent aux utilisateurs d'exécuter différents systèmes d'exploitation ou logiciels sans avoir besoin d'un ordinateur séparé pour chacun.
L'outil que nous avons créé s'appelle une API de capture instantanée. C'est comme une caméra qui prend une photo d'une machine virtuelle à un moment donné. Cette image est appelée un instantané. Les instantanés sont utiles car ils permettent aux utilisateurs de sauvegarder l'état d'une machine virtuelle et d'y revenir plus tard. Par exemple, si quelqu'un travaille sur un projet dans une machine virtuelle et souhaite faire une pause, il peut prendre un instantané et y revenir plus tard sans perdre aucune progression.
Nous avons utilisé un langage de programmation appelé Rust pour créer l'API de capture instantanée. Rust est un bon langage pour ce genre de projet car il est sûr et rapide. Cela signifie que l’API est moins susceptible d’avoir des bugs ou des problèmes de sécurité et qu’elle fonctionne rapidement.
Nous avons divisé le projet en cinq étapes principales. La première étape consistait à créer une machine virtuelle de base que nous pourrions utiliser pour les tests. La deuxième étape consistait à ajouter une fonctionnalité permettant aux utilisateurs de mettre en pause et de reprendre une machine virtuelle. La troisième étape consistait à transformer l'API de capture instantanée en un programme plus petit et plus efficace. La quatrième étape consistait à créer un serveur Web capable d'exécuter plusieurs machines virtuelles à la fois. La dernière étape consistait à rendre l'API de capture instantanée plus efficace en utilisant une technique appelée déduplication. Cela signifie que si deux instantanés sont très similaires, il suffit de sauvegarder les parties différentes.
L'API de capture instantanée que nous avons créée a été utilisée par différentes parties du projet. Par exemple, un équilibreur de charge l'a utilisé pour déplacer des machines virtuelles, un frontend l'a utilisé pour créer de nouvelles machines virtuelles à partir d'une image de base et un système anti-triche l'a utilisé pour surveiller qui utilisait les machines virtuelles.
Dans l'ensemble, le projet a été une réussite. Nous avons atteint tous nos objectifs avant la date limite et nous avons créé une API de capture instantanée sûre, rapide et efficace. Pour plus d’informations, consultez les référentiels.