Files @ eba8261885e8
Branch filter:

Location: AENC/switchchain/triangle_gcm_initial_analysis.m - annotation

eba8261885e8 4.8 KiB application/vnd.wolfram.mathematica.package Show Source Show as Raw Download as Raw
Tom Bannink
Change trimeevol plot for thesis
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
2e3f21cc591d
9c4226491043
9c4226491043
9c4226491043
717d9916f17e
9c4226491043
717d9916f17e
9c4226491043
9c4226491043
717d9916f17e
717d9916f17e
717d9916f17e
30d182b86860
30d182b86860
30d182b86860
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
717d9916f17e
9c4226491043
9c4226491043
717d9916f17e
717d9916f17e
717d9916f17e
717d9916f17e
717d9916f17e
717d9916f17e
717d9916f17e
717d9916f17e
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
9c4226491043
717d9916f17e
717d9916f17e
717d9916f17e
717d9916f17e
b9db6f3e92be
717d9916f17e
717d9916f17e
717d9916f17e
717d9916f17e
717d9916f17e
717d9916f17e
717d9916f17e
717d9916f17e
717d9916f17e
717d9916f17e
717d9916f17e
b9db6f3e92be
b9db6f3e92be
b9db6f3e92be
9c4226491043
9c4226491043
08fe65e5454a
08fe65e5454a
08fe65e5454a
08fe65e5454a
717d9916f17e
717d9916f17e
717d9916f17e
717d9916f17e
717d9916f17e
717d9916f17e
717d9916f17e
717d9916f17e
717d9916f17e
717d9916f17e
717d9916f17e
717d9916f17e
08fe65e5454a
3e647eb7b5b3
3e647eb7b5b3
3e647eb7b5b3
3e647eb7b5b3
3e647eb7b5b3
3e647eb7b5b3
3e647eb7b5b3
3e647eb7b5b3
3e647eb7b5b3
08fe65e5454a
30d182b86860
30d182b86860
30d182b86860
30d182b86860
30d182b86860
30d182b86860
30d182b86860
30d182b86860
30d182b86860
30d182b86860
30d182b86860
30d182b86860
30d182b86860
30d182b86860
30d182b86860
30d182b86860
30d182b86860
30d182b86860
30d182b86860
30d182b86860
30d182b86860
30d182b86860
30d182b86860
30d182b86860
30d182b86860
08fe65e5454a
08fe65e5454a
08fe65e5454a
30d182b86860
08fe65e5454a
08fe65e5454a
08fe65e5454a
30d182b86860
08fe65e5454a
30d182b86860
08fe65e5454a
08fe65e5454a
08fe65e5454a
08fe65e5454a
30d182b86860
08fe65e5454a
08fe65e5454a
30d182b86860
08fe65e5454a
08fe65e5454a
30d182b86860
(* ::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=gsraw;
(* Data format: *)
(* gdata[[ tau index , datatype index ]] *)
(* datatype index:
1: {n,tau}
2: {uniform triangle samples}
3: {CCMdu initial triangle samples} <-- CCMdu: get new highest degree vertex every time
4: {CCMd initial triangle samples} <-- CCMd: finish vertex completely
*)


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


(* ::Subsection:: *)
(*Distribution of initial #triangles for CCMd(u) compared to uniform triangle distribution*)


getHistogram[run_]:=Histogram[{run[[2]],run[[3]],run[[4]]},Automatic,"Probability",
ChartLegends->Placed[{"Uniform","CCMdu","CCMd"},Bottom],
ImageSize->250,
Frame->True,
FrameLabel->{"Triangles","Probability"},
PlotLabel->("n = "<>ToString[run[[1,1]]]<>", \[Tau] = "<>ToString[run[[1,2]]])
];
histograms=Map[getHistogram,gdata]


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


getHistogram[run_,bins_,plotrange_,tickDelta_,textpos_,bottomLegends_,bottomLabel_]:=Histogram[{run[[2]],run[[3]],run[[4]]},bins,"Probability",
ImageSize->250,
AspectRatio->4/14,
PlotRange->plotrange,
Frame->True,
FrameLabel->{If[bottomLabel,"Triangles",None],"Probability"},
FrameTicks->{{{#,NumberForm[#,{2,2}]}&/@Range[0,0.30,tickDelta],Automatic},{Automatic,Automatic}},
Epilog->Text["n = "<>ToString[run[[1,1]]]<>", \[Tau] = "<>ToString[run[[1,2]]],textpos],
ChartLegends->If[bottomLegends,Placed[{"Uniform","CCMdu","CCMd"},Top],None]
];
{h1,h2,h3}={
getHistogram[gdata[[1]],Automatic,{0,0.30} ,0.1 ,Scaled[{0.82,0.86}],True ,False],
getHistogram[gdata[[2]],      {5},{0,0.15} ,0.05,Scaled[{0.82,0.86}],False,False],
getHistogram[gdata[[3]],Automatic,Automatic,0.05,Scaled[{0.82,0.86}],False,True]
};
plotgrid1=Column[{h1,h2,h3}]


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


(* ::Section:: *)
(*CCMu rates only*)


gsraw2=Import[NotebookDirectory[]<>"data/graphdata_ccm_constructionrate.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. *) *)


gdata2=GatherBy[gsraw2,{#[[1,2]]&,#[[1,1]]&}];
(* Data format: *)
(* gdata[[ tau index, n index, run index , datatype index ]] *)
(* datatype index:
1: {n,tau}
3: CCMdu construction rate <-- CCMdu: get new highest degree vertex every time
4: CCMd  construction rate <-- CCMd: finish vertex completely
*)


successrates=gdata2[[All,All,All,2]]; (* New datafile *)
legends=Map["\[Tau] = "<>ToString[#[[1,1,2]]]<>" ; avg = "<>ToString[NumberForm[N[Mean[#[[All,2]]]],{4,4}]]&,gdata2,{2}];


successrates=Map[Clip[#,{0,0.99999}]&,successrates,{3}];

datasets={successrates[[1,1]], successrates[[2,1]], successrates[[3,1]]};
selectedLegends={legends[[1,1]],legends[[2,1]],legends[[3,1]]};

plot1=Histogram[datasets,{-0.025,1.025,0.05},"Probability",
PlotRange->{{0,1},{0,1}},
ChartStyle->Directive[FaceForm[Opacity[0.8]],EdgeForm[Thickness[0.001]]],
ImageSize->300,AxesOrigin->{0,0},
Frame->True,
FrameLabel->{"successrate of CCMdu construction\n(distribution over sampled degree sequences)","Probability"},
ChartLegends->Placed[selectedLegends,Center],
PlotLabel->"n = 1000"]

histogramlist = Map[Last[HistogramList[#,{-0.05,1.05,0.1},"Probability"]]&,datasets];
histogramlist = Transpose[histogramlist];
(* labels=ConstantArray["",Ceiling[1/0.05]];
labels[[2;;-1;;2]]=Map[ToString,Range[0.1,1,0.1]]; *)
labels=Map[ToString,Range[0,1,0.1]];
plot2=BarChart[histogramlist,
PlotRange->{All,{0,1}},
BarSpacing->{None,Medium},
ChartLabels->{labels,None},
ImageSize->300,AxesOrigin->{0,0},
Frame->True,
FrameLabel->{"successrate of CCMdu construction\n(distribution over sampled degree sequences)","Probability"},
ChartLegends->Placed[selectedLegends,Center],
PlotLabel->"n = 1000"]

plot3=SmoothHistogram[datasets,{0.01,"Gaussian"},"PDF",
PlotRange->{{0,1},All},
ImageSize->300,AxesOrigin->{0,0},
Frame->True,
FrameLabel->{"successrate of CCMdu construction\n(distribution over sampled degree sequences)","PDF"},
PlotLegends->Placed[selectedLegends,Center],
PlotLabel->"n = 1000"]

(*
Table[
SmoothHistogram[datasets,{0.01,weightKernel},"PDF",
PlotRange->{{0,1},All},
(*ChartStyle\[Rule]Directive[FaceForm[Opacity[0.5]],EdgeForm[Thickness[0.007]]],*)
ImageSize->300,AxesOrigin->{0,0},
Frame->True,
FrameLabel->{"successrate of CCMdu construction\n over sampled degree sequences","CDF"},
PlotLegends->Placed[selectedLegends,Center],
PlotLabel->"n = 1000"],{weightKernel,{"Biweight","Gaussian","Rectangular","Cosine","SemiCircle"}}]
*)


Export[NotebookDirectory[]<>"plots/ccm_construction_successrates.pdf",plot2]