Alternirajući konačni automat

Izvor: Wikipedija
Skoči na: orijentacija, traži

U teoriji automata, alternirajući konačni automat (AKA) je nedeterministički konačni automat čije prijelaze dijelimo na egzistencijalne i univerzalne. Neka je A alternirajući automat:

  • Za svaki prijelaz (q, a, q_1 \vee q_2), A nedeterministički odabire prijelaz trenutnog stanja u ili q_1 ili q_2 prilikom čitanja a.
  • Za svaki prijelaz (q, a, q_1 \wedge q_2), A prelazi u stanja q_1 i q_2 prilikom čitanja a.

Uočite da zbog univerzalne kvantifikacije je slijed prijelaza predstavljen stablom izvođenja (engl. run tree). A prihvaća riječ w ako postoji stablo nad w takvo da svaki put stabla završava u prihvatljivom stanju.

Osnovni teorem kaže da je svaki AKA istovjetan nedeterminističkom konačnom automatu (NKA) obavljanjem slične konstrukcije partitivnog skupa kao što se koristi prilikom konverzije NKA u deterministički konačni automat (DKA). Ova tehnika konstrukcije konvertira AKA sa k stanja u NKA sa najviše 2^k stanja.

Alternativni često korišteni model jest onaj u kojem su logičke (Booleove) kombinacije predstavljene kao formule logike sudova. Na primjer, pretpostavljajući da su kombinacije u disjunktivnoj normalnoj formi, pri čemu bi \{\{q_1\}\{q_2,q_3\}\} predstavljalo q_1 \vee (q_2 \wedge q_3) - stanje tt (istina) je predstavljeno sa \{\{\}\} u ovom slučaju, a stanje ff (laž) sa \emptyset. Predstavljanje u obliku formuli je obično učinkovitije.