FiniteState Automata
•FiniteState Automatadapat digunakan untuk menggambarkan suatu sistem elektronik yang kompleks menjadi suatu model yang sederhana dan mudah
dimengerti
•Suatu sistem digital dipandang sebagai suatu yang dapat berubah dari satu
stateke statelain
•Setiap transisi ditentukan oleh statesaat ini bersama-sama dengan input
stringnya
•Contoh:
•State pada perangkat keras sistem digital: himpunan terhingga dari
voltase yang diinterprestasikansecara diskrit(highatau low)
•State pada software: himpunan nilai nilai pada register
•SebagaicontohseorangmenontonTV di kamarnya. TV dalamkeadaanon. Saatdimatikan, TV beralihkestatus off. Ketika dihidupkan, itukembalike
status on. Hal inidapatdiwakilioleh gambarberikut.
Gambar di atasdisebutdiagram keadaan.
•Automatadapat dikatakan sebagai suatu sistem yang terdiri dari sejumlah state(keadaan/status) yang terhingga, dengan transisi dari satu stateke state
lain, sehingga disebut juga dengan finitestatesystem
•Kontrol dapat berupa Deterministicyang berarti bahwa otomatisasi tidak
dapat berada di lebih dari satu keadaan pada satu waktu, atau Non-
Deterministic, yang berarti bahwa ia dapat berada di beberapa keadaan
sekaligus. Ini membedakan kelas automatasebagai DFA atau NFA.
•DFA (DeterministicFiniteAutomata): tidak dapat berada di lebih dari
satu keadaan pada waktu yang sama.
•NFA (Non-DeterministicFiniteAutomata): dapat berada di lebih dari
satu keadaan pada satu waktu.
•Diagram transisidariDFA adalahrepresentasigrafisdi mana; (ataumerupakangrafik)
•Untuksetiapstate di Q, adanode yang diwakilioleh lingkaran,
•Untuksetiapkeadaanq dalamQ dan setiapmasukana dalamΣ, jika
δ(q, a) = p makaterdapatbusurdarisimpulq kep berlabela pada
diagram transisi. Jika lebihdarisatusimbolinput menyebabkantransisi
darikeadaanq kep makabusurdariq kep diberilabel dengandaftar
simbol-simboltersebut.
•Status awaldiberilabel oleh panahyang ditulisdengan'mulai' pada node.
•Status akhirataupenerimaanditandaidenganlingkaranganda.
•NFA didefinisikanoleh kuintupel"=(%,!,',(!,)), di mana %,!,',)didefinisikansebagaiNFA, tetapi
'∶%Σ⋃6→2#
•Jika, misalnya, keadaansaatiniadalah(", simbol2dibaca, dan
'(",2={(!,($}:
•maka(!atau($bisamenjadikeadaannfaberikutnya. Juga, kita
mengizinkan6sebagaiargumenkeduadari'. Iniberartibahwanfadapat
melakukantransisitanpamenggunakansimbolinput.
NFA menerimasemuastring yang diakhiri01
•Di sini, darikeadaanq1, tidakadabusuruntuksimbolinput 0 & tidakadabusurkeluardariq2 untuk0 & 1. Jadi, kitadapatmenyimpulkandalamNFA, mungkinadanoltidak. busurkeluardarisetiapstate untuksetiapsimbolinput. Sementaradi DFA, iamemilikitepatsatubusurdarisetiapstatus untuksetiapsimbolinput.
•δ, fungsitransisiadalahfungsiyang mengambilstatus di Q dan simbol∑ input di sebagaiargumendan mengembalikansubset dariQ. Satu-satunyaperbedaanantaraNFA dan DFA adalahpada jenisnilaiyang dikembalikan. DalamNFA, mengembalikanhimpunanstatus dan dalamkasusDFA mengembalikansatustatus.
Latihan
•DFA atauNFA?Inputanapayang dapatdi terima?Apasajayang diterima?