# Tuteur machines à états finis, Mealy/Moore, Karnaugh et minimisation

Explique pas à pas automates et logique combinatoire : construction par sous-ensembles ε-NFA→NFA→DFA, minimisation par raffinement de partitions de Moore, conversion Mealy↔Moore ; groupes Gray en Karnaugh et Quine-McCluskey avec implicants premiers et couverture minimale exacte pour la SOP minimale. Avec diagrammes ASCII, tableaux et itérations.

> Page canonique: https://elysiatools.com/fr/tools/finite-state-machine-mealy-moore-karnaugh-minimization-tutor

- **Catégorie:** Education

- **Mots-clés:** automate fini, afd, afn, table de karnaugh, quine mccluskey, minimisation, logique numérique

## Présentation

DSL automate : `states: q0 q1 …`, `start: q0`, `accept: q1, q2`, `alphabet: a b`, une transition par ligne `origine symbole destination` (arêtes ε notées ε ou eps) ; sortie Mealy `q0 a q1 / 1`, sortie Moore `moore: q0:0 q1:1`. La construction par sous-ensembles applique l'ε-fermeture ; la minimisation supprime d'abord les états inaccessibles puis raffine les partitions (piège classique) ; Mealy→Moore scinde par sortie entrante (≤ |Q|·|Δ|). Mode booléen : Quine-McCluskey fusionne les voisins (un bit, tirets alignés), le tableau d'implicants premiers ne couvre que les minterms ON, et après les essentiels une énumération exacte des sous-ensembles donne la couverture minimale (équivalent Petrick). Références vérifiées : (a|b)*abb → DFA 5 états, minimal 4 ; Σm(0,1,2,5,6,7,8,9,10,14) → B'C' + CD' + A'BD optimum unique.

## Entrées

- **Mode** (select)
- **Définition de l'automate** (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
- **Nombre de variables (Karnaugh)** (number)
- **Minterms (ensemble ON)** (text): 0,1,2,5,6,7,8,9,10,14
- **Indifférents (don't-care)** (text): e.g. 3,11,12
- **NFA vers DFA (construction par sous-ensembles)** (checkbox)
- **Minimiser le DFA (raffinement de partitions de Moore)** (checkbox)
- **Convertir Mealy ↔ Moore (si sorties)** (checkbox)

## Quand l'utiliser

- Transformer un ε-NFA ou un NFA en DFA par construction des sous-ensembles.
- Supprimer les états inaccessibles et minimiser un DFA par raffinement de partitions de Moore.
- Réduire une fonction booléenne à partir de ses minterms ON, avec ou sans indifférents.

## Fonctionnement

- Choisissez le mode « Automates » ou « Minimisation booléenne ».
- En mode automates, saisissez les états, l’état initial, les états acceptants, l’alphabet et une transition par ligne ; les sorties Mealy et Moore sont également prises en charge.
- Activez la construction NFA vers DFA, la minimisation du DFA ou la conversion Mealy↔Moore selon le résultat souhaité.
- En mode booléen, indiquez le nombre de variables, les minterms ON et éventuellement les indifférents pour obtenir les groupes de Karnaugh, les implicants premiers et la couverture minimale.

## Cas d'usage

- Étudier la déterminisation et la minimisation d’automates dans un cours de langages formels.
- Vérifier les étapes d’une conversion entre machines de Mealy et de Moore.
- Concevoir ou contrôler une expression SOP minimale pour un circuit logique combinatoire.

## Questions fréquentes

### Quel format utiliser pour définir un automate ?

Utilisez les lignes states, start, accept et alphabet, puis écrivez chaque transition sous la forme origine symbole destination. Une arête ε peut être notée ε ou eps.

### Le tuteur prend-il en charge les ε-NFA ?

Oui. La construction par sous-ensembles applique l’ε-fermeture avant de produire le DFA.

### Comment activer la minimisation d’un DFA ?

Saisissez l’automate, activez « NFA vers DFA » si nécessaire, puis laissez cochée l’option « Minimiser le DFA ».

### Comment saisir une fonction booléenne ?

Choisissez le mode booléen, indiquez 2 à 4 variables, puis saisissez les minterms ON séparés par des virgules. Les indifférents sont facultatifs.

### Quel type de résultat est généré ?

Le résultat est une page HTML contenant les étapes, tableaux, itérations et diagrammes ASCII produits par le tuteur.

## Outils associés

- [Analyseur de composition en acides aminés](https://elysiatools.com/fr/tools/amino-acid-composition): Analyse la composition d'une séquence : comptages et pourcentages molaires de chacun des 20 acides aminés standards ; totaux par groupe (basiques K/R/H, acides D/E, aromatiques F/W/Y, soufrés C/M, aliphatiques A/I/L/V, amides N/Q, hydroxyles S/T, autres G/P) ; GRAVY selon les valeurs d'hydropathie de Kyte–Doolittle 1982 (>0 tendance hydrophobe, <0 hydrophile ; les globulaires solubles se situent entre −1 et +0,3) ; et la masse moléculaire via la table ProtParam. Les codes d'ambiguïté (B/J/O/U/X/Z) sont comptés à part et exclus des pourcentages. Sources : Kyte & Doolittle 1982, ExPASy ProtParam, Lehninger. Uniquement à but éducatif.
- [Simulateur de l'effet goulot d'étranglement (perte d'hétérozygotie)](https://elysiatools.com/fr/tools/bottleneck-effect-simulator): Simule la perte attendue d'hétérozygotie après un goulot d'étranglement (espérance déterministe). Sous dérive de Wright-Fisher idéale, H_{t+1} = H_t(1 − 1/(2N)) par génération, d'où H_final = H₀(1−1/2Nb)^t × (1−1/2Nr)^g ; la taille efficace harmonique Ne = (t+g)/(t/Nb + g/Nr) est dominée par le minimum ; F accumulé = 1 − H_final/H₀. Pour un allèle de fréquence p, la survie à UNE génération de goulot est 1 − (1−p)^(2Nb) ; les allèles rares disparaissent en premier. Cas classiques : éléphant de mer du Nord (~20 survivants vers 1890), guépard, nēnē d'Hawaï, bison d'Europe, atoll de Pingelap. Sources : Wright 1931, Nei et al. 1975, Hartl & Clark 2007, StatPearls. Usage éducatif uniquement.
- [Générateur de paquet SRS depuis liste de fréquence](https://elysiatools.com/fr/tools/language-vocab-spaced-repetition-deck-generator): Collez une liste de vocabulaire bilingue et exportez un paquet compatible Anki qui découpe chaque entrée en cartes de reconnaissance, rappel et cloze avec nature, IPA et phrases d’exemple, plus un aperçu SM-2.
- [Calculateur de longueur des fragments de restriction](https://elysiatools.com/fr/tools/restriction-fragment-length): Estime les tailles des fragments après digestion : un substrat circulaire avec n coupures produit n fragments (en bouclant l'origine), un linéaire en produit n+1. Le mode positions calcule les fragments exacts à partir de coordonnées séparées par des virgules ; le mode nombre de sites donne l'effectif et la moyenne pour une répartition uniforme. Inclut la fréquence attendue des sites dans l'ADN aléatoire : enzymes à 4 bases ~1 site/256 bp, à 6 bases ~1/4096 bp (REBASE/Sambrook), et des repères de résolution en agarose (<50 bp peut sortir du gel). Sources : Sambrook & Russell 3ᵉ éd., REBASE. Uniquement pour l'éducation.
- [Convertisseur de formules AsciiMath / LaTeX / MathML](https://elysiatools.com/fr/tools/asciimath-latex-mathml-equation-converter): Convertit des formules entre AsciiMath, LaTeX et MathML : détecte le format d'entrée et produit du LaTeX canonique, du MathML de présentation annoté, une rétro-traduction AsciiMath approximative, un extrait aria-label pour lecteurs d'écran et un aperçu KaTeX.
- [Résolveur d'alias d'en-têtes CSV](https://elysiatools.com/fr/tools/csv-header-alias-resolver): Mappe des en-têtes CSV désordonnés vers un schéma cible propre. Collez un CSV dont la première ligne contient des noms de colonnes incohérents (Customer ID, user_id, customerId, CUST_ID…) avec votre schéma cible (une colonne par ligne) et un dictionnaire optionnel « alias=cible ». Chaque en-tête est résolu en quatre passes — exact, dictionnaire, normalisé (casse/accents/séparateurs/camelCase) puis distance d'édition floue — affiché dans une table avec méthode et confiance, plus la couverture cible et un export CSV normalisé en option.
- [Extracteur de tokens de thème ECharts](https://elysiatools.com/fr/tools/echarts-theme-token-extractor): Extrait des design tokens — couleurs, nombres, tailles de police et chaînes — d'un JSON de thème ECharts et les exporte directement dans votre design system. Collez un objet thème (celui enregistré et passé à echarts.init(dom, themeName)) et l'outil parcourt chaque feuille, étiquetant chaque couleur (avec normalisation optionnelle nommé/rgb → hex), nombre d'espacement, taille de police et chaîne, puis émet des variables CSS propres, un thème.extend Tailwind, un tokens.json Style Dictionary ou des variables SCSS. Pont entre un thème de visualisation ECharts et les tokens de design Figma/CSS/Tailwind sans recopier chaque valeur à la main.
- [Générateur de signature e-mail HTML](https://elysiatools.com/fr/tools/email-signature-html-builder): Génère une signature e-mail HTML propre, prête à copier-coller, qui s’affiche correctement dans Gmail, Outlook et Apple Mail — avec avatar/logo, icônes de réseaux sociaux (auto-détectées depuis vos liens), couleur d’accent, thème clair/sombre/auto et une mise en page tabulaire sécurisée pour le courrier avec styles en ligne. Copiez le HTML et collez-le dans votre client.

## Exemples

- [Exemples de Traitement d'Images Web Python](https://elysiatools.com/fr/samples/web-image-processing-python): Exemples de traitement d'images Web Python utilisant PIL/Pillow incluant la lecture, l'enregistrement, le redimensionnement et la conversion de format
- [Exemples de Traitement d'Images Android Java](https://elysiatools.com/fr/samples/android-image-processing-java): Exemples de traitement d'images Android Java incluant lecture/écriture, mise à l'échelle et conversion de format
- [Exemples de Traitement d'Images Android Kotlin](https://elysiatools.com/fr/samples/android-image-processing-kotlin): Exemples de traitement d'images Android Kotlin incluant lecture/écriture, mise à l'échelle et conversion de format
- [Exemples de Traitement d'Images Web Rust](https://elysiatools.com/fr/samples/web-image-processing-rust): Exemples de traitement d'images Web Rust incluant lecture/écriture, redimensionnement et conversion de format
