Questions are in black, answers in blue.
That's because it doesn't always work -- you need some additional conditions on either the greedoid or the weight function. Check the revised assignment: I've withdrawn the question and will give you extra credit for coming up with a counterexample. Sorry!
First, if w is any string and q is any state of the DFA,
δ*(q,w) is the state of the DFA if it starts from q and then
reads w. So by definition, the language of the DFA is the set of strings w
such that δ*(s,w) is a final state, where s is the start state.
Here is the idea of how the queue works. At the beginning you know that the
start states of the two machines must be equivalent to each other. When you
find that two states s in one machine and t in the other are equivalent, you
know that δ1(s,a) must be equivalent to
δ1(t,a) for each possible letter a. So you put each of these
pairs on the queue. When you take a pair off the queue, you look and see
whether you have already found those two states to be equivalent. If they
are, you continue with the next pair on the queue. If they are not, you
have discovered a new equivalence and you process it accordingly.
You will have to figure out how many pairs can be added to the queue over
the course of the algorithm, in order to find out how long it will take. You
will also have to explain further how this equivalence relation tells you
whether the two DFA's are equivalent.
Yes, sorry for my imprecise language. The edges in X form a tree from the vertices they touch, but not from all the vertices of G.
Remember that I and J are each sets of subsets of E. The set I ∪ J is {X: (X ∈ I) ∨ (X ∈ J)}. This need not be a matroid, as I ask you to prove. The matroid union theorem talks about the set of sets K that are the union of any set in I with any set in J. This is what I ask you to prove to be true. So you may use this proof you found, as long as you quote your source and re-express it in your own words.
In 2.3(b) your algorithm should be similar to Kruskal, or to the generic greedy algorithm for any subset system. This will not get the maximum element of I in general, which is what you are to show. In 2.3(d) you are to design an algorithm like Prim's, which will get the maximal element of I.
Any clear and convincing argument is fine. If you can discover some commonalities among the cases, you can come up with a shorter proof that is nicer for the graders to read.
No, that's why it's parenthetical.
You're right, the problem text has been corrected.
Yeah, I messed this definition up badly, check the corrected version.
Yes, they are now.
Last modified 8 October 2005