Loading AI tools
Da Wikipédia, a enciclopédia livre
Uma rede de Petri ou rede de transição é uma das várias representações matemáticas para sistemas distribuídos discretos. Como uma linguagem de modelagem, ela define graficamente a estrutura de um sistema distribuído como um grafo direcionado com comentários. Possui nós de posição, nós de transição, e arcos direcionados conectando posições com transições. Redes de Petri foram inventadas em agosto de 1939 por Carl Adam Petri quando ele tinha 13 anos. Vinte e três (23) anos depois, ele documentou o trabalho como parte de sua tese de doutorado.
A qualquer momento durante a execução de uma rede de Petri, cada posição pode armazenar um ou mais tokens. Diferente de sistemas mais tradicionais de processamento de dados, que podem processar somente um único fluxo de tokens entrantes, as transições de redes de Petri podem consumir e mostrar tokens de múltiplos lugares. Uma transição só pode agir nos tokens se o número requisitado de tokens aparecer em cada posição de entrada.
Transições agem em tokens de entrada por um processo denominado disparo. Quando uma transição é disparada, ela consome os tokens de suas posições de entrada, realiza alguma tarefa de processamento, e realoca um número específico de tokens nas suas posições de saída. Isso é feito atomicamente. Como disparos são não determinísticos, redes de Petri são muito utilizadas para modelar comportamento concorrente em sistemas distribuídos.
Uma rede de Petri é dada por:
Uma variedade de outras definições formais existem. Essa definição é para uma rede posição-transição. Muitas das outras definições não incluem os pesos de arco e as restrições de capacidade.
Atualmente as Redes de Petri são ferramentas importantes para controle de sistemas e eventos discretos que possuem infinitas variáveis de nível lógico limitado. São importantes ferramentas para a Automação Industrial.
Uma rede de Petri consiste em posições, transições e arcos direcionados. Arcos interligam posições e transições, não podendo conectar posições e posições ou transições e transições. As posições de entrada de uma transição são aquelas as quais um arco se destina. As posições de saída são aquelas das quais um arco se origina.
Posições podem conter qualquer número de tokens. Transições podem ser disparadas, isto é, executadas: quando uma transição é disparada, ela consome um token de cada uma das suas posições de entrada, e produz um token em cada uma das suas posições de saída. Uma transição é habilitada quando ela pode ser disparada, isto é, quando existem tokens em cada posição de entrada.
A execução de uma rede de Petri é não-determinística. Isso significa que múltiplas transições podem ser habilitadas ao mesmo tempo (cada uma pode ser disparada) e que nenhuma transição deve ser obrigatoriamente executada em determinado momento.
O estado de uma rede de Petri é representado por um vetor M, no qual o primeiro valor do vetor é a quantidade de tokens na primeira posição da rede, o segundo é a quantidade de tokens na segunda posição, e assim por diante. Tal representação descreve completamente o estado de uma rede de Petri.
Uma lista de transição de estados, , que pode ser simplificada em é chamada uma sequência de disparo se cada transição satisfaz o critério de disparo, isto é, existem tokens suficientes na entrada de cada transição. Nesse caso, a lista de transição de estados de é chamada a trajetória, e é chamado alcançável a partir de através da sequência de disparos de . Matematicamente: . Todas as sequências de disparo que pode ser atingidas em uma rede com estado inicial são denotadas como .
A matriz de transição de estados é grande por , e representa a quantidade de tokens passados por cada transição de cada posição. Similarmente, representa a quantidade de tokens dados por cada transição para cada posição. A soma dos dois, , pode ser utilizada para calcular a equação mencionada acima de . Ela agora pode ser escrita simplesmente como , no qual é um vetor de quantas vezes cada transição foi disparada na sequência. Note que somente porque a equação pode ser satisfeita não significa que ela pode utilizada; para isso deve haver tokens suficientes para cada transição ser disparada, isto é, somente com a equação não é suficiente dizer que o estado pode ser atingido a partir do estado .
Todos os estados que podem ser atingidos em uma rede com estado inicial são denotados como . Surge o problema de alcaçabilidade: é verdadeiro que ? No qual é, por exemplo, um estado inválido tal qual um elevador se movendo enquanto a porta está aberta.
A alcançabilidade dos estados pode ser representada pelo grafo de alcançabilidade no qual os destinos de um grafo direcionado representam estados (por exemplo M), e transições de arcos entre dois dos tais estados. O grafo é construído como a seguir: o estado inicial é definido, e todos as possibilidades de transição são exploradas a partir desse estado, depois a partir os estados resultantes da primeira iteração, e assim por diante.
Enquanto a alcançabilidade parece ser uma boa ferramenta para encontrar estados errôneos, o grafo construído possui estados demais para problemas práticos. Por essas razões, a lógica linear temporal com o método de tableau é geralmente utilizado para provar que tais estados não podem ser alcançados. Essa lógica usa a técnica de semi-decisão para encontrar se realmente um estado pode ser alcançado, ao procurar um conjunto de condições necessárias para o estado ser alcançado e provando que tais condições não podem ser satisfeitas.
Uma transição t de uma rede de Petri () está
Note que se uma transição é viva, ela é automaticamente , e da mesma maneira.
Uma rede de Petri é viva Sse toda transição pertencente é viva.
Existem redes de Petri nas quais as posições são limitadas em um número máximo de tokens. Nesse caso, a limitação é uma propriedade inerente. Apesar disso, redes de Petri podem ser definidas sem limitações como uma propriedade estrutural. Uma rede de Petri limitada não estruturada é k-limitada se não existe estado possível no qual alguma posição contém mais que k tokens. Uma rede de Petri é segura se ela é 1-limitada.
Limitações de certas posições em uma rede inerentemente limitada podem ser feitas em uma rede inerentemente não-limitada ao utilizar uma transformada de posição, no qual uma nova posição (chamada contra-posição) é criada, e todas as transições que levam x tokens na posição original levam x tokens para a contra-posição. O número de tokens em agora deve satisfazer a equação . Assim, aplicar uma transformada de posição para todas as posições em uma rede limitada, e restringindo o estado inicial para satisfazer a equação acima, uma rede limitada pode facilmente ser transformada em uma rede não-limitada. Desta maneira qualquer análise usada em uma rede não-limitada pode ser utilizada em redes limitadas. A recíproca não é verdadeira.
Existem várias extensões para redes de Petri. Algumas delas são completamente compatíveis com o modelo tradicional (por exemplo redes de Petri coloridas), algumas adicionam propriedades que não podem ser definidas no modelo tradicional (por exemplo redes de Petri temporizadas). Se elas podem ser definidas no modelo tradicional, não são realmente extensões, e sim maneiras mais convenientes de demonstrar a mesma coisa, de forma que podem ser transformadas com fórmulas matemáticas para o modelo tradicional, sem perda de informação. Extensões que não podem ser transformadas para o modelo tradicional são muitas vezes poderosas, mas geralmente não possuem ferramentas matemáticas suficientes para análise como no modelo tradicional de redes de Petri.
O termo redes de Petri de alto-nível é utilizado por vários formalismos de redes de Petri que estendem o formalismo posição/transição. Isso inclui redes de Petri coloridas, redes de Petri hierárquicas, e outras extensões como segue:
Existem várias outras extensões para redes de Petri, entretanto, é importante saber que ao adicionar complexidade nas redes ao adicionar propriedades, se torna mais difícil utilizar ferramentas tradicionais para calcular certas propriedades da rede. Por essa razão, é uma boa ideia utilizar a rede mais simples possível para uma tarefa dada.
As propriedades teóricas de redes de Petri vêm sendo muito estudadas.
Uma situação em uma rede de Petri é alcançável se, iniciando de uma situação inicial, uma sequência de transições disparadas podem atingir tal situação. Uma rede de Petri é limitada se existe um limite ao número de tokens nas suas situações alcançáveis.
Existem seis tipos principais de redes de Petri:
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.