# Tutor de autômatos finitos, Mealy/Moore, Karnaugh e minimização

Explica passo a passo autômatos e lógica combinacional: construção por subconjuntos ε-NFA→NFA→DFA, minimização por refinamento de partições de Moore, conversão Mealy↔Moore; agrupamento Gray em Karnaugh e Quine-McCluskey com implicantes primos e cobertura mínima exata para o SOP mínimo. Inclui diagramas ASCII, tabelas e iterações.

> Página canônica: https://elysiatools.com/pt/tools/finite-state-machine-mealy-moore-karnaugh-minimization-tutor

- **Categoria:** Education

- **Palavras-chave:** autômato finito, afd, afn, mapa de karnaugh, quine mccluskey, minimização, lógica digital

## Visão geral

DSL de autômato: `states: q0 q1 …`, `start: q0`, `accept: q1, q2`, `alphabet: a b`, uma transição por linha `origem símbolo destino` (arestas ε como ε ou eps); saída Mealy `q0 a q1 / 1`, saída Moore `moore: q0:0 q1:1`. A construção por subconjuntos aplica ε-fechamento; a minimização remove primeiro inalcançáveis e depois refina partições de Moore (armadilha clássica); Mealy→Moore divide estados por saída entrante (≤ |Q|·|Δ|). Modo booleano: Quine-McCluskey funde vizinhos (um bit, traços alinhados), o gráfico de implicantes primos cobre só os mintermos ON e após os essenciais uma enumeração exata dá a cobertura mínima (Petrick equivalente). Referências verificadas: (a|b)*abb → DFA de 5 estados, mínimo 4; Σm(0,1,2,5,6,7,8,9,10,14) → B'C' + CD' + A'BD ótimo único.

## Entradas

