I'm not sure if my logic is correct when it comes to the algorithm for decision problems. The concept is confusing me when I fail to distinguish its answer from that of a proof.
Given two finite automata $M_1, M_2$ that operate on a common alphabet, find an algorithm to show that:
$$L(M_1) \subseteq L(M_2)$$
And how I viewed it was:
- Find a string $w$ from the alphabet $\Sigma$
- Feed $w$ to $M_2$; if accepted then $w$ is part of $L(M_2)$
- Feed $w$ to $M_1$; if accepted then $w$ is part of $L(M_1)$
- If $w$ was accepted by $M_2$ and $M_1$, then $L(M_1) \subseteq L(M_2)$
- Otherwise reject
Unlike proofs which require mathematical arguments, algorithms for decision problems seem more like a logical flow or sequence description. If it were a proof I would have to perhaps design a language or expression using properties and lemmas where as here I just describe the process of determining if the statement can be answered (via "yes" or "no").