void extractData(Bellman mdp) throws IOException,FileNotFoundException,NumberFormatException
    {
       Scanner scanner = new Scanner(new File(inputFileName));
       Vector<State> states = new Vector<State>();
       Map<String, Integer> stateMap = new HashMap<String, Integer>();
       while(scanner.hasNext()){
       String eachLine = scanner.nextLine();
       Scanner scr = new Scanner(eachLine).useDelimiter("[()\\p{Blank}]+");
       String state = scr.next();
       Double reward = scr.nextDouble();
       State current = null;
       if(stateMap.get(state)==null)
       {
        states.add(new State(state, reward, new Vector<Action>()));
        stateMap.put(state, new Integer(states.size()-1));
        current = states.lastElement();
       }
       else
            {
                current = states.get(stateMap.get(state).intValue());
                current.setReward(reward);
            }
       while(scr.hasNext()){
        Action curr = null;
        String action = scr.next();
        for(Action a : current.getActions())
        {
            if(a.getName().equals(action))
            {
                curr = a;
                break;
            }
         }
         if(curr == null)
         {
            curr = new Action(action, new HashMap<State, Double>());
            current.getActions().add(curr);
         }
            State next = null;
            String stateName = scr.next();
            for(State s: states)
            {
                if(s.getName().equals(stateName))
                {
                    next = s;
                    break;
                }
            }
            if(next == null)
            {
                next = new State(stateName, new Double(0.0), new Vector<Action>());
                states.add(next);
                stateMap.put(next.getName(), new Integer(states.size()-1));
            }
            Double transitionProbability = scr.nextDouble();
            curr.getTransitions().put(next, transitionProbability);
       }
       scr.close();
       }
    scanner.close();
    mdp.setStates(states);
    }