Add stub for minimalising
This commit is contained in:
@@ -66,23 +66,27 @@ public class DFA<T extends Comparable> extends Automata<T> {
|
||||
return new Taal(addSymbols(n - 1, taal));
|
||||
}
|
||||
|
||||
public DFA<T> Reverse()
|
||||
public NDFA<String> Reverse()
|
||||
{
|
||||
DFA<T> reversed = new DFA<T>(this.symbols);
|
||||
NDFA<String> reversed = new NDFA<String>(this.symbols);
|
||||
|
||||
for(Transition<T> t : transistions)
|
||||
{
|
||||
reversed.addTransition(new Transition<T>(t.naarState, t.symbol, t.vanState));
|
||||
reversed.addTransition(new Transition<String>(t.naarState.toString(), t.symbol, t.vanState.toString()));
|
||||
}
|
||||
|
||||
for(T state : eindStates) {
|
||||
reversed.defineAsEndState(state);
|
||||
reversed.defineAsEndState(state.toString());
|
||||
}
|
||||
|
||||
for(T state : beginStates) {
|
||||
reversed.defineAsStartState(state);
|
||||
reversed.defineAsStartState(state.toString());
|
||||
}
|
||||
|
||||
return reversed;
|
||||
}
|
||||
|
||||
public DFA<String> minimaliseer() {
|
||||
return this.Reverse().toDFA().Reverse().toDFA();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -135,7 +135,7 @@ public class Main {
|
||||
|
||||
System.out.println("\nREVERSE:");
|
||||
|
||||
DFA<String> reverseAutomata = myAutomata.Reverse();
|
||||
NDFA<String> reverseAutomata = myAutomata.Reverse();
|
||||
|
||||
System.out.println(Graph.generateGraphString(reverseAutomata));
|
||||
}
|
||||
@@ -248,6 +248,19 @@ public class Main {
|
||||
myAutomata.defineAsStartState("0");
|
||||
myAutomata.defineAsEndState("2");
|
||||
myAutomata.defineAsEndState("4");
|
||||
|
||||
System.out.println("Ongeminimaliseerd krijgen we:");
|
||||
myAutomata.printTransitions();
|
||||
System.out.println("Met als begin en eind states");
|
||||
System.out.println(myAutomata.beginStates);
|
||||
System.out.println(myAutomata.eindStates);
|
||||
|
||||
DFA<String> geminimaliseerd = myAutomata.minimaliseer();
|
||||
System.out.println("Geminimaliseerd krijgen we:");
|
||||
geminimaliseerd.printTransitions();
|
||||
System.out.println("Met als begin en eind states");
|
||||
System.out.println(geminimaliseerd.beginStates);
|
||||
System.out.println(geminimaliseerd.eindStates);
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
@@ -267,6 +280,8 @@ public class Main {
|
||||
|
||||
// Practicum4();
|
||||
|
||||
ReverseAutomata();
|
||||
Practicum5();
|
||||
|
||||
// ReverseAutomata();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user