Konačni transduktor
Konačni transduktor ili konačni pretvarač je konačni automat sa dvije trake. Uporedite ovo sa običnim konačnim automatom koji ima jednu traku. Za automat kažemo da prepoznaje niz znakova (string) ako sadržaj trake shvatimo kao ulaz. Drugim riječima, automat računa funkciju koja preslikava niz znakova u skup {0,1}. Alternativno, možemo reći da automat generiše nizove znakova, što znači da traku shvatamo kao izlaznu traku. Sa ovog gledišta, automat generiše formalni jezik, koji je formalno definisan skupom nizova znakova nad abecedom. Oba gledišta na automat su istovjetna - funkcija koju automat računa je tačno karakteristična funkcija jezika kojeg prepoznaje. Klasa jezika koje konačni automat generira jest klasa regularnih jezika. Dvije trake transduktora se tipično gledaju kao ulazna traka i izlazna traka. Po ovom, za transduktor kažemo da transducira (ili preoblikuje) sadržaj svoje ulazne trake na izlaznu traku, prihvatanjem niza znakova na svojoj ulaznoj traci i pisanjem drugog niza na svojoj izlaznoj traci. Taj preobražaj može obaviti i nedeterministički te na taj način proizvesti više nego jedan izlaz za svaki ulazni niz. Transduktor također može i da ne proizvede izlaz za dati ulazni niz, pa u tom slučaju kažemo da ne prihvata (ili odbija) ulaz. Općenito, transduktor računa relaciju između dva formalna jezika. Klasa relacija koju računaju konačni transduktori jest klasa racionalnih relacija.