SetDirectory["C:\\drorbn\\AcademicPensieve\\People\\Dunfield"]

<< KnotTheory`

Ks=ReadList["nmd_random_knots"]

Length@Ks

NaiveWidth[L_] := NaiveWidth[L] = Module[
{pd=PD[L], width=0, bndry={}, pos, fresh},
While[Length[pd]>0,
pos = Last[Ordering[(Length[(List @@ #)⋂bndry])& /@ pd]];
fresh = List@@(pd[[pos]]);
bndry = Complement[bndry⋃fresh, bndry⋂fresh];
width=Max[width,Length@bndry];
pd=Drop[pd, {pos}]
];
width/2
];

NaiveWidth[Last[Ks]]

ListPlot[Table[NaiveWidth[Ks[[i]]], {i,1, Length@Ks, 10}]]

ListPlot[MovingAverage[NaiveWidth /@ Ks, 10]]

ListPlot[NaiveWidth /@ Ks]

ListLogLogPlot[NaiveWidth /@ Ks]

Fit[Thread[Log@{Range[3,1000], NaiveWidth /@ Ks}], {1,x}, x]

ListLogLogPlot[{NaiveWidth /@ Ks, Exp[-0.593605+0.600237 Log[Range[3,1000]]]}]