code: def solveMDP():
      
      P, R = getTransitionAndRewardArrays(0.5)
      sdp = mdp.FiniteHorizon(P, R, 0.96, 50)
      sdp.run()
      return(sdp)
docs: Solve the problem as a finite horizon Markov decision process.
      
      The optimal policy at each stage is found using backwards induction.
      Possingham and Tuck report strategies for a 50 year time horizon, so the
      number of stages for the finite horizon algorithm is set to 50. There is no
      discount factor reported, so we set it to 0.96 rather arbitrarily.
      
      Returns
      -------
      mdp : mdptoolbox.mdp.FiniteHorizon
          The PyMDPtoolbox object that represents a finite horizon MDP. The
          optimal policy for each stage is accessed with mdp.policy, which is a
          numpy array with 50 columns (one for each stage).