c#,multithreading,nfa,automaton

In order to block until a thread t executes to completion, you could use Thread.Join. t.Join(); This puts the main thread in an IDLE state until thread t completes. This means you'd have to keep track of all the threads created inside the foreach loop and then join them one...

context-free-grammar,automaton,pushdown-automaton

The set of context-free languages (or PDAs) is not closed under complementation. (There's a simple demonstration in the answer to What is the context free grammar for the complement of the double word over 0,1?, which constructs a CFG for the complement of {ww|w∈{0,1}*}. The fact that {ww|w∈{0,1}*} is not...

I didn't read through everything, but a few issues upon first glance: In your constructor you are creating local variables instead of accessing the class variables you intend to modify. int WIDTH = 59; int numOfRules = 8; Also, just as a personal preference, I wouldn't organize this in such...

The answer is most likely yes. Why "most likely"? Well. Mathematically, an FSA is a 5-tuple (Sigma, S, s0, delta, F), where Sigma is the alphabet, S is the set of states, s0 is the initial state, delta is the state-transition function, F is the set of accepting states. Since...

intersection,dfa,deterministic,automaton

To the best of my knowledge, there's no "direct" algorithm that accomplishes this. You can do this by minimizing the two input DFAs, computing their Cartesian product (which produces another DFA, by the way, not an NFA), then minimizing the result. It's not strictly necessary to minimize the two input...

io,complexity-theory,finite-state-machine,automaton

For a Deterministic FSM (i.e., one without epsilon state transitions), there is a unique input sequence leading to the state if and only if the following conditions are met: 1) There must exist a path to the state. (An isolated unreachable state could not qualify). 2) There is no path...