Automatons are abstract models of computations that move through states while reading an input and ultimately either accept or reject the input. At each state, one letter is read from the input, and depending upon the current configuration of the automaton, it moves to next state. The most powerful automata is Turing Machine.
The Turing Machine is so powerful model of computation, that nothing non-trivial can be decided about them (
Rice Theorem). For example, we cannot decide whether the given turing machine will terminate its execution on given input, or will just keep running forever!
Therefore, we are usually interested in weaker model of computations like
Weighted Automata,
Cost Register Autamata, etc.
I am not currently working on this field, but I am interested in exploring the use of CRA in synthesis of certain type of programs in the near future.
Representation Work:
My Master's Thesis, advised by
Laure Daviaud, was on relating various classes of weighted automata based on ambiguity and various classes of CRA based on number of registers, etc.
S. Hitarth, On the relation between the classes of Weighted Automata and Cost Register Automata (2021)