Skip to main content

High-Performance Rete Engine with Hash Joins for Python.

Project description

Ikin-Expert 🧠 v2.0.3

A High-Performance Rete Engine with Hash Joins for Python

PyPI version Python License INPI

"A ciência é feita de dados, mas a sabedoria é feita de inferências."


🚀 O que há de novo na v2.0.3?

Esta versão eleva o motor com foco em estabilidade, integração e previsibilidade operacional:

  • Ponte Alfa-Beta (Hash-Join Layer): correção crítica na propagação de fatos entre nós Alfa (filtros) e Beta (junções). Agora, a interseção entre múltiplos fatos é realizada por meio de indexação por hash.
  • Resiliência de Memória: validada em testes de estresse com mais de 20 horas de execução, ocupação de 100% de CPU e consumo estável de RAM (~4.5%), sem indícios de memory leaks.
  • Dicionário de Operadores Estável: padronização da sintaxe de comparação (__gte, __contains, __eq, entre outros), favorecendo legibilidade, manutenção e consistência interna.

📋 Sobre o Projeto

O Ikin-Expert é uma biblioteca de sistemas especialistas desenvolvida pela Kalluan Cartoon para substituir motores legados, unindo IA simbólica à robustez do Pydantic v2.

Diferentemente de abordagens anteriores baseadas em estruturas menos eficientes, o Ikin-Expert implementa indexação automática, tipagem forte e uma arquitetura orientada à previsibilidade de execução.

Principais Diferenciais

  • ⚡ Junções otimizadas com Hash Indexing: reduz o custo de cruzamento entre fatos em cenários comuns, evitando o produto cartesiano ingênuo.
  • 🛡️ Engenharia de Dados: integração nativa com Pydantic, promovendo validação forte e maior confiabilidade na modelagem dos fatos.
  • 🏗️ Arquitetura Rete otimizada: separação clara entre Working Memory e Knowledge Base, favorecendo organização, escalabilidade e previsibilidade temporal.
  • 🔎 Regras mais expressivas: suporte a operadores declarativos para construção de condições mais legíveis e fáceis de manter.

🛠 Instalação

Disponível oficialmente no PyPI:

pip install ikin-expert

Requisitos: Python 3.10 ou superior.


💻 Exemplo de Uso: Automação Residencial (IoT)

Veja como criar um "cérebro" para uma casa inteligente que toma decisões com base em sensores:

from ikin_expert import KnowledgeEngine, Rule, Fact, MATCH
from pydantic import Field

# 1. Definição dos modelos de dados (fatos)
class Termostato(Fact):
    local: str
    temperatura: float = Field(gt=-50, lt=100)

class Presenca(Fact):
    local: str
    detectada: bool

# 2. Motor de inferência (gestão de climatização)
class ClimaManager(KnowledgeEngine):

    # REGRA:
    # Se houver presença no local (MATCH.loc)
    # e a temperatura for maior que 25 °C,
    # então o sistema ativa a refrigeração.
    @Rule(
        Presenca(local=MATCH.loc, detectada=True),
        Termostato(local=MATCH.loc, temperatura__gt=25.0)
    )
    def ligar_refrigeracao(self, loc):
        print(f"❄️ AÇÃO: Climatizando {loc}. Conforto térmico ativado.")

# 3. Execução
sistema = ClimaManager()
sistema.reset()  # Limpeza da Working Memory

# Simulação de dados de sensores
sistema.declare(Presenca(local="sala", detectada=True))
sistema.declare(Termostato(local="sala", temperatura=28.5))

sistema.run()

🆚 Comparativo de Performance

Métrica Métodos legados (naive) Ikin-Expert v2.0.3
Estratégia de junção Produto cartesiano / varredura ingênua Indexação por hash
Escalabilidade Limitada em cenários com alto volume de fatos Otimizada para cenários mais complexos
Uso de memória em estresse Inconsistente / sujeito a vazamentos Estável (~4.5% de RAM)
Variabilidade temporal Alta / imprevisível Baixa / mais previsível

Nota: o ganho de desempenho depende do volume de fatos, do número de regras e do padrão de junção empregado no problema.


⚖️ Propriedade Intelectual

  • Registro de Software (INPI): BR 51 2026 000822-0
  • Licença: Dual License (MIT + Apache 2.0)

👨🏿‍🔬 Autor e Pesquisador

Desenvolvido por Kalluan Cley Fiuza.


📌 Observações

O Ikin-Expert foi projetado para aplicações que exigem inferência simbólica, rastreabilidade lógica e controle explícito sobre regras de decisão, sendo especialmente promissor em domínios como:

  • sistemas especialistas médicos;
  • automação inteligente;
  • motores de decisão baseados em regras;
  • validação e classificação simbólica de conhecimento.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ikin_expert-2.0.3.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ikin_expert-2.0.3-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

Details for the file ikin_expert-2.0.3.tar.gz.

File metadata

  • Download URL: ikin_expert-2.0.3.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for ikin_expert-2.0.3.tar.gz
Algorithm Hash digest
SHA256 54441da6ec9d4091cbc4bdaee446fc8330eaf5ebf7a15c9d44bfb755e0adb55e
MD5 25ae3d0f233dbcd98011a2b681177841
BLAKE2b-256 8adae27c76a83d9602d0d2553e2c2784fbdb0f257889bc78be24e465074c99d6

See more details on using hashes here.

File details

Details for the file ikin_expert-2.0.3-py3-none-any.whl.

File metadata

  • Download URL: ikin_expert-2.0.3-py3-none-any.whl
  • Upload date:
  • Size: 13.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for ikin_expert-2.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 dfedc454da930942554db4830069fdb0fd9960cdb1ef446d6f184835cc7cd2c3
MD5 0982215b9652a14bf7c76ebc24ee965a
BLAKE2b-256 441b718e0db77f6459e028b4910fa980abd7fe2d89245a05c70732303afb8032

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page