Algoritmul lui angel-pole-stadopedia

arată afirmația inversă

Parțial opredelenny (complet opredelenny) mașină - o mașină care are o funcție de „L“ și / sau „d“ nu sunt definite în totalitate, aceasta înseamnă că el cuvinte de intrare poate fi admisă și nu admisă.







Două stări ale unui automat sunt numite compatibile. în cazul în care atunci când se aplică un cuvânt arbitrar în automatul de intrare, situat într-una dintre aceste stări, și aceeași mașină, dar este și în alte state, cuvinte consistente obținute la ieșire, adică de potrivire, în cazul în care ambele definite.

Proprietățile de compatibilitate ale stărilor:

un (care este, nu există nici o tranzitivitate).

d (am, zi) = d (an, zi) pentru orice zi în Z (condiția de compatibilitate pentru tranziție)

l (am, zi) = 1 (an, zi) pentru orice zi în Z. (condiția de compatibilitate pentru ieșire)

Clasa de compatibilitate a stărilor C este setul de stări, toate elementele fiind compatibile pereche între ele.

Clasa de compatibilitate este maximă dacă nu este cuprinsă în întregime în cealaltă. Clasa de compatibilitate este, de asemenea, clasa B = d (C, zi), dacă C este clasa de compatibilitate.

Problema minimizării automatului parțial S poate fi formulată cautarea unui automat S ', care printre toate automatele care acoperă S are cel mai mic număr de state. Primul pas în minimizarea mașinii trebuie să fie îndepărtarea stărilor inaccesibile, adică state în care automatul nu poate trece de la starea inițială la orice cuvinte de intrare. Mai mult, procesul de minimalizare a automatelor parțiale include trei etape de bază:

Găsirea tuturor claselor de compatibilitate maximă.

Găsirea capacului minim închis.

Obținerea unei noi mașini închise cu o capacitate minimă închisă.







Luați în considerare un algoritm pentru obținerea de perechi compatibile utilizând o masă triunghiulară. propus de M.Poll și S.Angel. Vom lua în considerare exemplul unui automat definit de următoarele tabele de tranziții și ieșiri:

Din acest tabel se poate observa că următoarea pereche de stări compatibile (1, 2), (1, 4), (2, 3), (3, 4), (3, 5), (4, 5). O pereche de stări (1, 3), (1, 5), (2, 4), (2, 5) nu sunt compatibile. Acum, ia în considerare modul de a găsi clase de compatibilitate maximă de la perechi compatibile. Spunem că setul de state B (B Í A) este compatibil cu unele state am Î A (notația am

B) dacă și numai dacă am

Algoritmul pentru găsirea tuturor claselor de compatibilitate maximă se reduce la următoarele:

Începem să compilam o listă de clase de compatibilitate cu perechi compatibile în coloana din partea dreaptă a unei mese triunghiulare care are cel puțin o celulă fără cruci. În exemplu, Φ =>.

Mutarea spre stânga, scriem pentru fiecare coloană i setul de stări Ai

ai. și anume mulțimea tuturor stărilor corespunzătoare celulelor fără cruci în coloana i a tabelului. În exemplul nostru 3

(în a treia coloană a tabelului nu există încrucișări în liniile 4 și 5).

Fiecare Ai intersectează cu fiecare membru al listei curente F. Avem A3 = și lista de F conține de asemenea un singur element:

Dacă o astfel de intersecție conține mai mult de o stare, atunci adăugăm la listă uniunea i> cu rezultatul intersecției:

Apoi, maximizăm setul rezultat Φ - eliminăm toate repetițiile seturilor din lista curentă și ștergem toate seturile din celelalte seturi ale listei:

Adăugați la listă toate perechile formate din Ai și diferite state din Ai. și nu sunt subseturi ale altor membri ai listei Φ (pentru i = 3 nu există astfel de adăugiri).

Să dăm întregul rezultat al aplicării celui de-al doilea pas la toate coloanele:

Lista Φ obținută după a doua etapă adaugă toate seturile cu un singur element care constau în state care nu sunt incluse în alte clase de compatibilitate maxime (în exemplul nostru nu există niciunul).

Evident, lista de rezultate Φ este o listă a tuturor claselor de compatibilitate maximă. Astfel, pentru automatul considerat de noi, setul de clase de compatibilitate

A doua etapă - găsirea unei acoperiri minime închise - este o sarcină destul de complicată, nu de un interes deosebit pentru noi. O descriere detaliată a acestui algoritm poate fi găsită în cartea lui SI Baranov "Sinteza microprogramelor automate". Luăm ca acoperire inițială închisă setul de clase de compatibilitate maximă Φ = π, ·.







Articole similare

Trimiteți-le prietenilor: