1. Heurística AI-Pacman : No Projeto Pacman 1, o agente Pacman procurará caminhos no labirinto para chegar a um determinado destino e coletar alimentos com eficiência. Algoritmos de busca geral são implementados para atender diferentes tipos de cenários do Pacman. Usamos este jogo como modelo para entender como funcionam os diferentes algoritmos de pesquisa. Nesta tarefa, o agente Pacman encontrará caminhos em seu mundo labirinto, tanto para chegar a um determinado local quanto para coletar alimentos de forma eficiente... Implementada esta tarefa em python3.
2. Mecanismo Bit-Torrent : O programa baixa todos os diferentes pedaços do arquivo de diferentes pares, combina-os e salva o arquivo em nosso laptop/diretório local. O objetivo desta tarefa é entender o mecanismo do BitTorrent. O BitTorrent obtém um arquivo torrent que contém uma lista de pares que hospedam o arquivo e baixa diferentes partes do arquivo de diferentes pares. os softwares usados aqui são python3 e ambiente Linux.
3. Redes cliente-servidor : O servidor escuta em uma porta, o programa do servidor é executado com um número de porta como entrada e o cliente faz uma conexão TCP e o servidor envia um arquivo para o cliente Além de atuar como um servidor, o servidor também pode atuar como um proxy. Tanto o programa cliente quanto o servidor são implementados em python3 e usam programação de soquete e multithreading para suportar conexões simultâneas no servidor.
4. Protótipo de sistema de gerenciamento de companhia aérea fictício : Neste projeto desenvolvemos um sistema de gerenciamento de companhia aérea fictício. Que armazena e recupera os dados relacionados aos aeroportos, companhias aéreas e voos. visualmente atraente e fácil de usar. Existem dois tipos de usuários neste sistema: 1) Clientes e 2) Página de administração e o administrador deu acesso para modificar novos voos, etc. A principal fonte de dados que usamos neste projeto é apenas o conjunto de dados de voos de 2015, que pode ser encontrado em Os softwares kaggle usados neste projeto são MY SQL workbench para consultas, estrutura da web Python que fornece ferramentas e recursos úteis que facilitam a criação de aplicativos da web e html para páginas da web frontend
5. Estimativa de densidade de tráfego-opencv : Existem principalmente duas partes neste código: A coisa básica que precisamos para monitorar o tráfego é a alimentação da câmera que é colocada na estrada real, mas não podemos garantir que ela esteja colocada em uma boa posição, tal estrada a ser observado está em um retângulo perfeito e a câmera recebe uma visão superior. Pode haver inúmeras outras coisas na imagem que devem ser eliminadas para o funcionamento eficiente do algoritmo. O opencv funciona melhor para quadros retangulares, portanto, para trabalhos como estimativa de densidade de tráfego, é vital primeiro corrigir o ângulo da câmera no software e cortar a imagem para eliminar itens extras. Um dos repositórios contém correção do ângulo da câmera e código de corte de quadro.
subtarefa2: A imagem extraída do vídeo que é usada como plano de fundo. Na parte posterior, a análise de compensação do tempo de execução do utilitário foi feita.
6. Projeto Cloud Computing : Explicando de forma simples: O projeto tratava da criação de uma ferramenta que auxiliasse pessoas que utilizam máquinas virtuais. As máquinas virtuais são como computadores executados dentro de outro computador. Eles são úteis porque permitem que as pessoas executem diferentes sistemas operacionais ou softwares sem a necessidade de um computador separado para cada um.
A ferramenta que criamos foi chamada de API de snapshot. É como uma câmera que tira uma foto de uma máquina virtual em um determinado momento. Esta imagem é chamada de instantâneo. Os instantâneos são úteis porque permitem que as pessoas salvem o estado de uma máquina virtual e voltem a ela mais tarde. Por exemplo, se alguém estiver trabalhando em um projeto em uma máquina virtual e quiser fazer uma pausa, poderá tirar um instantâneo e voltar a ele mais tarde sem perder nenhum progresso.
Usamos uma linguagem de programação chamada Rust para criar a API de snapshot. Rust é uma boa linguagem para esse tipo de projeto porque é segura e rápida. Isso significa que é menos provável que a API tenha bugs ou problemas de segurança e funcione rapidamente.
Dividimos o projeto em cinco etapas principais. A primeira etapa foi a criação de uma máquina virtual básica que poderíamos usar para testes. A segunda etapa foi adicionar um recurso que permite pausar e retomar uma máquina virtual. A terceira etapa foi transformar a API de snapshot em um programa menor e mais eficiente. A quarta etapa tratou da criação de um servidor web que pudesse executar várias máquinas virtuais ao mesmo tempo. A etapa final foi tornar a API de snapshot mais eficiente usando uma técnica chamada desduplicação. Isso significa que se dois instantâneos forem muito semelhantes, só precisamos salvar as partes que são diferentes.
A API de snapshot que criamos foi usada por diferentes partes do projeto. Por exemplo, um balanceador de carga usou-o para mover máquinas virtuais, um front-end usou-o para criar novas máquinas virtuais a partir de uma imagem base e um sistema anti-trapaça usou-o para monitorar quem estava usando as máquinas virtuais.
No geral, o projeto foi bem-sucedido. Concluímos todos os nossos objetivos antes do prazo e criamos uma API de snapshot que era segura, rápida e eficiente. Para mais informações consulte os repositórios.