A függvények:

Needs["Combinatorica`"]//Quiet

P=Flatten[Outer[List,Table[i,{i,1,4}],Table[i,{i,2,14}]],1];

Kiertekel[kez_]:=PadRight[With[{szin=kez[[All,1]],szam=If[Sort[kez[[All,2]]]=={2,3,4,5,14},{1,2,3,4,5},Sort[kez[[All,2]]]],szam2=Reverse[Sort[Reverse/@Tally[kez[[All,2]]]]]},Which[Length[Union[szin]]==1&& (szam2[[1,1]]==1&& szam[[5]]-szam[[1]]==4),{9,szam[[5]]},szam2[[1,1]]==4,Join[{8},szam2[[All,2]]],szam2[[1,1]]==3 && szam2[[2,1]]==2,Join[{7},szam2[[All,2]]],Length[Union[szin]]==1,Join[{6},szam2[[All,2]]],szam2[[1,1]]==1&& szam[[5]]-szam[[1]]==4,{5,szam[[5]]},szam2[[1,1]]==3 && szam2[[2,1]]==1,Join[{4},szam2[[All,2]]],szam2[[1,1]]==2 && szam2[[2,1]]==2,Join[{3},szam2[[All,2]]],szam2[[1,1]]==2 && szam2[[2,1]]==1,Join[{2},szam2[[All,2]]],True,Join[{1},szam2[[All,2]]]]],6]

LegNagyobb[lista_]:=Last[Sort[lista]];

KiertekelTH[board_,thkez_]:=LegNagyobb[Kiertekel/@ KSubsets[Join[board,thkez],5]]

KiertekelTobbTH[board_,kezlista_]:=KiertekelTH[board,#]&/@kezlista

KiertekelOH[board_,ohkez_]:=LegNagyobb[Kiertekel/@Flatten[Outer[Join,KSubsets[board,3],KSubsets[ohkez,2],1],1]]

KiertekelTobbOH[board_,kezlista_]:=KiertekelOH[board,#]&/@kezlista

Osszehasonlit[kiertekeltlista_]:=With[{pozlista=Position[kiertekeltlista,LegNagyobb[kiertekeltlista]]//Flatten},Table[If[MemberQ[pozlista,i],1,0],{i,Length[kiertekeltlista]}]/Length[pozlista]]

OsszehasonlitTH[board_,kezlista_]:=Osszehasonlit[KiertekelTobbTH[board,kezlista]]

OsszehasonlitOH[board_,kezlista_]:=Osszehasonlit[KiertekelTobbOH[board,kezlista]]

SzimulalTH[kezlista_,darab_]:=With[{board=Complement[P,Flatten[kezlista,1]]},Total[Table[OsszehasonlitTH[RandomSample[board,5],kezlista],{i,darab}]]/darab//N]

SzimulalOH[kezlista_,darab_]:=With[{board=Complement[P,Flatten[kezlista,1]]},Total[Table[OsszehasonlitOH[RandomSample[board,5],kezlista],{i,darab}]]/darab//N]

Komment:
P --- pakli, későbbi számításoknál szükség lehet rá ez a {1,2,3,4} x {2,3,...,14} keresztszorzat listája
Kiertekel --- kiértékel egy az előbbi módn megadott 5 lapos pókerkombinációt úgy, hogy egy 6 elemű listába képzi, mely lexikografikusan rendezhető, és ez egy relációtartó leképezés
LegNagyobb --- a lexikografikus rendezés legnagyobb elemét adja, sajnos nem találtam rá beépített Mathematica parancsot
KiertekelTH --- a board(5) és a pocket cards(2) összes lehetséges 5-ös kombinációja közül megadja a legnagyobbnak az értékét (ez a TH kéz értéke)
KiertekelTobbTH --- több TH kezet értékel ki azonos boardon
OsszehasonlitTH --- a megadott TH kezek közül megadja a nyerteseket
SzimulalTH --- a megadott pocket handek alapján szimulál megadott darabszámú leosztást
KiertekelOH --- a board(5) és a pocket cards(4) összes lehetséges (3+2)-es kombinációja közül megadja a legnagyobbnak az értékét (ez az OH kéz értéke)
KiertekelTobbOH --- több OH kezet értékel ki azonos boardon
OsszehasonlitOH --- a megadott OH kezek közül megadja a nyerteseket
SzimulalOH --- a megadott pocket handek alapján szimulál megadott darabszámú leosztást

A függvények működés közben:

Kiertekel[{{2,13},{1,4},{1,11},{1,12},{1,9}}]

OsszehasonlitTH[{{2,5},{3,4},{4,9}},{{{2,9},{1,9}},{{3,10},{4,8}},{{4,7},{3,7}}}]

Kiertekel/@Table[RandomSample[P,5],{i,10000}];//Timing

SzimulalTH[{{{1,14},{2,14}},{{3,2},{2,7}}},100]

CForm