Computational Complexity of Alignments

Este artigo investiga a complexidade computacional do cálculo de alinhamentos em mineração de processos, demonstrando que o problema é PSPACE-completo para redes de Petri seguras, NP-completo para várias subclasses como árvores de processo e sistemas T, e solúvel em tempo polinomial apenas para sistemas S vivos e seguros.

Christopher T. Schwanen, Wied Pakusa, Wil M. P. van der Aalst

Publicado 2026-03-06
📖 5 min de leitura🧠 Leitura aprofundada

Each language version is independently generated for its own context, not a direct translation.

Imagine que você tem um mapa de um processo de negócios (como a receita de um bolo ou o roteiro de uma viagem) e, ao mesmo tempo, você tem o diário de bordo de alguém que realmente fez essa viagem (o registro de eventos).

O problema que este artigo resolve é: Quão difícil é comparar o mapa com o diário para ver onde a pessoa errou, desviou ou seguiu o caminho perfeitamente?

Na área de "Mineração de Processos", essa comparação é chamada de "Alinhamento". O objetivo é encontrar o caminho mais curto e barato para transformar o diário (o que aconteceu) no mapa (o que deveria acontecer), inserindo ou apagando passos quando necessário.

Os autores deste estudo, Christopher Schwanen, Wied Pakusa e Wil van der Aalst, decidiram investigar a complexidade computacional desse problema. Em termos simples: eles queriam saber se é possível criar um computador rápido o suficiente para fazer essa comparação em qualquer tipo de mapa, ou se, para certos mapas, o problema é tão difícil que nenhum computador do mundo conseguiria resolvê-lo em tempo útil.

Aqui está a explicação dos principais achados, usando analogias do dia a dia:

1. O Cenário Geral: Um Labirinto Gigante

Imagine que o mapa do processo é um labirinto.

  • Redes de Petri (Petri Nets): São a linguagem matemática usada para desenhar esses labirintos. Elas têm "lugares" (salas) e "transições" (portas).
  • O Problema: Você precisa encontrar o caminho perfeito dentro desse labirinto que corresponda ao que você escreveu no seu diário.

Os autores descobriram que, dependendo de como o labirinto é construído, a dificuldade muda drasticamente:

2. O Nível "Pesadelo" (PSPACE-Completo)

Para quem: Redes de Petri seguras (onde não pode haver mais de um "marcador" ou "token" em cada sala) e Redes de Fluxo de Trabalho Sonoras (modelos que garantem que o processo sempre termina corretamente).

A Analogia: Imagine um labirinto onde você pode ter múltiplas versões de si mesmo explorando caminhos ao mesmo tempo, e o número de possibilidades cresce de forma explosiva (como uma árvore genealógica que dobra de tamanho a cada geração).

  • O Resultado: Para esses tipos de mapas, o problema é extremamente difícil (PSPACE-completo). É como tentar resolver um quebra-cabeça onde o número de peças é tão grande que, mesmo com todos os computadores do mundo trabalhando juntos, levaria mais tempo que a idade do universo para encontrar a solução perfeita.
  • Conclusão: Se o seu processo de negócios for muito complexo e permitir muitas ramificações, encontrar o alinhamento perfeito é computacionalmente inviável para grandes casos.

3. O Nível "Difícil, mas Possível" (NP-Completo)

Para quem: Redes de Fluxo de Trabalho Livres e Escolhas (LBFC), Árvores de Processo (Process Trees) e Sistemas T (onde não há escolhas, apenas sequências e concorrência).

A Analogia: Imagine um labirinto onde você ainda tem muitas opções, mas o caminho mais curto não é infinitamente longo. Você pode "adivinhar" um caminho e verificar rapidamente se ele está certo.

  • O Resultado: Aqui, o problema é difícil (NP-completo), mas não impossível. Significa que, se você tiver um computador poderoso e um pouco de sorte (ou um algoritmo inteligente), consegue resolver.
  • A Surpresa: Mesmo em modelos muito simples, como "Árvores de Processo" (que são usados por ferramentas modernas de mineração de dados), o problema continua sendo difícil se houver concorrência (duas coisas acontecendo ao mesmo tempo). É como tentar organizar duas filas de banco que se misturam aleatoriamente; é fácil saber se é possível, mas difícil saber a ordem exata mais eficiente.

4. O Nível "Fácil" (P - Polinomial)

Para quem: Sistemas S (S-Systems) que são vivos (nada trava) e seguros (apenas um token por vez).

A Analogia: Imagine um labirinto que é, na verdade, apenas um caminho reto ou um loop simples, sem ramificações complexas e sem múltiplos viajantes.

  • O Resultado: Se o processo for muito restrito (apenas um fluxo, sem escolhas complexas e sem múltiplos tokens), o problema é fácil (P). Você pode resolver isso rapidamente, como ler um livro de uma vez só.
  • A Pega: Se você permitir que o sistema tenha mais de um "marcador" (token) ao mesmo tempo, mesmo que seja um sistema simples, ele volta a ser difícil. A "concorrência" (várias coisas acontecendo juntas) é o vilão que transforma o problema fácil em difícil.

5. O Grande Resumo (A Tabela 3)

Os autores criaram uma tabela que funciona como um "guia de sobrevivência":

  • Se o processo for muito complexo (Redes Gerais): Esqueça a solução perfeita. É impossível computacionalmente.
  • Se o processo tiver concorrência (várias coisas ao mesmo tempo): Será difícil (NP-Completo). Você precisará de algoritmos inteligentes e aproximados.
  • Se o processo for linear e seguro (Sistemas S): É fácil. Você pode resolver instantaneamente.

Por que isso importa?

Muitas empresas usam ferramentas de mineração de processos para ver se estão seguindo as regras (como leis ou normas internas).

  • Se você tentar usar essas ferramentas em processos muito complexos, elas podem travar ou demorar dias.
  • Este artigo avisa: "Não existe mágica." Se o seu processo for complexo, encontrar o erro exato é matematicamente difícil.
  • A boa notícia: Se você simplificar seu modelo (usando, por exemplo, Árvores de Processo com rótulos únicos ou evitando concorrência excessiva), você pode ter ferramentas rápidas e eficientes.

Em resumo: O artigo diz que a dificuldade de encontrar erros em processos de negócios não é apenas uma falha do software, mas uma limitação matemática fundamental. Quanto mais livre e complexo o processo, mais difícil é para o computador "entender" onde você errou. A solução é simplificar os modelos ou aceitar soluções aproximadas para casos complexos.