- **Modo** (select)
- **Definição do autômato** (textarea): states: q0 q1 q2 start: q0 accept: q2 alphabet: a b q0 a q0 q0 b q0 q0 ε q1 q1 b q2 q2 a q2 q2 b q2
- **Número de variáveis (Karnaugh)** (number)
- **Mintermos (conjunto ON)** (text): 0,1,2,5,6,7,8,9,10,14
- **Indiferentes (don't-care)** (text): e.g. 3,11,12
- **NFA para DFA (construção por subconjuntos)** (checkbox)
- **Minimizar DFA (refinamento de partições de Moore)** (checkbox)
- **Converter Mealy ↔ Moore (se houver saídas)** (checkbox)

## Quando usar

- Quando você precisa converter um ε-NFA ou NFA em DFA usando a construção por subconjuntos.
- Quando deseja remover estados inalcançáveis e minimizar um DFA pelo refinamento de partições de Moore.
- Quando precisa encontrar o SOP mínimo de uma função booleana a partir de mintermos e valores indiferentes.

## Como funciona

- No modo de autômatos, informe estados, estado inicial, estados de aceitação, alfabeto e uma transição por linha; arestas ε podem ser escritas como ε ou eps.
- Ative a construção NFA para DFA para aplicar o ε-fechamento e gerar os estados por subconjuntos.
- Ative a minimização para refinar as partições de Moore e obter um DFA mínimo; saídas Mealy ou Moore também podem ser convertidas quando declaradas.
- No modo booleano, informe o número de variáveis, os mintermos ON e, se necessário, os termos indiferentes para obter agrupamentos de Karnaugh e a cobertura mínima exata por Quine-McCluskey.

## Casos de uso

- Estudar a determinização e a minimização de autômatos com fechamentos, tabelas e iterações.
- Verificar conversões entre máquinas de Mealy e Moore com saídas associadas às transições ou aos estados.
- Simplificar funções combinacionais usando mapas de Karnaugh, implicantes primos e cobertura mínima exata.

## Perguntas frequentes

### Quais formatos de autômato são aceitos?

O tutor aceita NFA, ε-NFA, Mealy e Moore usando a DSL com cabeçalhos de estados, início, aceitação e alfabeto.

### Como escrevo uma transição ε?

Escreva uma linha no formato origem símbolo destino, usando ε ou eps como símbolo.

### O tutor converte NFA em DFA?

Sim. A opção de construção por subconjuntos aplica o ε-fechamento quando necessário.

### Quantas variáveis posso usar no modo Karnaugh?

O campo aceita de 2 a 4 variáveis.

### Posso informar termos indiferentes?

Sim. Informe os don't-cares no campo correspondente, separados por vírgulas.

## Ferramentas relacionadas

- [Analisador de composição de aminoácidos](https://elysiatools.com/pt/tools/amino-acid-composition): Analisa a composição de uma sequência: contagens e percentagens molares de cada um dos 20 aminoácidos padrão; totais por grupo (básicos K/R/H, ácidos D/E, aromáticos F/W/Y, sulfurados C/M, alifáticos A/I/L/V, amidas N/Q, hidroxila S/T, outros G/P); GRAVY com os valores de hidropatia de Kyte–Doolittle 1982 (>0 tendência hidrofóbica, <0 hidrofílica; globulares solúveis ficam entre −1 e +0,3); e a massa molecular pela tabela ProtParam. Códigos de ambiguidade (B/J/O/U/X/Z) contam-se à parte e excluem-se das percentagens. Fontes: Kyte & Doolittle 1982, ExPASy ProtParam, Lehninger. Apenas para educação.
- [Simulador do efeito gargalo genético (perda de heterozigosidade)](https://elysiatools.com/pt/tools/bottleneck-effect-simulator): Simula a perda esperada de heterozigosidade após um gargalo (esperança determinística). Sob deriva Wright-Fisher ideal, H_{t+1} = H_t(1 − 1/(2N)) por geração, logo H_final = H₀(1−1/2Nb)^t × (1−1/2Nr)^g; o tamanho efetivo harmônico Ne = (t+g)/(t/Nb + g/Nr) é dominado pelo mínimo; F acumulado = 1 − H_final/H₀. Para um alelo de frequência p, a sobrevivência a UMA geração de gargalo é 1 − (1−p)^(2Nb); alelos raros perdem-se primeiro. Casos clássicos: elefante-marinho-do-norte (~20 sobreviventes em 1890), guepardo, nēnē do Havaí, bisão-europeu, atol Pingelap. Fontes: Wright 1931, Nei et al. 1975, Hartl & Clark 2007, StatPearls. Apenas uso educativo.
- [Gerador de baralho SRS a partir de lista de frequência](https://elysiatools.com/pt/tools/language-vocab-spaced-repetition-deck-generator): Cole uma lista de vocabulário bilíngue e exporte um baralho compatível com Anki que divide cada entrada em cartões de reconhecimento, recordação e cloze com classe, IPA e frases de exemplo, além de prévia SM-2.
- [Calculadora de comprimento de fragmentos de restrição](https://elysiatools.com/pt/tools/restriction-fragment-length): Estima os tamanhos dos fragmentos após a digestão: um substrato circular com n cortes produz n fragmentos (contornando a origem) e um linear produz n+1. O modo de posições calcula fragmentos exatos a partir de coordenadas separadas por vírgula; o modo de número de sítios dá a contagem e a média com distribuição uniforme. Inclui a frequência esperada de sítios em DNA aleatório: enzimas de 4 bases ~1 a cada 256 bp, de 6 bases ~1 a cada 4096 bp (REBASE/Sambrook) e avisos de resolução em agarose (<50 bp pode escapar). Fontes: Sambrook & Russell 3ª ed., REBASE. Apenas para educação.
- [Conversor de fórmulas AsciiMath / LaTeX / MathML](https://elysiatools.com/pt/tools/asciimath-latex-mathml-equation-converter): Converte fórmulas entre AsciiMath, LaTeX e MathML: detecta o formato de entrada e produz LaTeX canônico, MathML de apresentação anotado, retrotradução aproximada para AsciiMath, snippet aria-label para leitores de tela e uma prévia KaTeX.
- [Resolvedor de aliases de cabeçalho CSV](https://elysiatools.com/pt/tools/csv-header-alias-resolver): Mapeia cabeçalhos CSV bagunçados para um esquema destino limpo. Cole um CSV cuja primeira linha tenha nomes de coluna inconsistentes (Customer ID, user_id, customerId, CUST_ID…) junto ao seu esquema destino (uma coluna por linha) e um dicionário opcional "alias=alvo". Cada cabeçalho é resolvido em quatro passadas — exato, dicionário, normalizado (caso/acentos/separadores/camelCase) e distância de edição difusa — mostrado numa tabela com método e confiança, mais cobertura do destino e uma exportação CSV normalizada opcional.
- [Extrator de tokens de tema ECharts](https://elysiatools.com/pt/tools/echarts-theme-token-extractor): Extrai design tokens — cores, números, tamanhos de fonte e strings — de um JSON de tema ECharts e os exporta direto no seu design system. Cole um objeto de tema (o registrado e passado a echarts.init(dom, themeName)) e a ferramenta percorre cada folha, marcando cada cor (com normalização opcional nomeada/rgb → hex), número de espaçamento, tamanho de fonte e string, depois emite variáveis CSS limpas, um config theme.extend do Tailwind, tokens.json do Style Dictionary ou variáveis SCSS. Faz a ponte entre um tema de visualização ECharts e os tokens de design Figma/CSS/Tailwind sem copiar cada valor à mão.
- [Gerador de assinatura de e-mail HTML](https://elysiatools.com/pt/tools/email-signature-html-builder): Gera uma assinatura de e-mail HTML limpa e pronta para copiar-colar que renderiza corretamente no Gmail, Outlook e Apple Mail — com avatar/logo, ícones sociais (auto-detectados dos seus links), cor de destaque, tema claro/escuro/auto e um layout em tabela seguro para e-mail com estilos inline. Copie o HTML e cole no seu cliente de e-mail.

## Exemplos

- [Exemplos de Processamento de Imagem Web Python](https://elysiatools.com/pt/samples/web-image-processing-python): Exemplos de processamento de imagem Web Python usando PIL/Pillow incluindo leitura, salvamento, redimensionamento e conversão de formato
- [Exemplos de Processamento de Imagem Android Java](https://elysiatools.com/pt/samples/android-image-processing-java): Exemplos de processamento de imagem Android Java incluindo leitura/escrita, dimensionamento e conversão de formato
- [Exemplos de Processamento de Imagem Android Kotlin](https://elysiatools.com/pt/samples/android-image-processing-kotlin): Exemplos de processamento de imagem Android Kotlin incluindo leitura/escrita, dimensionamento e conversão de formato
- [Exemplos de Processamento de Imagem Web Rust](https://elysiatools.com/pt/samples/web-image-processing-rust): Exemplos de processamento de imagem Web Rust incluindo leitura/gravação, redimensionamento e conversão de formato
