diff --git a/triangle_analysis.m b/triangle_analysis.m index bd511cfb41181de695a6b1595dcffe0321d14386..a2e2319b7f4f9b7f696ce84f1212bd4a7d75ec35 100644 --- a/triangle_analysis.m +++ b/triangle_analysis.m @@ -226,6 +226,7 @@ TableForm[Transpose[histograms],TableHeadings->{nlabels,taulabels}] (* Stats for a single run at every (n,tau) *) timeWindow=Round[Length[gdata[[1,1,1,2]]]/10]; +skipPts=Max[1,Round[timeWindow/100]]; getSingleStats[runs_]:=Module[{run,avg,stddev}, run=runs[[1]]; (* Select some run *) avg=N[Mean[run[[2,-timeWindow;;-1]]]]; @@ -234,7 +235,8 @@ getSingleStats[runs_]:=Module[{run,avg,stddev}, stddev/avg, (run[[2,1]])/avg, (* EG starting point *) Map[N[#/avg]&,run[[4]]], (* GCM1 counts *) - Map[N[#/avg]&,run[[5]]] (* GCM2 counts *) + Map[N[#/avg]&,run[[5]]], (* GCM2 counts *) + (run[[2,-timeWindow;;-1;;skipPts]])/avg (* counts in uniform distribution *) } ] singleStats=Map[getSingleStats,gdata,{2}]; @@ -242,7 +244,8 @@ singleStats=Map[getSingleStats,gdata,{2}]; (* Yellow: GCM1 (take new highest everytime *) (* Blue: GCM2 (finish highest first, more similar to EG) *) -histogramsSingle=Map[Histogram[{#[[4]],#[[5]]},PlotRange->{{0,5},Automatic},ImageSize->300,PlotLabel->"ErdosGallai="<>ToString[NumberForm[#[[3]],3]]<>"\[Cross]average. stddev="<>ToString[NumberForm[#[[2]],3]]<>"\[Cross]average"]&,singleStats,{2}]; +(* Green: Actual uniform distribution *) +histogramsSingle=Map[Histogram[{#[[4]],#[[5]],#[[6]]},PlotRange->{{0,3},Automatic},ImageSize->300,PlotLabel->"ErdosGallai="<>ToString[NumberForm[#[[3]],3]]<>"\[Cross]average"]&,singleStats,{2}]; TableForm[histogramsSingle,TableHeadings->{taulabels,nlabels}] @@ -250,12 +253,13 @@ TableForm[histogramsSingle,TableHeadings->{taulabels,nlabels}] (* Consider all runs *) timeWindow=Round[Length[gdata[[1,1,1,2]]]/10]; +skipPts=Max[1,Round[timeWindow/100]]; getAverage[run_]:=Module[{avg,stddev}, avg=N[Mean[run[[2,-timeWindow;;-1]]]]; { Mean[run[[4]]]/avg,(* GCM1 counts *) Mean[run[[5]]]/avg, (* GCM2 counts *) - (run[[2,1]])/avg (* EG starting point *) + (run[[2,1]])/avg, (* EG starting point *) } ] getTotalStats[runs_]:=Transpose[Map[getAverage,runs]]; @@ -263,15 +267,13 @@ totalStats=Map[getTotalStats,gdata,{2}]; (* Yellow: GCM1 (take new highest everytime *) -(* Blue: GCM2 (finish\[AliasDelimiter] highest first, more similar to EG) *) +(* Blue: GCM2 (finish highest first, more similar to EG) *) histogramsTotal=Map[Histogram[#,{0.1},PlotRange->{{0,5},Automatic},ImageSize->300]&,totalStats,{2}]; TableForm[histogramsTotal,TableHeadings->{taulabels,nlabels}] - - (* ::Subsection:: *) (*GCM1 vs GCM2 success rates*)