In[]:=
Module[{g1=PairwiseTEGraph[20,10],weights},​​weights=Association[ResourceFunction[​​"DirectedAcyclicEvaluate"​​][g1,{_List:>1},​​Function[BoltzmannVertexFunction[​​FixedEnergyExchange[.25]​​][Length[#1],#1,#3]]​​]["VertexWeights"]];​​Graph[ReformatTEGraph@g1,​​EdgeStyle->Gray,​​VertexSize->Map[​​If[ListQ[First[#]],​​#->1/2,​​#->Divide[Sqrt@If[​​ListQ[weights[#]],​​Total[weights[#]],​​weights[#]​​],2]]&,​​VertexList[g1]]]]
Out[]=
In[]:=
Module[{g1=PairwiseTEGraph[20,30],weights},​​weights=Association[ResourceFunction[​​"DirectedAcyclicEvaluate"​​][g1,{_List:>1},​​Function[BoltzmannVertexFunction[​​FixedEnergyExchange[.4]​​][Length[#1],#1,#3]]​​]["VertexWeights"]];​​Graph[ReformatTEGraph@g1,​​EdgeStyle->Gray,​​VertexSize->Map[​​If[ListQ[First[#]],​​#->1/2,​​#->Divide[Sqrt@If[​​ListQ[weights[#]],​​Total[weights[#]],​​weights[#]​​],2]]&,​​VertexList[g1]]]]
Out[]=
In[]:=
Module[{g1=PairwiseTEGraph[6,2],weights},​​weights=Association[ResourceFunction[​​"DirectedAcyclicEvaluate"​​][g1,{_List:>1},​​Function[BoltzmannVertexFunction[​​FixedEnergyExchange[.25]​​][Length[#1],#1,#3]]​​]["VertexWeights"]];​​Graph[ReformatTEGraph@g1,​​EdgeStyle->Gray,​​VertexSize->Map[​​If[ListQ[First[#]],​​#->1/2,​​#->Divide[Sqrt@If[​​ListQ[weights[#]],​​Total[weights[#]],​​weights[#]​​],2]]&,​​VertexList[g1]]]]

Iterated probabilities

Hard Sphere Gas

Code from Matt

New version