Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- vector <Node> MinimizedDFA::evaluateMinimized() {
- vector <Node> set1 ;
- vector <Node> set2 ;
- vector < vector <Node> > total;
- std::cout<<unminimizedDFA.size()<<"testttt";
- sortTranstions(unminimizedDFA); //هنااااااا
- for(int i=0;i<unminimizedDFA.size();i++){
- if(isAcceptence(unminimizedDFA[i])){
- set2.push_back(unminimizedDFA[i]);
- unminimizedDFA[i].setGroupNumber("2");
- }
- else{
- set1.push_back(unminimizedDFA[i]);
- unminimizedDFA[i].setGroupNumber("1");
- }
- }
- total.push_back(set1);
- total.push_back(set2);
- updateMinimizedDFA(total);
- while (!isMinimum(total)){
- updateMinimizedDFA(total);
- }
- return createMinDFA(total);
- }
- #include <iostream>
- using namespace std;
- int main() {
- Node A("A");
- Node B("B");
- Node C("C");
- Node D("D");
- Node E("E");
- A.addAcceptance(make_pair(-1,"no"));
- B.addAcceptance(make_pair(-1,"no"));
- C.addAcceptance(make_pair(-1,"no"));
- D.addAcceptance(make_pair(-1,"no"));
- E.addAcceptance(make_pair(1,"yes"));
- A.addTransitions(Transition("B","+"));
- A.addTransitions(Transition("C","-"));
- B.addTransitions(Transition("B","+"));
- B.addTransitions(Transition("D","-"));
- C.addTransitions(Transition("C","-"));
- C.addTransitions(Transition("B","+"));
- D.addTransitions(Transition("E","-"));
- D.addTransitions(Transition("B","+"));
- E.addTransitions(Transition("C","-"));
- E.addTransitions(Transition("B","+"));
- vector<Node> test;
- test.push_back(A);
- test.push_back(B);
- test.push_back(C);
- test.push_back(D);
- test.push_back(E);
- MinimizedDFA unmin(test);
- vector<Node> ans = unmin.evaluateMinimized();///hena
- // unmin.sortTranstions(test);
- cout<<unmin.getUnminimizedDFA().size();
- /*cout<<"yessss";
- for(int i=0;i<ans.size();i++){
- cout<<"state "<<ans[i].getNumber()<<"\n";
- for(int j=0;j<ans[i].getTransitions().size();j++){
- cout<<i<<"To" <<ans[i].getTransitions()[j].getTo()<<"input "
- <<ans[i].getTransitions()[j].getTransition()<<"\n";
- }
- }*/
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement