Introdução
A programação neuro-simbólica busca integrar duas abordagens clássicas da inteligência artificial: os sistemas simbólicos — que oferecem representação explícita de conhecimento, interpretabilidade e capacidade de raciocínio lógico — e os modelos baseados em redes neurais artificiais — que se destacam por sua capacidade de generalização e escalabilidade computacional, devido a uma natural compatibilidade com execução paralela em GPU e diferenciação automática. Dentro dessa área, a programação lógico-probabilística fornece uma base formal e expressiva para modelar conhecimento incerto, combinando lógica de primeira ordem com inferência probabilística.
Este trabalho tem como objetivo desenvolver e avaliar estratégias de compilação de circuitos lógicos e probabilísticos, especialmente aqueles na forma sd-DNNF (smooth deterministic decomposable negation normal form), para representações diferenciáveis e compatíveis com frameworks como PyTorch. Ao transformar circuitos simbólicos em arquiteturas neurais otimizadas, pretende-se viabilizar o treinamento e a execução eficiente de modelos neuro-simbólicos, aproveitando os pontos fortes de ambos os paradigmas. Os resultados esperados incluem contribuições metodológicas e implementações que podem facilitar o uso prático desses sistemas híbridos, beneficiando tanto a pesquisa acadêmica quanto aplicações em áreas como sistemas inteligentes, robótica e aprendizado simbólico.
Escopo
O escopo deste trabalho é o aceleramento de sistemas neuro-simbólicos por meio da compilação de circuitos lógicos diferenciáveis, em especial da classe sd-DNNF, para representações computacionais compatíveis com frameworks como PyTorch. A proposta busca permitir a execução eficiente desses circuitos, explorando paralelismo em GPU e diferenciação automática, com o objetivo de desenvolver uma base sólida e expansível para sistemas neuro-simbólicos modernos.
Objetivos
O objetivo principal deste trabalho é investigar e implementar diferentes estratégias de transformação de circuitos lógicos sd-DNNF em modelos baseados em redes neurais para execução em Python. Os objetivos específicos incluem:
- Projetar, implementar e comparar diferentes abordagens de conversão:
- Abordagem trivial: substituição direta de portas AND por nós de produto e portas OR por nós de soma
- Arquitetura neural em camadas: criação de redes com camadas intercaladas de soma e produto
- Abordagem matricial: conversão dos circuitos em operações vetoriais e tensoriais utilizando, por exemplo, a API do PyTorch
- Avaliar cada abordagem em termos de:
- Desempenho computacional (tempo de execução, uso de memória, escalabilidade)
- Suporte à diferenciação automática
- Clareza estrutural, expansibilidade e manutenibilidade do código resultante
Métodos
O desenvolvimento será conduzido por meio das seguintes etapas metodológicas:
- Estudo e consolidação teórica sobre programação lógico-probabilística, circuitos sd-DNNF e métodos de compilação para execução diferenciável.
- Revisão e seleção de ferramentas existentes para geração de circuitos lógicos.
- Implementação das abordagens de transformação para PyTorch (ou outros frameworks).
- Desenvolvimento de casos de teste e benchmarks simbólicos.
- Análise experimental dos métodos implementados, com métricas quantitativas e qualitativas.
- Documentação e redação do trabalho, com reflexões críticas e sugestões para trabalhos futuros.
Planejamento das principais atividades (com cronograma estimado)
Período | Atividade |
---|---|
Abril – Maio 2025 |
Revisão bibliográfica sobre sd-DNNF, programação lógico-probabilística e compilação. Estudo das ferramentas de compilação e definição formal do escopo técnico. |
Junho – Agosto 2025 | Implementação das múltiplas abordagens de compilação. |
Setembro – Outubro 2025 |
Desenvolvimento de benchmark e testes experimentais. Avaliação comparativa e documentação dos resultados. |
Novembro – Dezembro 2025 | Redação, revisão final e entrega do TCC. |
Repositório
O código-fonte deste projeto está disponível no GitHub.
Bibliografia
- Darwiche, A., & Marquis, P. (2002). A Knowledge Compilation Map. Journal of Artificial Intelligence Research.
- Choi, Y., Kisa, D., & Van den Broeck, G. (2020). Probabilistic Circuits: A Unifying Framework for Tractable Probabilistic Models.
- Darwiche, A. (2004). New Advances in Compiling CNF to Decomposable Negation Normal Form.
- Liu, A., Ahmed, K., & Van den Broeck, G. (2022). Scaling Tractable Probabilistic Circuits: A Systems Perspective.