Este projeto tem como objetivo explorar e demonstrar conceitos fundamentais de Inteligência Artificial (IA). Através de exemplos práticos e teóricos, abordamos diversas áreas da IA, incluindo:
- Algoritmos Gulosos (Greedy): Hill Climbing, Gradiente Descendente
- Metaheurísticas: Simulated Annealing, Tabu Search, Algoritmos Genéticos
- Otimização por Enxame: PSO (Particle Swarm Optimization), ACO (Ant Colony)
- Busca em Largura (BFS)
- Busca em Profundidade (DFS)
- Buscas Informadas (A*, Heurísticas)
- Algoritmos de Clustering (K-means)
- Métodos Numéricos e Estatísticos
- Análise de Dados com Pandas
- Mineração de Dados
- Análise de Sentimentos
- Medidas Estatísticas (Tendência Central, Dispersão)
- Matplotlib para Visualização
- SciPy para Computação Científica
- NumPy para Computação Numérica
/notebooks: Jupyter notebooks organizados por categoria/algorithms: Algoritmos de IA (otimização, busca, clustering)/data_science: Ciência de dados e mineração/statistics: Estatística e métodos numéricos/visualization: Visualização e ferramentas
/src: Código fonte organizado por algoritmos e funcionalidades/algorithms/greedy: Algoritmos gulosos e de gradiente/algorithms/metaheuristics: Metaheurísticas (Simulated Annealing, Tabu Search)/api: API REST para execução de algoritmos/services: Serviços auxiliares/utils: Utilitários e funções auxiliaresmain.py: Entry point da API RESTcli.py: Interface de linha de comando
/docs: Documentação detalhada sobre cada conceito e algoritmo/algorithms: Documentação de algoritmos organizados por tipo/statistics: Teoria estatística e métodos numéricos
/datasets: Conjunto de dados utilizados nos exemplos/scripts: Scripts auxiliares para execução e automação/output: Resultados e outputs de execuções
# Instalar dependências
poetry install
# Executar Jupyter
jupyter notebook notebooks/# Iniciar servidor FastAPI
python src/main.py# Executar interface de linha de comando
python src/cli.py- Faça um fork do repositório
- Crie uma branch para sua feature (
git checkout -b feature/nome-da-feature) - Implemente suas alterações seguindo as convenções do projeto
- Adicione testes quando aplicável
- Faça commit das suas alterações (
git commit -m 'Adiciona nova feature') - Faça push para a branch (
git push origin feature/nome-da-feature) - Abra um Pull Request com descrição detalhada
- Use snake_case para nomes de arquivos
- Documente algoritmos em português no
/docs - Mantenha notebooks organizados e bem comentados
- Siga as boas práticas de código Python (PEP 8)
Este projeto está licenciado sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Para dúvidas ou sugestões, entre em contato pelo email: luissantos@uni9.pro.br