Program where we try to see if we can write run time T as some constant t times the S_ {sigma_K} value .

<<KnotTheory`

Ks = ReadList["http://drorbn.net/AcademicPensieve/People/Dunfield/nmd_random_knots"]

Protect[factor, tries];

Options[bestGreedy] = {factor -> maxWidthPresentationList, tries -> 1000};

bestGreedy[pd_PD, opts: OptionsPattern[bestGreedy]] := SortBy[Table[greedyRep[pd], {i, OptionValue[tries]}], OptionValue[factor][#]&][[1]]

widthPresentationList[crossings_] := widthPresentationList[crossings] = Length/@FoldList[Complement [#1 ⋃ #2, #1 ⋂ #2] &, {}, List @@@ crossings]

JonesResult[pdList_] := Module[{widths, JonesQuantity}, 
widths = Delete[Delete[widthPresentationList[pdList],1],-1];
JonesQuantity = Total[Range[Length[widths]] * widths * (CatalanNumber[#/2]&/@ widths)];
JonesQuantity]

greedyKs = bestGreedy[#] &/@ Ks[[1;;70]];

JonesResultIndex  = JonesResult[#]&/@ greedyKs;

JonesResultIndex[[15]]

FKB[pdList_] := Module[{p,t1,t2,t3,t4,B,d,KB,todo},
SetAttributes[p,Orderless];
KB=1;
todo=pdList;
While[Length[todo]>0,
x=First[todo];
todo=DeleteCases[todo,x];
t1=KB(x/. X[i_,j_,k_,l_]->A*p[i,j]*p[k,l]+B*p[i,l]*p[j,k]);
t2=Expand[t1];
t3=t2 //. {p[i_,j_]*p[j_,k_]->p[i,k]};
t4=t3 /. {p[i_,i_]->d, p[i_,j_]^2 ->d};
KB=Expand[t4/.{B->1/A, d->-A^2-1/A^2}];
];
KB
]

FKBRunTime = (Timing @ FKB[#])[[1]] &/@ greedyKs;

FKBRunTime[[15]]

Ratio = FKBRunTime / JonesResultIndex;

ListPlot[Ratio]

So we conclude that it is sort of where we are looking for with RunTime = 0.000013 * Summation

RunTimeConstant = 0.000013;