Closed mschauer closed 1 year ago
I believe this is correct. Threaded our runtime is within a factor of 2 of the pcalg
implementation! I also checked that the decisions of ges
in pcalg
and our ges
agree and scores agree:
== starting forward phase (not adaptive)...
inserting edge (45, 39) with C = {}, S = 2.60558
== starting forward phase (not adaptive)...
inserting edge (46, 39) with C = {}, S = 3.33446
== starting forward phase (not adaptive)...
== starting backward phase...
deleting edge (58, 31) with C = {}, S = 1.99389
== starting backward phase...
deleting edge (38, 61) with C = {}, S = 1.92874
== starting backward phase...
deleting edge (1, 40) with C = {}, S = 1.67234
== starting backward phase...
deleting edge (15, 37) with C = {}, S = 1.46905
== starting backward phase...
deleting edge (59, 36) with C = {}, S = 0.295838
== starting backward phase...
deleting edge (4, 47) with C = {}, S = 0.280244
== starting backward phase...
deleting edge (57, 52) with C = {}, S = 0.261933
== starting backward phase...
deleting edge (13, 48) with C = {}, S = 0.10228
== starting backward phase...
deleting edge (0, 50) with C = {}, S = 0.0129424
== starting backward phase...
deleting edge (57, 40) with C = {}, S = 0.00517728
...
Edge: Edge 46 => 40, Subset: Int64[], Δscore: 2.6055814340621737
Edge: Edge 47 => 40, Subset: Int64[], Δscore: 3.3344595348542043
Start backward search
Edge: Edge 59 => 32, Subset: Int64[], Δscore: 1.9938941804076649
Edge: Edge 39 => 62, Subset: Int64[], Δscore: 1.9287351568102622
Edge: Edge 2 => 41, Subset: Int64[], Δscore: 1.672337400843844
Edge: Edge 16 => 38, Subset: Int64[], Δscore: 1.4690486858305576
Edge: Edge 60 => 37, Subset: Int64[], Δscore: 0.2958375387606793
Edge: Edge 5 => 48, Subset: Int64[], Δscore: 0.28024352132956665
Edge: Edge 58 => 53, Subset: Int64[], Δscore: 0.2619325434084203
Edge: Edge 14 => 49, Subset: Int64[], Δscore: 0.1022800488408393
Edge: Edge 1 => 51, Subset: Int64[], Δscore: 0.012942404782279482
Edge: Edge 58 => 41, Subset: Int64[], Δscore: 0.005177278754672443
Done.
@RobertGregg You thought about parallelism, what do you think?