proc=DiscreteMarkovProcess[1,{{0,1/3,0,2/3,0},{1/2,0,0,0,1/2},{0,0,1/2,1/2,0},{0,0,1/2,1/2,0},{0,0,0,0,1}}];

gr=Graph[proc,GraphLayout->"LayeredDrawing"]

MarkovProcessProperties[proc,"CommunicatingClasses"]

MarkovProcessProperties[proc,"Irreducible"]

MarkovProcessProperties[proc,"RecurrentClasses"]

MarkovProcessProperties[proc,"TransientClasses"]

MarkovProcessProperties[proc,"AbsorbingClasses"]