Question

I'm having trouble understanding how to estimate the number of states in the intersection of two DFA's (M1 and M2, which have n and k states). I don't want to construct an actual DFA, but to understand how many states an intersection will give. For example, the union of M1 and M2 will give |n| x |k| states (if I have understood this correctly). Is there anyone who could help me understand this problem? I have some difficulty understanding DFA's...

Was it helpful?

Solution

Given two DFAs D1 and D2 with n1 and n2 states, respectively, it's possible to construct a new DFA D3 with n1n2 states in it whose language is the intersection of the languages of D1 and D2 by using the product construction: have the states of D correspond to pairs of states, one from D1 and one from D2, and where the accepting states correspond to pairs of accepting states from D1 and D2.

That said, this isn't necessarily going to be the minimum-state DFA for the intersection. It's just going to be some DFA for the intersection.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top