Files @ 3e67925ef7ec
Branch filter:

Location: AENC/switchchain/triangle_gcm_initial_analysis.m - annotation

3e67925ef7ec 4.4 KiB application/vnd.wolfram.mathematica.package Show Source Show as Raw Download as Raw
Tom Bannink
Add autocorrelation notebook
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
2e3f21cc591d
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
2e3f21cc591d
2e3f21cc591d
9c4226491043
9c4226491043
b9db6f3e92be
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
2e3f21cc591d
9c4226491043
b9db6f3e92be
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
3e67925ef7ec
3e67925ef7ec
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
b9db6f3e92be
3e67925ef7ec
b9db6f3e92be
3e67925ef7ec
b9db6f3e92be
b9db6f3e92be
3e67925ef7ec
b9db6f3e92be
b9db6f3e92be
b9db6f3e92be
b9db6f3e92be
b9db6f3e92be
b9db6f3e92be
b9db6f3e92be
3e67925ef7ec
3e67925ef7ec
3e67925ef7ec
b9db6f3e92be
b9db6f3e92be
b9db6f3e92be
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
b9db6f3e92be
9c4226491043
9c4226491043
2e3f21cc591d
9c4226491043
b9db6f3e92be
b9db6f3e92be
b9db6f3e92be
9c4226491043
9c4226491043
b9db6f3e92be
9c4226491043
9c4226491043
9c4226491043
b9db6f3e92be
b9db6f3e92be
b9db6f3e92be
b9db6f3e92be
b9db6f3e92be
b9db6f3e92be
2e3f21cc591d
b9db6f3e92be
b9db6f3e92be
b9db6f3e92be
2e3f21cc591d
2e3f21cc591d
2e3f21cc591d
2e3f21cc591d
b9db6f3e92be
9c4226491043
b9db6f3e92be
2e3f21cc591d
2e3f21cc591d
2e3f21cc591d
2e3f21cc591d
2e3f21cc591d
2e3f21cc591d
2e3f21cc591d
2e3f21cc591d
(* ::Package:: *)

Needs["ErrorBarPlots`"]


(* ::Section:: *)
(*Data import*)


gsraw=Import[NotebookDirectory[]<>"data/graphdata_ccm_initialtris.m"];
(* gsraw=SortBy[gsraw,{#[[1,1]]&,#[[1,2]]&}]; (* Sort by n and then by tau. The {} forces a *stable* sort because otherwise Mathematica sorts also on triangle count and other things. *) *)


gdata=GatherBy[gsraw,{#[[1,2]]&,#[[1,1]]&}];
(* Data format: *)
(* gdata[[ tau index, n index, run index , datatype index ]] *)
(* datatype index:
1: {n,tau}
2: avgtriangles when mixed
3: {GCM1 starting triangles average, GCM1 number of successes} <-- CCMu: get new highest degree vertex every time
4: {GCM2 starting triangles average, GCM2 number of successes} <-- CCMb: finish vertex completely
*)
nlabels=Map["n = "<>ToString[#]&,gdata[[1,All,1,1,1]]];
taulabels=Map["\[Tau] = "<>ToString[#]&,gdata[[All,1,1,1,2]]];


(* ::Section:: *)
(*Greedy configuration model*)


(* ::Subsection:: *)
(*Distribution of initial #triangles for GCM1,GCM2,EG compared to average #triangles.*)


 (* Consider all runs *)
getIt[x_,avg_]:=If[x[[2]]>=5, x[[1]]/avg,0]
getAverage[run_]:=Module[{avg},
    avg=run[[2]];
    If[avg>0,
    { getIt[run[[3]],avg], getIt[run[[4]],avg] }
    , {3,3}]
]
getTotalStats[runs_]:=Transpose[Map[getAverage,runs]];
totalStats=Map[getTotalStats,gdata,{2}];


(* Yellow: CCMu (take new highest everytime *)
(* Blue: CCMb (finish highest first, more similar to EG) *)
histogramsTotal=Map[Histogram[#,{0.05},PlotRange->{{-0.5,2},Automatic},ImageSize->300,AxesOrigin->{0,0}]&,totalStats,{2}];


TableForm[histogramsTotal,TableHeadings->{taulabels,nlabels}]


(* ::Subsubsection:: *)
(*Exporting plots*)


makeHistogram[datasets_,n_,tau_]:=Histogram[datasets,{0.05},"Probability",
PlotRange->{{0,1.3},{0,0.5}},
ImageSize->300,AxesOrigin->{0,0},
AspectRatio->3/5,
Frame->True,
FrameLabel->{"fraction of average #triangles at CCM start","frequency"},
ChartLegends->Placed[{"CCMu   avg = "<>ToString[NumberForm[N[Mean[datasets[[1]]]],2]],"CCMb   avg = "<>ToString[NumberForm[N[Mean[datasets[[2]]]],2]]},Center],
(*LabelingFunction->(Placed[NumberForm[#,{2,3}],Above]&),*)
(*LabelingFunction\[Rule](Placed[If[#2[[2]]\[Equal]1,NumberForm[#1,{2,3}],""],Above]&),*)
PlotLabel->n<>", "<>tau];
histogramsTotal=MapIndexed[makeHistogram[#1,nlabels[[#2[[2]]]],taulabels[[#2[[1]]]]]&,totalStats,{2}];


tauIndices={1,5,9};
nIndices={1};
(* TableForm[histogramsTotal[[tauIndices,nIndices]],TableHeadings->{taulabels[[tauIndices]],nlabels[[nIndices]]}]*)
plotgrid1=GraphicsGrid[histogramsTotal[[tauIndices,nIndices]],ImageSize->350,ItemAspectRatio->3/5]


Export[NotebookDirectory[]<>"plots/ccm_initialtris.pdf",plotgrid1]


(* ::Subsection:: *)
(*GCM1 vs GCM2 success rates*)


successrates=Map[{#[[3,2]]/100,#[[4,2]]/100}&,gdata,{3}];
successrates=Map[Transpose,successrates,{2}];
successratesDelta=Map[#[[3,2]]-#[[4,2]]&,gdata,{3}];
successratesAvg=Map[{Mean[#[[1]]],Mean[#[[2]]]}&,successrates,{2}];

rateHistograms=Map[Histogram[#,{0.1},"Probability",PlotRange->{{0,1},Automatic}]&,successrates,{2}];
rateDeltaHistograms=Map[Histogram[#,{10},"Probability",PlotRange->{{-100,100},Automatic}]&,successratesDelta,{2}];


TableForm[rateHistograms,TableHeadings->{taulabels,nlabels}]
TableForm[rateDeltaHistograms,TableHeadings->{taulabels,nlabels}]
(*TableForm[Transpose[rateHistograms],TableHeadings->{nlabels,taulabels}]*)


(* For export *)
makeHistogram2[datasets_,label_]:=Histogram[datasets,{0.1},"Probability",
PlotRange->{{0,1},{0,1}},
ImageSize->300,AxesOrigin->{0,0},
Frame->True,
FrameLabel->{"successrate of CCM construction","frequency"},
ChartLegends->Placed[{"CCMu   avg = "<>ToString[NumberForm[N[Mean[datasets[[1]]]],2]],"CCMb   avg = "<>ToString[NumberForm[N[Mean[datasets[[2]]]],2]]},Center],(*LabelingFunction->(Placed[NumberForm[#,{2,3}],Above]&),*)
(*LabelingFunction\[Rule](Placed[If[#2[[2]]\[Equal]1,NumberForm[#1,{2,3}],""],Above]&),*)
PlotLabel->label];

plot1=makeHistogram2[successrates[[1,1]],"n = 1000, \[Tau] = 2.1"]
plot2=makeHistogram2[successrates[[5,1]],"n = 1000, \[Tau] = 2.5"]
plot3=makeHistogram2[successrates[[9,1]],"n = 1000, \[Tau] = 2.9"]
(* columnplot1=GraphicsColumn[{plot1,plot2,plot3}] *)


Export[NotebookDirectory[]<>"plots/ccm_construction_successrate.pdf",columnplot1]


Export[NotebookDirectory[]<>"plots/ccm_construction_successrate1.pdf",plot1]
Export[NotebookDirectory[]<>"plots/ccm_construction_successrate5.pdf",plot2]
Export[NotebookDirectory[]<>"plots/ccm_construction_successrate9.pdf",plot3]