Given a microscale network, G
, this function iteratively checks different
coarse-grainings to see if it finds one with higher effective information.
causal_emergence(x, ...)
igraph or matrix object.
Span, and threshold parameters
A list with letters and numbers.
g_micro - Graph of original micro-scale network.
g_macro - Graph of macro-scale network.
mapping - list
mapping from micro to macro scales giving
the largest increase in effective information.
ei_macro - Effective information of macro scale network.
ei_micro - Effective information of micro scale network.
ce - Numerical value for causal emergence.
graph <- matrix(
cbind(
c(0.0, 1.0, 0.0, 0.0),
c(0.0, 0.0, 1.0, 0.0),
c(0.0, 0.0, 0.0, 1.0),
c(0.0, 0.0, 0.0, 0.0)
),
nrow = 4
) %>%
igraph::graph.adjacency(mode = "directed")
causal_emergence(graph)
#> [25.0%] Checking node 4
#> [50.0%] Checking node 2
#> [75.0%] Checking node 3
#> [100.0%] Checking node 1
#> $g_micro
#> IGRAPH 9fd45c9 D-W- 4 3 --
#> + attr: weight (e/n)
#> + edges from 9fd45c9:
#> [1] 2->1 3->2 4->3
#>
#> $g_macro
#> IGRAPH 009ea7a D-W- 4 3 --
#> + attr: weight (e/n)
#> + edges from 009ea7a:
#> [1] 2->1 3->2 4->3
#>
#> $mapping
#> + 4/4 vertices, named, from 9fd45c9:
#> [1] 1 2 3 4
#>
#> $ei_macro
#> [1] 1.584963
#>
#> $ei_micro
#> [1] 1.584963
#>
#> $effectiveness
#> [1] 0.7924813
#>
#> $ce
#> [1] 0
#>
#> attr(,"class")
#> [1] "CE"