summaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/networkx/algorithms/__pycache__/dag.cpython-312.pyc
blob: 7b8576f6864aa999ac18e970bd26147be161d22e (plain)
ofshex dumpascii
0000 cb 0d 0d 0a 00 00 00 00 85 fa a7 68 90 b8 00 00 e3 00 00 00 00 00 00 00 00 00 00 00 00 05 00 00 ...........h....................
0020 00 00 00 00 00 f3 b6 04 00 00 97 00 64 00 5a 00 64 01 64 02 6c 01 5a 01 64 01 64 03 6c 02 6d 03 ............d.Z.d.d.l.Z.d.d.l.m.
0040 5a 03 01 00 64 01 64 04 6c 04 6d 05 5a 05 01 00 64 01 64 05 6c 06 6d 07 5a 07 6d 08 5a 08 6d 09 Z...d.d.l.m.Z...d.d.l.m.Z.m.Z.m.
0060 5a 09 6d 0a 5a 0a 01 00 64 01 64 06 6c 0b 6d 0c 5a 0c 01 00 64 01 64 02 6c 0d 5a 0e 64 01 64 07 Z.m.Z...d.d.l.m.Z...d.d.l.Z.d.d.
0080 6c 0f 6d 10 5a 10 6d 11 5a 11 6d 12 5a 12 01 00 67 00 64 08 a2 01 5a 13 65 07 6a 28 00 00 00 00 l.m.Z.m.Z.m.Z...g.d...Z.e.j(....
00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 5a 15 65 0e 6a 2c 00 00 00 00 00 00 00 00 00 00 00 00 ..............Z.e.j,............
00c0 00 00 00 00 00 00 64 09 84 00 ab 00 00 00 00 00 00 00 5a 17 65 0e 6a 2c 00 00 00 00 00 00 00 00 ......d...........Z.e.j,........
00e0 00 00 00 00 00 00 00 00 00 00 64 0a 84 00 ab 00 00 00 00 00 00 00 5a 18 65 0e 6a 2c 00 00 00 00 ..........d...........Z.e.j,....
0100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 0b 84 00 ab 00 00 00 00 00 00 00 5a 19 65 0e 6a 2c ..............d...........Z.e.j,
0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 0c 84 00 ab 00 00 00 00 00 00 00 5a 1a ..................d...........Z.
0140 65 0e 6a 2c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 0d 84 00 ab 00 00 00 00 00 e.j,..................d.........
0160 00 00 5a 1b 65 0e 6a 2c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 0e 84 00 ab 00 ..Z.e.j,..................d.....
0180 00 00 00 00 00 00 5a 1c 65 0e 6a 2c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 25 ......Z.e.j,..................d%
01a0 64 0f 84 01 ab 00 00 00 00 00 00 00 5a 1d 02 00 65 11 64 10 ab 01 00 00 00 00 00 00 65 0e 6a 2c d...........Z...e.d.........e.j,
01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 11 84 00 ab 00 00 00 00 00 00 00 ab 00 ..................d.............
01e0 00 00 00 00 00 00 5a 1e 65 0e 6a 2c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 12 ......Z.e.j,..................d.
0200 84 00 ab 00 00 00 00 00 00 00 5a 1f 02 00 65 0e 6a 2c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..........Z...e.j,..............
0220 00 00 00 00 64 13 64 13 ac 14 ab 02 00 00 00 00 00 00 64 26 64 15 84 01 ab 00 00 00 00 00 00 00 ....d.d...........d&d...........
0240 5a 20 02 00 65 11 64 10 ab 01 00 00 00 00 00 00 02 00 65 0e 6a 2c 00 00 00 00 00 00 00 00 00 00 Z...e.d...........e.j,..........
0260 00 00 00 00 00 00 00 00 64 13 64 13 ac 14 ab 02 00 00 00 00 00 00 64 25 64 16 84 01 ab 00 00 00 ........d.d...........d%d.......
0280 00 00 00 00 ab 00 00 00 00 00 00 00 5a 21 02 00 65 11 64 10 ab 01 00 00 00 00 00 00 02 00 65 0e ............Z!..e.d...........e.
02a0 6a 2c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 13 ac 17 ab 01 00 00 00 00 00 00 j,..................d...........
02c0 64 18 84 00 ab 00 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 5a 22 02 00 65 11 64 10 ab 01 00 00 d...................Z"..e.d.....
02e0 00 00 00 00 65 0e 6a 2c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 25 64 19 84 01 ....e.j,..................d%d...
0300 ab 00 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 5a 23 02 00 65 11 64 10 ab 01 00 00 00 00 00 00 ................Z#..e.d.........
0320 02 00 65 0e 6a 2c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 1a 64 1b 69 01 ac 1c ..e.j,..................d.d.i...
0340 ab 01 00 00 00 00 00 00 64 27 64 1d 84 01 ab 00 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 5a 24 ........d'd...................Z$
0360 02 00 65 11 64 10 ab 01 00 00 00 00 00 00 02 00 65 0e 6a 2c 00 00 00 00 00 00 00 00 00 00 00 00 ..e.d...........e.j,............
0380 00 00 00 00 00 00 64 1a 64 1b 69 01 ac 1c ab 01 00 00 00 00 00 00 64 28 64 1e 84 01 ab 00 00 00 ......d.d.i...........d(d.......
03a0 00 00 00 00 ab 00 00 00 00 00 00 00 5a 25 65 0e 6a 2c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ............Z%e.j,..............
03c0 00 00 00 00 64 1f 84 00 ab 00 00 00 00 00 00 00 5a 26 02 00 65 11 64 20 ab 01 00 00 00 00 00 00 ....d...........Z&..e.d.........
03e0 02 00 65 11 64 10 ab 01 00 00 00 00 00 00 02 00 65 0e 6a 2c 00 00 00 00 00 00 00 00 00 00 00 00 ..e.d...........e.j,............
0400 00 00 00 00 00 00 64 13 ac 17 ab 01 00 00 00 00 00 00 64 21 84 00 ab 00 00 00 00 00 00 00 ab 00 ......d...........d!............
0420 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 5a 27 02 00 65 11 64 10 ab 01 00 00 00 00 00 00 65 0e ..............Z'..e.d.........e.
0440 6a 2c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 22 84 00 ab 00 00 00 00 00 00 00 j,..................d"..........
0460 ab 00 00 00 00 00 00 00 5a 28 02 00 65 11 64 10 ab 01 00 00 00 00 00 00 65 0e 6a 2c 00 00 00 00 ........Z(..e.d.........e.j,....
0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 23 84 00 ab 00 00 00 00 00 00 00 ab 00 00 00 00 00 ..............d#................
04a0 00 00 5a 29 02 00 65 11 64 10 ab 01 00 00 00 00 00 00 65 0e 6a 2c 00 00 00 00 00 00 00 00 00 00 ..Z)..e.d.........e.j,..........
04c0 00 00 00 00 00 00 00 00 64 24 84 00 ab 00 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 5a 2a 79 02 ........d$..................Z*y.
04e0 29 29 7a de 41 6c 67 6f 72 69 74 68 6d 73 20 66 6f 72 20 64 69 72 65 63 74 65 64 20 61 63 79 63 ))z.Algorithms.for.directed.acyc
0500 6c 69 63 20 67 72 61 70 68 73 20 28 44 41 47 73 29 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 6d 6f lic.graphs.(DAGs)...Note.that.mo
0520 73 74 20 6f 66 20 74 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 6f 6e 6c 79 20 67 st.of.these.functions.are.only.g
0540 75 61 72 61 6e 74 65 65 64 20 74 6f 20 77 6f 72 6b 20 66 6f 72 20 44 41 47 73 2e 0a 49 6e 20 67 uaranteed.to.work.for.DAGs..In.g
0560 65 6e 65 72 61 6c 2c 20 74 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 64 6f 20 6e 6f 74 20 63 eneral,.these.functions.do.not.c
0580 68 65 63 6b 20 66 6f 72 20 61 63 79 63 6c 69 63 2d 6e 65 73 73 2c 20 73 6f 20 69 74 20 69 73 20 heck.for.acyclic-ness,.so.it.is.
05a0 75 70 0a 74 6f 20 74 68 65 20 75 73 65 72 20 74 6f 20 63 68 65 63 6b 20 66 6f 72 20 74 68 61 74 up.to.the.user.to.check.for.that
05c0 2e 0a e9 00 00 00 00 4e 29 01 da 05 64 65 71 75 65 29 01 da 07 70 61 72 74 69 61 6c 29 04 da 05 .......N)...deque)...partial)...
05e0 63 68 61 69 6e da 0c 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 da 07 70 72 6f 64 75 63 74 da 07 73 74 chain..combinations..product..st
0600 61 72 6d 61 70 29 01 da 03 67 63 64 29 03 da 11 61 72 62 69 74 72 61 72 79 5f 65 6c 65 6d 65 6e armap)...gcd)...arbitrary_elemen
0620 74 da 13 6e 6f 74 5f 69 6d 70 6c 65 6d 65 6e 74 65 64 5f 66 6f 72 da 08 70 61 69 72 77 69 73 65 t..not_implemented_for..pairwise
0640 29 10 da 0b 64 65 73 63 65 6e 64 61 6e 74 73 da 09 61 6e 63 65 73 74 6f 72 73 da 10 74 6f 70 6f )...descendants..ancestors..topo
0660 6c 6f 67 69 63 61 6c 5f 73 6f 72 74 da 20 6c 65 78 69 63 6f 67 72 61 70 68 69 63 61 6c 5f 74 6f logical_sort..lexicographical_to
0680 70 6f 6c 6f 67 69 63 61 6c 5f 73 6f 72 74 da 15 61 6c 6c 5f 74 6f 70 6f 6c 6f 67 69 63 61 6c 5f pological_sort..all_topological_
06a0 73 6f 72 74 73 da 17 74 6f 70 6f 6c 6f 67 69 63 61 6c 5f 67 65 6e 65 72 61 74 69 6f 6e 73 da 19 sorts..topological_generations..
06c0 69 73 5f 64 69 72 65 63 74 65 64 5f 61 63 79 63 6c 69 63 5f 67 72 61 70 68 da 0c 69 73 5f 61 70 is_directed_acyclic_graph..is_ap
06e0 65 72 69 6f 64 69 63 da 12 74 72 61 6e 73 69 74 69 76 65 5f 63 6c 6f 73 75 72 65 da 16 74 72 61 eriodic..transitive_closure..tra
0700 6e 73 69 74 69 76 65 5f 63 6c 6f 73 75 72 65 5f 64 61 67 da 14 74 72 61 6e 73 69 74 69 76 65 5f nsitive_closure_dag..transitive_
0720 72 65 64 75 63 74 69 6f 6e da 0a 61 6e 74 69 63 68 61 69 6e 73 da 10 64 61 67 5f 6c 6f 6e 67 65 reduction..antichains..dag_longe
0740 73 74 5f 70 61 74 68 da 17 64 61 67 5f 6c 6f 6e 67 65 73 74 5f 70 61 74 68 5f 6c 65 6e 67 74 68 st_path..dag_longest_path_length
0760 da 10 64 61 67 5f 74 6f 5f 62 72 61 6e 63 68 69 6e 67 da 14 63 6f 6d 70 75 74 65 5f 76 5f 73 74 ..dag_to_branching..compute_v_st
0780 72 75 63 74 75 72 65 73 63 02 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 03 00 00 00 f3 60 00 ructuresc.....................`.
07a0 00 00 97 00 74 01 00 00 00 00 00 00 00 00 6a 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ....t.........j.................
07c0 00 00 7c 00 7c 01 ab 02 00 00 00 00 00 00 44 00 8f 02 8f 03 63 03 68 00 63 02 5d 07 00 00 5c 02 ..|.|.........D.....c.h.c.]...\.
07e0 00 00 7d 02 7d 03 7c 03 92 02 8c 09 04 00 63 03 7d 03 7d 02 53 00 63 02 01 00 63 03 7d 03 7d 02 ..}.}.|.......c.}.}.S.c...c.}.}.
0800 77 00 29 01 61 5f 02 00 00 52 65 74 75 72 6e 73 20 61 6c 6c 20 6e 6f 64 65 73 20 72 65 61 63 68 w.).a_...Returns.all.nodes.reach
0820 61 62 6c 65 20 66 72 6f 6d 20 60 73 6f 75 72 63 65 60 20 69 6e 20 60 47 60 2e 0a 0a 20 20 20 20 able.from.`source`.in.`G`.......
0840 50 61 72 61 6d 65 74 65 72 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 47 20 Parameters.....----------.....G.
0860 3a 20 4e 65 74 77 6f 72 6b 58 20 47 72 61 70 68 0a 20 20 20 20 73 6f 75 72 63 65 20 3a 20 6e 6f :.NetworkX.Graph.....source.:.no
0880 64 65 20 69 6e 20 60 47 60 0a 0a 20 20 20 20 52 65 74 75 72 6e 73 0a 20 20 20 20 2d 2d 2d 2d 2d de.in.`G`......Returns.....-----
08a0 2d 2d 0a 20 20 20 20 73 65 74 28 29 0a 20 20 20 20 20 20 20 20 54 68 65 20 64 65 73 63 65 6e 64 --.....set().........The.descend
08c0 61 6e 74 73 20 6f 66 20 60 73 6f 75 72 63 65 60 20 69 6e 20 60 47 60 0a 0a 20 20 20 20 52 61 69 ants.of.`source`.in.`G`......Rai
08e0 73 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 4e 65 74 77 6f 72 6b 58 45 72 72 6f 72 ses.....------.....NetworkXError
0900 0a 20 20 20 20 20 20 20 20 49 66 20 6e 6f 64 65 20 60 73 6f 75 72 63 65 60 20 69 73 20 6e 6f 74 .........If.node.`source`.is.not
0920 20 69 6e 20 60 47 60 2e 0a 0a 20 20 20 20 45 78 61 6d 70 6c 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d .in.`G`.......Examples.....-----
0940 2d 2d 2d 0a 20 20 20 20 3e 3e 3e 20 44 47 20 3d 20 6e 78 2e 70 61 74 68 5f 67 72 61 70 68 28 35 ---.....>>>.DG.=.nx.path_graph(5
0960 2c 20 63 72 65 61 74 65 5f 75 73 69 6e 67 3d 6e 78 2e 44 69 47 72 61 70 68 29 0a 20 20 20 20 3e ,.create_using=nx.DiGraph).....>
0980 3e 3e 20 73 6f 72 74 65 64 28 6e 78 2e 64 65 73 63 65 6e 64 61 6e 74 73 28 44 47 2c 20 32 29 29 >>.sorted(nx.descendants(DG,.2))
09a0 0a 20 20 20 20 5b 33 2c 20 34 5d 0a 0a 20 20 20 20 54 68 65 20 60 73 6f 75 72 63 65 60 20 6e 6f .....[3,.4]......The.`source`.no
09c0 64 65 20 69 73 20 6e 6f 74 20 61 20 64 65 73 63 65 6e 64 61 6e 74 20 6f 66 20 69 74 73 65 6c 66 de.is.not.a.descendant.of.itself
09e0 2c 20 62 75 74 20 63 61 6e 20 62 65 20 69 6e 63 6c 75 64 65 64 20 6d 61 6e 75 61 6c 6c 79 3a 0a ,.but.can.be.included.manually:.
0a00 0a 20 20 20 20 3e 3e 3e 20 73 6f 72 74 65 64 28 6e 78 2e 64 65 73 63 65 6e 64 61 6e 74 73 28 44 .....>>>.sorted(nx.descendants(D
0a20 47 2c 20 32 29 20 7c 20 7b 32 7d 29 0a 20 20 20 20 5b 32 2c 20 33 2c 20 34 5d 0a 0a 20 20 20 20 G,.2).|.{2}).....[2,.3,.4]......
0a40 53 65 65 20 61 6c 73 6f 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 61 6e 63 65 73 74 See.also.....--------.....ancest
0a60 6f 72 73 0a 20 20 20 20 a9 02 da 02 6e 78 da 09 62 66 73 5f 65 64 67 65 73 a9 04 da 01 47 da 06 ors.........nx..bfs_edges....G..
0a80 73 6f 75 72 63 65 da 06 70 61 72 65 6e 74 da 05 63 68 69 6c 64 73 04 00 00 00 20 20 20 20 fa 5e source..parent..childs.........^
0aa0 2f 68 6f 6d 65 2f 62 6c 61 63 6b 68 61 6f 2f 75 69 75 63 2d 63 6f 75 72 73 65 2d 67 72 61 70 68 /home/blackhao/uiuc-course-graph
0ac0 2f 2e 76 65 6e 76 2f 6c 69 62 2f 70 79 74 68 6f 6e 33 2e 31 32 2f 73 69 74 65 2d 70 61 63 6b 61 /.venv/lib/python3.12/site-packa
0ae0 67 65 73 2f 6e 65 74 77 6f 72 6b 78 2f 61 6c 67 6f 72 69 74 68 6d 73 2f 64 61 67 2e 70 79 72 0d ges/networkx/algorithms/dag.pyr.
0b00 00 00 00 72 0d 00 00 00 27 00 00 00 73 28 00 00 00 80 00 f4 44 01 00 28 2a a7 7c a1 7c b0 41 b0 ...r....'...s(......D..(*.|.|.A.
0b20 76 d3 27 3e d7 0b 3f 91 6d 90 66 98 65 8a 45 d3 0b 3f d0 04 3f f9 d3 0b 3f 73 04 00 00 00 9a 0c v.'>..?.m.f.e.E..?..?...?s......
0b40 2a 06 63 02 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 03 00 00 00 f3 64 00 00 00 97 00 74 01 *.c.....................d.....t.
0b60 00 00 00 00 00 00 00 00 6a 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 00 7c 01 ........j...................|.|.
0b80 64 01 ac 02 ab 03 00 00 00 00 00 00 44 00 8f 02 8f 03 63 03 68 00 63 02 5d 07 00 00 5c 02 00 00 d...........D.....c.h.c.]...\...
0ba0 7d 02 7d 03 7c 03 92 02 8c 09 04 00 63 03 7d 03 7d 02 53 00 63 02 01 00 63 03 7d 03 7d 02 77 00 }.}.|.......c.}.}.S.c...c.}.}.w.
0bc0 29 03 61 5c 02 00 00 52 65 74 75 72 6e 73 20 61 6c 6c 20 6e 6f 64 65 73 20 68 61 76 69 6e 67 20 ).a\...Returns.all.nodes.having.
0be0 61 20 70 61 74 68 20 74 6f 20 60 73 6f 75 72 63 65 60 20 69 6e 20 60 47 60 2e 0a 0a 20 20 20 20 a.path.to.`source`.in.`G`.......
0c00 50 61 72 61 6d 65 74 65 72 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 47 20 Parameters.....----------.....G.
0c20 3a 20 4e 65 74 77 6f 72 6b 58 20 47 72 61 70 68 0a 20 20 20 20 73 6f 75 72 63 65 20 3a 20 6e 6f :.NetworkX.Graph.....source.:.no
0c40 64 65 20 69 6e 20 60 47 60 0a 0a 20 20 20 20 52 65 74 75 72 6e 73 0a 20 20 20 20 2d 2d 2d 2d 2d de.in.`G`......Returns.....-----
0c60 2d 2d 0a 20 20 20 20 73 65 74 28 29 0a 20 20 20 20 20 20 20 20 54 68 65 20 61 6e 63 65 73 74 6f --.....set().........The.ancesto
0c80 72 73 20 6f 66 20 60 73 6f 75 72 63 65 60 20 69 6e 20 60 47 60 0a 0a 20 20 20 20 52 61 69 73 65 rs.of.`source`.in.`G`......Raise
0ca0 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 4e 65 74 77 6f 72 6b 58 45 72 72 6f 72 0a 20 s.....------.....NetworkXError..
0cc0 20 20 20 20 20 20 20 49 66 20 6e 6f 64 65 20 60 73 6f 75 72 63 65 60 20 69 73 20 6e 6f 74 20 69 .......If.node.`source`.is.not.i
0ce0 6e 20 60 47 60 2e 0a 0a 20 20 20 20 45 78 61 6d 70 6c 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d n.`G`.......Examples.....-------
0d00 2d 0a 20 20 20 20 3e 3e 3e 20 44 47 20 3d 20 6e 78 2e 70 61 74 68 5f 67 72 61 70 68 28 35 2c 20 -.....>>>.DG.=.nx.path_graph(5,.
0d20 63 72 65 61 74 65 5f 75 73 69 6e 67 3d 6e 78 2e 44 69 47 72 61 70 68 29 0a 20 20 20 20 3e 3e 3e create_using=nx.DiGraph).....>>>
0d40 20 73 6f 72 74 65 64 28 6e 78 2e 61 6e 63 65 73 74 6f 72 73 28 44 47 2c 20 32 29 29 0a 20 20 20 .sorted(nx.ancestors(DG,.2))....
0d60 20 5b 30 2c 20 31 5d 0a 0a 20 20 20 20 54 68 65 20 60 73 6f 75 72 63 65 60 20 6e 6f 64 65 20 69 .[0,.1]......The.`source`.node.i
0d80 73 20 6e 6f 74 20 61 6e 20 61 6e 63 65 73 74 6f 72 20 6f 66 20 69 74 73 65 6c 66 2c 20 62 75 74 s.not.an.ancestor.of.itself,.but
0da0 20 63 61 6e 20 62 65 20 69 6e 63 6c 75 64 65 64 20 6d 61 6e 75 61 6c 6c 79 3a 0a 0a 20 20 20 20 .can.be.included.manually:......
0dc0 3e 3e 3e 20 73 6f 72 74 65 64 28 6e 78 2e 61 6e 63 65 73 74 6f 72 73 28 44 47 2c 20 32 29 20 7c >>>.sorted(nx.ancestors(DG,.2).|
0de0 20 7b 32 7d 29 0a 20 20 20 20 5b 30 2c 20 31 2c 20 32 5d 0a 0a 20 20 20 20 53 65 65 20 61 6c 73 .{2}).....[0,.1,.2]......See.als
0e00 6f 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 64 65 73 63 65 6e 64 61 6e 74 73 0a 20 o.....--------.....descendants..
0e20 20 20 20 54 29 01 da 07 72 65 76 65 72 73 65 72 1e 00 00 00 72 21 00 00 00 73 04 00 00 00 20 20 ...T)...reverser....r!...s......
0e40 20 20 72 26 00 00 00 72 0e 00 00 00 72 0e 00 00 00 4c 00 00 00 73 2a 00 00 00 80 00 f4 44 01 00 ..r&...r....r....L...s*......D..
0e60 28 2a a7 7c a1 7c b0 41 b0 76 c0 74 d4 27 4c d7 0b 4d 91 6d 90 66 98 65 8a 45 d3 0b 4d d0 04 4d (*.|.|.A.v.t.'L..M.m.f.e.E..M..M
0e80 f9 d3 0b 4d 73 04 00 00 00 9c 0c 2c 06 63 01 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 03 00 ...Ms......,.c..................
0ea0 00 00 f3 64 00 00 00 97 00 09 00 74 01 00 00 00 00 00 00 00 00 74 03 00 00 00 00 00 00 00 00 7c ...d.......t.........t.........|
0ec0 00 ab 01 00 00 00 00 00 00 64 01 ac 02 ab 02 00 00 00 00 00 00 01 00 79 03 23 00 74 04 00 00 00 .........d.............y.#.t....
0ee0 00 00 00 00 00 6a 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 24 00 72 03 01 00 59 .....j...................$.r...Y
0f00 00 79 04 77 00 78 03 59 00 77 01 29 05 7a 2f 44 65 63 69 64 65 73 20 77 68 65 74 68 65 72 20 74 .y.w.x.Y.w.).z/Decides.whether.t
0f20 68 65 20 64 69 72 65 63 74 65 64 20 67 72 61 70 68 20 68 61 73 20 61 20 63 79 63 6c 65 2e 72 02 he.directed.graph.has.a.cycle.r.
0f40 00 00 00 29 01 da 06 6d 61 78 6c 65 6e 46 54 29 04 72 03 00 00 00 72 0f 00 00 00 72 1f 00 00 00 ...)...maxlenFT).r....r....r....
0f60 da 12 4e 65 74 77 6f 72 6b 58 55 6e 66 65 61 73 69 62 6c 65 a9 01 72 22 00 00 00 73 01 00 00 00 ..NetworkXUnfeasible..r"...s....
0f80 20 72 26 00 00 00 da 09 68 61 73 5f 63 79 63 6c 65 72 2d 00 00 00 71 00 00 00 73 36 00 00 00 80 .r&.....has_cycler-...q...s6....
0fa0 00 f0 06 06 05 15 e4 08 0d d4 0e 1e 98 71 d3 0e 21 a8 21 d5 08 2c f0 08 00 10 15 f8 f4 07 00 0c .............q..!.!..,..........
0fc0 0e d7 0b 20 d1 0b 20 f2 00 01 05 14 d9 0f 13 f0 03 01 05 14 fa 73 0c 00 00 00 82 16 19 00 99 13 .....................s..........
0fe0 2f 03 ae 01 2f 03 63 01 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 03 00 00 00 f3 3e 00 00 00 /.../.c.....................>...
1000 97 00 7c 00 6a 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 ..|.j...........................
1020 78 01 72 0c 01 00 74 03 00 00 00 00 00 00 00 00 7c 00 ab 01 00 00 00 00 00 00 0c 00 53 00 29 01 x.r...t.........|...........S.).
1040 61 bd 02 00 00 52 65 74 75 72 6e 73 20 54 72 75 65 20 69 66 20 74 68 65 20 67 72 61 70 68 20 60 a....Returns.True.if.the.graph.`
1060 47 60 20 69 73 20 61 20 64 69 72 65 63 74 65 64 20 61 63 79 63 6c 69 63 20 67 72 61 70 68 20 28 G`.is.a.directed.acyclic.graph.(
1080 44 41 47 29 20 6f 72 0a 20 20 20 20 46 61 6c 73 65 20 69 66 20 6e 6f 74 2e 0a 0a 20 20 20 20 50 DAG).or.....False.if.not.......P
10a0 61 72 61 6d 65 74 65 72 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 47 20 3a arameters.....----------.....G.:
10c0 20 4e 65 74 77 6f 72 6b 58 20 67 72 61 70 68 0a 0a 20 20 20 20 52 65 74 75 72 6e 73 0a 20 20 20 .NetworkX.graph......Returns....
10e0 20 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 62 6f 6f 6c 0a 20 20 20 20 20 20 20 20 54 72 75 65 20 69 .-------.....bool.........True.i
1100 66 20 60 47 60 20 69 73 20 61 20 44 41 47 2c 20 46 61 6c 73 65 20 6f 74 68 65 72 77 69 73 65 0a f.`G`.is.a.DAG,.False.otherwise.
1120 0a 20 20 20 20 45 78 61 6d 70 6c 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 55 .....Examples.....--------.....U
1140 6e 64 69 72 65 63 74 65 64 20 67 72 61 70 68 3a 3a 0a 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 47 ndirected.graph::..........>>>.G
1160 20 3d 20 6e 78 2e 47 72 61 70 68 28 5b 28 31 2c 20 32 29 2c 20 28 32 2c 20 33 29 5d 29 0a 20 20 .=.nx.Graph([(1,.2),.(2,.3)])...
1180 20 20 20 20 20 20 3e 3e 3e 20 6e 78 2e 69 73 5f 64 69 72 65 63 74 65 64 5f 61 63 79 63 6c 69 63 ......>>>.nx.is_directed_acyclic
11a0 5f 67 72 61 70 68 28 47 29 0a 20 20 20 20 20 20 20 20 46 61 6c 73 65 0a 0a 20 20 20 20 44 69 72 _graph(G).........False......Dir
11c0 65 63 74 65 64 20 67 72 61 70 68 20 77 69 74 68 20 63 79 63 6c 65 3a 3a 0a 0a 20 20 20 20 20 20 ected.graph.with.cycle::........
11e0 20 20 3e 3e 3e 20 47 20 3d 20 6e 78 2e 44 69 47 72 61 70 68 28 5b 28 31 2c 20 32 29 2c 20 28 32 ..>>>.G.=.nx.DiGraph([(1,.2),.(2
1200 2c 20 33 29 2c 20 28 33 2c 20 31 29 5d 29 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 6e 78 2e 69 73 ,.3),.(3,.1)]).........>>>.nx.is
1220 5f 64 69 72 65 63 74 65 64 5f 61 63 79 63 6c 69 63 5f 67 72 61 70 68 28 47 29 0a 20 20 20 20 20 _directed_acyclic_graph(G)......
1240 20 20 20 46 61 6c 73 65 0a 0a 20 20 20 20 44 69 72 65 63 74 65 64 20 61 63 79 63 6c 69 63 20 67 ...False......Directed.acyclic.g
1260 72 61 70 68 3a 3a 0a 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 47 20 3d 20 6e 78 2e 44 69 47 72 61 raph::..........>>>.G.=.nx.DiGra
1280 70 68 28 5b 28 31 2c 20 32 29 2c 20 28 32 2c 20 33 29 5d 29 0a 20 20 20 20 20 20 20 20 3e 3e 3e ph([(1,.2),.(2,.3)]).........>>>
12a0 20 6e 78 2e 69 73 5f 64 69 72 65 63 74 65 64 5f 61 63 79 63 6c 69 63 5f 67 72 61 70 68 28 47 29 .nx.is_directed_acyclic_graph(G)
12c0 0a 20 20 20 20 20 20 20 20 54 72 75 65 0a 0a 20 20 20 20 53 65 65 20 61 6c 73 6f 0a 20 20 20 20 .........True......See.also.....
12e0 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 74 6f 70 6f 6c 6f 67 69 63 61 6c 5f 73 6f 72 74 0a 20 20 --------.....topological_sort...
1300 20 20 29 02 da 0b 69 73 5f 64 69 72 65 63 74 65 64 72 2d 00 00 00 72 2c 00 00 00 73 01 00 00 00 ..)...is_directedr-...r,...s....
1320 20 72 26 00 00 00 72 13 00 00 00 72 13 00 00 00 7d 00 00 00 73 1d 00 00 00 80 00 f0 4c 01 00 0c .r&...r....r....}...s.......L...
1340 0d 8f 3d 89 3d 8b 3f d2 0b 2f a4 39 a8 51 a3 3c d0 1f 2f d0 04 2f f3 00 00 00 00 63 01 00 00 00 ..=.=.?../.9.Q.<../../.....c....
1360 00 00 00 00 00 00 00 00 09 00 00 00 23 00 00 00 f3 86 02 00 00 4b 00 01 00 97 00 7c 00 6a 01 00 ............#........K.....|.j..
1380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 73 15 74 03 00 00 00 .........................s.t....
13a0 00 00 00 00 00 6a 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 01 ab 01 00 00 00 .....j...................d......
13c0 00 00 00 82 01 7c 00 6a 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ab 00 00 00 00 .....|.j........................
13e0 00 00 00 7d 01 7c 00 6a 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ab 00 00 00 00 ...}.|.j........................
1400 00 00 00 44 00 8f 02 8f 03 63 03 69 00 63 02 5d 0e 00 00 5c 02 00 00 7d 02 7d 03 7c 03 64 02 6b ...D.....c.i.c.]...\...}.}.|.d.k
1420 44 00 00 73 01 8c 0c 7c 02 7c 03 93 02 8c 10 04 00 7d 04 7d 02 7d 03 7c 00 6a 09 00 00 00 00 00 D..s...|.|.......}.}.}.|.j......
1440 00 00 00 00 00 00 00 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 44 00 8f 02 8f 03 63 03 67 00 63 .....................D.....c.g.c
1460 02 5d 0d 00 00 5c 02 00 00 7d 02 7d 03 7c 03 64 02 6b 28 00 00 73 01 8c 0c 7c 02 91 02 8c 0f 04 .]...\...}.}.|.d.k(..s...|......
1480 00 7d 05 7d 02 7d 03 7c 05 72 75 7c 05 7d 06 67 00 7d 05 7c 06 44 00 5d 65 00 00 7d 07 7c 07 7c .}.}.}.|.ru|.}.g.}.|.D.]e..}.|.|
14a0 00 76 01 72 0b 74 0b 00 00 00 00 00 00 00 00 64 03 ab 01 00 00 00 00 00 00 82 01 7c 00 6a 0d 00 .v.r.t.........d...........|.j..
14c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 07 ab 01 00 00 00 00 00 00 44 00 5d 40 00 .................|.........D.]@.
14e0 00 7d 08 09 00 7c 04 7c 08 78 02 78 02 19 00 00 00 7c 01 72 11 74 0f 00 00 00 00 00 00 00 00 7c .}...|.|.x.x.....|.r.t.........|
1500 00 7c 07 19 00 00 00 7c 08 19 00 00 00 ab 01 00 00 00 00 00 00 6e 01 64 04 7a 17 00 00 63 03 63 .|.....|.............n.d.z...c.c
1520 02 3c 00 00 00 7c 04 7c 08 19 00 00 00 64 02 6b 28 00 00 73 01 8c 2d 7c 05 6a 13 00 00 00 00 00 .<...|.|.....d.k(..s..-|.j......
1540 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 08 ab 01 00 00 00 00 00 00 01 00 7c 04 7c 08 3d 00 8c .............|...........|.|.=..
1560 42 04 00 8c 67 04 00 7c 06 96 01 97 01 01 00 7c 05 72 01 8c 75 7c 04 72 15 74 03 00 00 00 00 00 B...g..|.......|.r..u|.r.t......
1580 00 00 00 6a 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 06 ab 01 00 00 00 00 00 ...j...................d........
15a0 00 82 01 79 05 63 02 01 00 63 03 7d 03 7d 02 77 00 63 02 01 00 63 03 7d 03 7d 02 77 00 23 00 74 ...y.c...c.}.}.w.c...c.}.}.w.#.t
15c0 10 00 00 00 00 00 00 00 00 24 00 72 11 7d 09 74 0b 00 00 00 00 00 00 00 00 64 03 ab 01 00 00 00 .........$.r.}.t.........d......
15e0 00 00 00 7c 09 82 02 64 05 7d 09 7e 09 77 01 77 00 78 03 59 00 77 01 ad 03 77 01 29 07 61 1c 06 ...|...d.}.~.w.w.x.Y.w...w.).a..
1600 00 00 53 74 72 61 74 69 66 69 65 73 20 61 20 44 41 47 20 69 6e 74 6f 20 67 65 6e 65 72 61 74 69 ..Stratifies.a.DAG.into.generati
1620 6f 6e 73 2e 0a 0a 20 20 20 20 41 20 74 6f 70 6f 6c 6f 67 69 63 61 6c 20 67 65 6e 65 72 61 74 69 ons.......A.topological.generati
1640 6f 6e 20 69 73 20 6e 6f 64 65 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 69 6e 20 77 68 69 63 68 20 61 on.is.node.collection.in.which.a
1660 6e 63 65 73 74 6f 72 73 20 6f 66 20 61 20 6e 6f 64 65 20 69 6e 20 65 61 63 68 0a 20 20 20 20 67 ncestors.of.a.node.in.each.....g
1680 65 6e 65 72 61 74 69 6f 6e 20 61 72 65 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 69 eneration.are.guaranteed.to.be.i
16a0 6e 20 61 20 70 72 65 76 69 6f 75 73 20 67 65 6e 65 72 61 74 69 6f 6e 2c 20 61 6e 64 20 61 6e 79 n.a.previous.generation,.and.any
16c0 20 64 65 73 63 65 6e 64 61 6e 74 73 20 6f 66 0a 20 20 20 20 61 20 6e 6f 64 65 20 61 72 65 20 67 .descendants.of.....a.node.are.g
16e0 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 69 6e 20 61 20 66 6f 6c 6c 6f 77 69 6e 67 20 67 uaranteed.to.be.in.a.following.g
1700 65 6e 65 72 61 74 69 6f 6e 2e 20 4e 6f 64 65 73 20 61 72 65 20 67 75 61 72 61 6e 74 65 65 64 20 eneration..Nodes.are.guaranteed.
1720 74 6f 0a 20 20 20 20 62 65 20 69 6e 20 74 68 65 20 65 61 72 6c 69 65 73 74 20 70 6f 73 73 69 62 to.....be.in.the.earliest.possib
1740 6c 65 20 67 65 6e 65 72 61 74 69 6f 6e 20 74 68 61 74 20 74 68 65 79 20 63 61 6e 20 62 65 6c 6f le.generation.that.they.can.belo
1760 6e 67 20 74 6f 2e 0a 0a 20 20 20 20 50 61 72 61 6d 65 74 65 72 73 0a 20 20 20 20 2d 2d 2d 2d 2d ng.to.......Parameters.....-----
1780 2d 2d 2d 2d 2d 0a 20 20 20 20 47 20 3a 20 4e 65 74 77 6f 72 6b 58 20 64 69 67 72 61 70 68 0a 20 -----.....G.:.NetworkX.digraph..
17a0 20 20 20 20 20 20 20 41 20 64 69 72 65 63 74 65 64 20 61 63 79 63 6c 69 63 20 67 72 61 70 68 20 .......A.directed.acyclic.graph.
17c0 28 44 41 47 29 0a 0a 20 20 20 20 59 69 65 6c 64 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 0a 20 20 20 (DAG)......Yields.....------....
17e0 20 73 65 74 73 20 6f 66 20 6e 6f 64 65 73 0a 20 20 20 20 20 20 20 20 59 69 65 6c 64 73 20 73 65 .sets.of.nodes.........Yields.se
1800 74 73 20 6f 66 20 6e 6f 64 65 73 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 65 61 63 68 20 67 65 ts.of.nodes.representing.each.ge
1820 6e 65 72 61 74 69 6f 6e 2e 0a 0a 20 20 20 20 52 61 69 73 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d neration.......Raises.....------
1840 0a 20 20 20 20 4e 65 74 77 6f 72 6b 58 45 72 72 6f 72 0a 20 20 20 20 20 20 20 20 47 65 6e 65 72 .....NetworkXError.........Gener
1860 61 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 64 69 72 65 63 74 65 64 20 ations.are.defined.for.directed.
1880 67 72 61 70 68 73 20 6f 6e 6c 79 2e 20 49 66 20 74 68 65 20 67 72 61 70 68 0a 20 20 20 20 20 20 graphs.only..If.the.graph.......
18a0 20 20 60 47 60 20 69 73 20 75 6e 64 69 72 65 63 74 65 64 2c 20 61 20 3a 65 78 63 3a 60 4e 65 74 ..`G`.is.undirected,.a.:exc:`Net
18c0 77 6f 72 6b 58 45 72 72 6f 72 60 20 69 73 20 72 61 69 73 65 64 2e 0a 0a 20 20 20 20 4e 65 74 77 workXError`.is.raised.......Netw
18e0 6f 72 6b 58 55 6e 66 65 61 73 69 62 6c 65 0a 20 20 20 20 20 20 20 20 49 66 20 60 47 60 20 69 73 orkXUnfeasible.........If.`G`.is
1900 20 6e 6f 74 20 61 20 64 69 72 65 63 74 65 64 20 61 63 79 63 6c 69 63 20 67 72 61 70 68 20 28 44 .not.a.directed.acyclic.graph.(D
1920 41 47 29 20 6e 6f 20 74 6f 70 6f 6c 6f 67 69 63 61 6c 20 67 65 6e 65 72 61 74 69 6f 6e 73 0a 20 AG).no.topological.generations..
1940 20 20 20 20 20 20 20 65 78 69 73 74 20 61 6e 64 20 61 20 3a 65 78 63 3a 60 4e 65 74 77 6f 72 6b .......exist.and.a.:exc:`Network
1960 58 55 6e 66 65 61 73 69 62 6c 65 60 20 65 78 63 65 70 74 69 6f 6e 20 69 73 20 72 61 69 73 65 64 XUnfeasible`.exception.is.raised
1980 2e 20 20 54 68 69 73 20 63 61 6e 20 61 6c 73 6f 0a 20 20 20 20 20 20 20 20 62 65 20 72 61 69 73 ...This.can.also.........be.rais
19a0 65 64 20 69 66 20 60 47 60 20 69 73 20 63 68 61 6e 67 65 64 20 77 68 69 6c 65 20 74 68 65 20 72 ed.if.`G`.is.changed.while.the.r
19c0 65 74 75 72 6e 65 64 20 69 74 65 72 61 74 6f 72 20 69 73 20 62 65 69 6e 67 20 70 72 6f 63 65 73 eturned.iterator.is.being.proces
19e0 73 65 64 0a 0a 20 20 20 20 52 75 6e 74 69 6d 65 45 72 72 6f 72 0a 20 20 20 20 20 20 20 20 49 66 sed......RuntimeError.........If
1a00 20 60 47 60 20 69 73 20 63 68 61 6e 67 65 64 20 77 68 69 6c 65 20 74 68 65 20 72 65 74 75 72 6e .`G`.is.changed.while.the.return
1a20 65 64 20 69 74 65 72 61 74 6f 72 20 69 73 20 62 65 69 6e 67 20 70 72 6f 63 65 73 73 65 64 2e 0a ed.iterator.is.being.processed..
1a40 0a 20 20 20 20 45 78 61 6d 70 6c 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 3e .....Examples.....--------.....>
1a60 3e 3e 20 44 47 20 3d 20 6e 78 2e 44 69 47 72 61 70 68 28 5b 28 32 2c 20 31 29 2c 20 28 33 2c 20 >>.DG.=.nx.DiGraph([(2,.1),.(3,.
1a80 31 29 5d 29 0a 20 20 20 20 3e 3e 3e 20 5b 73 6f 72 74 65 64 28 67 65 6e 65 72 61 74 69 6f 6e 29 1)]).....>>>.[sorted(generation)
1aa0 20 66 6f 72 20 67 65 6e 65 72 61 74 69 6f 6e 20 69 6e 20 6e 78 2e 74 6f 70 6f 6c 6f 67 69 63 61 .for.generation.in.nx.topologica
1ac0 6c 5f 67 65 6e 65 72 61 74 69 6f 6e 73 28 44 47 29 5d 0a 20 20 20 20 5b 5b 32 2c 20 33 5d 2c 20 l_generations(DG)].....[[2,.3],.
1ae0 5b 31 5d 5d 0a 0a 20 20 20 20 4e 6f 74 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 0a 20 20 20 20 54 68 [1]]......Notes.....-----.....Th
1b00 65 20 67 65 6e 65 72 61 74 69 6f 6e 20 69 6e 20 77 68 69 63 68 20 61 20 6e 6f 64 65 20 72 65 73 e.generation.in.which.a.node.res
1b20 69 64 65 73 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 ides.can.also.be.determined.by.t
1b40 61 6b 69 6e 67 20 74 68 65 0a 20 20 20 20 6d 61 78 2d 70 61 74 68 2d 64 69 73 74 61 6e 63 65 20 aking.the.....max-path-distance.
1b60 66 72 6f 6d 20 74 68 65 20 6e 6f 64 65 20 74 6f 20 74 68 65 20 66 61 72 74 68 65 73 74 20 6c 65 from.the.node.to.the.farthest.le
1b80 61 66 20 6e 6f 64 65 2e 20 54 68 61 74 20 76 61 6c 75 65 20 63 61 6e 0a 20 20 20 20 62 65 20 6f af.node..That.value.can.....be.o
1ba0 62 74 61 69 6e 65 64 20 77 69 74 68 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 75 73 69 6e 67 btained.with.this.function.using
1bc0 20 60 65 6e 75 6d 65 72 61 74 65 28 74 6f 70 6f 6c 6f 67 69 63 61 6c 5f 67 65 6e 65 72 61 74 69 .`enumerate(topological_generati
1be0 6f 6e 73 28 47 29 29 60 2e 0a 0a 20 20 20 20 53 65 65 20 61 6c 73 6f 0a 20 20 20 20 2d 2d 2d 2d ons(G))`.......See.also.....----
1c00 2d 2d 2d 2d 0a 20 20 20 20 74 6f 70 6f 6c 6f 67 69 63 61 6c 5f 73 6f 72 74 0a 20 20 20 20 fa 32 ----.....topological_sort......2
1c20 54 6f 70 6f 6c 6f 67 69 63 61 6c 20 73 6f 72 74 20 6e 6f 74 20 64 65 66 69 6e 65 64 20 6f 6e 20 Topological.sort.not.defined.on.
1c40 75 6e 64 69 72 65 63 74 65 64 20 67 72 61 70 68 73 2e 72 02 00 00 00 fa 1e 47 72 61 70 68 20 63 undirected.graphs.r......Graph.c
1c60 68 61 6e 67 65 64 20 64 75 72 69 6e 67 20 69 74 65 72 61 74 69 6f 6e e9 01 00 00 00 4e fa 38 47 hanged.during.iteration.....N.8G
1c80 72 61 70 68 20 63 6f 6e 74 61 69 6e 73 20 61 20 63 79 63 6c 65 20 6f 72 20 67 72 61 70 68 20 63 raph.contains.a.cycle.or.graph.c
1ca0 68 61 6e 67 65 64 20 64 75 72 69 6e 67 20 69 74 65 72 61 74 69 6f 6e 29 0b 72 2f 00 00 00 72 1f hanged.during.iteration).r/...r.
1cc0 00 00 00 da 0d 4e 65 74 77 6f 72 6b 58 45 72 72 6f 72 da 0d 69 73 5f 6d 75 6c 74 69 67 72 61 70 .....NetworkXError..is_multigrap
1ce0 68 da 09 69 6e 5f 64 65 67 72 65 65 da 0c 52 75 6e 74 69 6d 65 45 72 72 6f 72 da 09 6e 65 69 67 h..in_degree..RuntimeError..neig
1d00 68 62 6f 72 73 da 03 6c 65 6e da 08 4b 65 79 45 72 72 6f 72 da 06 61 70 70 65 6e 64 72 2b 00 00 hbors..len..KeyError..appendr+..
1d20 00 29 0a 72 22 00 00 00 da 0a 6d 75 6c 74 69 67 72 61 70 68 da 01 76 da 01 64 da 0c 69 6e 64 65 .).r".....multigraph..v..d..inde
1d40 67 72 65 65 5f 6d 61 70 da 0d 7a 65 72 6f 5f 69 6e 64 65 67 72 65 65 da 0f 74 68 69 73 5f 67 65 gree_map..zero_indegree..this_ge
1d60 6e 65 72 61 74 69 6f 6e da 04 6e 6f 64 65 72 25 00 00 00 da 03 65 72 72 73 0a 00 00 00 20 20 20 neration..noder%.....errs.......
1d80 20 20 20 20 20 20 20 72 26 00 00 00 72 12 00 00 00 72 12 00 00 00 a6 00 00 00 73 64 01 00 00 e8 .......r&...r....r........sd....
1da0 00 f8 80 00 f0 62 01 00 0c 0d 8f 3d 89 3d 8c 3f dc 0e 10 d7 0e 1e d1 0e 1e d0 1f 53 d3 0e 54 d0 .....b.....=.=.?...........S..T.
1dc0 08 54 e0 11 12 97 1f 91 1f d3 11 22 80 4a d8 25 26 a7 5b a1 5b a3 5d d7 13 3c 99 54 98 51 a0 01 .T.........".J.%&.[.[.]..<.T.Q..
1de0 b0 61 b8 21 b3 65 90 41 90 71 91 44 d0 13 3c 80 4c d1 13 3c d8 23 24 a7 3b a1 3b a3 3d d7 14 3b .a.!.e.A.q.D..<.L..<.#$.;.;.=..;
1e00 99 34 98 31 98 61 b0 41 b8 11 b3 46 92 51 d0 14 3b 80 4d d1 14 3b e1 0a 17 d8 1a 27 88 0f d8 18 .4.1.a.A...F.Q..;.M..;.....'....
1e20 1a 88 0d d8 14 23 f2 00 0a 09 2c 88 44 d8 0f 13 98 31 89 7d dc 16 22 d0 23 43 d3 16 44 d0 10 44 .....#....,.D....1.}..".#C..D..D
1e40 d8 19 1a 9f 1b 99 1b a0 54 d3 19 2a f2 00 07 0d 2c 90 05 f0 02 03 11 52 01 d8 14 20 a0 15 d3 14 ........T..*....,......R........
1e60 27 c1 2a ac 33 a8 71 b0 14 a9 77 b0 75 a9 7e d4 2b 3e d0 52 53 d1 14 53 d3 14 27 f0 06 00 14 20 '.*.3.q...w.u.~.+>.RS..S..'.....
1e80 a0 05 d1 13 26 a8 21 d3 13 2b d8 14 21 d7 14 28 d1 14 28 a8 15 d4 14 2f d8 18 24 a0 55 d1 18 2b ....&.!..+..!..(..(..../..$.U..+
1ea0 f1 0f 07 0d 2c f0 07 0a 09 2c f0 16 00 0f 1e d2 08 1d f2 1d 00 0b 18 f1 20 00 08 14 dc 0e 10 d7 ....,....,......................
1ec0 0e 23 d1 0e 23 d8 0c 46 f3 03 02 0f 0a f0 00 02 09 0a f0 03 00 08 14 f9 f3 27 00 14 3d f9 db 14 .#..#..F.................'..=...
1ee0 3b f8 f4 16 00 18 20 f2 00 01 11 52 01 dc 1a 26 d0 27 47 d3 1a 48 c8 63 d0 14 51 fb f0 03 01 11 ;..........R...&.'G..H.c..Q.....
1f00 52 01 fc 73 5a 00 00 00 82 41 09 45 01 01 c1 0b 0d 44 18 06 c1 19 05 44 18 06 c1 1e 16 45 01 01 R..sZ....A.E.....D.....D.....E..
1f20 c1 34 0d 44 1e 06 c2 02 04 44 1e 06 c2 06 31 45 01 01 c2 38 20 44 24 04 c3 18 08 45 01 01 c3 21 .4.D.....D....1E...8.D$....E...!
1f40 1e 45 01 01 c4 00 24 45 01 01 c4 24 09 44 3e 07 c4 2d 0c 44 39 07 c4 39 05 44 3e 07 c4 3e 03 45 .E....$E...$.D>..-.D9..9.D>..>.E
1f60 01 01 63 01 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 23 00 00 00 f3 58 00 00 00 4b 00 01 00 ..c................#....X...K...
1f80 97 00 74 01 00 00 00 00 00 00 00 00 6a 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..t.........j...................
1fa0 7c 00 ab 01 00 00 00 00 00 00 44 00 5d 0c 00 00 7d 01 7c 01 45 00 64 01 7b 03 00 00 96 02 97 02 |.........D.]...}.|.E.d.{.......
1fc0 86 05 05 00 01 00 8c 0e 04 00 79 01 37 00 8c 07 ad 03 77 01 29 02 61 10 08 00 00 52 65 74 75 72 ..........y.7.....w.).a....Retur
1fe0 6e 73 20 61 20 67 65 6e 65 72 61 74 6f 72 20 6f 66 20 6e 6f 64 65 73 20 69 6e 20 74 6f 70 6f 6c ns.a.generator.of.nodes.in.topol
2000 6f 67 69 63 61 6c 6c 79 20 73 6f 72 74 65 64 20 6f 72 64 65 72 2e 0a 0a 20 20 20 20 41 20 74 6f ogically.sorted.order.......A.to
2020 70 6f 6c 6f 67 69 63 61 6c 20 73 6f 72 74 20 69 73 20 61 20 6e 6f 6e 75 6e 69 71 75 65 20 70 65 pological.sort.is.a.nonunique.pe
2040 72 6d 75 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 6e 6f 64 65 73 20 6f 66 20 61 0a 20 20 20 20 rmutation.of.the.nodes.of.a.....
2060 64 69 72 65 63 74 65 64 20 67 72 61 70 68 20 73 75 63 68 20 74 68 61 74 20 61 6e 20 65 64 67 65 directed.graph.such.that.an.edge
2080 20 66 72 6f 6d 20 75 20 74 6f 20 76 20 69 6d 70 6c 69 65 73 20 74 68 61 74 20 75 0a 20 20 20 20 .from.u.to.v.implies.that.u.....
20a0 61 70 70 65 61 72 73 20 62 65 66 6f 72 65 20 76 20 69 6e 20 74 68 65 20 74 6f 70 6f 6c 6f 67 69 appears.before.v.in.the.topologi
20c0 63 61 6c 20 73 6f 72 74 20 6f 72 64 65 72 2e 20 54 68 69 73 20 6f 72 64 65 72 69 6e 67 20 69 73 cal.sort.order..This.ordering.is
20e0 0a 20 20 20 20 76 61 6c 69 64 20 6f 6e 6c 79 20 69 66 20 74 68 65 20 67 72 61 70 68 20 68 61 73 .....valid.only.if.the.graph.has
2100 20 6e 6f 20 64 69 72 65 63 74 65 64 20 63 79 63 6c 65 73 2e 0a 0a 20 20 20 20 50 61 72 61 6d 65 .no.directed.cycles.......Parame
2120 74 65 72 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 47 20 3a 20 4e 65 74 77 ters.....----------.....G.:.Netw
2140 6f 72 6b 58 20 64 69 67 72 61 70 68 0a 20 20 20 20 20 20 20 20 41 20 64 69 72 65 63 74 65 64 20 orkX.digraph.........A.directed.
2160 61 63 79 63 6c 69 63 20 67 72 61 70 68 20 28 44 41 47 29 0a 0a 20 20 20 20 59 69 65 6c 64 73 0a acyclic.graph.(DAG)......Yields.
2180 20 20 20 20 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 6e 6f 64 65 73 0a 20 20 20 20 20 20 20 20 59 69 65 ....------.....nodes.........Yie
21a0 6c 64 73 20 74 68 65 20 6e 6f 64 65 73 20 69 6e 20 74 6f 70 6f 6c 6f 67 69 63 61 6c 20 73 6f 72 lds.the.nodes.in.topological.sor
21c0 74 65 64 20 6f 72 64 65 72 2e 0a 0a 20 20 20 20 52 61 69 73 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d ted.order.......Raises.....-----
21e0 2d 0a 20 20 20 20 4e 65 74 77 6f 72 6b 58 45 72 72 6f 72 0a 20 20 20 20 20 20 20 20 54 6f 70 6f -.....NetworkXError.........Topo
2200 6c 6f 67 69 63 61 6c 20 73 6f 72 74 20 69 73 20 64 65 66 69 6e 65 64 20 66 6f 72 20 64 69 72 65 logical.sort.is.defined.for.dire
2220 63 74 65 64 20 67 72 61 70 68 73 20 6f 6e 6c 79 2e 20 49 66 20 74 68 65 20 67 72 61 70 68 20 60 cted.graphs.only..If.the.graph.`
2240 47 60 0a 20 20 20 20 20 20 20 20 69 73 20 75 6e 64 69 72 65 63 74 65 64 2c 20 61 20 3a 65 78 63 G`.........is.undirected,.a.:exc
2260 3a 60 4e 65 74 77 6f 72 6b 58 45 72 72 6f 72 60 20 69 73 20 72 61 69 73 65 64 2e 0a 0a 20 20 20 :`NetworkXError`.is.raised......
2280 20 4e 65 74 77 6f 72 6b 58 55 6e 66 65 61 73 69 62 6c 65 0a 20 20 20 20 20 20 20 20 49 66 20 60 .NetworkXUnfeasible.........If.`
22a0 47 60 20 69 73 20 6e 6f 74 20 61 20 64 69 72 65 63 74 65 64 20 61 63 79 63 6c 69 63 20 67 72 61 G`.is.not.a.directed.acyclic.gra
22c0 70 68 20 28 44 41 47 29 20 6e 6f 20 74 6f 70 6f 6c 6f 67 69 63 61 6c 20 73 6f 72 74 20 65 78 69 ph.(DAG).no.topological.sort.exi
22e0 73 74 73 0a 20 20 20 20 20 20 20 20 61 6e 64 20 61 20 3a 65 78 63 3a 60 4e 65 74 77 6f 72 6b 58 sts.........and.a.:exc:`NetworkX
2300 55 6e 66 65 61 73 69 62 6c 65 60 20 65 78 63 65 70 74 69 6f 6e 20 69 73 20 72 61 69 73 65 64 2e Unfeasible`.exception.is.raised.
2320 20 20 54 68 69 73 20 63 61 6e 20 61 6c 73 6f 20 62 65 0a 20 20 20 20 20 20 20 20 72 61 69 73 65 ..This.can.also.be.........raise
2340 64 20 69 66 20 60 47 60 20 69 73 20 63 68 61 6e 67 65 64 20 77 68 69 6c 65 20 74 68 65 20 72 65 d.if.`G`.is.changed.while.the.re
2360 74 75 72 6e 65 64 20 69 74 65 72 61 74 6f 72 20 69 73 20 62 65 69 6e 67 20 70 72 6f 63 65 73 73 turned.iterator.is.being.process
2380 65 64 0a 0a 20 20 20 20 52 75 6e 74 69 6d 65 45 72 72 6f 72 0a 20 20 20 20 20 20 20 20 49 66 20 ed......RuntimeError.........If.
23a0 60 47 60 20 69 73 20 63 68 61 6e 67 65 64 20 77 68 69 6c 65 20 74 68 65 20 72 65 74 75 72 6e 65 `G`.is.changed.while.the.returne
23c0 64 20 69 74 65 72 61 74 6f 72 20 69 73 20 62 65 69 6e 67 20 70 72 6f 63 65 73 73 65 64 2e 0a 0a d.iterator.is.being.processed...
23e0 20 20 20 20 45 78 61 6d 70 6c 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 54 6f ....Examples.....--------.....To
2400 20 67 65 74 20 74 68 65 20 72 65 76 65 72 73 65 20 6f 72 64 65 72 20 6f 66 20 74 68 65 20 74 6f .get.the.reverse.order.of.the.to
2420 70 6f 6c 6f 67 69 63 61 6c 20 73 6f 72 74 3a 0a 0a 20 20 20 20 3e 3e 3e 20 44 47 20 3d 20 6e 78 pological.sort:......>>>.DG.=.nx
2440 2e 44 69 47 72 61 70 68 28 5b 28 31 2c 20 32 29 2c 20 28 32 2c 20 33 29 5d 29 0a 20 20 20 20 3e .DiGraph([(1,.2),.(2,.3)]).....>
2460 3e 3e 20 6c 69 73 74 28 72 65 76 65 72 73 65 64 28 6c 69 73 74 28 6e 78 2e 74 6f 70 6f 6c 6f 67 >>.list(reversed(list(nx.topolog
2480 69 63 61 6c 5f 73 6f 72 74 28 44 47 29 29 29 29 0a 20 20 20 20 5b 33 2c 20 32 2c 20 31 5d 0a 0a ical_sort(DG)))).....[3,.2,.1]..
24a0 20 20 20 20 49 66 20 79 6f 75 72 20 44 69 47 72 61 70 68 20 6e 61 74 75 72 61 6c 6c 79 20 68 61 ....If.your.DiGraph.naturally.ha
24c0 73 20 74 68 65 20 65 64 67 65 73 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 61 73 6b 73 2f 69 s.the.edges.representing.tasks/i
24e0 6e 70 75 74 73 0a 20 20 20 20 61 6e 64 20 6e 6f 64 65 73 20 72 65 70 72 65 73 65 6e 74 69 6e 67 nputs.....and.nodes.representing
2500 20 70 65 6f 70 6c 65 2f 70 72 6f 63 65 73 73 65 73 20 74 68 61 74 20 69 6e 69 74 69 61 74 65 20 .people/processes.that.initiate.
2520 74 61 73 6b 73 2c 20 74 68 65 6e 0a 20 20 20 20 74 6f 70 6f 6c 6f 67 69 63 61 6c 5f 73 6f 72 74 tasks,.then.....topological_sort
2540 20 69 73 20 6e 6f 74 20 71 75 69 74 65 20 77 68 61 74 20 79 6f 75 20 6e 65 65 64 2e 20 59 6f 75 .is.not.quite.what.you.need..You
2560 20 77 69 6c 6c 20 68 61 76 65 20 74 6f 20 63 68 61 6e 67 65 0a 20 20 20 20 74 68 65 20 74 61 73 .will.have.to.change.....the.tas
2580 6b 73 20 74 6f 20 6e 6f 64 65 73 20 77 69 74 68 20 64 65 70 65 6e 64 65 6e 63 65 20 72 65 66 6c ks.to.nodes.with.dependence.refl
25a0 65 63 74 65 64 20 62 79 20 65 64 67 65 73 2e 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 0a 20 20 ected.by.edges..The.result.is...
25c0 20 20 61 20 6b 69 6e 64 20 6f 66 20 74 6f 70 6f 6c 6f 67 69 63 61 6c 20 73 6f 72 74 20 6f 66 20 ..a.kind.of.topological.sort.of.
25e0 74 68 65 20 65 64 67 65 73 2e 20 54 68 69 73 20 63 61 6e 20 62 65 20 64 6f 6e 65 0a 20 20 20 20 the.edges..This.can.be.done.....
2600 77 69 74 68 20 3a 66 75 6e 63 3a 60 6e 65 74 77 6f 72 6b 78 2e 6c 69 6e 65 5f 67 72 61 70 68 60 with.:func:`networkx.line_graph`
2620 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 0a 20 20 20 20 3e 3e 3e 20 6c 69 73 74 28 6e 78 2e 74 6f .as.follows:......>>>.list(nx.to
2640 70 6f 6c 6f 67 69 63 61 6c 5f 73 6f 72 74 28 6e 78 2e 6c 69 6e 65 5f 67 72 61 70 68 28 44 47 29 pological_sort(nx.line_graph(DG)
2660 29 29 0a 20 20 20 20 5b 28 31 2c 20 32 29 2c 20 28 32 2c 20 33 29 5d 0a 0a 20 20 20 20 4e 6f 74 )).....[(1,.2),.(2,.3)]......Not
2680 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 0a 20 20 20 20 54 68 69 73 20 61 6c 67 6f 72 69 74 68 6d 20 es.....-----.....This.algorithm.
26a0 69 73 20 62 61 73 65 64 20 6f 6e 20 61 20 64 65 73 63 72 69 70 74 69 6f 6e 20 61 6e 64 20 70 72 is.based.on.a.description.and.pr
26c0 6f 6f 66 20 69 6e 0a 20 20 20 20 22 49 6e 74 72 6f 64 75 63 74 69 6f 6e 20 74 6f 20 41 6c 67 6f oof.in....."Introduction.to.Algo
26e0 72 69 74 68 6d 73 3a 20 41 20 43 72 65 61 74 69 76 65 20 41 70 70 72 6f 61 63 68 22 20 5b 31 5d rithms:.A.Creative.Approach".[1]
2700 5f 20 2e 0a 0a 20 20 20 20 53 65 65 20 61 6c 73 6f 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 _........See.also.....--------..
2720 20 20 20 69 73 5f 64 69 72 65 63 74 65 64 5f 61 63 79 63 6c 69 63 5f 67 72 61 70 68 2c 20 6c 65 ...is_directed_acyclic_graph,.le
2740 78 69 63 6f 67 72 61 70 68 69 63 61 6c 5f 74 6f 70 6f 6c 6f 67 69 63 61 6c 5f 73 6f 72 74 0a 0a xicographical_topological_sort..
2760 20 20 20 20 52 65 66 65 72 65 6e 63 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 ....References.....----------...
2780 20 20 2e 2e 20 5b 31 5d 20 4d 61 6e 62 65 72 2c 20 55 2e 20 28 31 39 38 39 29 2e 0a 20 20 20 20 .....[1].Manber,.U..(1989)......
27a0 20 20 20 2a 49 6e 74 72 6f 64 75 63 74 69 6f 6e 20 74 6f 20 41 6c 67 6f 72 69 74 68 6d 73 20 2d ...*Introduction.to.Algorithms.-
27c0 20 41 20 43 72 65 61 74 69 76 65 20 41 70 70 72 6f 61 63 68 2e 2a 20 41 64 64 69 73 6f 6e 2d 57 .A.Creative.Approach.*.Addison-W
27e0 65 73 6c 65 79 2e 0a 20 20 20 20 4e 29 02 72 1f 00 00 00 72 12 00 00 00 29 02 72 22 00 00 00 da esley......N).r....r....).r"....
2800 0a 67 65 6e 65 72 61 74 69 6f 6e 73 02 00 00 00 20 20 72 26 00 00 00 72 0f 00 00 00 72 0f 00 00 .generations......r&...r....r...
2820 00 f4 00 00 00 73 2f 00 00 00 e8 00 f8 80 00 f4 42 02 00 17 19 d7 16 30 d1 16 30 b0 11 d3 16 33 .....s/.........B......0..0....3
2840 f2 00 01 05 1e 88 0a d8 13 1d d7 08 1d d1 08 1d f1 03 01 05 1e d8 08 1d fa 73 0c 00 00 00 82 1e .........................s......
2860 2a 01 a0 01 28 06 a1 08 2a 01 63 02 00 00 00 00 00 00 00 00 00 00 00 07 00 00 00 23 00 00 00 f3 *...(...*.c................#....
2880 5a 03 00 00 87 01 87 0e 4b 00 01 00 97 00 7c 00 6a 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Z.......K.....|.j...............
28a0 00 00 00 00 ab 00 00 00 00 00 00 00 73 17 64 01 7d 02 74 03 00 00 00 00 00 00 00 00 6a 04 00 00 ............s.d.}.t.........j...
28c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 02 ab 01 00 00 00 00 00 00 82 01 89 01 80 03 ................|...............
28e0 64 03 84 00 8a 01 74 07 00 00 00 00 00 00 00 00 7c 00 ab 01 00 00 00 00 00 00 44 00 8f 03 8f 04 d.....t.........|.........D.....
2900 63 03 69 00 63 02 5d 08 00 00 5c 02 00 00 7d 03 7d 04 7c 04 7c 03 93 02 8c 0a 04 00 63 03 7d 04 c.i.c.]...\...}.}.|.|.......c.}.
2920 7d 03 8a 0e 88 01 88 0e 66 02 64 04 84 08 7d 05 7c 00 6a 09 00 00 00 00 00 00 00 00 00 00 00 00 }.......f.d...}.|.j.............
2940 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 44 00 8f 06 8f 07 63 03 69 00 63 02 5d 0e 00 00 5c 02 ..............D.....c.i.c.]...\.
2960 00 00 7d 06 7d 07 7c 07 64 05 6b 44 00 00 73 01 8c 0c 7c 06 7c 07 93 02 8c 10 04 00 7d 08 7d 06 ..}.}.|.d.kD..s...|.|.......}.}.
2980 7d 07 7c 00 6a 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 }.|.j...........................
29a0 44 00 8f 06 8f 07 63 03 67 00 63 02 5d 13 00 00 5c 02 00 00 7d 06 7d 07 7c 07 64 05 6b 28 00 00 D.....c.g.c.]...\...}.}.|.d.k(..
29c0 73 01 8c 0c 02 00 7c 05 7c 06 ab 01 00 00 00 00 00 00 91 02 8c 15 04 00 7d 09 7d 06 7d 07 74 0b s.....|.|...............}.}.}.t.
29e0 00 00 00 00 00 00 00 00 6a 0c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 09 ab 01 ........j...................|...
2a00 00 00 00 00 00 00 01 00 7c 09 72 7f 74 0b 00 00 00 00 00 00 00 00 6a 0e 00 00 00 00 00 00 00 00 ........|.r.t.........j.........
2a20 00 00 00 00 00 00 00 00 00 00 7c 09 ab 01 00 00 00 00 00 00 5c 03 00 00 7d 0a 7d 0a 7d 0b 7c 0b ..........|.........\...}.}.}.|.
2a40 7c 00 76 01 72 0b 74 11 00 00 00 00 00 00 00 00 64 06 ab 01 00 00 00 00 00 00 82 01 7c 00 6a 13 |.v.r.t.........d...........|.j.
2a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 0b ab 01 00 00 00 00 00 00 44 00 5d 3c ..................|.........D.]<
2a80 00 00 5c 02 00 00 7d 0a 7d 0c 09 00 7c 08 7c 0c 78 02 78 02 19 00 00 00 64 07 7a 17 00 00 63 03 ..\...}.}...|.|.x.x.....d.z...c.
2aa0 63 02 3c 00 00 00 7c 08 7c 0c 19 00 00 00 64 05 6b 28 00 00 73 01 8c 1d 09 00 74 0b 00 00 00 00 c.<...|.|.....d.k(..s.....t.....
2ac0 00 00 00 00 6a 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 09 02 00 7c 05 7c 0c ....j...................|...|.|.
2ae0 ab 01 00 00 00 00 00 00 ab 02 00 00 00 00 00 00 01 00 7c 08 7c 0c 3d 00 8c 3e 04 00 7c 0b 96 01 ..................|.|.=..>..|...
2b00 97 01 01 00 7c 09 72 01 8c 7f 7c 08 72 17 64 09 7d 02 74 03 00 00 00 00 00 00 00 00 6a 1a 00 00 ....|.r...|.r.d.}.t.........j...
2b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 02 ab 01 00 00 00 00 00 00 82 01 79 02 63 02 ................|...........y.c.
2b40 01 00 63 03 7d 04 7d 03 77 00 63 02 01 00 63 03 7d 07 7d 06 77 00 63 02 01 00 63 03 7d 07 7d 06 ..c.}.}.w.c...c.}.}.w.c...c.}.}.
2b60 77 00 23 00 74 14 00 00 00 00 00 00 00 00 24 00 72 11 7d 0d 74 11 00 00 00 00 00 00 00 00 64 06 w.#.t.........$.r.}.t.........d.
2b80 ab 01 00 00 00 00 00 00 7c 0d 82 02 64 02 7d 0d 7e 0d 77 01 77 00 78 03 59 00 77 01 23 00 74 18 ........|...d.}.~.w.w.x.Y.w.#.t.
2ba0 00 00 00 00 00 00 00 00 24 00 72 13 7d 0d 74 19 00 00 00 00 00 00 00 00 7c 0d 9b 00 64 08 9d 02 ........$.r.}.t.........|...d...
2bc0 ab 01 00 00 00 00 00 00 82 01 64 02 7d 0d 7e 0d 77 01 77 00 78 03 59 00 77 01 ad 03 77 01 29 0a ..........d.}.~.w.w.x.Y.w...w.).
2be0 61 ed 0e 00 00 47 65 6e 65 72 61 74 65 20 74 68 65 20 6e 6f 64 65 73 20 69 6e 20 74 68 65 20 75 a....Generate.the.nodes.in.the.u
2c00 6e 69 71 75 65 20 6c 65 78 69 63 6f 67 72 61 70 68 69 63 61 6c 20 74 6f 70 6f 6c 6f 67 69 63 61 nique.lexicographical.topologica
2c20 6c 20 73 6f 72 74 20 6f 72 64 65 72 2e 0a 0a 20 20 20 20 47 65 6e 65 72 61 74 65 73 20 61 20 75 l.sort.order.......Generates.a.u
2c40 6e 69 71 75 65 20 6f 72 64 65 72 69 6e 67 20 6f 66 20 6e 6f 64 65 73 20 62 79 20 66 69 72 73 74 nique.ordering.of.nodes.by.first
2c60 20 73 6f 72 74 69 6e 67 20 74 6f 70 6f 6c 6f 67 69 63 61 6c 6c 79 20 28 66 6f 72 20 77 68 69 63 .sorting.topologically.(for.whic
2c80 68 20 74 68 65 72 65 20 61 72 65 20 6f 66 74 65 6e 0a 20 20 20 20 6d 75 6c 74 69 70 6c 65 20 76 h.there.are.often.....multiple.v
2ca0 61 6c 69 64 20 6f 72 64 65 72 69 6e 67 73 29 20 61 6e 64 20 74 68 65 6e 20 61 64 64 69 74 69 6f alid.orderings).and.then.additio
2cc0 6e 61 6c 6c 79 20 62 79 20 73 6f 72 74 69 6e 67 20 6c 65 78 69 63 6f 67 72 61 70 68 69 63 61 6c nally.by.sorting.lexicographical
2ce0 6c 79 2e 0a 0a 20 20 20 20 41 20 74 6f 70 6f 6c 6f 67 69 63 61 6c 20 73 6f 72 74 20 61 72 72 61 ly.......A.topological.sort.arra
2d00 6e 67 65 73 20 74 68 65 20 6e 6f 64 65 73 20 6f 66 20 61 20 64 69 72 65 63 74 65 64 20 67 72 61 nges.the.nodes.of.a.directed.gra
2d20 70 68 20 73 6f 20 74 68 61 74 20 74 68 65 0a 20 20 20 20 75 70 73 74 72 65 61 6d 20 6e 6f 64 65 ph.so.that.the.....upstream.node
2d40 20 6f 66 20 65 61 63 68 20 64 69 72 65 63 74 65 64 20 65 64 67 65 20 70 72 65 63 65 64 65 73 20 .of.each.directed.edge.precedes.
2d60 74 68 65 20 64 6f 77 6e 73 74 72 65 61 6d 20 6e 6f 64 65 2e 0a 20 20 20 20 49 74 20 69 73 20 61 the.downstream.node......It.is.a
2d80 6c 77 61 79 73 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 66 69 6e 64 20 61 20 73 6f 6c 75 74 69 6f lways.possible.to.find.a.solutio
2da0 6e 20 66 6f 72 20 64 69 72 65 63 74 65 64 20 67 72 61 70 68 73 20 74 68 61 74 20 68 61 76 65 20 n.for.directed.graphs.that.have.
2dc0 6e 6f 20 63 79 63 6c 65 73 2e 0a 20 20 20 20 54 68 65 72 65 20 6d 61 79 20 62 65 20 6d 6f 72 65 no.cycles......There.may.be.more
2de0 20 74 68 61 6e 20 6f 6e 65 20 76 61 6c 69 64 20 73 6f 6c 75 74 69 6f 6e 2e 0a 0a 20 20 20 20 4c .than.one.valid.solution.......L
2e00 65 78 69 63 6f 67 72 61 70 68 69 63 61 6c 20 73 6f 72 74 69 6e 67 20 69 73 20 6a 75 73 74 20 73 exicographical.sorting.is.just.s
2e20 6f 72 74 69 6e 67 20 61 6c 70 68 61 62 65 74 69 63 61 6c 6c 79 2e 20 49 74 20 69 73 20 75 73 65 orting.alphabetically..It.is.use
2e40 64 20 68 65 72 65 20 74 6f 20 62 72 65 61 6b 20 74 69 65 73 20 69 6e 20 74 68 65 0a 20 20 20 20 d.here.to.break.ties.in.the.....
2e60 74 6f 70 6f 6c 6f 67 69 63 61 6c 20 73 6f 72 74 20 61 6e 64 20 74 6f 20 64 65 74 65 72 6d 69 6e topological.sort.and.to.determin
2e80 65 20 61 20 73 69 6e 67 6c 65 2c 20 75 6e 69 71 75 65 20 6f 72 64 65 72 69 6e 67 2e 20 20 54 68 e.a.single,.unique.ordering...Th
2ea0 69 73 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c 20 69 6e 20 63 6f 6d 70 61 72 69 6e 67 0a 20 20 is.can.be.useful.in.comparing...
2ec0 20 20 73 6f 72 74 20 72 65 73 75 6c 74 73 2e 0a 0a 20 20 20 20 54 68 65 20 6c 65 78 69 63 6f 67 ..sort.results.......The.lexicog
2ee0 72 61 70 68 69 63 61 6c 20 6f 72 64 65 72 20 63 61 6e 20 62 65 20 63 75 73 74 6f 6d 69 7a 65 64 raphical.order.can.be.customized
2f00 20 62 79 20 70 72 6f 76 69 64 69 6e 67 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 74 68 65 20 .by.providing.a.function.to.the.
2f20 60 6b 65 79 3d 60 20 70 61 72 61 6d 65 74 65 72 2e 0a 20 20 20 20 54 68 65 20 64 65 66 69 6e 69 `key=`.parameter......The.defini
2f40 74 69 6f 6e 20 6f 66 20 74 68 65 20 6b 65 79 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 68 65 20 tion.of.the.key.function.is.the.
2f60 73 61 6d 65 20 61 73 20 75 73 65 64 20 69 6e 20 70 79 74 68 6f 6e 27 73 20 62 75 69 6c 74 2d 69 same.as.used.in.python's.built-i
2f80 6e 20 60 73 6f 72 74 28 29 60 2e 0a 20 20 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b n.`sort()`......The.function.tak
2fa0 65 73 20 61 20 73 69 6e 67 6c 65 20 61 72 67 75 6d 65 6e 74 20 61 6e 64 20 72 65 74 75 72 6e 73 es.a.single.argument.and.returns
2fc0 20 61 20 6b 65 79 20 74 6f 20 75 73 65 20 66 6f 72 20 73 6f 72 74 69 6e 67 20 70 75 72 70 6f 73 .a.key.to.use.for.sorting.purpos
2fe0 65 73 2e 0a 0a 20 20 20 20 4c 65 78 69 63 6f 67 72 61 70 68 69 63 61 6c 20 73 6f 72 74 69 6e 67 es.......Lexicographical.sorting
3000 20 63 61 6e 20 66 61 69 6c 20 69 66 20 74 68 65 20 6e 6f 64 65 20 6e 61 6d 65 73 20 61 72 65 20 .can.fail.if.the.node.names.are.
3020 75 6e 2d 73 6f 72 74 61 62 6c 65 2e 20 53 65 65 20 74 68 65 20 65 78 61 6d 70 6c 65 20 62 65 6c un-sortable..See.the.example.bel
3040 6f 77 2e 0a 20 20 20 20 54 68 65 20 73 6f 6c 75 74 69 6f 6e 20 69 73 20 74 6f 20 70 72 6f 76 69 ow......The.solution.is.to.provi
3060 64 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 74 68 65 20 60 6b 65 79 3d 60 20 61 72 67 75 de.a.function.to.the.`key=`.argu
3080 6d 65 6e 74 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 73 6f 72 74 61 62 6c 65 20 6b 65 79 73 2e ment.that.returns.sortable.keys.
30a0 0a 0a 0a 20 20 20 20 50 61 72 61 6d 65 74 65 72 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .......Parameters.....----------
30c0 0a 20 20 20 20 47 20 3a 20 4e 65 74 77 6f 72 6b 58 20 64 69 67 72 61 70 68 0a 20 20 20 20 20 20 .....G.:.NetworkX.digraph.......
30e0 20 20 41 20 64 69 72 65 63 74 65 64 20 61 63 79 63 6c 69 63 20 67 72 61 70 68 20 28 44 41 47 29 ..A.directed.acyclic.graph.(DAG)
3100 0a 0a 20 20 20 20 6b 65 79 20 3a 20 66 75 6e 63 74 69 6f 6e 2c 20 6f 70 74 69 6f 6e 61 6c 0a 20 ......key.:.function,.optional..
3120 20 20 20 20 20 20 20 41 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e .......A.function.of.one.argumen
3140 74 20 74 68 61 74 20 63 6f 6e 76 65 72 74 73 20 61 20 6e 6f 64 65 20 6e 61 6d 65 20 74 6f 20 61 t.that.converts.a.node.name.to.a
3160 20 63 6f 6d 70 61 72 69 73 6f 6e 20 6b 65 79 2e 0a 20 20 20 20 20 20 20 20 49 74 20 64 65 66 69 .comparison.key..........It.defi
3180 6e 65 73 20 61 6e 64 20 72 65 73 6f 6c 76 65 73 20 61 6d 62 69 67 75 69 74 69 65 73 20 69 6e 20 nes.and.resolves.ambiguities.in.
31a0 74 68 65 20 73 6f 72 74 20 6f 72 64 65 72 2e 20 20 44 65 66 61 75 6c 74 73 20 74 6f 20 74 68 65 the.sort.order...Defaults.to.the
31c0 20 69 64 65 6e 74 69 74 79 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 59 69 65 6c 64 73 0a .identity.function.......Yields.
31e0 20 20 20 20 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 6e 6f 64 65 73 0a 20 20 20 20 20 20 20 20 59 69 65 ....------.....nodes.........Yie
3200 6c 64 73 20 74 68 65 20 6e 6f 64 65 73 20 6f 66 20 47 20 69 6e 20 6c 65 78 69 63 6f 67 72 61 70 lds.the.nodes.of.G.in.lexicograp
3220 68 69 63 61 6c 20 74 6f 70 6f 6c 6f 67 69 63 61 6c 20 73 6f 72 74 20 6f 72 64 65 72 2e 0a 0a 20 hical.topological.sort.order....
3240 20 20 20 52 61 69 73 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 4e 65 74 77 6f 72 6b ...Raises.....------.....Network
3260 58 45 72 72 6f 72 0a 20 20 20 20 20 20 20 20 54 6f 70 6f 6c 6f 67 69 63 61 6c 20 73 6f 72 74 20 XError.........Topological.sort.
3280 69 73 20 64 65 66 69 6e 65 64 20 66 6f 72 20 64 69 72 65 63 74 65 64 20 67 72 61 70 68 73 20 6f is.defined.for.directed.graphs.o
32a0 6e 6c 79 2e 20 49 66 20 74 68 65 20 67 72 61 70 68 20 60 47 60 0a 20 20 20 20 20 20 20 20 69 73 nly..If.the.graph.`G`.........is
32c0 20 75 6e 64 69 72 65 63 74 65 64 2c 20 61 20 3a 65 78 63 3a 60 4e 65 74 77 6f 72 6b 58 45 72 72 .undirected,.a.:exc:`NetworkXErr
32e0 6f 72 60 20 69 73 20 72 61 69 73 65 64 2e 0a 0a 20 20 20 20 4e 65 74 77 6f 72 6b 58 55 6e 66 65 or`.is.raised.......NetworkXUnfe
3300 61 73 69 62 6c 65 0a 20 20 20 20 20 20 20 20 49 66 20 60 47 60 20 69 73 20 6e 6f 74 20 61 20 64 asible.........If.`G`.is.not.a.d
3320 69 72 65 63 74 65 64 20 61 63 79 63 6c 69 63 20 67 72 61 70 68 20 28 44 41 47 29 20 6e 6f 20 74 irected.acyclic.graph.(DAG).no.t
3340 6f 70 6f 6c 6f 67 69 63 61 6c 20 73 6f 72 74 20 65 78 69 73 74 73 0a 20 20 20 20 20 20 20 20 61 opological.sort.exists.........a
3360 6e 64 20 61 20 3a 65 78 63 3a 60 4e 65 74 77 6f 72 6b 58 55 6e 66 65 61 73 69 62 6c 65 60 20 65 nd.a.:exc:`NetworkXUnfeasible`.e
3380 78 63 65 70 74 69 6f 6e 20 69 73 20 72 61 69 73 65 64 2e 20 20 54 68 69 73 20 63 61 6e 20 61 6c xception.is.raised...This.can.al
33a0 73 6f 20 62 65 0a 20 20 20 20 20 20 20 20 72 61 69 73 65 64 20 69 66 20 60 47 60 20 69 73 20 63 so.be.........raised.if.`G`.is.c
33c0 68 61 6e 67 65 64 20 77 68 69 6c 65 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 69 74 65 72 61 74 hanged.while.the.returned.iterat
33e0 6f 72 20 69 73 20 62 65 69 6e 67 20 70 72 6f 63 65 73 73 65 64 0a 0a 20 20 20 20 52 75 6e 74 69 or.is.being.processed......Runti
3400 6d 65 45 72 72 6f 72 0a 20 20 20 20 20 20 20 20 49 66 20 60 47 60 20 69 73 20 63 68 61 6e 67 65 meError.........If.`G`.is.change
3420 64 20 77 68 69 6c 65 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 69 74 65 72 61 74 6f 72 20 69 73 d.while.the.returned.iterator.is
3440 20 62 65 69 6e 67 20 70 72 6f 63 65 73 73 65 64 2e 0a 0a 20 20 20 20 54 79 70 65 45 72 72 6f 72 .being.processed.......TypeError
3460 0a 20 20 20 20 20 20 20 20 52 65 73 75 6c 74 73 20 66 72 6f 6d 20 75 6e 2d 73 6f 72 74 61 62 6c .........Results.from.un-sortabl
3480 65 20 6e 6f 64 65 20 6e 61 6d 65 73 2e 0a 20 20 20 20 20 20 20 20 43 6f 6e 73 69 64 65 72 20 75 e.node.names..........Consider.u
34a0 73 69 6e 67 20 60 6b 65 79 3d 60 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 72 65 73 6f 6c 76 65 sing.`key=`.parameter.to.resolve
34c0 20 61 6d 62 69 67 75 69 74 69 65 73 20 69 6e 20 74 68 65 20 73 6f 72 74 20 6f 72 64 65 72 2e 0a .ambiguities.in.the.sort.order..
34e0 0a 20 20 20 20 45 78 61 6d 70 6c 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 3e .....Examples.....--------.....>
3500 3e 3e 20 44 47 20 3d 20 6e 78 2e 44 69 47 72 61 70 68 28 5b 28 32 2c 20 31 29 2c 20 28 32 2c 20 >>.DG.=.nx.DiGraph([(2,.1),.(2,.
3520 35 29 2c 20 28 31 2c 20 33 29 2c 20 28 31 2c 20 34 29 2c 20 28 35 2c 20 34 29 5d 29 0a 20 20 20 5),.(1,.3),.(1,.4),.(5,.4)])....
3540 20 3e 3e 3e 20 6c 69 73 74 28 6e 78 2e 6c 65 78 69 63 6f 67 72 61 70 68 69 63 61 6c 5f 74 6f 70 .>>>.list(nx.lexicographical_top
3560 6f 6c 6f 67 69 63 61 6c 5f 73 6f 72 74 28 44 47 29 29 0a 20 20 20 20 5b 32 2c 20 31 2c 20 33 2c ological_sort(DG)).....[2,.1,.3,
3580 20 35 2c 20 34 5d 0a 20 20 20 20 3e 3e 3e 20 6c 69 73 74 28 6e 78 2e 6c 65 78 69 63 6f 67 72 61 .5,.4].....>>>.list(nx.lexicogra
35a0 70 68 69 63 61 6c 5f 74 6f 70 6f 6c 6f 67 69 63 61 6c 5f 73 6f 72 74 28 44 47 2c 20 6b 65 79 3d phical_topological_sort(DG,.key=
35c0 6c 61 6d 62 64 61 20 78 3a 20 2d 78 29 29 0a 20 20 20 20 5b 32 2c 20 35 2c 20 31 2c 20 34 2c 20 lambda.x:.-x)).....[2,.5,.1,.4,.
35e0 33 5d 0a 0a 20 20 20 20 54 68 65 20 73 6f 72 74 20 77 69 6c 6c 20 66 61 69 6c 20 66 6f 72 20 61 3]......The.sort.will.fail.for.a
3600 6e 79 20 67 72 61 70 68 20 77 69 74 68 20 69 6e 74 65 67 65 72 20 61 6e 64 20 73 74 72 69 6e 67 ny.graph.with.integer.and.string
3620 20 6e 6f 64 65 73 2e 20 43 6f 6d 70 61 72 69 73 6f 6e 20 6f 66 20 69 6e 74 65 67 65 72 20 74 6f .nodes..Comparison.of.integer.to
3640 20 73 74 72 69 6e 67 73 0a 20 20 20 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 20 69 6e 20 70 .strings.....is.not.defined.in.p
3660 79 74 68 6f 6e 2e 20 20 49 73 20 33 20 67 72 65 61 74 65 72 20 6f 72 20 6c 65 73 73 20 74 68 61 ython...Is.3.greater.or.less.tha
3680 6e 20 27 72 65 64 27 3f 0a 0a 20 20 20 20 3e 3e 3e 20 44 47 20 3d 20 6e 78 2e 44 69 47 72 61 70 n.'red'?......>>>.DG.=.nx.DiGrap
36a0 68 28 5b 28 31 2c 20 22 72 65 64 22 29 2c 20 28 33 2c 20 22 72 65 64 22 29 2c 20 28 31 2c 20 22 h([(1,."red"),.(3,."red"),.(1,."
36c0 67 72 65 65 6e 22 29 2c 20 28 32 2c 20 22 62 6c 75 65 22 29 5d 29 0a 20 20 20 20 3e 3e 3e 20 6c green"),.(2,."blue")]).....>>>.l
36e0 69 73 74 28 6e 78 2e 6c 65 78 69 63 6f 67 72 61 70 68 69 63 61 6c 5f 74 6f 70 6f 6c 6f 67 69 63 ist(nx.lexicographical_topologic
3700 61 6c 5f 73 6f 72 74 28 44 47 29 29 0a 20 20 20 20 54 72 61 63 65 62 61 63 6b 20 28 6d 6f 73 74 al_sort(DG)).....Traceback.(most
3720 20 72 65 63 65 6e 74 20 63 61 6c 6c 20 6c 61 73 74 29 3a 0a 20 20 20 20 2e 2e 2e 0a 20 20 20 20 .recent.call.last):.............
3740 54 79 70 65 45 72 72 6f 72 3a 20 27 3c 27 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20 62 65 74 TypeError:.'<'.not.supported.bet
3760 77 65 65 6e 20 69 6e 73 74 61 6e 63 65 73 20 6f 66 20 27 73 74 72 27 20 61 6e 64 20 27 69 6e 74 ween.instances.of.'str'.and.'int
3780 27 0a 20 20 20 20 2e 2e 2e 0a 0a 20 20 20 20 49 6e 63 6f 6d 70 61 72 61 62 6c 65 20 6e 6f 64 65 '..............Incomparable.node
37a0 73 20 63 61 6e 20 62 65 20 72 65 73 6f 6c 76 65 64 20 75 73 69 6e 67 20 61 20 60 6b 65 79 60 20 s.can.be.resolved.using.a.`key`.
37c0 66 75 6e 63 74 69 6f 6e 2e 20 54 68 69 73 20 65 78 61 6d 70 6c 65 20 66 75 6e 63 74 69 6f 6e 0a function..This.example.function.
37e0 20 20 20 20 61 6c 6c 6f 77 73 20 63 6f 6d 70 61 72 69 73 6f 6e 20 6f 66 20 69 6e 74 65 67 65 72 ....allows.comparison.of.integer
3800 73 20 61 6e 64 20 73 74 72 69 6e 67 73 20 62 79 20 72 65 74 75 72 6e 69 6e 67 20 61 20 74 75 70 s.and.strings.by.returning.a.tup
3820 6c 65 20 77 68 65 72 65 20 74 68 65 20 66 69 72 73 74 0a 20 20 20 20 65 6c 65 6d 65 6e 74 20 69 le.where.the.first.....element.i
3840 73 20 54 72 75 65 20 66 6f 72 20 60 73 74 72 60 2c 20 46 61 6c 73 65 20 6f 74 68 65 72 77 69 73 s.True.for.`str`,.False.otherwis
3860 65 2e 20 54 68 65 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 20 69 73 20 74 68 65 20 6e 6f 64 e..The.second.element.is.the.nod
3880 65 20 6e 61 6d 65 2e 0a 20 20 20 20 54 68 69 73 20 67 72 6f 75 70 73 20 74 68 65 20 73 74 72 69 e.name......This.groups.the.stri
38a0 6e 67 73 20 61 6e 64 20 69 6e 74 65 67 65 72 73 20 73 65 70 61 72 61 74 65 6c 79 20 73 6f 20 74 ngs.and.integers.separately.so.t
38c0 68 65 79 20 63 61 6e 20 62 65 20 63 6f 6d 70 61 72 65 64 20 6f 6e 6c 79 20 61 6d 6f 6e 67 20 74 hey.can.be.compared.only.among.t
38e0 68 65 6d 73 65 6c 76 65 73 2e 0a 0a 20 20 20 20 3e 3e 3e 20 6b 65 79 20 3d 20 6c 61 6d 62 64 61 hemselves.......>>>.key.=.lambda
3900 20 6e 6f 64 65 3a 20 28 69 73 69 6e 73 74 61 6e 63 65 28 6e 6f 64 65 2c 20 73 74 72 29 2c 20 6e .node:.(isinstance(node,.str),.n
3920 6f 64 65 29 0a 20 20 20 20 3e 3e 3e 20 6c 69 73 74 28 6e 78 2e 6c 65 78 69 63 6f 67 72 61 70 68 ode).....>>>.list(nx.lexicograph
3940 69 63 61 6c 5f 74 6f 70 6f 6c 6f 67 69 63 61 6c 5f 73 6f 72 74 28 44 47 2c 20 6b 65 79 3d 6b 65 ical_topological_sort(DG,.key=ke
3960 79 29 29 0a 20 20 20 20 5b 31 2c 20 32 2c 20 33 2c 20 27 62 6c 75 65 27 2c 20 27 67 72 65 65 6e y)).....[1,.2,.3,.'blue',.'green
3980 27 2c 20 27 72 65 64 27 5d 0a 0a 20 20 20 20 4e 6f 74 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 0a 20 ',.'red']......Notes.....-----..
39a0 20 20 20 54 68 69 73 20 61 6c 67 6f 72 69 74 68 6d 20 69 73 20 62 61 73 65 64 20 6f 6e 20 61 20 ...This.algorithm.is.based.on.a.
39c0 64 65 73 63 72 69 70 74 69 6f 6e 20 61 6e 64 20 70 72 6f 6f 66 20 69 6e 0a 20 20 20 20 22 49 6e description.and.proof.in....."In
39e0 74 72 6f 64 75 63 74 69 6f 6e 20 74 6f 20 41 6c 67 6f 72 69 74 68 6d 73 3a 20 41 20 43 72 65 61 troduction.to.Algorithms:.A.Crea
3a00 74 69 76 65 20 41 70 70 72 6f 61 63 68 22 20 5b 31 5d 5f 20 2e 0a 0a 20 20 20 20 53 65 65 20 61 tive.Approach".[1]_........See.a
3a20 6c 73 6f 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 74 6f 70 6f 6c 6f 67 69 63 61 6c lso.....--------.....topological
3a40 5f 73 6f 72 74 0a 0a 20 20 20 20 52 65 66 65 72 65 6e 63 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d _sort......References.....------
3a60 2d 2d 2d 2d 0a 20 20 20 20 2e 2e 20 5b 31 5d 20 4d 61 6e 62 65 72 2c 20 55 2e 20 28 31 39 38 39 ----........[1].Manber,.U..(1989
3a80 29 2e 0a 20 20 20 20 20 20 20 2a 49 6e 74 72 6f 64 75 63 74 69 6f 6e 20 74 6f 20 41 6c 67 6f 72 ).........*Introduction.to.Algor
3aa0 69 74 68 6d 73 20 2d 20 41 20 43 72 65 61 74 69 76 65 20 41 70 70 72 6f 61 63 68 2e 2a 20 41 64 ithms.-.A.Creative.Approach.*.Ad
3ac0 64 69 73 6f 6e 2d 57 65 73 6c 65 79 2e 0a 20 20 20 20 72 32 00 00 00 4e 63 01 00 00 00 00 00 00 dison-Wesley......r2...Nc.......
3ae0 00 00 00 00 00 01 00 00 00 13 00 00 00 f3 06 00 00 00 97 00 7c 00 53 00 a9 01 4e a9 00 29 01 72 ....................|.S...N..).r
3b00 44 00 00 00 73 01 00 00 00 20 72 26 00 00 00 da 03 6b 65 79 7a 2d 6c 65 78 69 63 6f 67 72 61 70 D...s.....r&.....keyz-lexicograp
3b20 68 69 63 61 6c 5f 74 6f 70 6f 6c 6f 67 69 63 61 6c 5f 73 6f 72 74 2e 3c 6c 6f 63 61 6c 73 3e 2e hical_topological_sort.<locals>.
3b40 6b 65 79 a0 01 00 00 73 07 00 00 00 80 00 d8 13 17 88 4b 72 30 00 00 00 63 01 00 00 00 00 00 00 key....s..........Kr0...c.......
3b60 00 00 00 00 00 03 00 00 00 13 00 00 00 f3 20 00 00 00 95 02 97 00 02 00 89 01 7c 00 ab 01 00 00 ..........................|.....
3b80 00 00 00 00 89 02 7c 00 19 00 00 00 7c 00 66 03 53 00 72 4a 00 00 00 72 4b 00 00 00 29 03 72 44 ......|.....|.f.S.rJ...rK...).rD
3ba0 00 00 00 72 4c 00 00 00 da 0a 6e 6f 64 65 69 64 5f 6d 61 70 73 03 00 00 00 20 80 80 72 26 00 00 ...rL.....nodeid_maps.......r&..
3bc0 00 da 0c 63 72 65 61 74 65 5f 74 75 70 6c 65 7a 36 6c 65 78 69 63 6f 67 72 61 70 68 69 63 61 6c ...create_tuplez6lexicographical
3be0 5f 74 6f 70 6f 6c 6f 67 69 63 61 6c 5f 73 6f 72 74 2e 3c 6c 6f 63 61 6c 73 3e 2e 63 72 65 61 74 _topological_sort.<locals>.creat
3c00 65 5f 74 75 70 6c 65 a5 01 00 00 73 19 00 00 00 f8 80 00 d9 0f 12 90 34 8b 79 98 2a a0 54 d1 1a e_tuple....s...........4.y.*.T..
3c20 2a a8 44 d0 0f 30 d0 08 30 72 30 00 00 00 72 02 00 00 00 72 33 00 00 00 72 34 00 00 00 7a 4a 0a *.D..0..0r0...r....r3...r4...zJ.
3c40 43 6f 6e 73 69 64 65 72 20 75 73 69 6e 67 20 60 6b 65 79 3d 60 20 70 61 72 61 6d 65 74 65 72 20 Consider.using.`key=`.parameter.
3c60 74 6f 20 72 65 73 6f 6c 76 65 20 61 6d 62 69 67 75 69 74 69 65 73 20 69 6e 20 74 68 65 20 73 6f to.resolve.ambiguities.in.the.so
3c80 72 74 20 6f 72 64 65 72 2e 72 35 00 00 00 29 0e 72 2f 00 00 00 72 1f 00 00 00 72 36 00 00 00 da rt.order.r5...).r/...r....r6....
3ca0 09 65 6e 75 6d 65 72 61 74 65 72 38 00 00 00 da 05 68 65 61 70 71 da 07 68 65 61 70 69 66 79 da .enumerater8.....heapq..heapify.
3cc0 07 68 65 61 70 70 6f 70 72 39 00 00 00 da 05 65 64 67 65 73 72 3c 00 00 00 da 08 68 65 61 70 70 .heappopr9.....edgesr<.....heapp
3ce0 75 73 68 da 09 54 79 70 65 45 72 72 6f 72 72 2b 00 00 00 29 0f 72 22 00 00 00 72 4c 00 00 00 da ush..TypeErrorr+...).r"...rL....
3d00 03 6d 73 67 da 01 69 da 01 6e 72 4f 00 00 00 72 3f 00 00 00 72 40 00 00 00 72 41 00 00 00 72 42 .msg..i..nrO...r?...r@...rA...rB
3d20 00 00 00 da 01 5f 72 44 00 00 00 72 25 00 00 00 72 45 00 00 00 72 4e 00 00 00 73 0f 00 00 00 20 ....._rD...r%...rE...rN...s.....
3d40 60 20 20 20 20 20 20 20 20 20 20 20 20 40 72 26 00 00 00 72 10 00 00 00 72 10 00 00 00 39 01 00 `............@r&...r....r....9..
3d60 00 73 c1 01 00 00 f9 e8 00 f8 80 00 f0 42 03 00 0c 0d 8f 3d 89 3d 8c 3f d8 0e 42 88 03 dc 0e 10 .s...........B.....=.=.?..B.....
3d80 d7 0e 1e d1 0e 1e 98 73 d3 0e 23 d0 08 23 e0 07 0a 80 7b f2 04 01 09 18 f4 06 00 24 2d a8 51 a3 .......s..#..#....{........$-.Q.
3da0 3c d7 11 30 99 34 98 31 98 61 90 21 90 51 91 24 d3 11 30 80 4a f5 04 01 05 31 f0 06 00 26 27 a7 <..0.4.1.a.!.Q.$..0.J....1...&'.
3dc0 5b a1 5b a3 5d d7 13 3c 99 54 98 51 a0 01 b0 61 b8 21 b3 65 90 41 90 71 91 44 d0 13 3c 80 4c d1 [.[.]..<.T.Q...a.!.e.A.q.D..<.L.
3de0 13 3c e0 31 32 b7 1b b1 1b b3 1d d7 14 49 a9 14 a8 11 a8 41 c0 21 c0 71 c3 26 91 5c a0 21 95 5f .<.12........I.....A.!.q.&.\.!._
3e00 d0 14 49 80 4d d1 14 49 dc 04 09 87 4d 81 4d 90 2d d4 04 20 e1 0a 17 dc 15 1a 97 5d 91 5d a0 3d ..I.M..I....M.M.-..........].].=
3e20 d3 15 31 89 0a 88 01 88 31 88 64 e0 0b 0f 90 71 89 3d dc 12 1e d0 1f 3f d3 12 40 d0 0c 40 d8 18 ..1.....1.d....q.=.....?..@..@..
3e40 19 9f 07 99 07 a0 04 9b 0d f2 00 0c 09 28 89 48 88 41 88 75 f0 02 03 0d 4e 01 d8 10 1c 98 55 d3 .............(.H.A.u....N.....U.
3e60 10 23 a0 71 d1 10 28 d3 10 23 f0 06 00 10 1c 98 45 d1 0f 22 a0 61 d3 0f 27 f0 02 05 11 16 dc 14 .#.q..(..#......E..".a..'.......
3e80 19 97 4e 91 4e a0 3d b1 2c b8 75 d3 32 45 d4 14 46 f0 0a 00 15 21 a0 15 d1 14 27 f0 19 0c 09 28 ..N.N.=.,.u.2E..F....!....'....(
3ea0 f0 1c 00 0f 13 8a 0a f2 27 00 0b 18 f1 2a 00 08 14 d8 0e 48 88 03 dc 0e 10 d7 0e 23 d1 0e 23 a0 ........'....*.....H.......#..#.
3ec0 43 d3 0e 28 d0 08 28 f0 05 00 08 14 f9 f3 3f 00 12 31 f9 f3 0a 00 14 3d f9 e3 14 49 f8 f4 16 00 C..(..(.......?..1.....=...I....
3ee0 14 1c f2 00 01 0d 4e 01 dc 16 22 d0 23 43 d3 16 44 c8 23 d0 10 4d fb f0 03 01 0d 4e 01 fb f4 0a ......N...".#C..D.#..M.....N....
3f00 00 18 21 f2 00 03 11 16 dc 1a 23 d8 1b 1e 98 25 d0 1f 6a d0 18 6b f3 03 02 1b 16 f0 00 02 15 16 ..!.......#....%..j..k..........
3f20 fb f0 03 03 11 16 fc 73 83 00 00 00 84 3b 46 2b 01 bf 0d 45 1d 06 c1 0c 1d 46 2b 01 c1 29 0d 45 .......s.....;F+...E.....F+..).E
3f40 23 06 c1 37 05 45 23 06 c1 3c 16 46 2b 01 c2 12 0d 45 29 06 c2 20 0a 45 29 06 c2 2a 41 19 46 2b #..7.E#..<.F+....E)....E)..*A.F+
3f60 01 c4 04 0d 45 2f 02 c4 11 08 46 2b 01 c4 1b 1c 46 0c 02 c4 37 0b 46 2b 01 c5 03 2c 46 2b 01 c5 ....E/....F+....F...7.F+...,F+..
3f80 2f 09 46 09 05 c5 38 0c 46 04 05 c6 04 05 46 09 05 c6 09 03 46 2b 01 c6 0c 09 46 28 05 c6 15 0e /.F...8.F.....F.....F+....F(....
3fa0 46 23 05 c6 23 05 46 28 05 c6 28 03 46 2b 01 da 0a 75 6e 64 69 72 65 63 74 65 64 63 01 00 00 00 F#..#.F(..(.F+...undirectedc....
3fc0 00 00 00 00 00 00 00 00 08 00 00 00 23 00 00 00 f3 d6 04 00 00 87 09 4b 00 01 00 97 00 7c 00 6a ............#..........K.....|.j
3fe0 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 73 15 74 03 00 ...........................s.t..
4000 00 00 00 00 00 00 00 6a 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 01 ab 01 00 .......j...................d....
4020 00 00 00 00 00 82 01 74 07 00 00 00 00 00 00 00 00 7c 00 6a 09 00 00 00 00 00 00 00 00 00 00 00 .......t.........|.j............
4040 00 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 ab 01 00 00 00 00 00 00 8a 09 74 0b 00 00 00 00 00 .........................t......
4060 00 00 00 7c 00 6a 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ab 00 00 00 00 00 00 ...|.j..........................
4080 00 44 00 8f 01 8f 02 63 03 67 00 63 02 5d 0d 00 00 5c 02 00 00 7d 01 7d 02 7c 02 64 02 6b 28 00 .D.....c.g.c.]...\...}.}.|.d.k(.
40a0 00 73 01 8c 0c 7c 01 91 02 8c 0f 04 00 63 03 7d 02 7d 01 ab 01 00 00 00 00 00 00 7d 03 67 00 7d .s...|.......c.}.}.........}.g.}
40c0 04 67 00 7d 05 09 00 74 0d 00 00 00 00 00 00 00 00 88 09 66 01 64 03 84 08 7c 03 44 00 ab 00 00 .g.}...t...........f.d...|.D....
40e0 00 00 00 00 00 ab 01 00 00 00 00 00 00 73 02 4a 00 82 01 74 0f 00 00 00 00 00 00 00 00 7c 05 ab .............s.J...t.........|..
4100 01 00 00 00 00 00 00 74 0f 00 00 00 00 00 00 00 00 7c 00 ab 01 00 00 00 00 00 00 6b 28 00 00 72 .......t.........|.........k(..r
4120 f6 74 11 00 00 00 00 00 00 00 00 7c 05 ab 01 00 00 00 00 00 00 96 01 97 01 01 00 74 0f 00 00 00 .t.........|...............t....
4140 00 00 00 00 00 7c 05 ab 01 00 00 00 00 00 00 64 02 6b 44 00 00 90 01 72 90 74 0f 00 00 00 00 00 .....|.........d.kD....r.t......
4160 00 00 00 7c 04 ab 01 00 00 00 00 00 00 74 0f 00 00 00 00 00 00 00 00 7c 05 ab 01 00 00 00 00 00 ...|.........t.........|........
4180 00 6b 28 00 00 73 02 4a 00 82 01 7c 05 6a 13 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .k(..s.J...|.j..................
41a0 00 ab 00 00 00 00 00 00 00 7d 06 7c 00 6a 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........}.|.j..................
41c0 00 7c 06 ab 01 00 00 00 00 00 00 44 00 5d 1c 00 00 5c 02 00 00 7d 07 7d 08 89 09 7c 08 78 02 78 .|.........D.]...\...}.}...|.x.x
41e0 02 19 00 00 00 64 04 7a 0d 00 00 63 03 63 02 3c 00 00 00 89 09 7c 08 19 00 00 00 64 02 6b 5c 00 .....d.z...c.c.<.....|.....d.k\.
4200 00 72 01 8c 1c 4a 00 82 01 04 00 74 0f 00 00 00 00 00 00 00 00 7c 03 ab 01 00 00 00 00 00 00 64 .r...J.....t.........|.........d
4220 02 6b 44 00 00 72 35 89 09 7c 03 64 05 19 00 00 00 19 00 00 00 64 02 6b 44 00 00 72 2a 7c 03 6a .kD..r5..|.d.........d.kD..r*|.j
4240 13 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 01 00 74 0f 00 .............................t..
4260 00 00 00 00 00 00 00 7c 03 ab 01 00 00 00 00 00 00 64 02 6b 44 00 00 72 0c 89 09 7c 03 64 05 19 .......|.........d.kD..r...|.d..
4280 00 00 00 19 00 00 00 64 02 6b 44 00 00 72 01 8c 2a 7c 03 6a 17 00 00 00 00 00 00 00 00 00 00 00 .......d.kD..r..*|.j............
42a0 00 00 00 00 00 00 00 7c 06 ab 01 00 00 00 00 00 00 01 00 7c 03 64 05 19 00 00 00 7c 04 64 05 19 .......|...........|.d.....|.d..
42c0 00 00 00 6b 28 00 00 72 11 7c 04 6a 13 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ab ...k(..r.|.j....................
42e0 00 00 00 00 00 00 00 01 00 6e 01 6e c6 74 0f 00 00 00 00 00 00 00 00 7c 05 ab 01 00 00 00 00 00 .........n.n.t.........|........
4300 00 64 02 6b 44 00 00 72 01 8c d9 6e b6 74 0f 00 00 00 00 00 00 00 00 7c 03 ab 01 00 00 00 00 00 .d.kD..r...n.t.........|........
4320 00 64 02 6b 28 00 00 72 15 74 03 00 00 00 00 00 00 00 00 6a 18 00 00 00 00 00 00 00 00 00 00 00 .d.k(..r.t.........j............
4340 00 00 00 00 00 00 00 64 06 ab 01 00 00 00 00 00 00 82 01 7c 03 6a 13 00 00 00 00 00 00 00 00 00 .......d...........|.j..........
4360 00 00 00 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 7d 06 7c 00 6a 15 00 00 00 00 00 00 00 00 00 .................}.|.j..........
4380 00 00 00 00 00 00 00 00 00 7c 06 ab 01 00 00 00 00 00 00 44 00 5d 36 00 00 5c 02 00 00 7d 07 7d .........|.........D.]6..\...}.}
43a0 08 89 09 7c 08 78 02 78 02 19 00 00 00 64 04 7a 17 00 00 63 03 63 02 3c 00 00 00 89 09 7c 08 19 ...|.x.x.....d.z...c.c.<.....|..
43c0 00 00 00 64 02 6b 5c 00 00 73 02 4a 00 82 01 89 09 7c 08 19 00 00 00 64 02 6b 28 00 00 73 01 8c ...d.k\..s.J.....|.....d.k(..s..
43e0 26 7c 03 6a 1b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 08 ab 01 00 00 00 00 00 &|.j...................|........
4400 00 01 00 8c 38 04 00 7c 05 6a 1b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 06 ab ....8..|.j...................|..
4420 01 00 00 00 00 00 00 01 00 74 0f 00 00 00 00 00 00 00 00 7c 04 ab 01 00 00 00 00 00 00 74 0f 00 .........t.........|.........t..
4440 00 00 00 00 00 00 00 7c 05 ab 01 00 00 00 00 00 00 6b 02 00 00 72 11 7c 04 6a 1b 00 00 00 00 00 .......|.........k...r.|.j......
4460 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 06 ab 01 00 00 00 00 00 00 01 00 74 0f 00 00 00 00 00 .............|...........t......
4480 00 00 00 7c 04 ab 01 00 00 00 00 00 00 64 02 6b 28 00 00 72 01 79 07 90 01 8c ea 63 02 01 00 63 ...|.........d.k(..r.y.....c...c
44a0 03 7d 02 7d 01 77 00 ad 03 77 01 29 08 61 ec 04 00 00 52 65 74 75 72 6e 73 20 61 20 67 65 6e 65 .}.}.w...w.).a....Returns.a.gene
44c0 72 61 74 6f 72 20 6f 66 20 5f 61 6c 6c 5f 20 74 6f 70 6f 6c 6f 67 69 63 61 6c 20 73 6f 72 74 73 rator.of._all_.topological.sorts
44e0 20 6f 66 20 74 68 65 20 64 69 72 65 63 74 65 64 20 67 72 61 70 68 20 47 2e 0a 0a 20 20 20 20 41 .of.the.directed.graph.G.......A
4500 20 74 6f 70 6f 6c 6f 67 69 63 61 6c 20 73 6f 72 74 20 69 73 20 61 20 6e 6f 6e 75 6e 69 71 75 65 .topological.sort.is.a.nonunique
4520 20 70 65 72 6d 75 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 6e 6f 64 65 73 20 73 75 63 68 20 74 .permutation.of.the.nodes.such.t
4540 68 61 74 20 61 6e 0a 20 20 20 20 65 64 67 65 20 66 72 6f 6d 20 75 20 74 6f 20 76 20 69 6d 70 6c hat.an.....edge.from.u.to.v.impl
4560 69 65 73 20 74 68 61 74 20 75 20 61 70 70 65 61 72 73 20 62 65 66 6f 72 65 20 76 20 69 6e 20 74 ies.that.u.appears.before.v.in.t
4580 68 65 20 74 6f 70 6f 6c 6f 67 69 63 61 6c 20 73 6f 72 74 0a 20 20 20 20 6f 72 64 65 72 2e 0a 0a he.topological.sort.....order...
45a0 20 20 20 20 50 61 72 61 6d 65 74 65 72 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 ....Parameters.....----------...
45c0 20 20 47 20 3a 20 4e 65 74 77 6f 72 6b 58 20 44 69 47 72 61 70 68 0a 20 20 20 20 20 20 20 20 41 ..G.:.NetworkX.DiGraph.........A
45e0 20 64 69 72 65 63 74 65 64 20 67 72 61 70 68 0a 0a 20 20 20 20 59 69 65 6c 64 73 0a 20 20 20 20 .directed.graph......Yields.....
4600 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 74 6f 70 6f 6c 6f 67 69 63 61 6c 5f 73 6f 72 74 5f 6f 72 64 65 ------.....topological_sort_orde
4620 72 20 3a 20 6c 69 73 74 0a 20 20 20 20 20 20 20 20 61 20 6c 69 73 74 20 6f 66 20 6e 6f 64 65 73 r.:.list.........a.list.of.nodes
4640 20 69 6e 20 60 47 60 2c 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 6f 6e 65 20 6f 66 20 74 68 65 .in.`G`,.representing.one.of.the
4660 20 74 6f 70 6f 6c 6f 67 69 63 61 6c 20 73 6f 72 74 20 6f 72 64 65 72 73 0a 0a 20 20 20 20 52 61 .topological.sort.orders......Ra
4680 69 73 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 4e 65 74 77 6f 72 6b 58 4e 6f 74 49 ises.....------.....NetworkXNotI
46a0 6d 70 6c 65 6d 65 6e 74 65 64 0a 20 20 20 20 20 20 20 20 49 66 20 60 47 60 20 69 73 20 6e 6f 74 mplemented.........If.`G`.is.not
46c0 20 64 69 72 65 63 74 65 64 0a 20 20 20 20 4e 65 74 77 6f 72 6b 58 55 6e 66 65 61 73 69 62 6c 65 .directed.....NetworkXUnfeasible
46e0 0a 20 20 20 20 20 20 20 20 49 66 20 60 47 60 20 69 73 20 6e 6f 74 20 61 63 79 63 6c 69 63 0a 0a .........If.`G`.is.not.acyclic..
4700 20 20 20 20 45 78 61 6d 70 6c 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 54 6f ....Examples.....--------.....To
4720 20 65 6e 75 6d 65 72 61 74 65 20 61 6c 6c 20 74 6f 70 6f 6c 6f 67 69 63 61 6c 20 73 6f 72 74 73 .enumerate.all.topological.sorts
4740 20 6f 66 20 64 69 72 65 63 74 65 64 20 67 72 61 70 68 3a 0a 0a 20 20 20 20 3e 3e 3e 20 44 47 20 .of.directed.graph:......>>>.DG.
4760 3d 20 6e 78 2e 44 69 47 72 61 70 68 28 5b 28 31 2c 20 32 29 2c 20 28 32 2c 20 33 29 2c 20 28 32 =.nx.DiGraph([(1,.2),.(2,.3),.(2
4780 2c 20 34 29 5d 29 0a 20 20 20 20 3e 3e 3e 20 6c 69 73 74 28 6e 78 2e 61 6c 6c 5f 74 6f 70 6f 6c ,.4)]).....>>>.list(nx.all_topol
47a0 6f 67 69 63 61 6c 5f 73 6f 72 74 73 28 44 47 29 29 0a 20 20 20 20 5b 5b 31 2c 20 32 2c 20 34 2c ogical_sorts(DG)).....[[1,.2,.4,
47c0 20 33 5d 2c 20 5b 31 2c 20 32 2c 20 33 2c 20 34 5d 5d 0a 0a 20 20 20 20 4e 6f 74 65 73 0a 20 20 .3],.[1,.2,.3,.4]]......Notes...
47e0 20 20 2d 2d 2d 2d 2d 0a 20 20 20 20 49 6d 70 6c 65 6d 65 6e 74 73 20 61 6e 20 69 74 65 72 61 74 ..-----.....Implements.an.iterat
4800 69 76 65 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 61 6c 67 6f 72 69 74 68 6d 20 67 69 76 ive.version.of.the.algorithm.giv
4820 65 6e 20 69 6e 20 5b 31 5d 2e 0a 0a 20 20 20 20 52 65 66 65 72 65 6e 63 65 73 0a 20 20 20 20 2d en.in.[1].......References.....-
4840 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 2e 2e 20 5b 31 5d 20 4b 6e 75 74 68 2c 20 44 6f 6e 61 ---------........[1].Knuth,.Dona
4860 6c 64 20 45 2e 2c 20 53 7a 77 61 72 63 66 69 74 65 72 2c 20 4a 61 79 6d 65 20 4c 2e 20 28 31 39 ld.E.,.Szwarcfiter,.Jayme.L..(19
4880 37 34 29 2e 0a 20 20 20 20 20 20 20 22 41 20 53 74 72 75 63 74 75 72 65 64 20 50 72 6f 67 72 61 74)........."A.Structured.Progra
48a0 6d 20 74 6f 20 47 65 6e 65 72 61 74 65 20 41 6c 6c 20 54 6f 70 6f 6c 6f 67 69 63 61 6c 20 53 6f m.to.Generate.All.Topological.So
48c0 72 74 69 6e 67 20 41 72 72 61 6e 67 65 6d 65 6e 74 73 22 0a 20 20 20 20 20 20 20 49 6e 66 6f 72 rting.Arrangements"........Infor
48e0 6d 61 74 69 6f 6e 20 50 72 6f 63 65 73 73 69 6e 67 20 4c 65 74 74 65 72 73 2c 20 56 6f 6c 75 6d mation.Processing.Letters,.Volum
4900 65 20 32 2c 20 49 73 73 75 65 20 36 2c 20 31 39 37 34 2c 20 50 61 67 65 73 20 31 35 33 2d 31 35 e.2,.Issue.6,.1974,.Pages.153-15
4920 37 2c 0a 20 20 20 20 20 20 20 49 53 53 4e 20 30 30 32 30 2d 30 31 39 30 2c 0a 20 20 20 20 20 20 7,........ISSN.0020-0190,.......
4940 20 68 74 74 70 73 3a 2f 2f 64 6f 69 2e 6f 72 67 2f 31 30 2e 31 30 31 36 2f 30 30 32 30 2d 30 31 .https://doi.org/10.1016/0020-01
4960 39 30 28 37 34 29 39 30 30 30 31 2d 35 2e 0a 20 20 20 20 20 20 20 45 6c 73 65 76 69 65 72 20 28 90(74)90001-5.........Elsevier.(
4980 4e 6f 72 74 68 2d 48 6f 6c 6c 61 6e 64 29 2c 20 41 6d 73 74 65 72 64 61 6d 0a 20 20 20 20 72 32 North-Holland),.Amsterdam.....r2
49a0 00 00 00 72 02 00 00 00 63 01 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 33 00 00 00 f3 2e 00 ...r....c................3......
49c0 00 00 95 01 4b 00 01 00 97 00 7c 00 5d 0c 00 00 7d 01 89 02 7c 01 19 00 00 00 64 00 6b 28 00 00 ....K.....|.]...}...|.....d.k(..
49e0 96 01 97 01 01 00 8c 0e 04 00 79 01 ad 03 77 01 a9 02 72 02 00 00 00 4e 72 4b 00 00 00 29 03 da ..........y...w...r....NrK...)..
4a00 02 2e 30 72 3f 00 00 00 da 05 63 6f 75 6e 74 73 03 00 00 00 20 20 80 72 26 00 00 00 fa 09 3c 67 ..0r?.....counts.......r&.....<g
4a20 65 6e 65 78 70 72 3e 7a 28 61 6c 6c 5f 74 6f 70 6f 6c 6f 67 69 63 61 6c 5f 73 6f 72 74 73 2e 3c enexpr>z(all_topological_sorts.<
4a40 6c 6f 63 61 6c 73 3e 2e 3c 67 65 6e 65 78 70 72 3e 04 02 00 00 73 19 00 00 00 f8 e8 00 f8 80 00 locals>.<genexpr>....s..........
4a60 d2 12 2c a0 51 90 35 98 11 91 38 98 71 95 3d d1 12 2c f9 73 04 00 00 00 83 12 15 01 72 34 00 00 ..,.Q.5...8.q.=..,.s........r4..
4a80 00 e9 ff ff ff ff 7a 17 47 72 61 70 68 20 63 6f 6e 74 61 69 6e 73 20 61 20 63 79 63 6c 65 2e 4e ......z.Graph.contains.a.cycle.N
4aa0 29 0e 72 2f 00 00 00 72 1f 00 00 00 72 36 00 00 00 da 04 64 69 63 74 72 38 00 00 00 72 03 00 00 ).r/...r....r6.....dictr8...r...
4ac0 00 da 03 61 6c 6c 72 3b 00 00 00 da 04 6c 69 73 74 da 03 70 6f 70 da 09 6f 75 74 5f 65 64 67 65 ...allr;.....list..pop..out_edge
4ae0 73 da 0a 61 70 70 65 6e 64 6c 65 66 74 72 2b 00 00 00 72 3d 00 00 00 29 0a 72 22 00 00 00 72 3f s..appendleftr+...r=...).r"...r?
4b00 00 00 00 72 40 00 00 00 da 01 44 da 05 62 61 73 65 73 da 0c 63 75 72 72 65 6e 74 5f 73 6f 72 74 ...r@.....D..bases..current_sort
4b20 da 01 71 72 5a 00 00 00 da 01 6a 72 60 00 00 00 73 0a 00 00 00 20 20 20 20 20 20 20 20 20 40 72 ..qrZ.....jr`...s.............@r
4b40 26 00 00 00 72 11 00 00 00 72 11 00 00 00 c7 01 00 00 73 49 02 00 00 f8 e8 00 f8 80 00 f0 5e 01 &...r....r........sI..........^.
4b60 00 0c 0d 8f 3d 89 3d 8c 3f dc 0e 10 d7 0e 1e d1 0e 1e d0 1f 53 d3 0e 54 d0 08 54 f4 08 00 0d 11 ....=.=.?...........S..T..T.....
4b80 90 11 97 1b 91 1b 93 1d d3 0c 1f 80 45 e4 08 0d 98 51 9f 5b 99 5b 9b 5d d7 0e 35 91 54 90 51 98 ............E....Q.[.[.]..5.T.Q.
4ba0 01 a8 61 b0 31 ab 66 8a 71 d3 0e 35 d3 08 36 80 41 e0 0c 0e 80 45 d8 13 15 80 4c f0 06 00 0b 0f ..a.1.f.q..5..6.A....E....L.....
4bc0 dc 0f 12 d3 12 2c a8 21 d4 12 2c d4 0f 2c d0 08 2c d0 0f 2c e4 0b 0e 88 7c d3 0b 1c a4 03 a0 41 .....,.!..,..,..,..,....|......A
4be0 a3 06 d2 0b 26 dc 12 16 90 7c d3 12 24 d2 0c 24 f4 06 00 13 16 90 6c d3 12 23 a0 61 d3 12 27 dc ....&....|..$..$......l..#.a..'.
4c00 17 1a 98 35 93 7a a4 53 a8 1c d3 25 36 d2 17 36 d0 10 36 d0 17 36 d8 14 20 d7 14 24 d1 14 24 d3 ...5.z.S...%6..6..6..6.....$..$.
4c20 14 26 90 01 f0 0a 00 1d 1e 9f 4b 99 4b a8 01 9b 4e f2 00 02 11 29 91 44 90 41 90 71 d8 14 19 98 .&........K.K...N....).D.A.q....
4c40 21 93 48 a0 01 91 4d 93 48 d8 1b 20 a0 11 99 38 a0 71 9b 3d d0 14 28 98 3d f0 05 02 11 29 f4 08 !.H...M.H......8.q.=..(.=....)..
4c60 00 17 1a 98 21 93 66 98 71 92 6a a0 55 a8 31 a8 52 a9 35 a1 5c b0 41 d2 25 35 d8 14 15 97 45 91 ....!.f.q.j.U.1.R.5.\.A.%5....E.
4c80 45 94 47 f4 03 00 17 1a 98 21 93 66 98 71 92 6a a0 55 a8 31 a8 52 a9 35 a1 5c b0 41 d3 25 35 f0 E.G......!.f.q.j.U.1.R.5.\.A.%5.
4ca0 0e 00 11 12 97 0c 91 0c 98 51 94 0f d8 13 14 90 52 91 35 98 45 a0 22 99 49 d2 13 25 f0 06 00 15 .........Q......R.5.E.".I..%....
4cc0 1a 97 49 91 49 95 4b f0 0a 00 15 1a f4 37 00 13 16 90 6c d3 12 23 a0 61 d4 12 27 f4 3c 00 10 13 ..I.I.K......7....l..#.a..'.<...
4ce0 90 31 8b 76 98 11 8a 7b dc 16 18 d7 16 2b d1 16 2b d0 2c 45 d3 16 46 d0 10 46 f0 06 00 11 12 97 .1.v...{.....+..+.,E..F..F......
4d00 05 91 05 93 07 88 41 f0 08 00 19 1a 9f 0b 99 0b a0 41 9b 0e f2 00 04 0d 20 91 04 90 01 90 31 d8 ......A..........A............1.
4d20 10 15 90 61 93 08 98 41 91 0d 93 08 d8 17 1c 98 51 91 78 a0 31 92 7d d0 10 24 90 7d d8 13 18 98 ...a...A........Q.x.1.}..$.}....
4d40 11 91 38 98 71 93 3d d8 14 15 97 48 91 48 98 51 95 4b f0 09 04 0d 20 f0 0a 00 0d 19 d7 0c 1f d1 ..8.q.=....H.H.Q.K..............
4d60 0c 1f a0 01 d4 0c 22 f4 06 00 10 13 90 35 8b 7a 9c 43 a0 0c d3 1c 2d d2 0f 2d d8 10 15 97 0c 91 ......"......5.z.C....-..-......
4d80 0c 98 51 94 0f e4 0b 0e 88 75 8b 3a 98 11 8a 3f d8 0c 11 f1 73 01 00 0b 0f f9 f3 0d 00 0f 36 f9 ..Q......u.:...?....s.........6.
4da0 73 34 00 00 00 83 41 17 49 29 01 c1 1a 0d 49 23 0a c1 28 04 49 23 0a c1 2c 42 2b 49 29 01 c4 18 s4....A.I)....I#..(.I#..,B+I)...
4dc0 41 05 49 29 01 c5 1e 3c 49 29 01 c6 1b 41 2a 49 29 01 c8 06 41 23 49 29 01 63 01 00 00 00 00 00 A.I)...<I)...A*I)...A#I).c......
4de0 00 00 00 00 00 00 08 00 00 00 03 00 00 00 f3 c0 01 00 00 97 00 7c 00 6a 01 00 00 00 00 00 00 00 .....................|.j........
4e00 00 00 00 00 00 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 73 15 74 03 00 00 00 00 00 00 00 00 6a ...................s.t.........j
4e20 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 01 ab 01 00 00 00 00 00 00 82 01 74 ...................d...........t
4e40 07 00 00 00 00 00 00 00 00 7c 00 ab 01 00 00 00 00 00 00 64 02 6b 28 00 00 72 15 74 03 00 00 00 .........|.........d.k(..r.t....
4e60 00 00 00 00 00 6a 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 03 ab 01 00 00 00 .....j...................d......
4e80 00 00 00 82 01 74 03 00 00 00 00 00 00 00 00 6a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .....t.........j................
4ea0 00 00 00 7c 00 ab 01 00 00 00 00 00 00 73 15 74 03 00 00 00 00 00 00 00 00 6a 04 00 00 00 00 00 ...|.........s.t.........j......
4ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 64 04 ab 01 00 00 00 00 00 00 82 01 74 0d 00 00 00 00 00 .............d...........t......
4ee0 00 00 00 7c 00 ab 01 00 00 00 00 00 00 7d 01 7c 01 64 02 69 01 7d 02 7c 01 67 01 7d 03 64 02 7d ...|.........}.|.d.i.}.|.g.}.d.}
4f00 04 64 05 7d 05 7c 03 72 50 67 00 7d 06 7c 03 44 00 5d 3f 00 00 7d 07 7c 00 7c 07 19 00 00 00 44 .d.}.|.rPg.}.|.D.]?..}.|.|.....D
4f20 00 5d 35 00 00 7d 08 7c 08 7c 02 76 00 72 19 74 0f 00 00 00 00 00 00 00 00 7c 04 7c 02 7c 07 19 .]5..}.|.|.v.r.t.........|.|.|..
4f40 00 00 00 7c 02 7c 08 19 00 00 00 7a 0a 00 00 64 05 7a 00 00 00 ab 02 00 00 00 00 00 00 7d 04 8c ...|.|.....z...d.z...........}..
4f60 20 7c 06 6a 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 08 ab 01 00 00 00 00 00 .|.j...................|........
4f80 00 01 00 7c 05 7c 02 7c 08 3c 00 00 00 8c 37 04 00 8c 41 04 00 7c 06 7d 03 7c 05 64 05 7a 0d 00 ...|.|.|.<....7...A..|.}.|.d.z..
4fa0 00 7d 05 7c 03 72 01 8c 50 7c 04 64 05 6b 28 00 00 53 00 29 06 61 83 10 00 00 52 65 74 75 72 6e .}.|.r..P|.d.k(..S.).a....Return
4fc0 73 20 54 72 75 65 20 69 66 20 60 47 60 20 69 73 20 61 70 65 72 69 6f 64 69 63 2e 0a 0a 20 20 20 s.True.if.`G`.is.aperiodic......
4fe0 20 41 20 73 74 72 6f 6e 67 6c 79 20 63 6f 6e 6e 65 63 74 65 64 20 64 69 72 65 63 74 65 64 20 67 .A.strongly.connected.directed.g
5000 72 61 70 68 20 69 73 20 61 70 65 72 69 6f 64 69 63 20 69 66 20 74 68 65 72 65 20 69 73 20 6e 6f raph.is.aperiodic.if.there.is.no
5020 20 69 6e 74 65 67 65 72 20 60 60 6b 20 3e 20 31 60 60 0a 20 20 20 20 74 68 61 74 20 64 69 76 69 .integer.``k.>.1``.....that.divi
5040 64 65 73 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 65 76 65 72 79 20 63 79 63 6c 65 20 69 6e des.the.length.of.every.cycle.in
5060 20 74 68 65 20 67 72 61 70 68 2e 0a 0a 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 .the.graph.......This.function.r
5080 65 71 75 69 72 65 73 20 74 68 65 20 67 72 61 70 68 20 60 47 60 20 74 6f 20 62 65 20 73 74 72 6f equires.the.graph.`G`.to.be.stro
50a0 6e 67 6c 79 20 63 6f 6e 6e 65 63 74 65 64 20 61 6e 64 20 77 69 6c 6c 20 72 61 69 73 65 0a 20 20 ngly.connected.and.will.raise...
50c0 20 20 61 6e 20 65 72 72 6f 72 20 69 66 20 69 74 27 73 20 6e 6f 74 2e 20 46 6f 72 20 67 72 61 70 ..an.error.if.it's.not..For.grap
50e0 68 73 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 73 74 72 6f 6e 67 6c 79 20 63 6f 6e 6e 65 63 74 hs.that.are.not.strongly.connect
5100 65 64 2c 20 79 6f 75 20 73 68 6f 75 6c 64 0a 20 20 20 20 66 69 72 73 74 20 69 64 65 6e 74 69 66 ed,.you.should.....first.identif
5120 79 20 74 68 65 69 72 20 73 74 72 6f 6e 67 6c 79 20 63 6f 6e 6e 65 63 74 65 64 20 63 6f 6d 70 6f y.their.strongly.connected.compo
5140 6e 65 6e 74 73 0a 20 20 20 20 28 75 73 69 6e 67 20 3a 66 75 6e 63 3a 60 7e 6e 65 74 77 6f 72 6b nents.....(using.:func:`~network
5160 78 2e 61 6c 67 6f 72 69 74 68 6d 73 2e 63 6f 6d 70 6f 6e 65 6e 74 73 2e 73 74 72 6f 6e 67 6c 79 x.algorithms.components.strongly
5180 5f 63 6f 6e 6e 65 63 74 65 64 5f 63 6f 6d 70 6f 6e 65 6e 74 73 60 29 0a 20 20 20 20 6f 72 20 61 _connected_components`).....or.a
51a0 74 74 72 61 63 74 69 6e 67 20 63 6f 6d 70 6f 6e 65 6e 74 73 0a 20 20 20 20 28 75 73 69 6e 67 20 ttracting.components.....(using.
51c0 3a 66 75 6e 63 3a 60 7e 6e 65 74 77 6f 72 6b 78 2e 61 6c 67 6f 72 69 74 68 6d 73 2e 63 6f 6d 70 :func:`~networkx.algorithms.comp
51e0 6f 6e 65 6e 74 73 2e 61 74 74 72 61 63 74 69 6e 67 5f 63 6f 6d 70 6f 6e 65 6e 74 73 60 29 2c 0a onents.attracting_components`),.
5200 20 20 20 20 61 6e 64 20 74 68 65 6e 20 61 70 70 6c 79 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e ....and.then.apply.this.function
5220 20 74 6f 20 74 68 6f 73 65 20 69 6e 64 69 76 69 64 75 61 6c 20 63 6f 6d 70 6f 6e 65 6e 74 73 2e .to.those.individual.components.
5240 0a 0a 20 20 20 20 50 61 72 61 6d 65 74 65 72 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a ......Parameters.....----------.
5260 20 20 20 20 47 20 3a 20 4e 65 74 77 6f 72 6b 58 20 44 69 47 72 61 70 68 0a 20 20 20 20 20 20 20 ....G.:.NetworkX.DiGraph........
5280 20 41 20 64 69 72 65 63 74 65 64 20 67 72 61 70 68 0a 0a 20 20 20 20 52 65 74 75 72 6e 73 0a 20 .A.directed.graph......Returns..
52a0 20 20 20 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 62 6f 6f 6c 0a 20 20 20 20 20 20 20 20 54 72 75 65 ...-------.....bool.........True
52c0 20 69 66 20 74 68 65 20 67 72 61 70 68 20 69 73 20 61 70 65 72 69 6f 64 69 63 20 46 61 6c 73 65 .if.the.graph.is.aperiodic.False
52e0 20 6f 74 68 65 72 77 69 73 65 0a 0a 20 20 20 20 52 61 69 73 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d .otherwise......Raises.....-----
5300 2d 0a 20 20 20 20 4e 65 74 77 6f 72 6b 58 45 72 72 6f 72 0a 20 20 20 20 20 20 20 20 49 66 20 60 -.....NetworkXError.........If.`
5320 47 60 20 69 73 20 6e 6f 74 20 64 69 72 65 63 74 65 64 0a 20 20 20 20 4e 65 74 77 6f 72 6b 58 45 G`.is.not.directed.....NetworkXE
5340 72 72 6f 72 0a 20 20 20 20 20 20 20 20 49 66 20 60 47 60 20 69 73 20 6e 6f 74 20 73 74 72 6f 6e rror.........If.`G`.is.not.stron
5360 67 6c 79 20 63 6f 6e 6e 65 63 74 65 64 0a 20 20 20 20 4e 65 74 77 6f 72 6b 58 50 6f 69 6e 74 6c gly.connected.....NetworkXPointl
5380 65 73 73 43 6f 6e 63 65 70 74 0a 20 20 20 20 20 20 20 20 49 66 20 60 47 60 20 68 61 73 20 6e 6f essConcept.........If.`G`.has.no
53a0 20 6e 6f 64 65 73 0a 0a 20 20 20 20 45 78 61 6d 70 6c 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d .nodes......Examples.....-------
53c0 2d 0a 20 20 20 20 41 20 67 72 61 70 68 20 63 6f 6e 73 69 73 74 69 6e 67 20 6f 66 20 6f 6e 65 20 -.....A.graph.consisting.of.one.
53e0 63 79 63 6c 65 2c 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 77 68 69 63 68 20 69 73 20 32 2e cycle,.the.length.of.which.is.2.
5400 20 54 68 65 72 65 66 6f 72 65 20 60 60 6b 20 3d 20 32 60 60 0a 20 20 20 20 64 69 76 69 64 65 73 .Therefore.``k.=.2``.....divides
5420 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 65 76 65 72 79 20 63 79 63 6c 65 20 69 6e 20 74 68 .the.length.of.every.cycle.in.th
5440 65 20 67 72 61 70 68 20 61 6e 64 20 74 68 75 73 20 74 68 65 20 67 72 61 70 68 0a 20 20 20 20 69 e.graph.and.thus.the.graph.....i
5460 73 20 2a 6e 6f 74 20 61 70 65 72 69 6f 64 69 63 2a 3a 3a 0a 0a 20 20 20 20 20 20 20 20 3e 3e 3e s.*not.aperiodic*::..........>>>
5480 20 44 47 20 3d 20 6e 78 2e 44 69 47 72 61 70 68 28 5b 28 31 2c 20 32 29 2c 20 28 32 2c 20 31 29 .DG.=.nx.DiGraph([(1,.2),.(2,.1)
54a0 5d 29 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 6e 78 2e 69 73 5f 61 70 65 72 69 6f 64 69 63 28 44 ]).........>>>.nx.is_aperiodic(D
54c0 47 29 0a 20 20 20 20 20 20 20 20 46 61 6c 73 65 0a 0a 20 20 20 20 41 20 67 72 61 70 68 20 63 6f G).........False......A.graph.co
54e0 6e 73 69 73 74 69 6e 67 20 6f 66 20 74 77 6f 20 63 79 63 6c 65 73 3a 20 6f 6e 65 20 6f 66 20 6c nsisting.of.two.cycles:.one.of.l
5500 65 6e 67 74 68 20 32 20 61 6e 64 20 74 68 65 20 6f 74 68 65 72 20 6f 66 20 6c 65 6e 67 74 68 20 ength.2.and.the.other.of.length.
5520 33 2e 0a 20 20 20 20 54 68 65 20 63 79 63 6c 65 20 6c 65 6e 67 74 68 73 20 61 72 65 20 63 6f 70 3......The.cycle.lengths.are.cop
5540 72 69 6d 65 2c 20 73 6f 20 74 68 65 72 65 20 69 73 20 6e 6f 20 73 69 6e 67 6c 65 20 76 61 6c 75 rime,.so.there.is.no.single.valu
5560 65 20 6f 66 20 6b 20 77 68 65 72 65 20 60 60 6b 20 3e 20 31 60 60 0a 20 20 20 20 74 68 61 74 20 e.of.k.where.``k.>.1``.....that.
5580 64 69 76 69 64 65 73 20 65 61 63 68 20 63 79 63 6c 65 20 6c 65 6e 67 74 68 20 61 6e 64 20 74 68 divides.each.cycle.length.and.th
55a0 65 72 65 66 6f 72 65 20 74 68 65 20 67 72 61 70 68 20 69 73 20 2a 61 70 65 72 69 6f 64 69 63 2a erefore.the.graph.is.*aperiodic*
55c0 3a 3a 0a 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 44 47 20 3d 20 6e 78 2e 44 69 47 72 61 70 68 28 ::..........>>>.DG.=.nx.DiGraph(
55e0 5b 28 31 2c 20 32 29 2c 20 28 32 2c 20 33 29 2c 20 28 33 2c 20 31 29 2c 20 28 31 2c 20 34 29 2c [(1,.2),.(2,.3),.(3,.1),.(1,.4),
5600 20 28 34 2c 20 31 29 5d 29 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 6e 78 2e 69 73 5f 61 70 65 72 .(4,.1)]).........>>>.nx.is_aper
5620 69 6f 64 69 63 28 44 47 29 0a 20 20 20 20 20 20 20 20 54 72 75 65 0a 0a 20 20 20 20 41 20 67 72 iodic(DG).........True......A.gr
5640 61 70 68 20 63 72 65 61 74 65 64 20 66 72 6f 6d 20 63 79 63 6c 65 73 20 6f 66 20 74 68 65 20 73 aph.created.from.cycles.of.the.s
5660 61 6d 65 20 6c 65 6e 67 74 68 20 63 61 6e 20 73 74 69 6c 6c 20 62 65 20 61 70 65 72 69 6f 64 69 ame.length.can.still.be.aperiodi
5680 63 20 73 69 6e 63 65 0a 20 20 20 20 74 68 65 20 63 79 63 6c 65 73 20 63 61 6e 20 6f 76 65 72 6c c.since.....the.cycles.can.overl
56a0 61 70 20 61 6e 64 20 66 6f 72 6d 20 6e 65 77 20 63 79 63 6c 65 73 20 6f 66 20 64 69 66 66 65 72 ap.and.form.new.cycles.of.differ
56c0 65 6e 74 20 6c 65 6e 67 74 68 73 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 0a 20 20 20 20 74 68 ent.lengths..For.example,.....th
56e0 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 67 72 61 70 68 20 63 6f 6e 74 61 69 6e 73 20 61 20 63 79 63 e.following.graph.contains.a.cyc
5700 6c 65 20 60 60 5b 34 2c 20 32 2c 20 33 2c 20 31 5d 60 60 20 6f 66 20 6c 65 6e 67 74 68 20 34 2c le.``[4,.2,.3,.1]``.of.length.4,
5720 20 77 68 69 63 68 20 69 73 20 63 6f 70 72 69 6d 65 0a 20 20 20 20 77 69 74 68 20 74 68 65 20 65 .which.is.coprime.....with.the.e
5740 78 70 6c 69 63 69 74 6c 79 20 61 64 64 65 64 20 63 79 63 6c 65 73 20 6f 66 20 6c 65 6e 67 74 68 xplicitly.added.cycles.of.length
5760 20 33 2c 20 73 6f 20 74 68 65 20 67 72 61 70 68 20 69 73 20 61 70 65 72 69 6f 64 69 63 3a 3a 0a .3,.so.the.graph.is.aperiodic::.
5780 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 44 47 20 3d 20 6e 78 2e 44 69 47 72 61 70 68 28 29 0a 20 .........>>>.DG.=.nx.DiGraph()..
57a0 20 20 20 20 20 20 20 3e 3e 3e 20 6e 78 2e 61 64 64 5f 63 79 63 6c 65 28 44 47 2c 20 5b 31 2c 20 .......>>>.nx.add_cycle(DG,.[1,.
57c0 32 2c 20 33 5d 29 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 6e 78 2e 61 64 64 5f 63 79 63 6c 65 28 2,.3]).........>>>.nx.add_cycle(
57e0 44 47 2c 20 5b 32 2c 20 31 2c 20 34 5d 29 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 6e 78 2e 69 73 DG,.[2,.1,.4]).........>>>.nx.is
5800 5f 61 70 65 72 69 6f 64 69 63 28 44 47 29 0a 20 20 20 20 20 20 20 20 54 72 75 65 0a 0a 20 20 20 _aperiodic(DG).........True.....
5820 20 41 20 73 69 6e 67 6c 65 2d 6e 6f 64 65 20 67 72 61 70 68 27 73 20 61 70 65 72 69 6f 64 69 63 .A.single-node.graph's.aperiodic
5840 69 74 79 20 64 65 70 65 6e 64 73 20 6f 6e 20 77 68 65 74 68 65 72 20 69 74 20 68 61 73 20 61 20 ity.depends.on.whether.it.has.a.
5860 73 65 6c 66 2d 6c 6f 6f 70 3a 0a 20 20 20 20 69 74 20 69 73 20 61 70 65 72 69 6f 64 69 63 20 69 self-loop:.....it.is.aperiodic.i
5880 66 20 61 20 73 65 6c 66 2d 6c 6f 6f 70 20 65 78 69 73 74 73 2c 20 61 6e 64 20 70 65 72 69 6f 64 f.a.self-loop.exists,.and.period
58a0 69 63 20 6f 74 68 65 72 77 69 73 65 3a 3a 0a 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 47 20 3d 20 ic.otherwise::..........>>>.G.=.
58c0 6e 78 2e 44 69 47 72 61 70 68 28 29 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 47 2e 61 64 64 5f 6e nx.DiGraph().........>>>.G.add_n
58e0 6f 64 65 28 31 29 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 6e 78 2e 69 73 5f 61 70 65 72 69 6f 64 ode(1).........>>>.nx.is_aperiod
5900 69 63 28 47 29 0a 20 20 20 20 20 20 20 20 46 61 6c 73 65 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 ic(G).........False.........>>>.
5920 47 2e 61 64 64 5f 65 64 67 65 28 31 2c 20 31 29 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 6e 78 2e G.add_edge(1,.1).........>>>.nx.
5940 69 73 5f 61 70 65 72 69 6f 64 69 63 28 47 29 0a 20 20 20 20 20 20 20 20 54 72 75 65 0a 0a 20 20 is_aperiodic(G).........True....
5960 20 20 41 20 4d 61 72 6b 6f 76 20 63 68 61 69 6e 20 63 61 6e 20 62 65 20 6d 6f 64 65 6c 65 64 20 ..A.Markov.chain.can.be.modeled.
5980 61 73 20 61 20 64 69 72 65 63 74 65 64 20 67 72 61 70 68 2c 20 77 69 74 68 20 6e 6f 64 65 73 20 as.a.directed.graph,.with.nodes.
59a0 72 65 70 72 65 73 65 6e 74 69 6e 67 0a 20 20 20 20 73 74 61 74 65 73 20 61 6e 64 20 65 64 67 65 representing.....states.and.edge
59c0 73 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 72 61 6e 73 69 74 69 6f 6e 73 20 77 69 74 68 20 s.representing.transitions.with.
59e0 6e 6f 6e 2d 7a 65 72 6f 20 70 72 6f 62 61 62 69 6c 69 74 79 2e 0a 20 20 20 20 41 70 65 72 69 6f non-zero.probability......Aperio
5a00 64 69 63 69 74 79 20 69 73 20 74 79 70 69 63 61 6c 6c 79 20 63 6f 6e 73 69 64 65 72 65 64 20 66 dicity.is.typically.considered.f
5a20 6f 72 20 69 72 72 65 64 75 63 69 62 6c 65 20 4d 61 72 6b 6f 76 20 63 68 61 69 6e 73 2c 0a 20 20 or.irreducible.Markov.chains,...
5a40 20 20 77 68 69 63 68 20 61 72 65 20 74 68 6f 73 65 20 74 68 61 74 20 61 72 65 20 2a 73 74 72 6f ..which.are.those.that.are.*stro
5a60 6e 67 6c 79 20 63 6f 6e 6e 65 63 74 65 64 2a 20 61 73 20 67 72 61 70 68 73 2e 0a 0a 20 20 20 20 ngly.connected*.as.graphs.......
5a80 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 4d 61 72 6b 6f 76 20 63 68 61 69 6e 20 69 73 20 69 72 The.following.Markov.chain.is.ir
5aa0 72 65 64 75 63 69 62 6c 65 20 61 6e 64 20 61 70 65 72 69 6f 64 69 63 2c 20 61 6e 64 20 74 68 75 reducible.and.aperiodic,.and.thu
5ac0 73 0a 20 20 20 20 65 72 67 6f 64 69 63 2e 20 49 74 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 s.....ergodic..It.is.guaranteed.
5ae0 74 6f 20 68 61 76 65 20 61 20 75 6e 69 71 75 65 20 73 74 61 74 69 6f 6e 61 72 79 20 64 69 73 74 to.have.a.unique.stationary.dist
5b00 72 69 62 75 74 69 6f 6e 3a 3a 0a 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 47 20 3d 20 6e 78 2e 44 ribution::..........>>>.G.=.nx.D
5b20 69 47 72 61 70 68 28 29 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 6e 78 2e 61 64 64 5f 63 79 63 6c iGraph().........>>>.nx.add_cycl
5b40 65 28 47 2c 20 5b 31 2c 20 32 2c 20 33 2c 20 34 5d 29 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 47 e(G,.[1,.2,.3,.4]).........>>>.G
5b60 2e 61 64 64 5f 65 64 67 65 28 31 2c 20 33 29 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 6e 78 2e 69 .add_edge(1,.3).........>>>.nx.i
5b80 73 5f 61 70 65 72 69 6f 64 69 63 28 47 29 0a 20 20 20 20 20 20 20 20 54 72 75 65 0a 0a 20 20 20 s_aperiodic(G).........True.....
5ba0 20 52 65 64 75 63 69 62 6c 65 20 4d 61 72 6b 6f 76 20 63 68 61 69 6e 73 20 63 61 6e 20 73 6f 6d .Reducible.Markov.chains.can.som
5bc0 65 74 69 6d 65 73 20 68 61 76 65 20 61 20 75 6e 69 71 75 65 20 73 74 61 74 69 6f 6e 61 72 79 20 etimes.have.a.unique.stationary.
5be0 64 69 73 74 72 69 62 75 74 69 6f 6e 2e 0a 20 20 20 20 54 68 69 73 20 6f 63 63 75 72 73 20 69 66 distribution......This.occurs.if
5c00 20 74 68 65 20 63 68 61 69 6e 20 68 61 73 20 65 78 61 63 74 6c 79 20 6f 6e 65 20 63 6c 6f 73 65 .the.chain.has.exactly.one.close
5c20 64 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6e 67 20 63 6c 61 73 73 20 61 6e 64 0a 20 20 20 20 74 68 d.communicating.class.and.....th
5c40 61 74 20 63 6c 61 73 73 20 69 74 73 65 6c 66 20 69 73 20 61 70 65 72 69 6f 64 69 63 20 28 73 65 at.class.itself.is.aperiodic.(se
5c60 65 20 5b 31 5d 5f 29 2e 20 59 6f 75 20 63 61 6e 20 75 73 65 0a 20 20 20 20 3a 66 75 6e 63 3a 60 e.[1]_)..You.can.use.....:func:`
5c80 7e 6e 65 74 77 6f 72 6b 78 2e 61 6c 67 6f 72 69 74 68 6d 73 2e 63 6f 6d 70 6f 6e 65 6e 74 73 2e ~networkx.algorithms.components.
5ca0 61 74 74 72 61 63 74 69 6e 67 5f 63 6f 6d 70 6f 6e 65 6e 74 73 60 0a 20 20 20 20 74 6f 20 66 69 attracting_components`.....to.fi
5cc0 6e 64 20 74 68 65 73 65 20 63 6c 6f 73 65 64 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6e 67 20 63 6c nd.these.closed.communicating.cl
5ce0 61 73 73 65 73 3a 3a 0a 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 47 20 3d 20 6e 78 2e 44 69 47 72 asses::..........>>>.G.=.nx.DiGr
5d00 61 70 68 28 5b 28 31 2c 20 33 29 2c 20 28 32 2c 20 33 29 5d 29 0a 20 20 20 20 20 20 20 20 3e 3e aph([(1,.3),.(2,.3)]).........>>
5d20 3e 20 6e 78 2e 61 64 64 5f 63 79 63 6c 65 28 47 2c 20 5b 33 2c 20 34 2c 20 35 2c 20 36 5d 29 0a >.nx.add_cycle(G,.[3,.4,.5,.6]).
5d40 20 20 20 20 20 20 20 20 3e 3e 3e 20 6e 78 2e 61 64 64 5f 63 79 63 6c 65 28 47 2c 20 5b 33 2c 20 ........>>>.nx.add_cycle(G,.[3,.
5d60 35 2c 20 36 5d 29 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6e 67 5,.6]).........>>>.communicating
5d80 5f 63 6c 61 73 73 65 73 20 3d 20 6c 69 73 74 28 6e 78 2e 73 74 72 6f 6e 67 6c 79 5f 63 6f 6e 6e _classes.=.list(nx.strongly_conn
5da0 65 63 74 65 64 5f 63 6f 6d 70 6f 6e 65 6e 74 73 28 47 29 29 0a 20 20 20 20 20 20 20 20 3e 3e 3e ected_components(G)).........>>>
5dc0 20 6c 65 6e 28 63 6f 6d 6d 75 6e 69 63 61 74 69 6e 67 5f 63 6c 61 73 73 65 73 29 0a 20 20 20 20 .len(communicating_classes).....
5de0 20 20 20 20 33 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 63 6c 6f 73 65 64 5f 63 6f 6d 6d 75 6e 69 ....3.........>>>.closed_communi
5e00 63 61 74 69 6e 67 5f 63 6c 61 73 73 65 73 20 3d 20 6c 69 73 74 28 6e 78 2e 61 74 74 72 61 63 74 cating_classes.=.list(nx.attract
5e20 69 6e 67 5f 63 6f 6d 70 6f 6e 65 6e 74 73 28 47 29 29 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 6c ing_components(G)).........>>>.l
5e40 65 6e 28 63 6c 6f 73 65 64 5f 63 6f 6d 6d 75 6e 69 63 61 74 69 6e 67 5f 63 6c 61 73 73 65 73 29 en(closed_communicating_classes)
5e60 0a 20 20 20 20 20 20 20 20 31 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 6e 78 2e 69 73 5f 61 70 65 .........1.........>>>.nx.is_ape
5e80 72 69 6f 64 69 63 28 47 2e 73 75 62 67 72 61 70 68 28 63 6c 6f 73 65 64 5f 63 6f 6d 6d 75 6e 69 riodic(G.subgraph(closed_communi
5ea0 63 61 74 69 6e 67 5f 63 6c 61 73 73 65 73 5b 30 5d 29 29 0a 20 20 20 20 20 20 20 20 54 72 75 65 cating_classes[0])).........True
5ec0 0a 0a 20 20 20 20 4e 6f 74 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 0a 20 20 20 20 54 68 69 73 20 75 ......Notes.....-----.....This.u
5ee0 73 65 73 20 74 68 65 20 6d 65 74 68 6f 64 20 6f 75 74 6c 69 6e 65 64 20 69 6e 20 5b 31 5d 5f 2c ses.the.method.outlined.in.[1]_,
5f00 20 77 68 69 63 68 20 72 75 6e 73 20 69 6e 20 24 4f 28 6d 29 24 20 74 69 6d 65 0a 20 20 20 20 67 .which.runs.in.$O(m)$.time.....g
5f20 69 76 65 6e 20 24 6d 24 20 65 64 67 65 73 20 69 6e 20 60 47 60 2e 0a 0a 20 20 20 20 52 65 66 65 iven.$m$.edges.in.`G`.......Refe
5f40 72 65 6e 63 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 2e 2e 20 5b 31 5d rences.....----------........[1]
5f60 20 4a 61 72 76 69 73 2c 20 4a 2e 20 50 2e 3b 20 53 68 69 65 72 2c 20 44 2e 20 52 2e 20 28 31 39 .Jarvis,.J..P.;.Shier,.D..R..(19
5f80 39 36 29 2c 0a 20 20 20 20 20 20 20 22 47 72 61 70 68 2d 74 68 65 6f 72 65 74 69 63 20 61 6e 61 96),........"Graph-theoretic.ana
5fa0 6c 79 73 69 73 20 6f 66 20 66 69 6e 69 74 65 20 4d 61 72 6b 6f 76 20 63 68 61 69 6e 73 2c 22 0a lysis.of.finite.Markov.chains,".
5fc0 20 20 20 20 20 20 20 69 6e 20 53 68 69 65 72 2c 20 44 2e 20 52 2e 3b 20 57 61 6c 6c 65 6e 69 75 .......in.Shier,.D..R.;.Walleniu
5fe0 73 2c 20 4b 2e 20 54 2e 2c 20 41 70 70 6c 69 65 64 20 4d 61 74 68 65 6d 61 74 69 63 61 6c 20 4d s,.K..T.,.Applied.Mathematical.M
6000 6f 64 65 6c 69 6e 67 3a 0a 20 20 20 20 20 20 20 41 20 4d 75 6c 74 69 64 69 73 63 69 70 6c 69 6e odeling:........A.Multidisciplin
6020 61 72 79 20 41 70 70 72 6f 61 63 68 2c 20 43 52 43 20 50 72 65 73 73 2e 0a 20 20 20 20 7a 2e 69 ary.Approach,.CRC.Press......z.i
6040 73 5f 61 70 65 72 69 6f 64 69 63 20 6e 6f 74 20 64 65 66 69 6e 65 64 20 66 6f 72 20 75 6e 64 69 s_aperiodic.not.defined.for.undi
6060 72 65 63 74 65 64 20 67 72 61 70 68 73 72 02 00 00 00 7a 13 47 72 61 70 68 20 68 61 73 20 6e 6f rected.graphsr....z.Graph.has.no
6080 20 6e 6f 64 65 73 2e 7a 20 47 72 61 70 68 20 69 73 20 6e 6f 74 20 73 74 72 6f 6e 67 6c 79 20 63 .nodes.z.Graph.is.not.strongly.c
60a0 6f 6e 6e 65 63 74 65 64 2e 72 34 00 00 00 29 09 72 2f 00 00 00 72 1f 00 00 00 72 36 00 00 00 72 onnected.r4...).r/...r....r6...r
60c0 3b 00 00 00 da 18 4e 65 74 77 6f 72 6b 58 50 6f 69 6e 74 6c 65 73 73 43 6f 6e 63 65 70 74 da 15 ;.....NetworkXPointlessConcept..
60e0 69 73 5f 73 74 72 6f 6e 67 6c 79 5f 63 6f 6e 6e 65 63 74 65 64 72 0a 00 00 00 72 09 00 00 00 72 is_strongly_connectedr....r....r
6100 3d 00 00 00 29 09 72 22 00 00 00 da 01 73 da 06 6c 65 76 65 6c 73 da 0a 74 68 69 73 5f 6c 65 76 =...).r".....s..levels..this_lev
6120 65 6c da 01 67 da 03 6c 65 76 da 0a 6e 65 78 74 5f 6c 65 76 65 6c da 01 75 72 3f 00 00 00 73 09 el..g..lev..next_level..ur?...s.
6140 00 00 00 20 20 20 20 20 20 20 20 20 72 26 00 00 00 72 14 00 00 00 72 14 00 00 00 3f 02 00 00 73 ............r&...r....r....?...s
6160 07 01 00 00 80 00 f0 6c 03 00 0c 0d 8f 3d 89 3d 8c 3f dc 0e 10 d7 0e 1e d1 0e 1e d0 1f 4f d3 0e .......l.....=.=.?...........O..
6180 50 d0 08 50 dc 07 0a 88 31 83 76 90 11 82 7b dc 0e 10 d7 0e 29 d1 0e 29 d0 2a 3f d3 0e 40 d0 08 P..P....1.v...{.....)..).*?..@..
61a0 40 dc 0b 0d d7 0b 23 d1 0b 23 a0 41 d4 0b 26 dc 0e 10 d7 0e 1e d1 0e 1e d0 1f 41 d3 0e 42 d0 08 @.....#..#.A..&...........A..B..
61c0 42 dc 08 19 98 21 d3 08 1c 80 41 d8 0e 0f 90 11 88 56 80 46 d8 12 13 90 13 80 4a d8 08 09 80 41 B....!....A......V.F......J....A
61e0 d8 0a 0b 80 43 d9 0a 14 d8 15 17 88 0a d8 11 1b f2 00 06 09 24 88 41 d8 15 16 90 71 91 54 f2 00 ....C...............$.A....q.T..
6200 05 0d 24 90 01 d8 13 14 98 06 91 3b dc 18 1b 98 41 98 76 a0 61 99 79 a8 36 b0 21 a9 39 d1 1f 34 ..$........;....A.v.a.y.6.!.9..4
6220 b0 71 d1 1f 38 d3 18 39 91 41 e0 14 1e d7 14 25 d1 14 25 a0 61 d4 14 28 d8 20 23 90 46 98 31 92 .q..8..9.A.....%..%.a..(..#.F.1.
6240 49 f1 0b 05 0d 24 f0 03 06 09 24 f0 0e 00 16 20 88 0a d8 08 0b 88 71 89 08 88 03 f2 15 00 0b 15 I....$....$...........q.........
6260 f0 16 00 0c 0d 90 01 89 36 80 4d 72 30 00 00 00 54 29 02 da 12 70 72 65 73 65 72 76 65 5f 61 6c ........6.Mr0...T)...preserve_al
6280 6c 5f 61 74 74 72 73 da 0d 72 65 74 75 72 6e 73 5f 67 72 61 70 68 63 02 00 00 00 00 00 00 00 00 l_attrs..returns_graphc.........
62a0 00 00 00 08 00 00 00 03 00 00 00 f3 a6 01 00 00 87 02 87 03 97 00 7c 00 6a 01 00 00 00 00 00 00 ......................|.j.......
62c0 00 00 00 00 00 00 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 8a 02 7c 01 64 01 76 01 72 15 74 03 ......................|.d.v.r.t.
62e0 00 00 00 00 00 00 00 00 6a 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 02 ab 01 ........j...................d...
6300 00 00 00 00 00 00 82 01 7c 00 44 00 5d a0 00 00 8a 03 7c 01 80 30 89 02 6a 07 00 00 00 00 00 00 ........|.D.].....|..0..j.......
6320 00 00 00 00 00 00 00 00 00 00 00 00 88 02 88 03 66 02 64 03 84 08 74 03 00 00 00 00 00 00 00 00 ................f.d...t.........
6340 6a 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 00 89 03 ab 02 00 00 00 00 00 00 j...................|...........
6360 44 00 ab 00 00 00 00 00 00 00 ab 01 00 00 00 00 00 00 01 00 8c 35 7c 01 64 04 75 00 72 34 89 02 D....................5|.d.u.r4..
6380 6a 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 88 02 88 03 66 02 64 05 84 08 74 03 j.......................f.d...t.
63a0 00 00 00 00 00 00 00 00 6a 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 00 89 03 ........j...................|...
63c0 ab 02 00 00 00 00 00 00 89 03 68 01 7a 07 00 00 44 00 ab 00 00 00 00 00 00 00 ab 01 00 00 00 00 ..........h.z...D...............
63e0 00 00 01 00 8c 6d 7c 01 64 06 75 00 73 01 8c 72 89 02 6a 07 00 00 00 00 00 00 00 00 00 00 00 00 .....m|.d.u.s..r..j.............
6400 00 00 00 00 00 00 88 02 88 03 66 02 64 07 84 08 74 03 00 00 00 00 00 00 00 00 6a 0a 00 00 00 00 ..........f.d...t.........j.....
6420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 00 89 03 ab 02 00 00 00 00 00 00 44 00 ab 00 00 00 ..............|...........D.....
6440 00 00 00 00 ab 01 00 00 00 00 00 00 01 00 8c a2 04 00 89 02 53 00 29 08 61 49 0a 00 00 52 65 74 ....................S.).aI...Ret
6460 75 72 6e 73 20 74 72 61 6e 73 69 74 69 76 65 20 63 6c 6f 73 75 72 65 20 6f 66 20 61 20 67 72 61 urns.transitive.closure.of.a.gra
6480 70 68 0a 0a 20 20 20 20 54 68 65 20 74 72 61 6e 73 69 74 69 76 65 20 63 6c 6f 73 75 72 65 20 6f ph......The.transitive.closure.o
64a0 66 20 47 20 3d 20 28 56 2c 45 29 20 69 73 20 61 20 67 72 61 70 68 20 47 2b 20 3d 20 28 56 2c 45 f.G.=.(V,E).is.a.graph.G+.=.(V,E
64c0 2b 29 20 73 75 63 68 20 74 68 61 74 0a 20 20 20 20 66 6f 72 20 61 6c 6c 20 76 2c 20 77 20 69 6e +).such.that.....for.all.v,.w.in
64e0 20 56 20 74 68 65 72 65 20 69 73 20 61 6e 20 65 64 67 65 20 28 76 2c 20 77 29 20 69 6e 20 45 2b .V.there.is.an.edge.(v,.w).in.E+
6500 20 69 66 20 61 6e 64 20 6f 6e 6c 79 20 69 66 20 74 68 65 72 65 0a 20 20 20 20 69 73 20 61 20 70 .if.and.only.if.there.....is.a.p
6520 61 74 68 20 66 72 6f 6d 20 76 20 74 6f 20 77 20 69 6e 20 47 2e 0a 0a 20 20 20 20 48 61 6e 64 6c ath.from.v.to.w.in.G.......Handl
6540 69 6e 67 20 6f 66 20 70 61 74 68 73 20 66 72 6f 6d 20 76 20 74 6f 20 76 20 68 61 73 20 73 6f 6d ing.of.paths.from.v.to.v.has.som
6560 65 20 66 6c 65 78 69 62 69 6c 69 74 79 20 77 69 74 68 69 6e 20 74 68 69 73 20 64 65 66 69 6e 69 e.flexibility.within.this.defini
6580 74 69 6f 6e 2e 0a 20 20 20 20 41 20 72 65 66 6c 65 78 69 76 65 20 74 72 61 6e 73 69 74 69 76 65 tion......A.reflexive.transitive
65a0 20 63 6c 6f 73 75 72 65 20 63 72 65 61 74 65 73 20 61 20 73 65 6c 66 2d 6c 6f 6f 70 20 66 6f 72 .closure.creates.a.self-loop.for
65c0 20 74 68 65 20 70 61 74 68 0a 20 20 20 20 66 72 6f 6d 20 76 20 74 6f 20 76 20 6f 66 20 6c 65 6e .the.path.....from.v.to.v.of.len
65e0 67 74 68 20 30 2e 20 54 68 65 20 75 73 75 61 6c 20 74 72 61 6e 73 69 74 69 76 65 20 63 6c 6f 73 gth.0..The.usual.transitive.clos
6600 75 72 65 20 63 72 65 61 74 65 73 20 61 0a 20 20 20 20 73 65 6c 66 2d 6c 6f 6f 70 20 6f 6e 6c 79 ure.creates.a.....self-loop.only
6620 20 69 66 20 61 20 63 79 63 6c 65 20 65 78 69 73 74 73 20 28 61 20 70 61 74 68 20 66 72 6f 6d 20 .if.a.cycle.exists.(a.path.from.
6640 76 20 74 6f 20 76 20 77 69 74 68 20 6c 65 6e 67 74 68 20 3e 20 30 29 2e 0a 20 20 20 20 57 65 20 v.to.v.with.length.>.0)......We.
6660 61 6c 73 6f 20 61 6c 6c 6f 77 20 61 6e 20 6f 70 74 69 6f 6e 20 66 6f 72 20 6e 6f 20 73 65 6c 66 also.allow.an.option.for.no.self
6680 2d 6c 6f 6f 70 73 2e 0a 0a 20 20 20 20 50 61 72 61 6d 65 74 65 72 73 0a 20 20 20 20 2d 2d 2d 2d -loops.......Parameters.....----
66a0 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 47 20 3a 20 4e 65 74 77 6f 72 6b 58 20 47 72 61 70 68 0a 20 20 ------.....G.:.NetworkX.Graph...
66c0 20 20 20 20 20 20 41 20 64 69 72 65 63 74 65 64 2f 75 6e 64 69 72 65 63 74 65 64 20 67 72 61 70 ......A.directed/undirected.grap
66e0 68 2f 6d 75 6c 74 69 67 72 61 70 68 2e 0a 20 20 20 20 72 65 66 6c 65 78 69 76 65 20 3a 20 42 6f h/multigraph......reflexive.:.Bo
6700 6f 6c 20 6f 72 20 4e 6f 6e 65 2c 20 6f 70 74 69 6f 6e 61 6c 20 28 64 65 66 61 75 6c 74 3a 20 46 ol.or.None,.optional.(default:.F
6720 61 6c 73 65 29 0a 20 20 20 20 20 20 20 20 44 65 74 65 72 6d 69 6e 65 73 20 77 68 65 6e 20 63 79 alse).........Determines.when.cy
6740 63 6c 65 73 20 63 72 65 61 74 65 20 73 65 6c 66 2d 6c 6f 6f 70 73 20 69 6e 20 74 68 65 20 54 72 cles.create.self-loops.in.the.Tr
6760 61 6e 73 69 74 69 76 65 20 43 6c 6f 73 75 72 65 2e 0a 20 20 20 20 20 20 20 20 49 66 20 54 72 75 ansitive.Closure..........If.Tru
6780 65 2c 20 74 72 69 76 69 61 6c 20 63 79 63 6c 65 73 20 28 6c 65 6e 67 74 68 20 30 29 20 63 72 65 e,.trivial.cycles.(length.0).cre
67a0 61 74 65 20 73 65 6c 66 2d 6c 6f 6f 70 73 2e 20 54 68 65 20 72 65 73 75 6c 74 0a 20 20 20 20 20 ate.self-loops..The.result......
67c0 20 20 20 69 73 20 61 20 72 65 66 6c 65 78 69 76 65 20 74 72 61 6e 73 69 74 69 76 65 20 63 6c 6f ...is.a.reflexive.transitive.clo
67e0 73 75 72 65 20 6f 66 20 47 2e 0a 20 20 20 20 20 20 20 20 49 66 20 46 61 6c 73 65 20 28 74 68 65 sure.of.G..........If.False.(the
6800 20 64 65 66 61 75 6c 74 29 20 6e 6f 6e 2d 74 72 69 76 69 61 6c 20 63 79 63 6c 65 73 20 63 72 65 .default).non-trivial.cycles.cre
6820 61 74 65 20 73 65 6c 66 2d 6c 6f 6f 70 73 2e 0a 20 20 20 20 20 20 20 20 49 66 20 4e 6f 6e 65 2c ate.self-loops..........If.None,
6840 20 73 65 6c 66 2d 6c 6f 6f 70 73 20 61 72 65 20 6e 6f 74 20 63 72 65 61 74 65 64 2e 0a 0a 20 20 .self-loops.are.not.created.....
6860 20 20 52 65 74 75 72 6e 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 4e 65 74 77 6f 72 ..Returns.....-------.....Networ
6880 6b 58 20 67 72 61 70 68 0a 20 20 20 20 20 20 20 20 54 68 65 20 74 72 61 6e 73 69 74 69 76 65 20 kX.graph.........The.transitive.
68a0 63 6c 6f 73 75 72 65 20 6f 66 20 60 47 60 0a 0a 20 20 20 20 52 61 69 73 65 73 0a 20 20 20 20 2d closure.of.`G`......Raises.....-
68c0 2d 2d 2d 2d 2d 0a 20 20 20 20 4e 65 74 77 6f 72 6b 58 45 72 72 6f 72 0a 20 20 20 20 20 20 20 20 -----.....NetworkXError.........
68e0 49 66 20 60 72 65 66 6c 65 78 69 76 65 60 20 6e 6f 74 20 69 6e 20 60 7b 4e 6f 6e 65 2c 20 54 72 If.`reflexive`.not.in.`{None,.Tr
6900 75 65 2c 20 46 61 6c 73 65 7d 60 0a 0a 20 20 20 20 45 78 61 6d 70 6c 65 73 0a 20 20 20 20 2d 2d ue,.False}`......Examples.....--
6920 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 54 68 65 20 74 72 65 61 74 6d 65 6e 74 20 6f 66 20 74 72 69 76 ------.....The.treatment.of.triv
6940 69 61 6c 20 28 69 2e 65 2e 20 6c 65 6e 67 74 68 20 30 29 20 63 79 63 6c 65 73 20 69 73 20 63 6f ial.(i.e..length.0).cycles.is.co
6960 6e 74 72 6f 6c 6c 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 60 72 65 66 6c 65 78 69 76 65 60 20 ntrolled.by.the.....`reflexive`.
6980 70 61 72 61 6d 65 74 65 72 2e 0a 0a 20 20 20 20 54 72 69 76 69 61 6c 20 28 69 2e 65 2e 20 6c 65 parameter.......Trivial.(i.e..le
69a0 6e 67 74 68 20 30 29 20 63 79 63 6c 65 73 20 64 6f 20 6e 6f 74 20 63 72 65 61 74 65 20 73 65 6c ngth.0).cycles.do.not.create.sel
69c0 66 2d 6c 6f 6f 70 73 20 77 68 65 6e 0a 20 20 20 20 60 60 72 65 66 6c 65 78 69 76 65 3d 46 61 6c f-loops.when.....``reflexive=Fal
69e0 73 65 60 60 20 28 74 68 65 20 64 65 66 61 75 6c 74 29 3a 3a 0a 0a 20 20 20 20 20 20 20 20 3e 3e se``.(the.default)::..........>>
6a00 3e 20 44 47 20 3d 20 6e 78 2e 44 69 47 72 61 70 68 28 5b 28 31 2c 20 32 29 2c 20 28 32 2c 20 33 >.DG.=.nx.DiGraph([(1,.2),.(2,.3
6a20 29 5d 29 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 54 43 20 3d 20 6e 78 2e 74 72 61 6e 73 69 74 69 )]).........>>>.TC.=.nx.transiti
6a40 76 65 5f 63 6c 6f 73 75 72 65 28 44 47 2c 20 72 65 66 6c 65 78 69 76 65 3d 46 61 6c 73 65 29 0a ve_closure(DG,.reflexive=False).
6a60 20 20 20 20 20 20 20 20 3e 3e 3e 20 54 43 2e 65 64 67 65 73 28 29 0a 20 20 20 20 20 20 20 20 4f ........>>>.TC.edges().........O
6a80 75 74 45 64 67 65 56 69 65 77 28 5b 28 31 2c 20 32 29 2c 20 28 31 2c 20 33 29 2c 20 28 32 2c 20 utEdgeView([(1,.2),.(1,.3),.(2,.
6aa0 33 29 5d 29 0a 0a 20 20 20 20 48 6f 77 65 76 65 72 2c 20 6e 6f 6e 74 72 69 76 69 61 6c 20 28 69 3)])......However,.nontrivial.(i
6ac0 2e 65 2e 20 6c 65 6e 67 74 68 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 30 29 20 63 79 63 6c 65 .e..length.greater.than.0).cycle
6ae0 73 20 63 72 65 61 74 65 20 73 65 6c 66 2d 6c 6f 6f 70 73 0a 20 20 20 20 77 68 65 6e 20 60 60 72 s.create.self-loops.....when.``r
6b00 65 66 6c 65 78 69 76 65 3d 46 61 6c 73 65 60 60 20 28 74 68 65 20 64 65 66 61 75 6c 74 29 3a 3a eflexive=False``.(the.default)::
6b20 0a 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 44 47 20 3d 20 6e 78 2e 44 69 47 72 61 70 68 28 5b 28 ..........>>>.DG.=.nx.DiGraph([(
6b40 31 2c 20 32 29 2c 20 28 32 2c 20 33 29 2c 20 28 33 2c 20 31 29 5d 29 0a 20 20 20 20 20 20 20 20 1,.2),.(2,.3),.(3,.1)]).........
6b60 3e 3e 3e 20 54 43 20 3d 20 6e 78 2e 74 72 61 6e 73 69 74 69 76 65 5f 63 6c 6f 73 75 72 65 28 44 >>>.TC.=.nx.transitive_closure(D
6b80 47 2c 20 72 65 66 6c 65 78 69 76 65 3d 46 61 6c 73 65 29 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 G,.reflexive=False).........>>>.
6ba0 54 43 2e 65 64 67 65 73 28 29 0a 20 20 20 20 20 20 20 20 4f 75 74 45 64 67 65 56 69 65 77 28 5b TC.edges().........OutEdgeView([
6bc0 28 31 2c 20 32 29 2c 20 28 31 2c 20 33 29 2c 20 28 31 2c 20 31 29 2c 20 28 32 2c 20 33 29 2c 20 (1,.2),.(1,.3),.(1,.1),.(2,.3),.
6be0 28 32 2c 20 31 29 2c 20 28 32 2c 20 32 29 2c 20 28 33 2c 20 31 29 2c 20 28 33 2c 20 32 29 2c 20 (2,.1),.(2,.2),.(3,.1),.(3,.2),.
6c00 28 33 2c 20 33 29 5d 29 0a 0a 20 20 20 20 54 72 69 76 69 61 6c 20 63 79 63 6c 65 73 20 28 6c 65 (3,.3)])......Trivial.cycles.(le
6c20 6e 67 74 68 20 30 29 20 63 72 65 61 74 65 20 73 65 6c 66 2d 6c 6f 6f 70 73 20 77 68 65 6e 20 60 ngth.0).create.self-loops.when.`
6c40 60 72 65 66 6c 65 78 69 76 65 3d 54 72 75 65 60 60 3a 3a 0a 0a 20 20 20 20 20 20 20 20 3e 3e 3e `reflexive=True``::..........>>>
6c60 20 44 47 20 3d 20 6e 78 2e 44 69 47 72 61 70 68 28 5b 28 31 2c 20 32 29 2c 20 28 32 2c 20 33 29 .DG.=.nx.DiGraph([(1,.2),.(2,.3)
6c80 5d 29 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 54 43 20 3d 20 6e 78 2e 74 72 61 6e 73 69 74 69 76 ]).........>>>.TC.=.nx.transitiv
6ca0 65 5f 63 6c 6f 73 75 72 65 28 44 47 2c 20 72 65 66 6c 65 78 69 76 65 3d 54 72 75 65 29 0a 20 20 e_closure(DG,.reflexive=True)...
6cc0 20 20 20 20 20 20 3e 3e 3e 20 54 43 2e 65 64 67 65 73 28 29 0a 20 20 20 20 20 20 20 20 4f 75 74 ......>>>.TC.edges().........Out
6ce0 45 64 67 65 56 69 65 77 28 5b 28 31 2c 20 32 29 2c 20 28 31 2c 20 31 29 2c 20 28 31 2c 20 33 29 EdgeView([(1,.2),.(1,.1),.(1,.3)
6d00 2c 20 28 32 2c 20 33 29 2c 20 28 32 2c 20 32 29 2c 20 28 33 2c 20 33 29 5d 29 0a 0a 20 20 20 20 ,.(2,.3),.(2,.2),.(3,.3)])......
6d20 41 6e 64 20 74 68 65 20 74 68 69 72 64 20 6f 70 74 69 6f 6e 20 69 73 20 6e 6f 74 20 74 6f 20 63 And.the.third.option.is.not.to.c
6d40 72 65 61 74 65 20 73 65 6c 66 2d 6c 6f 6f 70 73 20 61 74 20 61 6c 6c 20 77 68 65 6e 20 60 60 72 reate.self-loops.at.all.when.``r
6d60 65 66 6c 65 78 69 76 65 3d 4e 6f 6e 65 60 60 3a 3a 0a 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 44 eflexive=None``::..........>>>.D
6d80 47 20 3d 20 6e 78 2e 44 69 47 72 61 70 68 28 5b 28 31 2c 20 32 29 2c 20 28 32 2c 20 33 29 2c 20 G.=.nx.DiGraph([(1,.2),.(2,.3),.
6da0 28 33 2c 20 31 29 5d 29 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 54 43 20 3d 20 6e 78 2e 74 72 61 (3,.1)]).........>>>.TC.=.nx.tra
6dc0 6e 73 69 74 69 76 65 5f 63 6c 6f 73 75 72 65 28 44 47 2c 20 72 65 66 6c 65 78 69 76 65 3d 4e 6f nsitive_closure(DG,.reflexive=No
6de0 6e 65 29 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 54 43 2e 65 64 67 65 73 28 29 0a 20 20 20 20 20 ne).........>>>.TC.edges()......
6e00 20 20 20 4f 75 74 45 64 67 65 56 69 65 77 28 5b 28 31 2c 20 32 29 2c 20 28 31 2c 20 33 29 2c 20 ...OutEdgeView([(1,.2),.(1,.3),.
6e20 28 32 2c 20 33 29 2c 20 28 32 2c 20 31 29 2c 20 28 33 2c 20 31 29 2c 20 28 33 2c 20 32 29 5d 29 (2,.3),.(2,.1),.(3,.1),.(3,.2)])
6e40 0a 0a 20 20 20 20 52 65 66 65 72 65 6e 63 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a ......References.....----------.
6e60 20 20 20 20 2e 2e 20 5b 31 5d 20 68 74 74 70 73 3a 2f 2f 77 77 77 2e 69 63 73 2e 75 63 69 2e 65 .......[1].https://www.ics.uci.e
6e80 64 75 2f 7e 65 70 70 73 74 65 69 6e 2f 50 41 44 53 2f 50 61 72 74 69 61 6c 4f 72 64 65 72 2e 70 du/~eppstein/PADS/PartialOrder.p
6ea0 79 0a 20 20 20 20 3e 03 00 00 00 46 4e 54 7a 2d 49 6e 63 6f 72 72 65 63 74 20 76 61 6c 75 65 20 y.....>....FNTz-Incorrect.value.
6ec0 66 6f 72 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 60 72 65 66 6c 65 78 69 76 65 60 63 01 00 for.the.parameter.`reflexive`c..
6ee0 00 00 00 00 00 00 00 00 00 00 04 00 00 00 33 00 00 00 f3 36 00 00 00 95 02 4b 00 01 00 97 00 7c ..............3....6.....K.....|
6f00 00 5d 10 00 00 7d 01 7c 01 89 02 89 03 19 00 00 00 76 01 73 01 8c 0b 89 03 7c 01 66 02 96 01 97 .]...}.|.........v.s.....|.f....
6f20 01 01 00 8c 12 04 00 79 00 ad 03 77 01 72 4a 00 00 00 72 4b 00 00 00 a9 04 72 5f 00 00 00 72 77 .......y...w.rJ...rK.....r_...rw
6f40 00 00 00 da 02 54 43 72 3f 00 00 00 73 04 00 00 00 20 20 80 80 72 26 00 00 00 72 61 00 00 00 7a .....TCr?...s........r&...ra...z
6f60 25 74 72 61 6e 73 69 74 69 76 65 5f 63 6c 6f 73 75 72 65 2e 3c 6c 6f 63 61 6c 73 3e 2e 3c 67 65 %transitive_closure.<locals>.<ge
6f80 6e 65 78 70 72 3e 1f 03 00 00 73 20 00 00 00 f8 e8 00 f8 80 00 d2 1d 55 a8 11 c0 61 c8 72 d0 52 nexpr>....s............U...a.r.R
6fa0 53 c9 75 c2 6e 98 71 a0 21 9c 66 d1 1d 55 f9 f3 08 00 00 00 83 0c 19 01 90 09 19 01 54 63 01 00 S.u.n.q.!.f..U..............Tc..
6fc0 00 00 00 00 00 00 00 00 00 00 04 00 00 00 33 00 00 00 f3 36 00 00 00 95 02 4b 00 01 00 97 00 7c ..............3....6.....K.....|
6fe0 00 5d 10 00 00 7d 01 7c 01 89 02 89 03 19 00 00 00 76 01 73 01 8c 0b 89 03 7c 01 66 02 96 01 97 .]...}.|.........v.s.....|.f....
7000 01 01 00 8c 12 04 00 79 00 ad 03 77 01 72 4a 00 00 00 72 4b 00 00 00 72 7c 00 00 00 73 04 00 00 .......y...w.rJ...rK...r|...s...
7020 00 20 20 80 80 72 26 00 00 00 72 61 00 00 00 7a 25 74 72 61 6e 73 69 74 69 76 65 5f 63 6c 6f 73 .....r&...ra...z%transitive_clos
7040 75 72 65 2e 3c 6c 6f 63 61 6c 73 3e 2e 3c 67 65 6e 65 78 70 72 3e 21 03 00 00 73 24 00 00 00 f8 ure.<locals>.<genexpr>!...s$....
7060 e8 00 f8 80 00 f2 00 02 1e 0e d8 1b 1c b8 61 c0 72 c8 21 c1 75 ba 6e 90 11 90 41 94 06 f1 03 02 ..............a.r.!.u.n...A.....
7080 1e 0e f9 72 7e 00 00 00 46 63 01 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 33 00 00 00 f3 42 ...r~...Fc................3....B
70a0 00 00 00 95 02 4b 00 01 00 97 00 7c 00 5d 16 00 00 7d 01 7c 01 64 00 19 00 00 00 89 02 89 03 19 .....K.....|.]...}.|.d..........
70c0 00 00 00 76 01 73 01 8c 0e 89 03 7c 01 64 00 19 00 00 00 66 02 96 01 97 01 01 00 8c 18 04 00 79 ...v.s.....|.d.....f...........y
70e0 01 ad 03 77 01 29 02 72 34 00 00 00 4e 72 4b 00 00 00 29 04 72 5f 00 00 00 da 01 65 72 7d 00 00 ...w.).r4...NrK...).r_.....er}..
7100 00 72 3f 00 00 00 73 04 00 00 00 20 20 80 80 72 26 00 00 00 72 61 00 00 00 7a 25 74 72 61 6e 73 .r?...s........r&...ra...z%trans
7120 69 74 69 76 65 5f 63 6c 6f 73 75 72 65 2e 3c 6c 6f 63 61 6c 73 3e 2e 3c 67 65 6e 65 78 70 72 3e itive_closure.<locals>.<genexpr>
7140 25 03 00 00 73 2b 00 00 00 f8 e8 00 f8 80 00 d2 1d 58 a8 41 c0 61 c8 01 c1 64 d0 52 54 d0 55 56 %...s+...........X.A.a...d.RT.UV
7160 d1 52 57 d2 46 57 98 71 a0 21 a0 41 a1 24 9c 69 d1 1d 58 f9 73 08 00 00 00 83 0f 1f 01 93 0c 1f .RW.FW.q.!.A.$.i..X.s...........
7180 01 29 06 da 04 63 6f 70 79 72 1f 00 00 00 72 36 00 00 00 da 0e 61 64 64 5f 65 64 67 65 73 5f 66 .)...copyr....r6.....add_edges_f
71a0 72 6f 6d 72 0d 00 00 00 da 08 65 64 67 65 5f 62 66 73 29 04 72 22 00 00 00 da 09 72 65 66 6c 65 romr......edge_bfs).r".....refle
71c0 78 69 76 65 72 7d 00 00 00 72 3f 00 00 00 73 04 00 00 00 20 20 40 40 72 26 00 00 00 72 15 00 00 xiver}...r?...s......@@r&...r...
71e0 00 72 15 00 00 00 ce 02 00 00 73 c7 00 00 00 f9 80 00 f0 54 02 00 0a 0b 8f 16 89 16 8b 18 80 42 .r........s........T...........B
7200 e0 07 10 d0 18 2b d1 07 2b dc 0e 10 d7 0e 1e d1 0e 1e d0 1f 4e d3 0e 4f d0 08 4f e0 0d 0e f2 00 .....+..+...........N..O..O.....
7220 08 05 59 01 88 01 d8 0b 14 d0 0b 1c d8 0c 0e d7 0c 1d d1 0c 1d d4 1d 55 ac 62 af 6e a9 6e b8 51 ..Y....................U.b.n.n.Q
7240 c0 01 d3 2e 42 d4 1d 55 d5 0c 55 d8 0d 16 98 24 d1 0d 1e d8 0c 0e d7 0c 1d d1 0c 1d f4 00 02 1e ....B..U..U....$................
7260 0e dc 20 22 a7 0e a1 0e a8 71 b0 21 d3 20 34 b8 01 b0 73 d1 20 3a f4 03 02 1e 0e f5 00 02 0d 0e ...".....q.!..4...s..:..........
7280 f0 06 00 0e 17 98 25 d2 0d 1f d8 0c 0e d7 0c 1d d1 0c 1d d4 1d 58 b4 12 b7 1b b1 1b b8 51 c0 01 ......%..............X.......Q..
72a0 d3 31 42 d4 1d 58 d5 0c 58 f0 11 08 05 59 01 f0 14 00 0c 0e 80 49 72 30 00 00 00 63 02 00 00 00 .1B..X..X....Y.......Ir0...c....
72c0 00 00 00 00 00 00 00 00 09 00 00 00 03 00 00 00 f3 d2 00 00 00 87 03 97 00 7c 01 80 14 74 01 00 .........................|...t..
72e0 00 00 00 00 00 00 00 74 03 00 00 00 00 00 00 00 00 7c 00 ab 01 00 00 00 00 00 00 ab 01 00 00 00 .......t.........|..............
7300 00 00 00 7d 01 7c 00 6a 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ab 00 00 00 00 ...}.|.j........................
7320 00 00 00 7d 02 74 07 00 00 00 00 00 00 00 00 7c 01 ab 01 00 00 00 00 00 00 44 00 5d 31 00 00 8a ...}.t.........|.........D.]1...
7340 03 7c 02 6a 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 88 03 66 01 64 01 84 08 74 .|.j.....................f.d...t
7360 0b 00 00 00 00 00 00 00 00 6a 0c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 02 89 .........j...................|..
7380 03 64 02 ab 03 00 00 00 00 00 00 44 00 ab 00 00 00 00 00 00 00 ab 01 00 00 00 00 00 00 01 00 8c .d.........D....................
73a0 33 04 00 7c 02 53 00 29 03 61 46 04 00 00 52 65 74 75 72 6e 73 20 74 68 65 20 74 72 61 6e 73 69 3..|.S.).aF...Returns.the.transi
73c0 74 69 76 65 20 63 6c 6f 73 75 72 65 20 6f 66 20 61 20 64 69 72 65 63 74 65 64 20 61 63 79 63 6c tive.closure.of.a.directed.acycl
73e0 69 63 20 67 72 61 70 68 2e 0a 0a 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 ic.graph.......This.function.is.
7400 66 61 73 74 65 72 20 74 68 61 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 60 74 72 61 6e 73 69 faster.than.the.function.`transi
7420 74 69 76 65 5f 63 6c 6f 73 75 72 65 60 2c 20 62 75 74 20 66 61 69 6c 73 0a 20 20 20 20 69 66 20 tive_closure`,.but.fails.....if.
7440 74 68 65 20 67 72 61 70 68 20 68 61 73 20 61 20 63 79 63 6c 65 2e 0a 0a 20 20 20 20 54 68 65 20 the.graph.has.a.cycle.......The.
7460 74 72 61 6e 73 69 74 69 76 65 20 63 6c 6f 73 75 72 65 20 6f 66 20 47 20 3d 20 28 56 2c 45 29 20 transitive.closure.of.G.=.(V,E).
7480 69 73 20 61 20 67 72 61 70 68 20 47 2b 20 3d 20 28 56 2c 45 2b 29 20 73 75 63 68 20 74 68 61 74 is.a.graph.G+.=.(V,E+).such.that
74a0 0a 20 20 20 20 66 6f 72 20 61 6c 6c 20 76 2c 20 77 20 69 6e 20 56 20 74 68 65 72 65 20 69 73 20 .....for.all.v,.w.in.V.there.is.
74c0 61 6e 20 65 64 67 65 20 28 76 2c 20 77 29 20 69 6e 20 45 2b 20 69 66 20 61 6e 64 20 6f 6e 6c 79 an.edge.(v,.w).in.E+.if.and.only
74e0 20 69 66 20 74 68 65 72 65 0a 20 20 20 20 69 73 20 61 20 6e 6f 6e 2d 6e 75 6c 6c 20 70 61 74 68 .if.there.....is.a.non-null.path
7500 20 66 72 6f 6d 20 76 20 74 6f 20 77 20 69 6e 20 47 2e 0a 0a 20 20 20 20 50 61 72 61 6d 65 74 65 .from.v.to.w.in.G.......Paramete
7520 72 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 47 20 3a 20 4e 65 74 77 6f 72 rs.....----------.....G.:.Networ
7540 6b 58 20 44 69 47 72 61 70 68 0a 20 20 20 20 20 20 20 20 41 20 64 69 72 65 63 74 65 64 20 61 63 kX.DiGraph.........A.directed.ac
7560 79 63 6c 69 63 20 67 72 61 70 68 20 28 44 41 47 29 0a 0a 20 20 20 20 74 6f 70 6f 5f 6f 72 64 65 yclic.graph.(DAG)......topo_orde
7580 72 3a 20 6c 69 73 74 20 6f 72 20 74 75 70 6c 65 2c 20 6f 70 74 69 6f 6e 61 6c 0a 20 20 20 20 20 r:.list.or.tuple,.optional......
75a0 20 20 20 41 20 74 6f 70 6f 6c 6f 67 69 63 61 6c 20 6f 72 64 65 72 20 66 6f 72 20 47 20 28 69 66 ...A.topological.order.for.G.(if
75c0 20 4e 6f 6e 65 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 63 6f 6d 70 75 74 65 .None,.the.function.will.compute
75e0 20 6f 6e 65 29 0a 0a 20 20 20 20 52 65 74 75 72 6e 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 0a 20 .one)......Returns.....-------..
7600 20 20 20 4e 65 74 77 6f 72 6b 58 20 44 69 47 72 61 70 68 0a 20 20 20 20 20 20 20 20 54 68 65 20 ...NetworkX.DiGraph.........The.
7620 74 72 61 6e 73 69 74 69 76 65 20 63 6c 6f 73 75 72 65 20 6f 66 20 60 47 60 0a 0a 20 20 20 20 52 transitive.closure.of.`G`......R
7640 61 69 73 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 4e 65 74 77 6f 72 6b 58 4e 6f 74 aises.....------.....NetworkXNot
7660 49 6d 70 6c 65 6d 65 6e 74 65 64 0a 20 20 20 20 20 20 20 20 49 66 20 60 47 60 20 69 73 20 6e 6f Implemented.........If.`G`.is.no
7680 74 20 64 69 72 65 63 74 65 64 0a 20 20 20 20 4e 65 74 77 6f 72 6b 58 55 6e 66 65 61 73 69 62 6c t.directed.....NetworkXUnfeasibl
76a0 65 0a 20 20 20 20 20 20 20 20 49 66 20 60 47 60 20 68 61 73 20 61 20 63 79 63 6c 65 0a 0a 20 20 e.........If.`G`.has.a.cycle....
76c0 20 20 45 78 61 6d 70 6c 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 3e 3e 3e 20 ..Examples.....--------.....>>>.
76e0 44 47 20 3d 20 6e 78 2e 44 69 47 72 61 70 68 28 5b 28 31 2c 20 32 29 2c 20 28 32 2c 20 33 29 5d DG.=.nx.DiGraph([(1,.2),.(2,.3)]
7700 29 0a 20 20 20 20 3e 3e 3e 20 54 43 20 3d 20 6e 78 2e 74 72 61 6e 73 69 74 69 76 65 5f 63 6c 6f ).....>>>.TC.=.nx.transitive_clo
7720 73 75 72 65 5f 64 61 67 28 44 47 29 0a 20 20 20 20 3e 3e 3e 20 54 43 2e 65 64 67 65 73 28 29 0a sure_dag(DG).....>>>.TC.edges().
7740 20 20 20 20 4f 75 74 45 64 67 65 56 69 65 77 28 5b 28 31 2c 20 32 29 2c 20 28 31 2c 20 33 29 2c ....OutEdgeView([(1,.2),.(1,.3),
7760 20 28 32 2c 20 33 29 5d 29 0a 0a 20 20 20 20 4e 6f 74 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 0a 20 .(2,.3)])......Notes.....-----..
7780 20 20 20 54 68 69 73 20 61 6c 67 6f 72 69 74 68 6d 20 69 73 20 70 72 6f 62 61 62 6c 79 20 73 69 ...This.algorithm.is.probably.si
77a0 6d 70 6c 65 20 65 6e 6f 75 67 68 20 74 6f 20 62 65 20 77 65 6c 6c 2d 6b 6e 6f 77 6e 20 62 75 74 mple.enough.to.be.well-known.but
77c0 20 49 20 64 69 64 6e 27 74 20 66 69 6e 64 0a 20 20 20 20 61 20 6d 65 6e 74 69 6f 6e 20 69 6e 20 .I.didn't.find.....a.mention.in.
77e0 74 68 65 20 6c 69 74 65 72 61 74 75 72 65 2e 0a 20 20 20 20 63 01 00 00 00 00 00 00 00 00 00 00 the.literature......c...........
7800 00 03 00 00 00 33 00 00 00 f3 26 00 00 00 95 01 4b 00 01 00 97 00 7c 00 5d 08 00 00 7d 01 89 02 .....3....&.....K.....|.]...}...
7820 7c 01 66 02 96 01 97 01 01 00 8c 0a 04 00 79 00 ad 03 77 01 72 4a 00 00 00 72 4b 00 00 00 29 03 |.f...........y...w.rJ...rK...).
7840 72 5f 00 00 00 72 77 00 00 00 72 3f 00 00 00 73 03 00 00 00 20 20 80 72 26 00 00 00 72 61 00 00 r_...rw...r?...s.......r&...ra..
7860 00 7a 29 74 72 61 6e 73 69 74 69 76 65 5f 63 6c 6f 73 75 72 65 5f 64 61 67 2e 3c 6c 6f 63 61 6c .z)transitive_closure_dag.<local
7880 73 3e 2e 3c 67 65 6e 65 78 70 72 3e 5e 03 00 00 73 15 00 00 00 f8 e8 00 f8 80 00 d2 19 4f a0 51 s>.<genexpr>^...s............O.Q
78a0 98 31 98 61 9c 26 d1 19 4f f9 f3 04 00 00 00 83 0e 11 01 e9 02 00 00 00 29 07 72 65 00 00 00 72 .1.a.&..O...............).re...r
78c0 0f 00 00 00 72 82 00 00 00 da 08 72 65 76 65 72 73 65 64 72 83 00 00 00 72 1f 00 00 00 da 17 64 ....r......reversedr....r......d
78e0 65 73 63 65 6e 64 61 6e 74 73 5f 61 74 5f 64 69 73 74 61 6e 63 65 29 04 72 22 00 00 00 da 0a 74 escendants_at_distance).r".....t
7900 6f 70 6f 5f 6f 72 64 65 72 72 7d 00 00 00 72 3f 00 00 00 73 04 00 00 00 20 20 20 40 72 26 00 00 opo_orderr}...r?...s.......@r&..
7920 00 72 16 00 00 00 72 16 00 00 00 2a 03 00 00 73 69 00 00 00 f8 80 00 f0 58 01 00 08 12 d0 07 19 .r....r....*...si.......X.......
7940 dc 15 19 d4 1a 2a a8 31 d3 1a 2d d3 15 2e 88 0a e0 09 0a 8f 16 89 16 8b 18 80 42 f4 08 00 0e 16 .....*.1..-...............B.....
7960 90 6a d3 0d 21 f2 00 01 05 50 01 88 01 d8 08 0a d7 08 19 d1 08 19 d3 19 4f ac 22 d7 2a 44 d1 2a .j..!....P..............O.".*D.*
7980 44 c0 52 c8 11 c8 41 d3 2a 4e d4 19 4f d5 08 4f f0 03 01 05 50 01 f0 06 00 0c 0e 80 49 72 30 00 D.R...A.*N..O..O....P.......Ir0.
79a0 00 00 29 01 72 79 00 00 00 63 01 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 03 00 00 00 f3 08 ..).ry...c......................
79c0 02 00 00 87 09 97 00 74 01 00 00 00 00 00 00 00 00 7c 00 ab 01 00 00 00 00 00 00 73 17 64 01 7d .......t.........|.........s.d.}
79e0 01 74 03 00 00 00 00 00 00 00 00 6a 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c .t.........j...................|
7a00 01 ab 01 00 00 00 00 00 00 82 01 74 03 00 00 00 00 00 00 00 00 6a 06 00 00 00 00 00 00 00 00 00 ...........t.........j..........
7a20 00 00 00 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 7d 02 7c 02 6a 09 00 00 00 00 00 00 00 00 00 .................}.|.j..........
7a40 00 00 00 00 00 00 00 00 00 7c 00 6a 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ab .........|.j....................
7a60 00 00 00 00 00 00 00 ab 01 00 00 00 00 00 00 01 00 69 00 7d 03 74 0d 00 00 00 00 00 00 00 00 7c .................i.}.t.........|
7a80 00 6a 0e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ab 01 00 00 00 00 00 00 7d 04 7c .j...........................}.|
7aa0 00 44 00 5d 89 00 00 8a 09 74 11 00 00 00 00 00 00 00 00 7c 00 89 09 19 00 00 00 ab 01 00 00 00 .D.].....t.........|............
7ac0 00 00 00 7d 05 7c 00 89 09 19 00 00 00 44 00 5d 57 00 00 7d 06 7c 06 7c 05 76 00 72 38 7c 06 7c ...}.|.......D.]W..}.|.|.v.r8|.|
7ae0 03 76 01 72 2c 74 03 00 00 00 00 00 00 00 00 6a 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .v.r,t.........j................
7b00 00 00 00 7c 00 7c 06 ab 02 00 00 00 00 00 00 44 00 8f 07 8f 08 63 03 68 00 63 02 5d 07 00 00 5c ...|.|.........D.....c.h.c.]...\
7b20 02 00 00 7d 07 7d 08 7c 08 92 02 8c 09 04 00 63 03 7d 08 7d 07 7c 03 7c 06 3c 00 00 00 7c 05 7c ...}.}.|.......c.}.}.|.|.<...|.|
7b40 03 7c 06 19 00 00 00 7a 17 00 00 7d 05 7c 04 7c 06 78 02 78 02 19 00 00 00 64 02 7a 17 00 00 63 .|.....z...}.|.|.x.x.....d.z...c
7b60 03 63 02 3c 00 00 00 7c 04 7c 06 19 00 00 00 64 03 6b 28 00 00 73 01 8c 55 7c 03 7c 06 3d 00 8c .c.<...|.|.....d.k(..s..U|.|.=..
7b80 59 04 00 7c 02 6a 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 88 09 66 01 64 04 84 Y..|.j.....................f.d..
7ba0 08 7c 05 44 00 ab 00 00 00 00 00 00 00 ab 01 00 00 00 00 00 00 01 00 8c 8b 04 00 7c 02 53 00 63 .|.D.......................|.S.c
7bc0 02 01 00 63 03 7d 08 7d 07 77 00 29 05 61 cc 05 00 00 52 65 74 75 72 6e 73 20 74 72 61 6e 73 69 ...c.}.}.w.).a....Returns.transi
7be0 74 69 76 65 20 72 65 64 75 63 74 69 6f 6e 20 6f 66 20 61 20 64 69 72 65 63 74 65 64 20 67 72 61 tive.reduction.of.a.directed.gra
7c00 70 68 0a 0a 20 20 20 20 54 68 65 20 74 72 61 6e 73 69 74 69 76 65 20 72 65 64 75 63 74 69 6f 6e ph......The.transitive.reduction
7c20 20 6f 66 20 47 20 3d 20 28 56 2c 45 29 20 69 73 20 61 20 67 72 61 70 68 20 47 2d 20 3d 20 28 56 .of.G.=.(V,E).is.a.graph.G-.=.(V
7c40 2c 45 2d 29 20 73 75 63 68 20 74 68 61 74 0a 20 20 20 20 66 6f 72 20 61 6c 6c 20 76 2c 77 20 69 ,E-).such.that.....for.all.v,w.i
7c60 6e 20 56 20 74 68 65 72 65 20 69 73 20 61 6e 20 65 64 67 65 20 28 76 2c 77 29 20 69 6e 20 45 2d n.V.there.is.an.edge.(v,w).in.E-
7c80 20 69 66 20 61 6e 64 20 6f 6e 6c 79 20 69 66 20 28 76 2c 77 29 20 69 73 0a 20 20 20 20 69 6e 20 .if.and.only.if.(v,w).is.....in.
7ca0 45 20 61 6e 64 20 74 68 65 72 65 20 69 73 20 6e 6f 20 70 61 74 68 20 66 72 6f 6d 20 76 20 74 6f E.and.there.is.no.path.from.v.to
7cc0 20 77 20 69 6e 20 47 20 77 69 74 68 20 6c 65 6e 67 74 68 20 67 72 65 61 74 65 72 20 74 68 61 6e .w.in.G.with.length.greater.than
7ce0 20 31 2e 0a 0a 20 20 20 20 50 61 72 61 6d 65 74 65 72 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d .1.......Parameters.....--------
7d00 2d 2d 0a 20 20 20 20 47 20 3a 20 4e 65 74 77 6f 72 6b 58 20 44 69 47 72 61 70 68 0a 20 20 20 20 --.....G.:.NetworkX.DiGraph.....
7d20 20 20 20 20 41 20 64 69 72 65 63 74 65 64 20 61 63 79 63 6c 69 63 20 67 72 61 70 68 20 28 44 41 ....A.directed.acyclic.graph.(DA
7d40 47 29 0a 0a 20 20 20 20 52 65 74 75 72 6e 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 G)......Returns.....-------.....
7d60 4e 65 74 77 6f 72 6b 58 20 44 69 47 72 61 70 68 0a 20 20 20 20 20 20 20 20 54 68 65 20 74 72 61 NetworkX.DiGraph.........The.tra
7d80 6e 73 69 74 69 76 65 20 72 65 64 75 63 74 69 6f 6e 20 6f 66 20 60 47 60 0a 0a 20 20 20 20 52 61 nsitive.reduction.of.`G`......Ra
7da0 69 73 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 4e 65 74 77 6f 72 6b 58 45 72 72 6f ises.....------.....NetworkXErro
7dc0 72 0a 20 20 20 20 20 20 20 20 49 66 20 60 47 60 20 69 73 20 6e 6f 74 20 61 20 64 69 72 65 63 74 r.........If.`G`.is.not.a.direct
7de0 65 64 20 61 63 79 63 6c 69 63 20 67 72 61 70 68 20 28 44 41 47 29 20 74 72 61 6e 73 69 74 69 76 ed.acyclic.graph.(DAG).transitiv
7e00 65 20 72 65 64 75 63 74 69 6f 6e 20 69 73 0a 20 20 20 20 20 20 20 20 6e 6f 74 20 75 6e 69 71 75 e.reduction.is.........not.uniqu
7e20 65 6c 79 20 64 65 66 69 6e 65 64 20 61 6e 64 20 61 20 3a 65 78 63 3a 60 4e 65 74 77 6f 72 6b 58 ely.defined.and.a.:exc:`NetworkX
7e40 45 72 72 6f 72 60 20 65 78 63 65 70 74 69 6f 6e 20 69 73 20 72 61 69 73 65 64 2e 0a 0a 20 20 20 Error`.exception.is.raised......
7e60 20 45 78 61 6d 70 6c 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 54 6f 20 70 65 .Examples.....--------.....To.pe
7e80 72 66 6f 72 6d 20 74 72 61 6e 73 69 74 69 76 65 20 72 65 64 75 63 74 69 6f 6e 20 6f 6e 20 61 20 rform.transitive.reduction.on.a.
7ea0 44 69 47 72 61 70 68 3a 0a 0a 20 20 20 20 3e 3e 3e 20 44 47 20 3d 20 6e 78 2e 44 69 47 72 61 70 DiGraph:......>>>.DG.=.nx.DiGrap
7ec0 68 28 5b 28 31 2c 20 32 29 2c 20 28 32 2c 20 33 29 2c 20 28 31 2c 20 33 29 5d 29 0a 20 20 20 20 h([(1,.2),.(2,.3),.(1,.3)]).....
7ee0 3e 3e 3e 20 54 52 20 3d 20 6e 78 2e 74 72 61 6e 73 69 74 69 76 65 5f 72 65 64 75 63 74 69 6f 6e >>>.TR.=.nx.transitive_reduction
7f00 28 44 47 29 0a 20 20 20 20 3e 3e 3e 20 6c 69 73 74 28 54 52 2e 65 64 67 65 73 29 0a 20 20 20 20 (DG).....>>>.list(TR.edges).....
7f20 5b 28 31 2c 20 32 29 2c 20 28 32 2c 20 33 29 5d 0a 0a 20 20 20 20 54 6f 20 61 76 6f 69 64 20 75 [(1,.2),.(2,.3)]......To.avoid.u
7f40 6e 6e 65 63 65 73 73 61 72 79 20 64 61 74 61 20 63 6f 70 69 65 73 2c 20 74 68 69 73 20 69 6d 70 nnecessary.data.copies,.this.imp
7f60 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 72 65 74 75 72 6e 20 61 0a 20 20 lementation.does.not.return.a...
7f80 20 20 44 69 47 72 61 70 68 20 77 69 74 68 20 6e 6f 64 65 2f 65 64 67 65 20 64 61 74 61 2e 0a 20 ..DiGraph.with.node/edge.data...
7fa0 20 20 20 54 6f 20 70 65 72 66 6f 72 6d 20 74 72 61 6e 73 69 74 69 76 65 20 72 65 64 75 63 74 69 ...To.perform.transitive.reducti
7fc0 6f 6e 20 6f 6e 20 61 20 44 69 47 72 61 70 68 20 61 6e 64 20 74 72 61 6e 73 66 65 72 20 6e 6f 64 on.on.a.DiGraph.and.transfer.nod
7fe0 65 2f 65 64 67 65 20 64 61 74 61 3a 0a 0a 20 20 20 20 3e 3e 3e 20 44 47 20 3d 20 6e 78 2e 44 69 e/edge.data:......>>>.DG.=.nx.Di
8000 47 72 61 70 68 28 29 0a 20 20 20 20 3e 3e 3e 20 44 47 2e 61 64 64 5f 65 64 67 65 73 5f 66 72 6f Graph().....>>>.DG.add_edges_fro
8020 6d 28 5b 28 31 2c 20 32 29 2c 20 28 32 2c 20 33 29 2c 20 28 31 2c 20 33 29 5d 2c 20 63 6f 6c 6f m([(1,.2),.(2,.3),.(1,.3)],.colo
8040 72 3d 22 72 65 64 22 29 0a 20 20 20 20 3e 3e 3e 20 54 52 20 3d 20 6e 78 2e 74 72 61 6e 73 69 74 r="red").....>>>.TR.=.nx.transit
8060 69 76 65 5f 72 65 64 75 63 74 69 6f 6e 28 44 47 29 0a 20 20 20 20 3e 3e 3e 20 54 52 2e 61 64 64 ive_reduction(DG).....>>>.TR.add
8080 5f 6e 6f 64 65 73 5f 66 72 6f 6d 28 44 47 2e 6e 6f 64 65 73 28 64 61 74 61 3d 54 72 75 65 29 29 _nodes_from(DG.nodes(data=True))
80a0 0a 20 20 20 20 3e 3e 3e 20 54 52 2e 61 64 64 5f 65 64 67 65 73 5f 66 72 6f 6d 28 28 75 2c 20 76 .....>>>.TR.add_edges_from((u,.v
80c0 2c 20 44 47 2e 65 64 67 65 73 5b 75 2c 20 76 5d 29 20 66 6f 72 20 75 2c 20 76 20 69 6e 20 54 52 ,.DG.edges[u,.v]).for.u,.v.in.TR
80e0 2e 65 64 67 65 73 29 0a 20 20 20 20 3e 3e 3e 20 6c 69 73 74 28 54 52 2e 65 64 67 65 73 28 64 61 .edges).....>>>.list(TR.edges(da
8100 74 61 3d 54 72 75 65 29 29 0a 20 20 20 20 5b 28 31 2c 20 32 2c 20 7b 27 63 6f 6c 6f 72 27 3a 20 ta=True)).....[(1,.2,.{'color':.
8120 27 72 65 64 27 7d 29 2c 20 28 32 2c 20 33 2c 20 7b 27 63 6f 6c 6f 72 27 3a 20 27 72 65 64 27 7d 'red'}),.(2,.3,.{'color':.'red'}
8140 29 5d 0a 0a 20 20 20 20 52 65 66 65 72 65 6e 63 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d )]......References.....---------
8160 2d 0a 20 20 20 20 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 -.....https://en.wikipedia.org/w
8180 69 6b 69 2f 54 72 61 6e 73 69 74 69 76 65 5f 72 65 64 75 63 74 69 6f 6e 0a 0a 20 20 20 20 7a 38 iki/Transitive_reduction......z8
81a0 44 69 72 65 63 74 65 64 20 41 63 79 63 6c 69 63 20 47 72 61 70 68 20 72 65 71 75 69 72 65 64 20 Directed.Acyclic.Graph.required.
81c0 66 6f 72 20 74 72 61 6e 73 69 74 69 76 65 5f 72 65 64 75 63 74 69 6f 6e 72 34 00 00 00 72 02 00 for.transitive_reductionr4...r..
81e0 00 00 63 01 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 33 00 00 00 f3 26 00 00 00 95 01 4b 00 ..c................3....&.....K.
8200 01 00 97 00 7c 00 5d 08 00 00 7d 01 89 02 7c 01 66 02 96 01 97 01 01 00 8c 0a 04 00 79 00 ad 03 ....|.]...}...|.f...........y...
8220 77 01 72 4a 00 00 00 72 4b 00 00 00 29 03 72 5f 00 00 00 72 3f 00 00 00 72 77 00 00 00 73 03 00 w.rJ...rK...).r_...r?...rw...s..
8240 00 00 20 20 80 72 26 00 00 00 72 61 00 00 00 7a 27 74 72 61 6e 73 69 74 69 76 65 5f 72 65 64 75 .....r&...ra...z'transitive_redu
8260 63 74 69 6f 6e 2e 3c 6c 6f 63 61 6c 73 3e 2e 3c 67 65 6e 65 78 70 72 3e a8 03 00 00 73 15 00 00 ction.<locals>.<genexpr>....s...
8280 00 f8 e8 00 f8 80 00 d2 19 31 a0 51 98 31 98 61 9c 26 d1 19 31 f9 72 88 00 00 00 29 0b 72 13 00 .........1.Q.1.a.&..1.r....).r..
82a0 00 00 72 1f 00 00 00 72 36 00 00 00 da 07 44 69 47 72 61 70 68 da 0e 61 64 64 5f 6e 6f 64 65 73 ..r....r6.....DiGraph..add_nodes
82c0 5f 66 72 6f 6d da 05 6e 6f 64 65 73 72 63 00 00 00 72 38 00 00 00 da 03 73 65 74 da 09 64 66 73 _from..nodesrc...r8.....set..dfs
82e0 5f 65 64 67 65 73 72 83 00 00 00 29 0a 72 22 00 00 00 72 57 00 00 00 da 02 54 52 72 0d 00 00 00 _edgesr....).r"...rW.....TRr....
8300 da 0b 63 68 65 63 6b 5f 63 6f 75 6e 74 da 06 75 5f 6e 62 72 73 72 3f 00 00 00 da 01 78 da 01 79 ..check_count..u_nbrsr?.....x..y
8320 72 77 00 00 00 73 0a 00 00 00 20 20 20 20 20 20 20 20 20 40 72 26 00 00 00 72 17 00 00 00 72 17 rw...s.............@r&...r....r.
8340 00 00 00 63 03 00 00 73 09 01 00 00 f8 80 00 f4 66 01 00 0c 25 a0 51 d4 0b 27 d8 0e 48 88 03 dc ...c...s........f...%.Q..'..H...
8360 0e 10 d7 0e 1e d1 0e 1e 98 73 d3 0e 23 d0 08 23 dc 09 0b 8f 1a 89 1a 8b 1c 80 42 d8 04 06 d7 04 .........s..#..#..........B.....
8380 15 d1 04 15 90 61 97 67 91 67 93 69 d4 04 20 d8 12 14 80 4b e4 12 16 90 71 97 7b 91 7b d3 12 23 .....a.g.g.i.......K....q.{.{..#
83a0 80 4b d8 0d 0e f2 00 0a 05 32 88 01 dc 11 14 90 51 90 71 91 54 93 19 88 06 d8 11 12 90 31 91 14 .K.......2......Q.q.T........1..
83c0 f2 00 07 09 23 88 41 d8 0f 10 90 46 89 7b d8 13 14 98 4b d1 13 27 dc 34 36 b7 4c b1 4c c0 11 c0 ....#.A....F.{....K..'.46.L.L...
83e0 41 d3 34 46 d7 25 47 a9 44 a8 41 a8 71 a2 61 d3 25 47 90 4b a0 01 91 4e d8 10 16 98 2b a0 61 99 A.4F.%G.D.A.q.a.%G.K...N....+.a.
8400 2e d1 10 28 90 06 d8 0c 17 98 01 8b 4e 98 61 d1 0c 1f 8b 4e d8 0f 1a 98 31 89 7e a0 11 d3 0f 22 ...(........N.a....N....1.~...."
8420 d8 14 1f a0 01 91 4e f0 0f 07 09 23 f0 10 00 09 0b d7 08 19 d1 08 19 d3 19 31 a8 26 d4 19 31 d5 ......N....#.............1.&..1.
8440 08 31 f0 15 0a 05 32 f0 16 00 0c 0e 80 49 f9 f3 0d 00 26 48 01 73 06 00 00 00 c2 2a 0c 43 3e 0a .1....2......I....&H.s.....*.C>.
8460 63 02 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 23 00 00 00 f3 84 01 00 00 4b 00 01 00 97 00 c................#........K.....
8480 7c 01 80 1e 74 01 00 00 00 00 00 00 00 00 74 03 00 00 00 00 00 00 00 00 6a 04 00 00 00 00 00 00 |...t.........t.........j.......
84a0 00 00 00 00 00 00 00 00 00 00 00 00 7c 00 ab 01 00 00 00 00 00 00 ab 01 00 00 00 00 00 00 7d 01 ............|.................}.
84c0 74 03 00 00 00 00 00 00 00 00 6a 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 00 t.........j...................|.
84e0 7c 01 ab 02 00 00 00 00 00 00 7d 02 67 00 74 01 00 00 00 00 00 00 00 00 74 09 00 00 00 00 00 00 |.........}.g.t.........t.......
8500 00 00 7c 01 ab 01 00 00 00 00 00 00 ab 01 00 00 00 00 00 00 66 02 67 01 7d 03 7c 03 72 68 7c 03 ..|.................f.g.}.|.rh|.
8520 6a 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 5c 02 00 00 j...........................\...
8540 7d 04 7d 05 7c 04 96 01 97 01 01 00 7c 05 72 4b 7c 05 6a 0b 00 00 00 00 00 00 00 00 00 00 00 00 }.}.|.......|.rK|.j.............
8560 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 7d 06 7c 04 7c 06 67 01 7a 00 00 00 7d 07 7c 05 44 00 ..............}.|.|.g.z...}.|.D.
8580 8f 08 63 02 67 00 63 02 5d 14 00 00 7d 08 7c 08 7c 02 7c 06 19 00 00 00 76 00 72 01 8c 0b 7c 06 ..c.g.c.]...}.|.|.|.....v.r...|.
85a0 7c 02 7c 08 19 00 00 00 76 00 72 01 8c 13 7c 08 91 02 8c 16 04 00 7d 09 7d 08 7c 03 6a 0d 00 00 |.|.....v.r...|.......}.}.|.j...
85c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 07 7c 09 66 02 ab 01 00 00 00 00 00 00 01 00 ................|.|.f...........
85e0 7c 05 72 01 8c 4b 7c 03 72 01 8c 67 79 01 79 01 63 02 01 00 63 02 7d 08 77 00 ad 03 77 01 29 02 |.r..K|.r..gy.y.c...c.}.w...w.).
8600 61 b0 04 00 00 47 65 6e 65 72 61 74 65 73 20 61 6e 74 69 63 68 61 69 6e 73 20 66 72 6f 6d 20 61 a....Generates.antichains.from.a
8620 20 64 69 72 65 63 74 65 64 20 61 63 79 63 6c 69 63 20 67 72 61 70 68 20 28 44 41 47 29 2e 0a 0a .directed.acyclic.graph.(DAG)...
8640 20 20 20 20 41 6e 20 61 6e 74 69 63 68 61 69 6e 20 69 73 20 61 20 73 75 62 73 65 74 20 6f 66 20 ....An.antichain.is.a.subset.of.
8660 61 20 70 61 72 74 69 61 6c 6c 79 20 6f 72 64 65 72 65 64 20 73 65 74 20 73 75 63 68 20 74 68 61 a.partially.ordered.set.such.tha
8680 74 20 61 6e 79 0a 20 20 20 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 74 68 65 20 73 75 t.any.....two.elements.in.the.su
86a0 62 73 65 74 20 61 72 65 20 69 6e 63 6f 6d 70 61 72 61 62 6c 65 2e 0a 0a 20 20 20 20 50 61 72 61 bset.are.incomparable.......Para
86c0 6d 65 74 65 72 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 47 20 3a 20 4e 65 meters.....----------.....G.:.Ne
86e0 74 77 6f 72 6b 58 20 44 69 47 72 61 70 68 0a 20 20 20 20 20 20 20 20 41 20 64 69 72 65 63 74 65 tworkX.DiGraph.........A.directe
8700 64 20 61 63 79 63 6c 69 63 20 67 72 61 70 68 20 28 44 41 47 29 0a 0a 20 20 20 20 74 6f 70 6f 5f d.acyclic.graph.(DAG)......topo_
8720 6f 72 64 65 72 3a 20 6c 69 73 74 20 6f 72 20 74 75 70 6c 65 2c 20 6f 70 74 69 6f 6e 61 6c 0a 20 order:.list.or.tuple,.optional..
8740 20 20 20 20 20 20 20 41 20 74 6f 70 6f 6c 6f 67 69 63 61 6c 20 6f 72 64 65 72 20 66 6f 72 20 47 .......A.topological.order.for.G
8760 20 28 69 66 20 4e 6f 6e 65 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 63 6f 6d .(if.None,.the.function.will.com
8780 70 75 74 65 20 6f 6e 65 29 0a 0a 20 20 20 20 59 69 65 6c 64 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d pute.one)......Yields.....------
87a0 0a 20 20 20 20 61 6e 74 69 63 68 61 69 6e 20 3a 20 6c 69 73 74 0a 20 20 20 20 20 20 20 20 61 20 .....antichain.:.list.........a.
87c0 6c 69 73 74 20 6f 66 20 6e 6f 64 65 73 20 69 6e 20 60 47 60 20 72 65 70 72 65 73 65 6e 74 69 6e list.of.nodes.in.`G`.representin
87e0 67 20 61 6e 20 61 6e 74 69 63 68 61 69 6e 0a 0a 20 20 20 20 52 61 69 73 65 73 0a 20 20 20 20 2d g.an.antichain......Raises.....-
8800 2d 2d 2d 2d 2d 0a 20 20 20 20 4e 65 74 77 6f 72 6b 58 4e 6f 74 49 6d 70 6c 65 6d 65 6e 74 65 64 -----.....NetworkXNotImplemented
8820 0a 20 20 20 20 20 20 20 20 49 66 20 60 47 60 20 69 73 20 6e 6f 74 20 64 69 72 65 63 74 65 64 0a .........If.`G`.is.not.directed.
8840 0a 20 20 20 20 4e 65 74 77 6f 72 6b 58 55 6e 66 65 61 73 69 62 6c 65 0a 20 20 20 20 20 20 20 20 .....NetworkXUnfeasible.........
8860 49 66 20 60 47 60 20 63 6f 6e 74 61 69 6e 73 20 61 20 63 79 63 6c 65 0a 0a 20 20 20 20 45 78 61 If.`G`.contains.a.cycle......Exa
8880 6d 70 6c 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 3e 3e 3e 20 44 47 20 3d 20 mples.....--------.....>>>.DG.=.
88a0 6e 78 2e 44 69 47 72 61 70 68 28 5b 28 31 2c 20 32 29 2c 20 28 31 2c 20 33 29 5d 29 0a 20 20 20 nx.DiGraph([(1,.2),.(1,.3)])....
88c0 20 3e 3e 3e 20 6c 69 73 74 28 6e 78 2e 61 6e 74 69 63 68 61 69 6e 73 28 44 47 29 29 0a 20 20 20 .>>>.list(nx.antichains(DG))....
88e0 20 5b 5b 5d 2c 20 5b 33 5d 2c 20 5b 32 5d 2c 20 5b 32 2c 20 33 5d 2c 20 5b 31 5d 5d 0a 0a 20 20 .[[],.[3],.[2],.[2,.3],.[1]]....
8900 20 20 4e 6f 74 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 0a 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 ..Notes.....-----.....This.funct
8920 69 6f 6e 20 77 61 73 20 6f 72 69 67 69 6e 61 6c 6c 79 20 64 65 76 65 6c 6f 70 65 64 20 62 79 20 ion.was.originally.developed.by.
8940 50 65 74 65 72 20 4a 69 70 73 65 6e 20 61 6e 64 20 46 72 61 6e 63 6f 20 53 61 6c 69 6f 6c 61 0a Peter.Jipsen.and.Franco.Saliola.
8960 20 20 20 20 66 6f 72 20 74 68 65 20 53 41 47 45 20 70 72 6f 6a 65 63 74 2e 20 49 74 27 73 20 69 ....for.the.SAGE.project..It's.i
8980 6e 63 6c 75 64 65 64 20 69 6e 20 4e 65 74 77 6f 72 6b 58 20 77 69 74 68 20 70 65 72 6d 69 73 73 ncluded.in.NetworkX.with.permiss
89a0 69 6f 6e 20 66 72 6f 6d 20 74 68 65 0a 20 20 20 20 61 75 74 68 6f 72 73 2e 20 4f 72 69 67 69 6e ion.from.the.....authors..Origin
89c0 61 6c 20 53 41 47 45 20 63 6f 64 65 20 61 74 3a 0a 0a 20 20 20 20 68 74 74 70 73 3a 2f 2f 67 69 al.SAGE.code.at:......https://gi
89e0 74 68 75 62 2e 63 6f 6d 2f 73 61 67 65 6d 61 74 68 2f 73 61 67 65 2f 62 6c 6f 62 2f 6d 61 73 74 thub.com/sagemath/sage/blob/mast
8a00 65 72 2f 73 72 63 2f 73 61 67 65 2f 63 6f 6d 62 69 6e 61 74 2f 70 6f 73 65 74 73 2f 68 61 73 73 er/src/sage/combinat/posets/hass
8a20 65 5f 64 69 61 67 72 61 6d 2e 70 79 0a 0a 20 20 20 20 52 65 66 65 72 65 6e 63 65 73 0a 20 20 20 e_diagram.py......References....
8a40 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 2e 2e 20 5b 31 5d 20 46 72 65 65 20 4c 61 74 74 .----------........[1].Free.Latt
8a60 69 63 65 73 2c 20 62 79 20 52 2e 20 46 72 65 65 73 65 2c 20 4a 2e 20 4a 65 7a 65 6b 20 61 6e 64 ices,.by.R..Freese,.J..Jezek.and
8a80 20 4a 2e 20 42 2e 20 4e 61 74 69 6f 6e 2c 0a 20 20 20 20 20 20 20 41 4d 53 2c 20 56 6f 6c 20 34 .J..B..Nation,........AMS,.Vol.4
8aa0 32 2c 20 31 39 39 35 2c 20 70 2e 20 32 32 36 2e 0a 20 20 20 20 4e 29 07 72 65 00 00 00 72 1f 00 2,.1995,.p..226......N).re...r..
8ac0 00 00 72 0f 00 00 00 72 16 00 00 00 72 8a 00 00 00 72 66 00 00 00 72 3d 00 00 00 29 0a 72 22 00 ..r....r....r....rf...r=...).r".
8ae0 00 00 72 8c 00 00 00 72 7d 00 00 00 da 11 61 6e 74 69 63 68 61 69 6e 73 5f 73 74 61 63 6b 73 da ..r....r}.....antichains_stacks.
8b00 09 61 6e 74 69 63 68 61 69 6e da 05 73 74 61 63 6b 72 97 00 00 00 da 0d 6e 65 77 5f 61 6e 74 69 .antichain..stackr......new_anti
8b20 63 68 61 69 6e da 01 74 da 09 6e 65 77 5f 73 74 61 63 6b 73 0a 00 00 00 20 20 20 20 20 20 20 20 chain..t..new_stacks............
8b40 20 20 72 26 00 00 00 72 18 00 00 00 72 18 00 00 00 ac 03 00 00 73 ce 00 00 00 e8 00 f8 80 00 f0 ..r&...r....r........s..........
8b60 60 01 00 08 12 d0 07 19 dc 15 19 9c 22 d7 1a 2d d1 1a 2d a8 61 d3 1a 30 d3 15 31 88 0a e4 09 0b `..........."..-..-.a..0..1.....
8b80 d7 09 22 d1 09 22 a0 31 a0 6a d3 09 31 80 42 d8 1a 1c 9c 64 a4 38 a8 4a d3 23 37 d3 1e 38 d0 19 .."..".1.j..1.B....d.8.J.#7..8..
8ba0 39 d0 18 3a d0 04 15 e1 0a 1b d8 1d 2e d7 1d 32 d1 1d 32 d3 1d 34 d1 08 1a 88 19 90 45 f0 08 00 9..:...........2..2..4......E...
8bc0 0f 18 8a 0f d9 0e 13 d8 10 15 97 09 91 09 93 0b 88 41 d8 1c 25 a8 11 a8 03 99 4f 88 4d d8 24 29 .................A..%.....O.M.$)
8be0 d6 18 50 98 71 b0 31 b8 02 b8 31 b9 05 b2 3a c0 31 c8 02 c8 31 c9 05 c2 3a 9a 11 d0 18 50 88 49 ..P.q.1...1...:.1...1...:....P.I
8c00 d0 18 50 d8 0c 1d d7 0c 24 d1 0c 24 a0 6d b0 59 d0 25 3f d4 0c 40 f2 09 00 0f 14 f4 0d 00 0b 1c ..P.....$..$.m.Y.%?..@..........
8c20 f9 f2 12 00 19 51 01 f9 73 2a 00 00 00 82 42 03 43 00 01 c2 05 0c 42 3b 04 c2 12 07 42 3b 04 c2 .....Q..s*....B.C.....B;....B;..
8c40 1a 04 42 3b 04 c2 1e 17 43 00 01 c2 36 02 43 00 01 c2 39 07 43 00 01 da 06 77 65 69 67 68 74 da ..B;....C...6.C...9.C....weight.
8c60 0e 64 65 66 61 75 6c 74 5f 77 65 69 67 68 74 29 01 da 0a 65 64 67 65 5f 61 74 74 72 73 63 04 00 .default_weight)...edge_attrsc..
8c80 00 00 00 00 00 00 00 00 00 00 0b 00 00 00 03 00 00 00 f3 30 02 00 00 87 01 87 02 87 0a 97 00 7c ...................0...........|
8ca0 00 73 02 67 00 53 00 7c 03 80 15 74 01 00 00 00 00 00 00 00 00 6a 02 00 00 00 00 00 00 00 00 00 .s.g.S.|...t.........j..........
8cc0 00 00 00 00 00 00 00 00 00 7c 00 ab 01 00 00 00 00 00 00 7d 03 69 00 8a 0a 7c 03 44 00 5d a0 00 .........|.........}.i...|.D.]..
8ce0 00 7d 04 7c 00 6a 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 04 19 00 00 00 6a .}.|.j...................|.....j
8d00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 44 00 8f 05 8f ...........................D....
8d20 06 63 03 67 00 63 02 5d 51 00 00 5c 02 00 00 7d 05 7d 06 89 0a 7c 05 19 00 00 00 64 02 19 00 00 .c.g.c.]Q..\...}.}...|.....d....
8d40 00 7c 00 6a 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 72 .|.j...........................r
8d60 1f 74 0b 00 00 00 00 00 00 00 00 7c 06 6a 0d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .t.........|.j..................
8d80 00 ab 00 00 00 00 00 00 00 88 02 88 01 66 02 64 03 84 08 ac 04 ab 02 00 00 00 00 00 00 6e 01 7c .............f.d.............n.|
8da0 06 6a 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 89 01 89 02 ab 02 00 00 00 00 00 .j..............................
8dc0 00 7a 00 00 00 7c 05 66 02 91 02 8c 53 04 00 7d 07 7d 05 7d 06 7c 07 72 0e 74 0b 00 00 00 00 00 .z...|.f....S..}.}.}.|.r.t......
8de0 00 00 00 7c 07 64 05 84 00 ac 04 ab 02 00 00 00 00 00 00 6e 03 64 02 7c 04 66 02 7d 08 7c 08 64 ...|.d.............n.d.|.f.}.|.d
8e00 02 19 00 00 00 64 02 6b 5c 00 00 72 02 7c 08 6e 03 64 02 7c 04 66 02 89 0a 7c 04 3c 00 00 00 8c .....d.k\..r.|.n.d.|.f...|.<....
8e20 a2 04 00 64 01 7d 05 74 0b 00 00 00 00 00 00 00 00 89 0a 88 0a 66 01 64 06 84 08 ac 04 ab 02 00 ...d.}.t.............f.d........
8e40 00 00 00 00 00 7d 04 67 00 7d 09 7c 05 7c 04 6b 37 00 00 72 21 7c 09 6a 11 00 00 00 00 00 00 00 .....}.g.}.|.|.k7..r!|.j........
8e60 00 00 00 00 00 00 00 00 00 00 00 7c 04 ab 01 00 00 00 00 00 00 01 00 7c 04 7d 05 89 0a 7c 04 19 ...........|...........|.}...|..
8e80 00 00 00 64 07 19 00 00 00 7d 04 7c 05 7c 04 6b 37 00 00 72 01 8c 21 7c 09 6a 13 00 00 00 00 00 ...d.....}.|.|.k7..r..!|.j......
8ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 01 00 7c 09 53 00 63 02 01 00 63 .......................|.S.c...c
8ec0 03 7d 06 7d 05 77 00 29 08 61 a3 05 00 00 52 65 74 75 72 6e 73 20 74 68 65 20 6c 6f 6e 67 65 73 .}.}.w.).a....Returns.the.longes
8ee0 74 20 70 61 74 68 20 69 6e 20 61 20 64 69 72 65 63 74 65 64 20 61 63 79 63 6c 69 63 20 67 72 61 t.path.in.a.directed.acyclic.gra
8f00 70 68 20 28 44 41 47 29 2e 0a 0a 20 20 20 20 49 66 20 60 47 60 20 68 61 73 20 65 64 67 65 73 20 ph.(DAG).......If.`G`.has.edges.
8f20 77 69 74 68 20 60 77 65 69 67 68 74 60 20 61 74 74 72 69 62 75 74 65 20 74 68 65 20 65 64 67 65 with.`weight`.attribute.the.edge
8f40 20 64 61 74 61 20 61 72 65 20 75 73 65 64 20 61 73 0a 20 20 20 20 77 65 69 67 68 74 20 76 61 6c .data.are.used.as.....weight.val
8f60 75 65 73 2e 0a 0a 20 20 20 20 50 61 72 61 6d 65 74 65 72 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d ues.......Parameters.....-------
8f80 2d 2d 2d 0a 20 20 20 20 47 20 3a 20 4e 65 74 77 6f 72 6b 58 20 44 69 47 72 61 70 68 0a 20 20 20 ---.....G.:.NetworkX.DiGraph....
8fa0 20 20 20 20 20 41 20 64 69 72 65 63 74 65 64 20 61 63 79 63 6c 69 63 20 67 72 61 70 68 20 28 44 .....A.directed.acyclic.graph.(D
8fc0 41 47 29 0a 0a 20 20 20 20 77 65 69 67 68 74 20 3a 20 73 74 72 2c 20 6f 70 74 69 6f 6e 61 6c 0a AG)......weight.:.str,.optional.
8fe0 20 20 20 20 20 20 20 20 45 64 67 65 20 64 61 74 61 20 6b 65 79 20 74 6f 20 75 73 65 20 66 6f 72 ........Edge.data.key.to.use.for
9000 20 77 65 69 67 68 74 0a 0a 20 20 20 20 64 65 66 61 75 6c 74 5f 77 65 69 67 68 74 20 3a 20 69 6e .weight......default_weight.:.in
9020 74 2c 20 6f 70 74 69 6f 6e 61 6c 0a 20 20 20 20 20 20 20 20 54 68 65 20 77 65 69 67 68 74 20 6f t,.optional.........The.weight.o
9040 66 20 65 64 67 65 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 68 61 76 65 20 61 20 77 65 69 67 68 f.edges.that.do.not.have.a.weigh
9060 74 20 61 74 74 72 69 62 75 74 65 0a 0a 20 20 20 20 74 6f 70 6f 5f 6f 72 64 65 72 3a 20 6c 69 73 t.attribute......topo_order:.lis
9080 74 20 6f 72 20 74 75 70 6c 65 2c 20 6f 70 74 69 6f 6e 61 6c 0a 20 20 20 20 20 20 20 20 41 20 74 t.or.tuple,.optional.........A.t
90a0 6f 70 6f 6c 6f 67 69 63 61 6c 20 6f 72 64 65 72 20 66 6f 72 20 60 47 60 20 28 69 66 20 4e 6f 6e opological.order.for.`G`.(if.Non
90c0 65 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 63 6f 6d 70 75 74 65 20 6f 6e 65 e,.the.function.will.compute.one
90e0 29 0a 0a 20 20 20 20 52 65 74 75 72 6e 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 6c )......Returns.....-------.....l
9100 69 73 74 0a 20 20 20 20 20 20 20 20 4c 6f 6e 67 65 73 74 20 70 61 74 68 0a 0a 20 20 20 20 52 61 ist.........Longest.path......Ra
9120 69 73 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 4e 65 74 77 6f 72 6b 58 4e 6f 74 49 ises.....------.....NetworkXNotI
9140 6d 70 6c 65 6d 65 6e 74 65 64 0a 20 20 20 20 20 20 20 20 49 66 20 60 47 60 20 69 73 20 6e 6f 74 mplemented.........If.`G`.is.not
9160 20 64 69 72 65 63 74 65 64 0a 0a 20 20 20 20 45 78 61 6d 70 6c 65 73 0a 20 20 20 20 2d 2d 2d 2d .directed......Examples.....----
9180 2d 2d 2d 2d 0a 20 20 20 20 3e 3e 3e 20 44 47 20 3d 20 6e 78 2e 44 69 47 72 61 70 68 28 0a 20 20 ----.....>>>.DG.=.nx.DiGraph(...
91a0 20 20 2e 2e 2e 20 20 20 20 20 5b 28 30 2c 20 31 2c 20 7b 22 63 6f 73 74 22 3a 20 31 7d 29 2c 20 ..........[(0,.1,.{"cost":.1}),.
91c0 28 31 2c 20 32 2c 20 7b 22 63 6f 73 74 22 3a 20 31 7d 29 2c 20 28 30 2c 20 32 2c 20 7b 22 63 6f (1,.2,.{"cost":.1}),.(0,.2,.{"co
91e0 73 74 22 3a 20 34 32 7d 29 5d 0a 20 20 20 20 2e 2e 2e 20 29 0a 20 20 20 20 3e 3e 3e 20 6c 69 73 st":.42})].........).....>>>.lis
9200 74 28 6e 78 2e 61 6c 6c 5f 73 69 6d 70 6c 65 5f 70 61 74 68 73 28 44 47 2c 20 30 2c 20 32 29 29 t(nx.all_simple_paths(DG,.0,.2))
9220 0a 20 20 20 20 5b 5b 30 2c 20 31 2c 20 32 5d 2c 20 5b 30 2c 20 32 5d 5d 0a 20 20 20 20 3e 3e 3e .....[[0,.1,.2],.[0,.2]].....>>>
9240 20 6e 78 2e 64 61 67 5f 6c 6f 6e 67 65 73 74 5f 70 61 74 68 28 44 47 29 0a 20 20 20 20 5b 30 2c .nx.dag_longest_path(DG).....[0,
9260 20 31 2c 20 32 5d 0a 20 20 20 20 3e 3e 3e 20 6e 78 2e 64 61 67 5f 6c 6f 6e 67 65 73 74 5f 70 61 .1,.2].....>>>.nx.dag_longest_pa
9280 74 68 28 44 47 2c 20 77 65 69 67 68 74 3d 22 63 6f 73 74 22 29 0a 20 20 20 20 5b 30 2c 20 32 5d th(DG,.weight="cost").....[0,.2]
92a0 0a 0a 20 20 20 20 49 6e 20 74 68 65 20 63 61 73 65 20 77 68 65 72 65 20 6d 75 6c 74 69 70 6c 65 ......In.the.case.where.multiple
92c0 20 76 61 6c 69 64 20 74 6f 70 6f 6c 6f 67 69 63 61 6c 20 6f 72 64 65 72 69 6e 67 73 20 65 78 69 .valid.topological.orderings.exi
92e0 73 74 2c 20 60 74 6f 70 6f 5f 6f 72 64 65 72 60 0a 20 20 20 20 63 61 6e 20 62 65 20 75 73 65 64 st,.`topo_order`.....can.be.used
9300 20 74 6f 20 73 70 65 63 69 66 79 20 61 20 73 70 65 63 69 66 69 63 20 6f 72 64 65 72 69 6e 67 3a .to.specify.a.specific.ordering:
9320 0a 0a 20 20 20 20 3e 3e 3e 20 44 47 20 3d 20 6e 78 2e 44 69 47 72 61 70 68 28 5b 28 30 2c 20 31 ......>>>.DG.=.nx.DiGraph([(0,.1
9340 29 2c 20 28 30 2c 20 32 29 5d 29 0a 20 20 20 20 3e 3e 3e 20 73 6f 72 74 65 64 28 6e 78 2e 61 6c ),.(0,.2)]).....>>>.sorted(nx.al
9360 6c 5f 74 6f 70 6f 6c 6f 67 69 63 61 6c 5f 73 6f 72 74 73 28 44 47 29 29 20 20 23 20 56 61 6c 69 l_topological_sorts(DG))..#.Vali
9380 64 20 74 6f 70 6f 6c 6f 67 69 63 61 6c 20 6f 72 64 65 72 69 6e 67 73 0a 20 20 20 20 5b 5b 30 2c d.topological.orderings.....[[0,
93a0 20 31 2c 20 32 5d 2c 20 5b 30 2c 20 32 2c 20 31 5d 5d 0a 20 20 20 20 3e 3e 3e 20 6e 78 2e 64 61 .1,.2],.[0,.2,.1]].....>>>.nx.da
93c0 67 5f 6c 6f 6e 67 65 73 74 5f 70 61 74 68 28 44 47 2c 20 74 6f 70 6f 5f 6f 72 64 65 72 3d 5b 30 g_longest_path(DG,.topo_order=[0
93e0 2c 20 31 2c 20 32 5d 29 0a 20 20 20 20 5b 30 2c 20 31 5d 0a 20 20 20 20 3e 3e 3e 20 6e 78 2e 64 ,.1,.2]).....[0,.1].....>>>.nx.d
9400 61 67 5f 6c 6f 6e 67 65 73 74 5f 70 61 74 68 28 44 47 2c 20 74 6f 70 6f 5f 6f 72 64 65 72 3d 5b ag_longest_path(DG,.topo_order=[
9420 30 2c 20 32 2c 20 31 5d 29 0a 20 20 20 20 5b 30 2c 20 32 5d 0a 0a 20 20 20 20 53 65 65 20 61 6c 0,.2,.1]).....[0,.2]......See.al
9440 73 6f 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 64 61 67 5f 6c 6f 6e 67 65 73 74 5f so.....--------.....dag_longest_
9460 70 61 74 68 5f 6c 65 6e 67 74 68 0a 0a 20 20 20 20 4e 72 02 00 00 00 63 01 00 00 00 00 00 00 00 path_length......Nr....c........
9480 00 00 00 00 04 00 00 00 13 00 00 00 f3 28 00 00 00 95 02 97 00 7c 00 6a 01 00 00 00 00 00 00 00 .............(.......|.j........
94a0 00 00 00 00 00 00 00 00 00 00 00 89 02 89 01 ab 02 00 00 00 00 00 00 53 00 72 4a 00 00 00 a9 01 .......................S.rJ.....
94c0 da 03 67 65 74 29 03 72 97 00 00 00 72 a1 00 00 00 72 a0 00 00 00 73 03 00 00 00 20 80 80 72 26 ..get).r....r....r....s.......r&
94e0 00 00 00 fa 08 3c 6c 61 6d 62 64 61 3e 7a 22 64 61 67 5f 6c 6f 6e 67 65 73 74 5f 70 61 74 68 2e .....<lambda>z"dag_longest_path.
9500 3c 6c 6f 63 61 6c 73 3e 2e 3c 6c 61 6d 62 64 61 3e 37 04 00 00 73 12 00 00 00 f8 80 00 b0 51 b7 <locals>.<lambda>7...s........Q.
9520 55 b1 55 b8 36 c0 3e d3 35 52 80 00 72 30 00 00 00 a9 01 72 4c 00 00 00 63 01 00 00 00 00 00 00 U.U.6.>.5R..r0.....rL...c.......
9540 00 00 00 00 00 02 00 00 00 13 00 00 00 f3 0c 00 00 00 97 00 7c 00 64 01 19 00 00 00 53 00 a9 02 ....................|.d.....S...
9560 4e 72 02 00 00 00 72 4b 00 00 00 29 01 72 97 00 00 00 73 01 00 00 00 20 72 26 00 00 00 72 a7 00 Nr....rK...).r....s.....r&...r..
9580 00 00 7a 22 64 61 67 5f 6c 6f 6e 67 65 73 74 5f 70 61 74 68 2e 3c 6c 6f 63 61 6c 73 3e 2e 3c 6c ..z"dag_longest_path.<locals>.<l
95a0 61 6d 62 64 61 3e 42 04 00 00 73 0a 00 00 00 80 00 a0 51 a0 71 a1 54 80 00 72 30 00 00 00 63 01 ambda>B...s.......Q.q.T..r0...c.
95c0 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 13 00 00 00 f3 14 00 00 00 95 01 97 00 89 01 7c 00 ..............................|.
95e0 19 00 00 00 64 01 19 00 00 00 53 00 72 aa 00 00 00 72 4b 00 00 00 29 02 72 97 00 00 00 da 04 64 ....d.....S.r....rK...).r......d
9600 69 73 74 73 02 00 00 00 20 80 72 26 00 00 00 72 a7 00 00 00 7a 22 64 61 67 5f 6c 6f 6e 67 65 73 ists......r&...r....z"dag_longes
9620 74 5f 70 61 74 68 2e 3c 6c 6f 63 61 6c 73 3e 2e 3c 6c 61 6d 62 64 61 3e 46 04 00 00 73 0f 00 00 t_path.<locals>.<lambda>F...s...
9640 00 f8 80 00 a0 04 a0 51 a1 07 a8 01 a1 0a 80 00 72 30 00 00 00 72 34 00 00 00 29 0a 72 1f 00 00 .......Q........r0...r4...).r...
9660 00 72 0f 00 00 00 da 04 70 72 65 64 da 05 69 74 65 6d 73 72 37 00 00 00 da 03 6d 61 78 da 06 76 .r......pred..itemsr7.....max..v
9680 61 6c 75 65 73 72 a6 00 00 00 72 3d 00 00 00 72 28 00 00 00 29 0b 72 22 00 00 00 72 a0 00 00 00 aluesr....r=...r(...).r"...r....
96a0 72 a1 00 00 00 72 8c 00 00 00 72 3f 00 00 00 72 77 00 00 00 da 04 64 61 74 61 da 02 75 73 da 04 r....r....r?...rw.....data..us..
96c0 6d 61 78 75 da 04 70 61 74 68 72 ac 00 00 00 73 0b 00 00 00 20 60 60 20 20 20 20 20 20 20 40 72 maxu..pathr....s.....``.......@r
96e0 26 00 00 00 72 19 00 00 00 72 19 00 00 00 ef 03 00 00 73 3b 01 00 00 fa 80 00 f1 78 01 00 0c 0d &...r....r........s;.......x....
9700 d8 0f 11 88 09 e0 07 11 d0 07 19 dc 15 17 d7 15 28 d1 15 28 a8 11 d3 15 2b 88 0a e0 0b 0d 80 44 ................(..(....+......D
9720 d8 0d 17 f2 00 11 05 33 88 01 f0 16 00 1c 1d 9f 36 99 36 a0 21 99 39 9f 3f 99 3f d3 1b 2c f7 15 .......3........6.6.!.9.?.?..,..
9740 0b 0e 0a f1 14 00 11 18 90 01 90 34 f0 11 00 11 15 90 51 91 07 98 01 91 0a f0 06 00 18 19 97 7f ...........4......Q.............
9760 91 7f d4 17 28 f4 03 00 15 18 98 04 9f 0b 99 0b 9b 0d d4 2b 52 d5 14 53 e0 19 1d df 12 15 91 23 ....(..............+R..S.......#
9780 90 66 98 6e d3 12 2d f1 0b 05 11 2e f0 0c 00 11 12 f2 0f 08 0d 0e f0 03 0b 0e 0a 88 02 f1 00 0b .f.n..-.........................
97a0 0e 0a f1 1e 00 2f 31 8c 73 90 32 99 3e d5 0f 2a b0 71 b8 21 b0 66 88 04 d8 1a 1e 98 71 99 27 a0 ...../1.s.2.>..*.q.!.f......q.'.
97c0 51 9a 2c 91 24 a8 51 b0 01 a8 46 88 04 88 51 8a 07 f0 23 11 05 33 f0 26 00 09 0d 80 41 dc 08 0b Q.,.$.Q...F...Q...#..3.&....A...
97e0 88 44 d3 16 2a d4 08 2b 80 41 d8 0b 0d 80 44 d8 0a 0b 88 71 8a 26 d8 08 0c 8f 0b 89 0b 90 41 8c .D..*..+.A....D....q.&........A.
9800 0e d8 0c 0d 88 01 d8 0c 10 90 11 89 47 90 41 89 4a 88 01 f0 07 00 0b 0c 88 71 8b 26 f0 0a 00 05 ............G.A.J........q.&....
9820 09 87 4c 81 4c 84 4e d8 0b 0f 80 4b f9 f3 37 0b 0e 0a 73 07 00 00 00 c1 06 41 16 44 12 08 63 03 ..L.L.N....K..7...s......A.D..c.
9840 00 00 00 00 00 00 00 00 00 00 00 09 00 00 00 03 00 00 00 f3 58 01 00 00 87 00 87 01 87 02 87 06 ....................X...........
9860 87 07 97 00 74 01 00 00 00 00 00 00 00 00 6a 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ....t.........j.................
9880 00 00 89 00 89 01 89 02 ab 03 00 00 00 00 00 00 7d 03 64 01 7d 04 89 00 6a 05 00 00 00 00 00 00 ................}.d.}...j.......
98a0 00 00 00 00 00 00 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 72 4d 74 07 00 00 00 00 00 00 00 00 ....................rMt.........
98c0 7c 03 ab 01 00 00 00 00 00 00 44 00 5d 3d 00 00 5c 02 00 00 8a 06 8a 07 74 09 00 00 00 00 00 00 |.........D.]=..\.......t.......
98e0 00 00 89 00 89 06 19 00 00 00 89 07 19 00 00 00 88 00 88 02 88 06 88 07 88 01 66 05 64 02 84 08 ..........................f.d...
9900 ac 03 ab 02 00 00 00 00 00 00 7d 05 7c 04 89 00 89 06 19 00 00 00 89 07 19 00 00 00 7c 05 19 00 ..........}.|...............|...
9920 00 00 6a 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 89 01 89 02 ab 02 00 00 00 00 ..j.............................
9940 00 00 7a 0d 00 00 7d 04 8c 3f 04 00 7c 04 53 00 74 07 00 00 00 00 00 00 00 00 7c 03 ab 01 00 00 ..z...}..?..|.S.t.........|.....
9960 00 00 00 00 44 00 5d 20 00 00 5c 02 00 00 8a 06 8a 07 7c 04 89 00 89 06 19 00 00 00 89 07 19 00 ....D.]...\.......|.............
9980 00 00 6a 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 89 01 89 02 ab 02 00 00 00 00 ..j.............................
99a0 00 00 7a 0d 00 00 7d 04 8c 22 04 00 7c 04 53 00 29 04 61 2e 03 00 00 52 65 74 75 72 6e 73 20 74 ..z...}.."..|.S.).a....Returns.t
99c0 68 65 20 6c 6f 6e 67 65 73 74 20 70 61 74 68 20 6c 65 6e 67 74 68 20 69 6e 20 61 20 44 41 47 0a he.longest.path.length.in.a.DAG.
99e0 0a 20 20 20 20 50 61 72 61 6d 65 74 65 72 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 .....Parameters.....----------..
9a00 20 20 20 47 20 3a 20 4e 65 74 77 6f 72 6b 58 20 44 69 47 72 61 70 68 0a 20 20 20 20 20 20 20 20 ...G.:.NetworkX.DiGraph.........
9a20 41 20 64 69 72 65 63 74 65 64 20 61 63 79 63 6c 69 63 20 67 72 61 70 68 20 28 44 41 47 29 0a 0a A.directed.acyclic.graph.(DAG)..
9a40 20 20 20 20 77 65 69 67 68 74 20 3a 20 73 74 72 69 6e 67 2c 20 6f 70 74 69 6f 6e 61 6c 0a 20 20 ....weight.:.string,.optional...
9a60 20 20 20 20 20 20 45 64 67 65 20 64 61 74 61 20 6b 65 79 20 74 6f 20 75 73 65 20 66 6f 72 20 77 ......Edge.data.key.to.use.for.w
9a80 65 69 67 68 74 0a 0a 20 20 20 20 64 65 66 61 75 6c 74 5f 77 65 69 67 68 74 20 3a 20 69 6e 74 2c eight......default_weight.:.int,
9aa0 20 6f 70 74 69 6f 6e 61 6c 0a 20 20 20 20 20 20 20 20 54 68 65 20 77 65 69 67 68 74 20 6f 66 20 .optional.........The.weight.of.
9ac0 65 64 67 65 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 68 61 76 65 20 61 20 77 65 69 67 68 74 20 edges.that.do.not.have.a.weight.
9ae0 61 74 74 72 69 62 75 74 65 0a 0a 20 20 20 20 52 65 74 75 72 6e 73 0a 20 20 20 20 2d 2d 2d 2d 2d attribute......Returns.....-----
9b00 2d 2d 0a 20 20 20 20 69 6e 74 0a 20 20 20 20 20 20 20 20 4c 6f 6e 67 65 73 74 20 70 61 74 68 20 --.....int.........Longest.path.
9b20 6c 65 6e 67 74 68 0a 0a 20 20 20 20 52 61 69 73 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 0a 20 20 length......Raises.....------...
9b40 20 20 4e 65 74 77 6f 72 6b 58 4e 6f 74 49 6d 70 6c 65 6d 65 6e 74 65 64 0a 20 20 20 20 20 20 20 ..NetworkXNotImplemented........
9b60 20 49 66 20 60 47 60 20 69 73 20 6e 6f 74 20 64 69 72 65 63 74 65 64 0a 0a 20 20 20 20 45 78 61 .If.`G`.is.not.directed......Exa
9b80 6d 70 6c 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 3e 3e 3e 20 44 47 20 3d 20 mples.....--------.....>>>.DG.=.
9ba0 6e 78 2e 44 69 47 72 61 70 68 28 0a 20 20 20 20 2e 2e 2e 20 20 20 20 20 5b 28 30 2c 20 31 2c 20 nx.DiGraph(.............[(0,.1,.
9bc0 7b 22 63 6f 73 74 22 3a 20 31 7d 29 2c 20 28 31 2c 20 32 2c 20 7b 22 63 6f 73 74 22 3a 20 31 7d {"cost":.1}),.(1,.2,.{"cost":.1}
9be0 29 2c 20 28 30 2c 20 32 2c 20 7b 22 63 6f 73 74 22 3a 20 34 32 7d 29 5d 0a 20 20 20 20 2e 2e 2e ),.(0,.2,.{"cost":.42})]........
9c00 20 29 0a 20 20 20 20 3e 3e 3e 20 6c 69 73 74 28 6e 78 2e 61 6c 6c 5f 73 69 6d 70 6c 65 5f 70 61 .).....>>>.list(nx.all_simple_pa
9c20 74 68 73 28 44 47 2c 20 30 2c 20 32 29 29 0a 20 20 20 20 5b 5b 30 2c 20 31 2c 20 32 5d 2c 20 5b ths(DG,.0,.2)).....[[0,.1,.2],.[
9c40 30 2c 20 32 5d 5d 0a 20 20 20 20 3e 3e 3e 20 6e 78 2e 64 61 67 5f 6c 6f 6e 67 65 73 74 5f 70 61 0,.2]].....>>>.nx.dag_longest_pa
9c60 74 68 5f 6c 65 6e 67 74 68 28 44 47 29 0a 20 20 20 20 32 0a 20 20 20 20 3e 3e 3e 20 6e 78 2e 64 th_length(DG).....2.....>>>.nx.d
9c80 61 67 5f 6c 6f 6e 67 65 73 74 5f 70 61 74 68 5f 6c 65 6e 67 74 68 28 44 47 2c 20 77 65 69 67 68 ag_longest_path_length(DG,.weigh
9ca0 74 3d 22 63 6f 73 74 22 29 0a 20 20 20 20 34 32 0a 0a 20 20 20 20 53 65 65 20 61 6c 73 6f 0a 20 t="cost").....42......See.also..
9cc0 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 64 61 67 5f 6c 6f 6e 67 65 73 74 5f 70 61 74 68 ...--------.....dag_longest_path
9ce0 0a 20 20 20 20 72 02 00 00 00 63 01 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 13 00 00 00 f3 .....r....c.....................
9d00 3a 00 00 00 95 05 97 00 89 01 89 03 19 00 00 00 89 04 19 00 00 00 7c 00 19 00 00 00 6a 01 00 00 :.....................|.....j...
9d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 89 05 89 02 ab 02 00 00 00 00 00 00 53 00 72 4a ............................S.rJ
9d40 00 00 00 72 a5 00 00 00 29 06 72 97 00 00 00 72 22 00 00 00 72 a1 00 00 00 72 77 00 00 00 72 3f ...r....).r....r"...r....rw...r?
9d60 00 00 00 72 a0 00 00 00 73 06 00 00 00 20 80 80 80 80 80 72 26 00 00 00 72 a7 00 00 00 7a 29 64 ...r....s..........r&...r....z)d
9d80 61 67 5f 6c 6f 6e 67 65 73 74 5f 70 61 74 68 5f 6c 65 6e 67 74 68 2e 3c 6c 6f 63 61 6c 73 3e 2e ag_longest_path_length.<locals>.
9da0 3c 6c 61 6d 62 64 61 3e 7f 04 00 00 73 1e 00 00 00 f8 80 00 a8 31 a8 51 a9 34 b0 01 a9 37 b0 31 <lambda>....s........1.Q.4...7.1
9dc0 a9 3a af 3e a9 3e b8 26 c0 2e d3 2b 51 80 00 72 30 00 00 00 72 a8 00 00 00 29 06 72 1f 00 00 00 .:.>.>.&...+Q..r0...r....).r....
9de0 72 19 00 00 00 72 37 00 00 00 72 0c 00 00 00 72 af 00 00 00 72 a6 00 00 00 29 08 72 22 00 00 00 r....r7...r....r....r....).r"...
9e00 72 a0 00 00 00 72 a1 00 00 00 72 b4 00 00 00 da 0b 70 61 74 68 5f 6c 65 6e 67 74 68 72 58 00 00 r....r....r......path_lengthrX..
9e20 00 72 77 00 00 00 72 3f 00 00 00 73 08 00 00 00 60 60 60 20 20 20 40 40 72 26 00 00 00 72 1a 00 .rw...r?...s....```...@@r&...r..
9e40 00 00 72 1a 00 00 00 51 04 00 00 73 be 00 00 00 fc 80 00 f4 54 01 00 0c 0e d7 0b 1e d1 0b 1e 98 ..r....Q...s........T...........
9e60 71 a0 26 a8 2e d3 0b 39 80 44 d8 12 13 80 4b d8 07 08 87 7f 81 7f d4 07 18 dc 14 1c 98 54 93 4e q.&....9.D....K..............T.N
9e80 f2 00 02 09 42 01 89 44 88 41 88 71 dc 10 13 90 41 90 61 91 44 98 11 91 47 d7 21 51 d4 10 52 88 ....B..D.A.q....A.a.D...G.!Q..R.
9ea0 41 d8 0c 17 98 31 98 51 99 34 a0 01 99 37 a0 31 99 3a 9f 3e 99 3e a8 26 b0 2e d3 1b 41 d1 0c 41 A....1.Q.4...7.1.:.>.>.&....A..A
9ec0 89 4b f0 05 02 09 42 01 f0 0e 00 0c 17 d0 04 16 f4 07 00 15 1d 98 54 93 4e f2 00 01 09 3f 89 44 .K....B...............T.N....?.D
9ee0 88 41 88 71 d8 0c 17 98 31 98 51 99 34 a0 01 99 37 9f 3b 99 3b a0 76 a8 7e d3 1b 3e d1 0c 3e 89 .A.q....1.Q.4...7.;.;.v.~..>..>.
9f00 4b f0 03 01 09 3f f0 06 00 0c 17 d0 04 16 72 30 00 00 00 63 01 00 00 00 00 00 00 00 00 00 00 00 K....?........r0...c............
9f20 09 00 00 00 03 00 00 00 f3 d0 00 00 00 97 00 64 01 84 00 7c 00 6a 01 00 00 00 00 00 00 00 00 00 ...............d...|.j..........
9f40 00 00 00 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 44 00 ab 00 00 00 00 00 00 00 7d 01 64 02 84 .................D.........}.d..
9f60 00 7c 00 6a 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ab 00 00 00 00 00 00 00 44 .|.j...........................D
9f80 00 ab 00 00 00 00 00 00 00 7d 02 74 05 00 00 00 00 00 00 00 00 74 06 00 00 00 00 00 00 00 00 6a .........}.t.........t.........j
9fa0 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 00 ab 02 00 00 00 00 00 00 7d 03 74 ...................|.........}.t
9fc0 0b 00 00 00 00 00 00 00 00 74 0d 00 00 00 00 00 00 00 00 7c 03 74 0f 00 00 00 00 00 00 00 00 7c .........t.........|.t.........|
9fe0 01 7c 02 ab 02 00 00 00 00 00 00 ab 02 00 00 00 00 00 00 ab 01 00 00 00 00 00 00 53 00 29 03 61 .|.........................S.).a
a000 71 01 00 00 59 69 65 6c 64 73 20 72 6f 6f 74 2d 74 6f 2d 6c 65 61 66 20 70 61 74 68 73 20 69 6e q...Yields.root-to-leaf.paths.in
a020 20 61 20 64 69 72 65 63 74 65 64 20 61 63 79 63 6c 69 63 20 67 72 61 70 68 2e 0a 0a 20 20 20 20 .a.directed.acyclic.graph.......
a040 60 47 60 20 6d 75 73 74 20 62 65 20 61 20 64 69 72 65 63 74 65 64 20 61 63 79 63 6c 69 63 20 67 `G`.must.be.a.directed.acyclic.g
a060 72 61 70 68 2e 20 49 66 20 6e 6f 74 2c 20 74 68 65 20 62 65 68 61 76 69 6f 72 20 6f 66 20 74 68 raph..If.not,.the.behavior.of.th
a080 69 73 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 6e 64 65 66 69 6e 65 64 2e 20 41 20 is.....function.is.undefined..A.
a0a0 22 72 6f 6f 74 22 20 69 6e 20 74 68 69 73 20 67 72 61 70 68 20 69 73 20 61 20 6e 6f 64 65 20 6f "root".in.this.graph.is.a.node.o
a0c0 66 20 69 6e 2d 64 65 67 72 65 65 0a 20 20 20 20 7a 65 72 6f 20 61 6e 64 20 61 20 22 6c 65 61 66 f.in-degree.....zero.and.a."leaf
a0e0 22 20 61 20 6e 6f 64 65 20 6f 66 20 6f 75 74 2d 64 65 67 72 65 65 20 7a 65 72 6f 2e 0a 0a 20 20 ".a.node.of.out-degree.zero.....
a100 20 20 57 68 65 6e 20 69 6e 76 6f 6b 65 64 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 74 ..When.invoked,.this.function.it
a120 65 72 61 74 65 73 20 6f 76 65 72 20 65 61 63 68 20 70 61 74 68 20 66 72 6f 6d 20 61 6e 79 20 72 erates.over.each.path.from.any.r
a140 6f 6f 74 20 74 6f 0a 20 20 20 20 61 6e 79 20 6c 65 61 66 2e 20 41 20 70 61 74 68 20 69 73 20 61 oot.to.....any.leaf..A.path.is.a
a160 20 6c 69 73 74 20 6f 66 20 6e 6f 64 65 73 2e 0a 0a 20 20 20 20 63 01 00 00 00 00 00 00 00 00 00 .list.of.nodes.......c..........
a180 00 00 03 00 00 00 33 00 00 00 f3 32 00 00 00 4b 00 01 00 97 00 7c 00 5d 0f 00 00 5c 02 00 00 7d ......3....2...K.....|.]...\...}
a1a0 01 7d 02 7c 02 64 00 6b 28 00 00 73 01 8c 0c 7c 01 96 01 97 01 01 00 8c 11 04 00 79 01 ad 03 77 .}.|.d.k(..s...|...........y...w
a1c0 01 72 5e 00 00 00 72 4b 00 00 00 a9 03 72 5f 00 00 00 72 3f 00 00 00 72 40 00 00 00 73 03 00 00 .r^...rK.....r_...r?...r@...s...
a1e0 00 20 20 20 72 26 00 00 00 72 61 00 00 00 7a 25 72 6f 6f 74 5f 74 6f 5f 6c 65 61 66 5f 70 61 74 ....r&...ra...z%root_to_leaf_pat
a200 68 73 2e 3c 6c 6f 63 61 6c 73 3e 2e 3c 67 65 6e 65 78 70 72 3e 94 04 00 00 73 1a 00 00 00 e8 00 hs.<locals>.<genexpr>....s......
a220 f8 80 00 d2 0c 33 91 34 90 31 90 61 a8 41 b0 11 ab 46 8c 51 d1 0c 33 f9 f3 08 00 00 00 82 0d 17 .....3.4.1.a.A...F.Q..3.........
a240 01 90 07 17 01 63 01 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 33 00 00 00 f3 32 00 00 00 4b .....c................3....2...K
a260 00 01 00 97 00 7c 00 5d 0f 00 00 5c 02 00 00 7d 01 7d 02 7c 02 64 00 6b 28 00 00 73 01 8c 0c 7c .....|.]...\...}.}.|.d.k(..s...|
a280 01 96 01 97 01 01 00 8c 11 04 00 79 01 ad 03 77 01 72 5e 00 00 00 72 4b 00 00 00 72 ba 00 00 00 ...........y...w.r^...rK...r....
a2a0 73 03 00 00 00 20 20 20 72 26 00 00 00 72 61 00 00 00 7a 25 72 6f 6f 74 5f 74 6f 5f 6c 65 61 66 s.......r&...ra...z%root_to_leaf
a2c0 5f 70 61 74 68 73 2e 3c 6c 6f 63 61 6c 73 3e 2e 3c 67 65 6e 65 78 70 72 3e 95 04 00 00 73 1a 00 _paths.<locals>.<genexpr>....s..
a2e0 00 00 e8 00 f8 80 00 d2 0d 35 91 44 90 41 90 71 a8 61 b0 31 ab 66 8c 61 d1 0d 35 f9 72 bb 00 00 .........5.D.A.q.a.1.f.a..5.r...
a300 00 29 08 72 38 00 00 00 da 0a 6f 75 74 5f 64 65 67 72 65 65 72 04 00 00 00 72 1f 00 00 00 da 10 .).r8.....out_degreer....r......
a320 61 6c 6c 5f 73 69 6d 70 6c 65 5f 70 61 74 68 73 da 06 63 68 61 69 6e 69 72 08 00 00 00 72 07 00 all_simple_paths..chainir....r..
a340 00 00 29 04 72 22 00 00 00 da 05 72 6f 6f 74 73 da 06 6c 65 61 76 65 73 da 09 61 6c 6c 5f 70 61 ..).r".....roots..leaves..all_pa
a360 74 68 73 73 04 00 00 00 20 20 20 20 72 26 00 00 00 da 12 72 6f 6f 74 5f 74 6f 5f 6c 65 61 66 5f thss........r&.....root_to_leaf_
a380 70 61 74 68 73 72 c3 00 00 00 88 04 00 00 73 4f 00 00 00 80 00 f1 18 00 0d 34 98 31 9f 3b 99 3b pathsr........sO.........4.1.;.;
a3a0 9b 3d d4 0c 33 80 45 d9 0d 35 98 41 9f 4c 99 4c 9b 4e d4 0d 35 80 46 dc 10 17 9c 02 d7 18 2b d1 .=..3.E..5.A.L.L.N..5.F.......+.
a3c0 18 2b a8 51 d3 10 2f 80 49 e4 0b 11 94 27 98 29 a4 57 a8 55 b0 46 d3 25 3b d3 12 3c d3 0b 3d d0 .+.Q../.I....'.).W.U.F.%;..<..=.
a3e0 04 3d 72 30 00 00 00 72 3e 00 00 00 63 01 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 03 00 00 .=r0...r>...c...................
a400 00 f3 ce 00 00 00 97 00 74 01 00 00 00 00 00 00 00 00 7c 00 ab 01 00 00 00 00 00 00 72 17 64 01 ........t.........|.........r.d.
a420 7d 01 74 03 00 00 00 00 00 00 00 00 6a 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 }.t.........j...................
a440 7c 01 ab 01 00 00 00 00 00 00 82 01 74 07 00 00 00 00 00 00 00 00 7c 00 ab 01 00 00 00 00 00 00 |...........t.........|.........
a460 7d 02 74 03 00 00 00 00 00 00 00 00 6a 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 }.t.........j...................
a480 7c 02 ab 01 00 00 00 00 00 00 7d 03 7c 03 6a 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |.........}.|.j.................
a4a0 00 00 64 02 ab 01 00 00 00 00 00 00 01 00 7c 03 6a 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..d...........|.j...............
a4c0 00 00 00 00 64 03 ab 01 00 00 00 00 00 00 01 00 7c 03 53 00 29 04 61 2a 0c 00 00 52 65 74 75 72 ....d...........|.S.).a*...Retur
a4e0 6e 73 20 61 20 62 72 61 6e 63 68 69 6e 67 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 61 6c 6c 20 ns.a.branching.representing.all.
a500 28 6f 76 65 72 6c 61 70 70 69 6e 67 29 20 70 61 74 68 73 20 66 72 6f 6d 0a 20 20 20 20 72 6f 6f (overlapping).paths.from.....roo
a520 74 20 6e 6f 64 65 73 20 74 6f 20 6c 65 61 66 20 6e 6f 64 65 73 20 69 6e 20 74 68 65 20 67 69 76 t.nodes.to.leaf.nodes.in.the.giv
a540 65 6e 20 64 69 72 65 63 74 65 64 20 61 63 79 63 6c 69 63 20 67 72 61 70 68 2e 0a 0a 20 20 20 20 en.directed.acyclic.graph.......
a560 41 73 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 3a 6d 6f 64 3a 60 6e 65 74 77 6f 72 6b 78 2e 61 As.described.in.:mod:`networkx.a
a580 6c 67 6f 72 69 74 68 6d 73 2e 74 72 65 65 2e 72 65 63 6f 67 6e 69 74 69 6f 6e 60 2c 20 61 0a 20 lgorithms.tree.recognition`,.a..
a5a0 20 20 20 2a 62 72 61 6e 63 68 69 6e 67 2a 20 69 73 20 61 20 64 69 72 65 63 74 65 64 20 66 6f 72 ...*branching*.is.a.directed.for
a5c0 65 73 74 20 69 6e 20 77 68 69 63 68 20 65 61 63 68 20 6e 6f 64 65 20 68 61 73 20 61 74 20 6d 6f est.in.which.each.node.has.at.mo
a5e0 73 74 20 6f 6e 65 0a 20 20 20 20 70 61 72 65 6e 74 2e 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 st.one.....parent..In.other.word
a600 73 2c 20 61 20 62 72 61 6e 63 68 69 6e 67 20 69 73 20 61 20 64 69 73 6a 6f 69 6e 74 20 75 6e 69 s,.a.branching.is.a.disjoint.uni
a620 6f 6e 20 6f 66 0a 20 20 20 20 2a 61 72 62 6f 72 65 73 63 65 6e 63 65 73 2a 2e 20 46 6f 72 20 74 on.of.....*arborescences*..For.t
a640 68 69 73 20 66 75 6e 63 74 69 6f 6e 2c 20 65 61 63 68 20 6e 6f 64 65 20 6f 66 20 69 6e 2d 64 65 his.function,.each.node.of.in-de
a660 67 72 65 65 20 7a 65 72 6f 20 69 6e 0a 20 20 20 20 60 47 60 20 62 65 63 6f 6d 65 73 20 61 20 72 gree.zero.in.....`G`.becomes.a.r
a680 6f 6f 74 20 6f 66 20 6f 6e 65 20 6f 66 20 74 68 65 20 61 72 62 6f 72 65 73 63 65 6e 63 65 73 2c oot.of.one.of.the.arborescences,
a6a0 20 61 6e 64 20 74 68 65 72 65 20 77 69 6c 6c 20 62 65 0a 20 20 20 20 6f 6e 65 20 6c 65 61 66 20 .and.there.will.be.....one.leaf.
a6c0 6e 6f 64 65 20 66 6f 72 20 65 61 63 68 20 64 69 73 74 69 6e 63 74 20 70 61 74 68 20 66 72 6f 6d node.for.each.distinct.path.from
a6e0 20 74 68 61 74 20 72 6f 6f 74 20 74 6f 20 61 20 6c 65 61 66 20 6e 6f 64 65 0a 20 20 20 20 69 6e .that.root.to.a.leaf.node.....in
a700 20 60 47 60 2e 0a 0a 20 20 20 20 45 61 63 68 20 6e 6f 64 65 20 60 76 60 20 69 6e 20 60 47 60 20 .`G`.......Each.node.`v`.in.`G`.
a720 77 69 74 68 20 2a 6b 2a 20 70 61 72 65 6e 74 73 20 62 65 63 6f 6d 65 73 20 2a 6b 2a 20 64 69 73 with.*k*.parents.becomes.*k*.dis
a740 74 69 6e 63 74 20 6e 6f 64 65 73 20 69 6e 0a 20 20 20 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 tinct.nodes.in.....the.returned.
a760 62 72 61 6e 63 68 69 6e 67 2c 20 6f 6e 65 20 66 6f 72 20 65 61 63 68 20 70 61 72 65 6e 74 2c 20 branching,.one.for.each.parent,.
a780 61 6e 64 20 74 68 65 20 73 75 62 2d 44 41 47 20 72 6f 6f 74 65 64 0a 20 20 20 20 61 74 20 60 76 and.the.sub-DAG.rooted.....at.`v
a7a0 60 20 69 73 20 64 75 70 6c 69 63 61 74 65 64 20 66 6f 72 20 65 61 63 68 20 63 6f 70 79 2e 20 54 `.is.duplicated.for.each.copy..T
a7c0 68 65 20 61 6c 67 6f 72 69 74 68 6d 20 74 68 65 6e 20 72 65 63 75 72 73 65 73 20 6f 6e 0a 20 20 he.algorithm.then.recurses.on...
a7e0 20 20 74 68 65 20 63 68 69 6c 64 72 65 6e 20 6f 66 20 65 61 63 68 20 63 6f 70 79 20 6f 66 20 60 ..the.children.of.each.copy.of.`
a800 76 60 2e 0a 0a 20 20 20 20 50 61 72 61 6d 65 74 65 72 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d v`.......Parameters.....--------
a820 2d 2d 0a 20 20 20 20 47 20 3a 20 4e 65 74 77 6f 72 6b 58 20 67 72 61 70 68 0a 20 20 20 20 20 20 --.....G.:.NetworkX.graph.......
a840 20 20 41 20 64 69 72 65 63 74 65 64 20 61 63 79 63 6c 69 63 20 67 72 61 70 68 2e 0a 0a 20 20 20 ..A.directed.acyclic.graph......
a860 20 52 65 74 75 72 6e 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 44 69 47 72 61 70 68 .Returns.....-------.....DiGraph
a880 0a 20 20 20 20 20 20 20 20 54 68 65 20 62 72 61 6e 63 68 69 6e 67 20 69 6e 20 77 68 69 63 68 20 .........The.branching.in.which.
a8a0 74 68 65 72 65 20 69 73 20 61 20 62 69 6a 65 63 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 72 6f 6f there.is.a.bijection.between.roo
a8c0 74 2d 74 6f 2d 6c 65 61 66 0a 20 20 20 20 20 20 20 20 70 61 74 68 73 20 69 6e 20 60 47 60 20 28 t-to-leaf.........paths.in.`G`.(
a8e0 69 6e 20 77 68 69 63 68 20 6d 75 6c 74 69 70 6c 65 20 70 61 74 68 73 20 6d 61 79 20 73 68 61 72 in.which.multiple.paths.may.shar
a900 65 20 74 68 65 20 73 61 6d 65 20 6c 65 61 66 29 0a 20 20 20 20 20 20 20 20 61 6e 64 20 72 6f 6f e.the.same.leaf).........and.roo
a920 74 2d 74 6f 2d 6c 65 61 66 20 70 61 74 68 73 20 69 6e 20 74 68 65 20 62 72 61 6e 63 68 69 6e 67 t-to-leaf.paths.in.the.branching
a940 20 28 69 6e 20 77 68 69 63 68 20 74 68 65 72 65 20 69 73 20 61 0a 20 20 20 20 20 20 20 20 75 6e .(in.which.there.is.a.........un
a960 69 71 75 65 20 70 61 74 68 20 66 72 6f 6d 20 61 20 72 6f 6f 74 20 74 6f 20 61 20 6c 65 61 66 29 ique.path.from.a.root.to.a.leaf)
a980 2e 0a 0a 20 20 20 20 20 20 20 20 45 61 63 68 20 6e 6f 64 65 20 68 61 73 20 61 6e 20 61 74 74 72 ...........Each.node.has.an.attr
a9a0 69 62 75 74 65 20 27 73 6f 75 72 63 65 27 20 77 68 6f 73 65 20 76 61 6c 75 65 20 69 73 20 74 68 ibute.'source'.whose.value.is.th
a9c0 65 20 6f 72 69 67 69 6e 61 6c 0a 20 20 20 20 20 20 20 20 6e 6f 64 65 20 74 6f 20 77 68 69 63 68 e.original.........node.to.which
a9e0 20 74 68 69 73 20 6e 6f 64 65 20 63 6f 72 72 65 73 70 6f 6e 64 73 2e 20 4e 6f 20 6f 74 68 65 72 .this.node.corresponds..No.other
aa00 20 67 72 61 70 68 2c 20 6e 6f 64 65 2c 20 6f 72 0a 20 20 20 20 20 20 20 20 65 64 67 65 20 61 74 .graph,.node,.or.........edge.at
aa20 74 72 69 62 75 74 65 73 20 61 72 65 20 63 6f 70 69 65 64 20 69 6e 74 6f 20 74 68 69 73 20 6e 65 tributes.are.copied.into.this.ne
aa40 77 20 67 72 61 70 68 2e 0a 0a 20 20 20 20 52 61 69 73 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 0a w.graph.......Raises.....------.
aa60 20 20 20 20 4e 65 74 77 6f 72 6b 58 4e 6f 74 49 6d 70 6c 65 6d 65 6e 74 65 64 0a 20 20 20 20 20 ....NetworkXNotImplemented......
aa80 20 20 20 49 66 20 60 47 60 20 69 73 20 6e 6f 74 20 64 69 72 65 63 74 65 64 2c 20 6f 72 20 69 66 ...If.`G`.is.not.directed,.or.if
aaa0 20 60 47 60 20 69 73 20 61 20 6d 75 6c 74 69 67 72 61 70 68 2e 0a 0a 20 20 20 20 48 61 73 41 43 .`G`.is.a.multigraph.......HasAC
aac0 79 63 6c 65 0a 20 20 20 20 20 20 20 20 49 66 20 60 47 60 20 69 73 20 6e 6f 74 20 61 63 79 63 6c ycle.........If.`G`.is.not.acycl
aae0 69 63 2e 0a 0a 20 20 20 20 45 78 61 6d 70 6c 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 ic.......Examples.....--------..
ab00 20 20 20 54 6f 20 65 78 61 6d 69 6e 65 20 77 68 69 63 68 20 6e 6f 64 65 73 20 69 6e 20 74 68 65 ...To.examine.which.nodes.in.the
ab20 20 72 65 74 75 72 6e 65 64 20 62 72 61 6e 63 68 69 6e 67 20 77 65 72 65 20 70 72 6f 64 75 63 65 .returned.branching.were.produce
ab40 64 20 62 79 0a 20 20 20 20 77 68 69 63 68 20 6f 72 69 67 69 6e 61 6c 20 6e 6f 64 65 20 69 6e 20 d.by.....which.original.node.in.
ab60 74 68 65 20 64 69 72 65 63 74 65 64 20 61 63 79 63 6c 69 63 20 67 72 61 70 68 2c 20 77 65 20 63 the.directed.acyclic.graph,.we.c
ab80 61 6e 20 63 6f 6c 6c 65 63 74 0a 20 20 20 20 74 68 65 20 6d 61 70 70 69 6e 67 20 66 72 6f 6d 20 an.collect.....the.mapping.from.
aba0 73 6f 75 72 63 65 20 6e 6f 64 65 20 74 6f 20 6e 65 77 20 6e 6f 64 65 73 20 69 6e 74 6f 20 61 20 source.node.to.new.nodes.into.a.
abc0 64 69 63 74 69 6f 6e 61 72 79 2e 20 46 6f 72 0a 20 20 20 20 65 78 61 6d 70 6c 65 2c 20 63 6f 6e dictionary..For.....example,.con
abe0 73 69 64 65 72 20 74 68 65 20 64 69 72 65 63 74 65 64 20 64 69 61 6d 6f 6e 64 20 67 72 61 70 68 sider.the.directed.diamond.graph
ac00 3a 3a 0a 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 66 72 6f 6d 20 63 6f 6c 6c 65 63 74 69 6f 6e 73 ::..........>>>.from.collections
ac20 20 69 6d 70 6f 72 74 20 64 65 66 61 75 6c 74 64 69 63 74 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 .import.defaultdict.........>>>.
ac40 66 72 6f 6d 20 6f 70 65 72 61 74 6f 72 20 69 6d 70 6f 72 74 20 69 74 65 6d 67 65 74 74 65 72 0a from.operator.import.itemgetter.
ac60 20 20 20 20 20 20 20 20 3e 3e 3e 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 47 20 3d 20 6e 78 2e 44 ........>>>.........>>>.G.=.nx.D
ac80 69 47 72 61 70 68 28 6e 78 2e 75 74 69 6c 73 2e 70 61 69 72 77 69 73 65 28 22 61 62 64 22 29 29 iGraph(nx.utils.pairwise("abd"))
aca0 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 47 2e 61 64 64 5f 65 64 67 65 73 5f 66 72 6f 6d 28 6e 78 .........>>>.G.add_edges_from(nx
acc0 2e 75 74 69 6c 73 2e 70 61 69 72 77 69 73 65 28 22 61 63 64 22 29 29 0a 20 20 20 20 20 20 20 20 .utils.pairwise("acd")).........
ace0 3e 3e 3e 20 42 20 3d 20 6e 78 2e 64 61 67 5f 74 6f 5f 62 72 61 6e 63 68 69 6e 67 28 47 29 0a 20 >>>.B.=.nx.dag_to_branching(G)..
ad00 20 20 20 20 20 20 20 3e 3e 3e 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 73 6f 75 72 63 65 73 20 3d .......>>>.........>>>.sources.=
ad20 20 64 65 66 61 75 6c 74 64 69 63 74 28 73 65 74 29 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 66 6f .defaultdict(set).........>>>.fo
ad40 72 20 76 2c 20 73 6f 75 72 63 65 20 69 6e 20 42 2e 6e 6f 64 65 73 28 64 61 74 61 3d 22 73 6f 75 r.v,.source.in.B.nodes(data="sou
ad60 72 63 65 22 29 3a 0a 20 20 20 20 20 20 20 20 2e 2e 2e 20 20 20 20 20 73 6f 75 72 63 65 73 5b 73 rce"):.................sources[s
ad80 6f 75 72 63 65 5d 2e 61 64 64 28 76 29 0a 20 20 20 20 20 20 20 20 3e 3e 3e 20 6c 65 6e 28 73 6f ource].add(v).........>>>.len(so
ada0 75 72 63 65 73 5b 22 61 22 5d 29 0a 20 20 20 20 20 20 20 20 31 0a 20 20 20 20 20 20 20 20 3e 3e urces["a"]).........1.........>>
adc0 3e 20 6c 65 6e 28 73 6f 75 72 63 65 73 5b 22 64 22 5d 29 0a 20 20 20 20 20 20 20 20 32 0a 0a 20 >.len(sources["d"]).........2...
ade0 20 20 20 54 6f 20 63 6f 70 79 20 6e 6f 64 65 20 61 74 74 72 69 62 75 74 65 73 20 66 72 6f 6d 20 ...To.copy.node.attributes.from.
ae00 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 67 72 61 70 68 20 74 6f 20 74 68 65 20 6e 65 77 20 67 72 the.original.graph.to.the.new.gr
ae20 61 70 68 2c 0a 20 20 20 20 79 6f 75 20 63 61 6e 20 75 73 65 20 61 20 64 69 63 74 69 6f 6e 61 72 aph,.....you.can.use.a.dictionar
ae40 79 20 6c 69 6b 65 20 74 68 65 20 6f 6e 65 20 63 6f 6e 73 74 72 75 63 74 65 64 20 69 6e 20 74 68 y.like.the.one.constructed.in.th
ae60 65 20 61 62 6f 76 65 0a 20 20 20 20 65 78 61 6d 70 6c 65 3a 3a 0a 0a 20 20 20 20 20 20 20 20 3e e.above.....example::..........>
ae80 3e 3e 20 66 6f 72 20 73 6f 75 72 63 65 2c 20 6e 6f 64 65 73 20 69 6e 20 73 6f 75 72 63 65 73 2e >>.for.source,.nodes.in.sources.
aea0 69 74 65 6d 73 28 29 3a 0a 20 20 20 20 20 20 20 20 2e 2e 2e 20 20 20 20 20 66 6f 72 20 76 20 69 items():.................for.v.i
aec0 6e 20 6e 6f 64 65 73 3a 0a 20 20 20 20 20 20 20 20 2e 2e 2e 20 20 20 20 20 20 20 20 20 42 2e 6e n.nodes:.....................B.n
aee0 6f 64 65 73 5b 76 5d 2e 75 70 64 61 74 65 28 47 2e 6e 6f 64 65 73 5b 73 6f 75 72 63 65 5d 29 0a odes[v].update(G.nodes[source]).
af00 0a 20 20 20 20 4e 6f 74 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 0a 20 20 20 20 54 68 69 73 20 66 75 .....Notes.....-----.....This.fu
af20 6e 63 74 69 6f 6e 20 69 73 20 6e 6f 74 20 69 64 65 6d 70 6f 74 65 6e 74 20 69 6e 20 74 68 65 20 nction.is.not.idempotent.in.the.
af40 73 65 6e 73 65 20 74 68 61 74 20 74 68 65 20 6e 6f 64 65 20 6c 61 62 65 6c 73 20 69 6e 0a 20 20 sense.that.the.node.labels.in...
af60 20 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 62 72 61 6e 63 68 69 6e 67 20 6d 61 79 20 62 65 20 ..the.returned.branching.may.be.
af80 75 6e 69 71 75 65 6c 79 20 67 65 6e 65 72 61 74 65 64 20 65 61 63 68 20 74 69 6d 65 20 74 68 65 uniquely.generated.each.time.the
afa0 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 76 6f 6b 65 64 2e 20 49 6e 20 66 61 63 .....function.is.invoked..In.fac
afc0 74 2c 20 74 68 65 20 6e 6f 64 65 20 6c 61 62 65 6c 73 20 6d 61 79 20 6e 6f 74 20 62 65 20 69 6e t,.the.node.labels.may.not.be.in
afe0 74 65 67 65 72 73 3b 0a 20 20 20 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 72 65 6c 61 62 65 6c 20 tegers;.....in.order.to.relabel.
b000 74 68 65 20 6e 6f 64 65 73 20 74 6f 20 62 65 20 6d 6f 72 65 20 72 65 61 64 61 62 6c 65 2c 20 79 the.nodes.to.be.more.readable,.y
b020 6f 75 20 63 61 6e 20 75 73 65 20 74 68 65 0a 20 20 20 20 3a 66 75 6e 63 3a 60 6e 65 74 77 6f 72 ou.can.use.the.....:func:`networ
b040 6b 78 2e 63 6f 6e 76 65 72 74 5f 6e 6f 64 65 5f 6c 61 62 65 6c 73 5f 74 6f 5f 69 6e 74 65 67 65 kx.convert_node_labels_to_intege
b060 72 73 60 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 54 68 65 20 63 75 72 72 65 6e 74 20 69 rs`.function.......The.current.i
b080 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 75 mplementation.of.this.function.u
b0a0 73 65 73 0a 20 20 20 20 3a 66 75 6e 63 3a 60 6e 65 74 77 6f 72 6b 78 2e 70 72 65 66 69 78 5f 74 ses.....:func:`networkx.prefix_t
b0c0 72 65 65 60 2c 20 73 6f 20 69 74 20 69 73 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 6c 69 ree`,.so.it.is.subject.to.the.li
b0e0 6d 69 74 61 74 69 6f 6e 73 20 6f 66 0a 20 20 20 20 74 68 61 74 20 66 75 6e 63 74 69 6f 6e 2e 0a mitations.of.....that.function..
b100 0a 20 20 20 20 7a 33 64 61 67 5f 74 6f 5f 62 72 61 6e 63 68 69 6e 67 20 69 73 20 6f 6e 6c 79 20 .....z3dag_to_branching.is.only.
b120 64 65 66 69 6e 65 64 20 66 6f 72 20 61 63 79 63 6c 69 63 20 67 72 61 70 68 73 72 02 00 00 00 72 defined.for.acyclic.graphsr....r
b140 62 00 00 00 29 06 72 2d 00 00 00 72 1f 00 00 00 da 09 48 61 73 41 43 79 63 6c 65 72 c3 00 00 00 b...).r-...r......HasACycler....
b160 da 0b 70 72 65 66 69 78 5f 74 72 65 65 da 0b 72 65 6d 6f 76 65 5f 6e 6f 64 65 29 04 72 22 00 00 ..prefix_tree..remove_node).r"..
b180 00 72 57 00 00 00 da 05 70 61 74 68 73 da 01 42 73 04 00 00 00 20 20 20 20 72 26 00 00 00 72 1b .rW.....paths..Bs........r&...r.
b1a0 00 00 00 72 1b 00 00 00 9b 04 00 00 73 55 00 00 00 80 00 f4 70 02 00 08 11 90 11 84 7c d8 0e 43 ...r........sU......p.......|..C
b1c0 88 03 dc 0e 10 8f 6c 89 6c 98 33 d3 0e 1f d0 08 1f dc 0c 1e 98 71 d3 0c 21 80 45 dc 08 0a 8f 0e ......l.l.3..........q..!.E.....
b1e0 89 0e 90 75 d3 08 1d 80 41 e0 04 05 87 4d 81 4d 90 21 d4 04 14 d8 04 05 87 4d 81 4d 90 22 d4 04 ...u....A....M.M.!.......M.M."..
b200 15 d8 0b 0c 80 48 72 30 00 00 00 63 01 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 03 00 00 00 .....Hr0...c....................
b220 f3 50 00 00 00 97 00 64 01 64 02 6c 00 7d 01 7c 01 6a 03 00 00 00 00 00 00 00 00 00 00 00 00 00 .P.....d.d.l.}.|.j..............
b240 00 00 00 00 00 64 03 74 04 00 00 00 00 00 00 00 00 64 04 ac 05 ab 03 00 00 00 00 00 00 01 00 74 .....d.t.........d.............t
b260 07 00 00 00 00 00 00 00 00 7c 00 ab 01 00 00 00 00 00 00 53 00 29 06 75 3b 08 00 00 59 69 65 6c .........|.........S.).u;...Yiel
b280 64 73 20 33 2d 6e 6f 64 65 20 74 75 70 6c 65 73 20 74 68 61 74 20 72 65 70 72 65 73 65 6e 74 20 ds.3-node.tuples.that.represent.
b2a0 74 68 65 20 76 2d 73 74 72 75 63 74 75 72 65 73 20 69 6e 20 60 47 60 2e 0a 0a 20 20 20 20 2e 2e the.v-structures.in.`G`.........
b2c0 20 64 65 70 72 65 63 61 74 65 64 3a 3a 20 33 2e 34 0a 0a 20 20 20 20 20 20 20 60 63 6f 6d 70 75 .deprecated::.3.4.........`compu
b2e0 74 65 5f 76 5f 73 74 72 75 63 74 75 72 65 73 60 20 61 63 74 75 61 6c 6c 79 20 79 69 65 6c 64 73 te_v_structures`.actually.yields
b300 20 63 6f 6c 6c 69 64 65 72 73 2e 20 49 74 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 .colliders..It.will.be.removed.i
b320 6e 0a 20 20 20 20 20 20 20 76 65 72 73 69 6f 6e 20 33 2e 36 2e 20 55 73 65 20 60 6e 78 2e 64 61 n........version.3.6..Use.`nx.da
b340 67 2e 76 5f 73 74 72 75 63 74 75 72 65 73 60 20 6f 72 20 60 6e 78 2e 64 61 67 2e 63 6f 6c 6c 69 g.v_structures`.or.`nx.dag.colli
b360 64 65 72 73 60 20 69 6e 73 74 65 61 64 2e 0a 0a 20 20 20 20 43 6f 6c 6c 69 64 65 72 73 20 61 72 ders`.instead.......Colliders.ar
b380 65 20 74 72 69 70 6c 65 73 20 69 6e 20 74 68 65 20 64 69 72 65 63 74 65 64 20 61 63 79 63 6c 69 e.triples.in.the.directed.acycli
b3a0 63 20 67 72 61 70 68 20 28 44 41 47 29 20 77 68 65 72 65 20 74 77 6f 20 70 61 72 65 6e 74 20 6e c.graph.(DAG).where.two.parent.n
b3c0 6f 64 65 73 0a 20 20 20 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 73 61 6d 65 20 63 68 69 6c 64 odes.....point.to.the.same.child
b3e0 20 6e 6f 64 65 2e 20 56 2d 73 74 72 75 63 74 75 72 65 73 20 61 72 65 20 63 6f 6c 6c 69 64 65 72 .node..V-structures.are.collider
b400 73 20 77 68 65 72 65 20 74 68 65 20 74 77 6f 20 70 61 72 65 6e 74 0a 20 20 20 20 6e 6f 64 65 73 s.where.the.two.parent.....nodes
b420 20 61 72 65 20 6e 6f 74 20 61 64 6a 61 63 65 6e 74 2e 20 49 6e 20 61 20 63 61 75 73 61 6c 20 67 .are.not.adjacent..In.a.causal.g
b440 72 61 70 68 20 73 65 74 74 69 6e 67 2c 20 74 68 65 20 70 61 72 65 6e 74 73 20 64 6f 20 6e 6f 74 raph.setting,.the.parents.do.not
b460 20 64 69 72 65 63 74 6c 79 0a 20 20 20 20 64 65 70 65 6e 64 20 6f 6e 20 65 61 63 68 20 6f 74 68 .directly.....depend.on.each.oth
b480 65 72 2c 20 62 75 74 20 63 6f 6e 64 69 74 69 6f 6e 69 6e 67 20 6f 6e 20 74 68 65 20 63 68 69 6c er,.but.conditioning.on.the.chil
b4a0 64 20 6e 6f 64 65 20 70 72 6f 76 69 64 65 73 20 61 6e 20 61 73 73 6f 63 69 61 74 69 6f 6e 2e 0a d.node.provides.an.association..
b4c0 0a 20 20 20 20 50 61 72 61 6d 65 74 65 72 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 .....Parameters.....----------..
b4e0 20 20 20 47 20 3a 20 67 72 61 70 68 0a 20 20 20 20 20 20 20 20 41 20 6e 65 74 77 6f 72 6b 78 20 ...G.:.graph.........A.networkx.
b500 60 7e 6e 65 74 77 6f 72 6b 78 2e 44 69 47 72 61 70 68 60 2e 0a 0a 20 20 20 20 59 69 65 6c 64 73 `~networkx.DiGraph`.......Yields
b520 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 41 20 33 2d 74 75 70 6c 65 20 72 65 70 72 65 73 .....------.....A.3-tuple.repres
b540 65 6e 74 61 74 69 6f 6e 20 6f 66 20 61 20 76 2d 73 74 72 75 63 74 75 72 65 0a 20 20 20 20 20 20 entation.of.a.v-structure.......
b560 20 20 45 61 63 68 20 76 2d 73 74 72 75 63 74 75 72 65 20 69 73 20 61 20 33 2d 74 75 70 6c 65 20 ..Each.v-structure.is.a.3-tuple.
b580 77 69 74 68 20 74 68 65 20 70 61 72 65 6e 74 2c 20 63 6f 6c 6c 69 64 65 72 2c 20 61 6e 64 20 6f with.the.parent,.collider,.and.o
b5a0 74 68 65 72 20 70 61 72 65 6e 74 2e 0a 0a 20 20 20 20 52 61 69 73 65 73 0a 20 20 20 20 2d 2d 2d ther.parent.......Raises.....---
b5c0 2d 2d 2d 0a 20 20 20 20 4e 65 74 77 6f 72 6b 58 4e 6f 74 49 6d 70 6c 65 6d 65 6e 74 65 64 0a 20 ---.....NetworkXNotImplemented..
b5e0 20 20 20 20 20 20 20 49 66 20 60 47 60 20 69 73 20 61 6e 20 75 6e 64 69 72 65 63 74 65 64 20 67 .......If.`G`.is.an.undirected.g
b600 72 61 70 68 2e 0a 0a 20 20 20 20 45 78 61 6d 70 6c 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d raph.......Examples.....--------
b620 0a 20 20 20 20 3e 3e 3e 20 47 20 3d 20 6e 78 2e 44 69 47 72 61 70 68 28 5b 28 31 2c 20 32 29 2c .....>>>.G.=.nx.DiGraph([(1,.2),
b640 20 28 30 2c 20 34 29 2c 20 28 33 2c 20 31 29 2c 20 28 32 2c 20 34 29 2c 20 28 30 2c 20 35 29 2c .(0,.4),.(3,.1),.(2,.4),.(0,.5),
b660 20 28 34 2c 20 35 29 2c 20 28 31 2c 20 35 29 5d 29 0a 20 20 20 20 3e 3e 3e 20 6e 78 2e 69 73 5f .(4,.5),.(1,.5)]).....>>>.nx.is_
b680 64 69 72 65 63 74 65 64 5f 61 63 79 63 6c 69 63 5f 67 72 61 70 68 28 47 29 0a 20 20 20 20 54 72 directed_acyclic_graph(G).....Tr
b6a0 75 65 0a 20 20 20 20 3e 3e 3e 20 6c 69 73 74 28 6e 78 2e 63 6f 6d 70 75 74 65 5f 76 5f 73 74 72 ue.....>>>.list(nx.compute_v_str
b6c0 75 63 74 75 72 65 73 28 47 29 29 0a 20 20 20 20 5b 28 30 2c 20 34 2c 20 32 29 2c 20 28 30 2c 20 uctures(G)).....[(0,.4,.2),.(0,.
b6e0 35 2c 20 34 29 2c 20 28 30 2c 20 35 2c 20 31 29 2c 20 28 34 2c 20 35 2c 20 31 29 5d 0a 0a 20 20 5,.4),.(0,.5,.1),.(4,.5,.1)]....
b700 20 20 53 65 65 20 41 6c 73 6f 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 76 5f 73 74 ..See.Also.....--------.....v_st
b720 72 75 63 74 75 72 65 73 0a 20 20 20 20 63 6f 6c 6c 69 64 65 72 73 0a 0a 20 20 20 20 4e 6f 74 65 ructures.....colliders......Note
b740 73 0a 20 20 20 20 2d 2d 2d 2d 2d 0a 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 61 s.....-----.....This.function.wa
b760 73 20 77 72 69 74 74 65 6e 20 74 6f 20 62 65 20 75 73 65 64 20 6f 6e 20 44 41 47 73 2c 20 68 6f s.written.to.be.used.on.DAGs,.ho
b780 77 65 76 65 72 20 69 74 20 77 6f 72 6b 73 20 6f 6e 20 63 79 63 6c 69 63 20 67 72 61 70 68 73 0a wever.it.works.on.cyclic.graphs.
b7a0 20 20 20 20 74 6f 6f 2e 20 53 69 6e 63 65 20 63 6f 6c 6c 69 64 65 72 73 20 61 72 65 20 72 65 66 ....too..Since.colliders.are.ref
b7c0 65 72 72 65 64 20 74 6f 20 69 6e 20 74 68 65 20 63 79 63 6c 69 63 20 63 61 75 73 61 6c 20 67 72 erred.to.in.the.cyclic.causal.gr
b7e0 61 70 68 20 6c 69 74 65 72 61 74 75 72 65 0a 20 20 20 20 5b 32 5d 5f 20 77 65 20 61 6c 6c 6f 77 aph.literature.....[2]_.we.allow
b800 20 63 79 63 6c 69 63 20 67 72 61 70 68 73 20 69 6e 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2e .cyclic.graphs.in.this.function.
b820 20 49 74 20 69 73 20 73 75 67 67 65 73 74 65 64 20 74 68 61 74 20 79 6f 75 20 74 65 73 74 20 69 .It.is.suggested.that.you.test.i
b840 66 0a 20 20 20 20 79 6f 75 72 20 69 6e 70 75 74 20 67 72 61 70 68 20 69 73 20 61 63 79 63 6c 69 f.....your.input.graph.is.acycli
b860 63 20 61 73 20 69 6e 20 74 68 65 20 65 78 61 6d 70 6c 65 20 69 66 20 79 6f 75 20 77 61 6e 74 20 c.as.in.the.example.if.you.want.
b880 74 68 61 74 20 70 72 6f 70 65 72 74 79 2e 0a 0a 20 20 20 20 52 65 66 65 72 65 6e 63 65 73 0a 20 that.property.......References..
b8a0 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 2e 2e 20 5b 31 5d 20 20 60 50 65 61 72 6c ...----------........[1]..`Pearl
b8c0 27 73 20 50 52 49 4d 45 52 20 3c 68 74 74 70 73 3a 2f 2f 62 61 79 65 73 2e 63 73 2e 75 63 6c 61 's.PRIMER.<https://bayes.cs.ucla
b8e0 2e 65 64 75 2f 50 52 49 4d 45 52 2f 70 72 69 6d 65 72 2d 63 68 32 2e 70 64 66 3e 60 5f 0a 20 20 .edu/PRIMER/primer-ch2.pdf>`_...
b900 20 20 20 20 20 20 20 20 20 20 43 68 2d 32 20 70 61 67 65 20 35 30 3a 20 76 2d 73 74 72 75 63 74 ..........Ch-2.page.50:.v-struct
b920 75 72 65 73 20 64 65 66 2e 0a 20 20 20 20 2e 2e 20 5b 32 5d 20 41 20 48 79 74 74 69 6e 65 6e 2c ures.def.........[2].A.Hyttinen,
b940 20 50 2e 4f 2e 20 48 6f 79 65 72 2c 20 46 2e 20 45 62 65 72 68 61 72 64 74 2c 20 4d 20 4a 20 cc .P.O..Hoyer,.F..Eberhardt,.M.J..
b960 88 61 72 76 69 73 61 6c 6f 2c 20 28 32 30 31 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 22 44 69 .arvisalo,.(2013)............"Di
b980 73 63 6f 76 65 72 69 6e 67 20 63 79 63 6c 69 63 20 63 61 75 73 61 6c 20 6d 6f 64 65 6c 73 20 77 scovering.cyclic.causal.models.w
b9a0 69 74 68 20 6c 61 74 65 6e 74 20 76 61 72 69 61 62 6c 65 73 3a 0a 20 20 20 20 20 20 20 20 20 20 ith.latent.variables:...........
b9c0 20 61 20 67 65 6e 65 72 61 6c 20 53 41 54 2d 62 61 73 65 64 20 70 72 6f 63 65 64 75 72 65 22 2c .a.general.SAT-based.procedure",
b9e0 20 55 41 49 27 31 33 3a 20 50 72 6f 63 65 65 64 69 6e 67 73 20 6f 66 20 74 68 65 20 54 77 65 6e .UAI'13:.Proceedings.of.the.Twen
ba00 74 79 2d 4e 69 6e 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 43 6f 6e 66 65 72 65 6e 63 65 20 6f ty-Ninth............Conference.o
ba20 6e 20 55 6e 63 65 72 74 61 69 6e 74 79 20 69 6e 20 41 72 74 69 66 69 63 69 61 6c 20 49 6e 74 65 n.Uncertainty.in.Artificial.Inte
ba40 6c 6c 69 67 65 6e 63 65 2c 20 70 67 20 33 30 31 e2 80 93 33 31 30 2c 0a 20 20 20 20 20 20 20 20 lligence,.pg.301...310,.........
ba60 20 20 20 60 64 6f 69 3a 31 30 2e 35 35 35 35 2f 33 30 32 33 36 33 38 2e 33 30 32 33 36 36 39 20 ...`doi:10.5555/3023638.3023669.
ba80 3c 68 74 74 70 73 3a 2f 2f 64 6c 2e 61 63 6d 2e 6f 72 67 2f 64 6f 69 2f 31 30 2e 35 35 35 35 2f <https://dl.acm.org/doi/10.5555/
baa0 33 30 32 33 36 33 38 2e 33 30 32 33 36 36 39 3e 60 5f 0a 20 20 20 20 72 02 00 00 00 4e 7a 90 0a 3023638.3023669>`_.....r....Nz..
bac0 0a 60 63 6f 6d 70 75 74 65 5f 76 5f 73 74 72 75 63 74 75 72 65 73 60 20 61 63 74 75 61 6c 6c 79 .`compute_v_structures`.actually
bae0 20 79 69 65 6c 64 73 20 63 6f 6c 6c 69 64 65 72 73 2e 20 49 74 20 77 69 6c 6c 20 62 65 0a 72 65 .yields.colliders..It.will.be.re
bb00 6d 6f 76 65 64 20 69 6e 20 76 65 72 73 69 6f 6e 20 33 2e 36 2e 20 55 73 65 20 60 6e 78 2e 64 61 moved.in.version.3.6..Use.`nx.da
bb20 67 2e 76 5f 73 74 72 75 63 74 75 72 65 73 60 20 6f 72 20 60 6e 78 2e 64 61 67 2e 63 6f 6c 6c 69 g.v_structures`.or.`nx.dag.colli
bb40 64 65 72 73 60 0a 69 6e 73 74 65 61 64 2e 0a e9 05 00 00 00 29 02 da 08 63 61 74 65 67 6f 72 79 ders`.instead.......)...category
bb60 da 0a 73 74 61 63 6b 6c 65 76 65 6c 29 04 da 08 77 61 72 6e 69 6e 67 73 da 04 77 61 72 6e da 12 ..stacklevel)...warnings..warn..
bb80 44 65 70 72 65 63 61 74 69 6f 6e 57 61 72 6e 69 6e 67 da 09 63 6f 6c 6c 69 64 65 72 73 29 02 72 DeprecationWarning..colliders).r
bba0 22 00 00 00 72 ce 00 00 00 73 02 00 00 00 20 20 72 26 00 00 00 72 1c 00 00 00 72 1c 00 00 00 fe "...r....s......r&...r....r.....
bbc0 04 00 00 73 32 00 00 00 80 00 f3 78 01 00 05 14 e0 04 0c 87 4d 81 4d f0 04 02 0d 19 f4 08 00 12 ...s2......x........M.M.........
bbe0 24 d8 13 14 f0 0f 00 05 12 f4 00 08 05 06 f4 14 00 0c 15 90 51 8b 3c d0 04 17 72 30 00 00 00 63 $...................Q.<...r0...c
bc00 01 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 23 00 00 00 f3 8e 00 00 00 4b 00 01 00 97 00 74 ................#........K.....t
bc20 01 00 00 00 00 00 00 00 00 7c 00 ab 01 00 00 00 00 00 00 44 00 5d 33 00 00 5c 03 00 00 7d 01 7d .........|.........D.]3..\...}.}
bc40 02 7d 03 7c 00 6a 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 01 7c 03 ab 02 00 .}.|.j...................|.|....
bc60 00 00 00 00 00 72 01 8c 1a 7c 00 6a 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c .....r...|.j...................|
bc80 03 7c 01 ab 02 00 00 00 00 00 00 72 01 8c 2d 7c 01 7c 02 7c 03 66 03 96 01 97 01 01 00 8c 35 04 .|.........r..-|.|.|.f........5.
bca0 00 79 01 ad 03 77 01 29 02 75 65 07 00 00 59 69 65 6c 64 73 20 33 2d 6e 6f 64 65 20 74 75 70 6c .y...w.).ue...Yields.3-node.tupl
bcc0 65 73 20 74 68 61 74 20 72 65 70 72 65 73 65 6e 74 20 74 68 65 20 76 2d 73 74 72 75 63 74 75 72 es.that.represent.the.v-structur
bce0 65 73 20 69 6e 20 60 47 60 2e 0a 0a 20 20 20 20 43 6f 6c 6c 69 64 65 72 73 20 61 72 65 20 74 72 es.in.`G`.......Colliders.are.tr
bd00 69 70 6c 65 73 20 69 6e 20 74 68 65 20 64 69 72 65 63 74 65 64 20 61 63 79 63 6c 69 63 20 67 72 iples.in.the.directed.acyclic.gr
bd20 61 70 68 20 28 44 41 47 29 20 77 68 65 72 65 20 74 77 6f 20 70 61 72 65 6e 74 20 6e 6f 64 65 73 aph.(DAG).where.two.parent.nodes
bd40 0a 20 20 20 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 73 61 6d 65 20 63 68 69 6c 64 20 6e 6f 64 .....point.to.the.same.child.nod
bd60 65 2e 20 56 2d 73 74 72 75 63 74 75 72 65 73 20 61 72 65 20 63 6f 6c 6c 69 64 65 72 73 20 77 68 e..V-structures.are.colliders.wh
bd80 65 72 65 20 74 68 65 20 74 77 6f 20 70 61 72 65 6e 74 0a 20 20 20 20 6e 6f 64 65 73 20 61 72 65 ere.the.two.parent.....nodes.are
bda0 20 6e 6f 74 20 61 64 6a 61 63 65 6e 74 2e 20 49 6e 20 61 20 63 61 75 73 61 6c 20 67 72 61 70 68 .not.adjacent..In.a.causal.graph
bdc0 20 73 65 74 74 69 6e 67 2c 20 74 68 65 20 70 61 72 65 6e 74 73 20 64 6f 20 6e 6f 74 20 64 69 72 .setting,.the.parents.do.not.dir
bde0 65 63 74 6c 79 0a 20 20 20 20 64 65 70 65 6e 64 20 6f 6e 20 65 61 63 68 20 6f 74 68 65 72 2c 20 ectly.....depend.on.each.other,.
be00 62 75 74 20 63 6f 6e 64 69 74 69 6f 6e 69 6e 67 20 6f 6e 20 74 68 65 20 63 68 69 6c 64 20 6e 6f but.conditioning.on.the.child.no
be20 64 65 20 70 72 6f 76 69 64 65 73 20 61 6e 20 61 73 73 6f 63 69 61 74 69 6f 6e 2e 0a 0a 20 20 20 de.provides.an.association......
be40 20 50 61 72 61 6d 65 74 65 72 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 47 .Parameters.....----------.....G
be60 20 3a 20 67 72 61 70 68 0a 20 20 20 20 20 20 20 20 41 20 6e 65 74 77 6f 72 6b 78 20 60 7e 6e 65 .:.graph.........A.networkx.`~ne
be80 74 77 6f 72 6b 78 2e 44 69 47 72 61 70 68 60 2e 0a 0a 20 20 20 20 59 69 65 6c 64 73 0a 20 20 20 tworkx.DiGraph`.......Yields....
bea0 20 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 41 20 33 2d 74 75 70 6c 65 20 72 65 70 72 65 73 65 6e 74 61 .------.....A.3-tuple.representa
bec0 74 69 6f 6e 20 6f 66 20 61 20 76 2d 73 74 72 75 63 74 75 72 65 0a 20 20 20 20 20 20 20 20 45 61 tion.of.a.v-structure.........Ea
bee0 63 68 20 76 2d 73 74 72 75 63 74 75 72 65 20 69 73 20 61 20 33 2d 74 75 70 6c 65 20 77 69 74 68 ch.v-structure.is.a.3-tuple.with
bf00 20 74 68 65 20 70 61 72 65 6e 74 2c 20 63 6f 6c 6c 69 64 65 72 2c 20 61 6e 64 20 6f 74 68 65 72 .the.parent,.collider,.and.other
bf20 20 70 61 72 65 6e 74 2e 0a 0a 20 20 20 20 52 61 69 73 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 0a .parent.......Raises.....------.
bf40 20 20 20 20 4e 65 74 77 6f 72 6b 58 4e 6f 74 49 6d 70 6c 65 6d 65 6e 74 65 64 0a 20 20 20 20 20 ....NetworkXNotImplemented......
bf60 20 20 20 49 66 20 60 47 60 20 69 73 20 61 6e 20 75 6e 64 69 72 65 63 74 65 64 20 67 72 61 70 68 ...If.`G`.is.an.undirected.graph
bf80 2e 0a 0a 20 20 20 20 45 78 61 6d 70 6c 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 .......Examples.....--------....
bfa0 20 3e 3e 3e 20 47 20 3d 20 6e 78 2e 44 69 47 72 61 70 68 28 5b 28 31 2c 20 32 29 2c 20 28 30 2c .>>>.G.=.nx.DiGraph([(1,.2),.(0,
bfc0 20 34 29 2c 20 28 33 2c 20 31 29 2c 20 28 32 2c 20 34 29 2c 20 28 30 2c 20 35 29 2c 20 28 34 2c .4),.(3,.1),.(2,.4),.(0,.5),.(4,
bfe0 20 35 29 2c 20 28 31 2c 20 35 29 5d 29 0a 20 20 20 20 3e 3e 3e 20 6e 78 2e 69 73 5f 64 69 72 65 .5),.(1,.5)]).....>>>.nx.is_dire
c000 63 74 65 64 5f 61 63 79 63 6c 69 63 5f 67 72 61 70 68 28 47 29 0a 20 20 20 20 54 72 75 65 0a 20 cted_acyclic_graph(G).....True..
c020 20 20 20 3e 3e 3e 20 6c 69 73 74 28 6e 78 2e 64 61 67 2e 76 5f 73 74 72 75 63 74 75 72 65 73 28 ...>>>.list(nx.dag.v_structures(
c040 47 29 29 0a 20 20 20 20 5b 28 30 2c 20 34 2c 20 32 29 2c 20 28 30 2c 20 35 2c 20 31 29 2c 20 28 G)).....[(0,.4,.2),.(0,.5,.1),.(
c060 34 2c 20 35 2c 20 31 29 5d 0a 0a 20 20 20 20 53 65 65 20 41 6c 73 6f 0a 20 20 20 20 2d 2d 2d 2d 4,.5,.1)]......See.Also.....----
c080 2d 2d 2d 2d 0a 20 20 20 20 63 6f 6c 6c 69 64 65 72 73 0a 0a 20 20 20 20 4e 6f 74 65 73 0a 20 20 ----.....colliders......Notes...
c0a0 20 20 2d 2d 2d 2d 2d 0a 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 77 72 ..-----.....This.function.was.wr
c0c0 69 74 74 65 6e 20 74 6f 20 62 65 20 75 73 65 64 20 6f 6e 20 44 41 47 73 2c 20 68 6f 77 65 76 65 itten.to.be.used.on.DAGs,.howeve
c0e0 72 20 69 74 20 77 6f 72 6b 73 20 6f 6e 20 63 79 63 6c 69 63 20 67 72 61 70 68 73 0a 20 20 20 20 r.it.works.on.cyclic.graphs.....
c100 74 6f 6f 2e 20 53 69 6e 63 65 20 63 6f 6c 6c 69 64 65 72 73 20 61 72 65 20 72 65 66 65 72 72 65 too..Since.colliders.are.referre
c120 64 20 74 6f 20 69 6e 20 74 68 65 20 63 79 63 6c 69 63 20 63 61 75 73 61 6c 20 67 72 61 70 68 20 d.to.in.the.cyclic.causal.graph.
c140 6c 69 74 65 72 61 74 75 72 65 0a 20 20 20 20 5b 32 5d 5f 20 77 65 20 61 6c 6c 6f 77 20 63 79 63 literature.....[2]_.we.allow.cyc
c160 6c 69 63 20 67 72 61 70 68 73 20 69 6e 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2e 20 49 74 20 lic.graphs.in.this.function..It.
c180 69 73 20 73 75 67 67 65 73 74 65 64 20 74 68 61 74 20 79 6f 75 20 74 65 73 74 20 69 66 0a 20 20 is.suggested.that.you.test.if...
c1a0 20 20 79 6f 75 72 20 69 6e 70 75 74 20 67 72 61 70 68 20 69 73 20 61 63 79 63 6c 69 63 20 61 73 ..your.input.graph.is.acyclic.as
c1c0 20 69 6e 20 74 68 65 20 65 78 61 6d 70 6c 65 20 69 66 20 79 6f 75 20 77 61 6e 74 20 74 68 61 74 .in.the.example.if.you.want.that
c1e0 20 70 72 6f 70 65 72 74 79 2e 0a 0a 20 20 20 20 52 65 66 65 72 65 6e 63 65 73 0a 20 20 20 20 2d .property.......References.....-
c200 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 2e 2e 20 5b 31 5d 20 20 60 50 65 61 72 6c 27 73 20 50 ---------........[1]..`Pearl's.P
c220 52 49 4d 45 52 20 3c 68 74 74 70 73 3a 2f 2f 62 61 79 65 73 2e 63 73 2e 75 63 6c 61 2e 65 64 75 RIMER.<https://bayes.cs.ucla.edu
c240 2f 50 52 49 4d 45 52 2f 70 72 69 6d 65 72 2d 63 68 32 2e 70 64 66 3e 60 5f 0a 20 20 20 20 20 20 /PRIMER/primer-ch2.pdf>`_.......
c260 20 20 20 20 20 20 43 68 2d 32 20 70 61 67 65 20 35 30 3a 20 76 2d 73 74 72 75 63 74 75 72 65 73 ......Ch-2.page.50:.v-structures
c280 20 64 65 66 2e 0a 20 20 20 20 2e 2e 20 5b 32 5d 20 41 20 48 79 74 74 69 6e 65 6e 2c 20 50 2e 4f .def.........[2].A.Hyttinen,.P.O
c2a0 2e 20 48 6f 79 65 72 2c 20 46 2e 20 45 62 65 72 68 61 72 64 74 2c 20 4d 20 4a 20 cc 88 61 72 76 ..Hoyer,.F..Eberhardt,.M.J...arv
c2c0 69 73 61 6c 6f 2c 20 28 32 30 31 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 22 44 69 73 63 6f 76 isalo,.(2013)............"Discov
c2e0 65 72 69 6e 67 20 63 79 63 6c 69 63 20 63 61 75 73 61 6c 20 6d 6f 64 65 6c 73 20 77 69 74 68 20 ering.cyclic.causal.models.with.
c300 6c 61 74 65 6e 74 20 76 61 72 69 61 62 6c 65 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 61 20 67 latent.variables:............a.g
c320 65 6e 65 72 61 6c 20 53 41 54 2d 62 61 73 65 64 20 70 72 6f 63 65 64 75 72 65 22 2c 20 55 41 49 eneral.SAT-based.procedure",.UAI
c340 27 31 33 3a 20 50 72 6f 63 65 65 64 69 6e 67 73 20 6f 66 20 74 68 65 20 54 77 65 6e 74 79 2d 4e '13:.Proceedings.of.the.Twenty-N
c360 69 6e 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 43 6f 6e 66 65 72 65 6e 63 65 20 6f 6e 20 55 6e inth............Conference.on.Un
c380 63 65 72 74 61 69 6e 74 79 20 69 6e 20 41 72 74 69 66 69 63 69 61 6c 20 49 6e 74 65 6c 6c 69 67 certainty.in.Artificial.Intellig
c3a0 65 6e 63 65 2c 20 70 67 20 33 30 31 e2 80 93 33 31 30 2c 0a 20 20 20 20 20 20 20 20 20 20 20 60 ence,.pg.301...310,............`
c3c0 64 6f 69 3a 31 30 2e 35 35 35 35 2f 33 30 32 33 36 33 38 2e 33 30 32 33 36 36 39 20 3c 68 74 74 doi:10.5555/3023638.3023669.<htt
c3e0 70 73 3a 2f 2f 64 6c 2e 61 63 6d 2e 6f 72 67 2f 64 6f 69 2f 31 30 2e 35 35 35 35 2f 33 30 32 33 ps://dl.acm.org/doi/10.5555/3023
c400 36 33 38 2e 33 30 32 33 36 36 39 3e 60 5f 0a 20 20 20 20 4e 29 02 72 d1 00 00 00 da 08 68 61 73 638.3023669>`_.....N).r......has
c420 5f 65 64 67 65 29 04 72 22 00 00 00 da 02 70 31 da 01 63 da 02 70 32 73 04 00 00 00 20 20 20 20 _edge).r".....p1..c..p2s........
c440 72 26 00 00 00 da 0c 76 5f 73 74 72 75 63 74 75 72 65 73 72 d7 00 00 00 49 05 00 00 73 49 00 00 r&.....v_structuresr....I...sI..
c460 00 e8 00 f8 80 00 f4 6c 01 00 16 1f 98 71 93 5c f2 00 02 05 1e 89 09 88 02 88 41 88 72 d8 10 11 .......l.....q.\..........A.r...
c480 97 0a 91 0a 98 32 98 72 d5 10 22 a0 61 a7 6a a1 6a b0 12 b0 52 d5 26 38 d8 13 15 90 71 98 22 90 .....2.r..".a.j.j...R.&8....q.".
c4a0 2b d3 0c 1d f1 05 02 05 1e f9 73 0f 00 00 00 82 25 41 05 01 a8 12 41 05 01 bb 0a 41 05 01 63 01 +.........s.....%A....A....A..c.
c4c0 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 23 00 00 00 f3 82 00 00 00 4b 00 01 00 97 00 7c 00 ...............#........K.....|.
c4e0 6a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 44 00 5d 2c 00 00 7d 01 74 03 00 00 j...................D.],..}.t...
c500 00 00 00 00 00 00 7c 00 6a 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 01 ab 01 ......|.j...................|...
c520 00 00 00 00 00 00 64 01 ab 02 00 00 00 00 00 00 44 00 5d 0c 00 00 5c 02 00 00 7d 02 7d 03 7c 02 ......d.........D.]...\...}.}.|.
c540 7c 01 7c 03 66 03 96 01 97 01 01 00 8c 0e 04 00 8c 2e 04 00 79 02 ad 03 77 01 29 03 75 78 07 00 |.|.f...............y...w.).ux..
c560 00 59 69 65 6c 64 73 20 33 2d 6e 6f 64 65 20 74 75 70 6c 65 73 20 74 68 61 74 20 72 65 70 72 65 .Yields.3-node.tuples.that.repre
c580 73 65 6e 74 20 74 68 65 20 63 6f 6c 6c 69 64 65 72 73 20 69 6e 20 60 47 60 2e 0a 0a 20 20 20 20 sent.the.colliders.in.`G`.......
c5a0 49 6e 20 61 20 44 69 72 65 63 74 65 64 20 41 63 79 63 6c 69 63 20 47 72 61 70 68 20 28 44 41 47 In.a.Directed.Acyclic.Graph.(DAG
c5c0 29 2c 20 69 66 20 79 6f 75 20 68 61 76 65 20 74 68 72 65 65 20 6e 6f 64 65 73 20 41 2c 20 42 2c ),.if.you.have.three.nodes.A,.B,
c5e0 20 61 6e 64 20 43 2c 20 61 6e 64 0a 20 20 20 20 74 68 65 72 65 20 61 72 65 20 65 64 67 65 73 20 .and.C,.and.....there.are.edges.
c600 66 72 6f 6d 20 41 20 74 6f 20 43 20 61 6e 64 20 66 72 6f 6d 20 42 20 74 6f 20 43 2c 20 74 68 65 from.A.to.C.and.from.B.to.C,.the
c620 6e 20 43 20 69 73 20 61 20 63 6f 6c 6c 69 64 65 72 20 5b 31 5d 5f 20 2e 20 49 6e 0a 20 20 20 20 n.C.is.a.collider.[1]_...In.....
c640 61 20 63 61 75 73 61 6c 20 67 72 61 70 68 20 73 65 74 74 69 6e 67 2c 20 74 68 69 73 20 6d 65 61 a.causal.graph.setting,.this.mea
c660 6e 73 20 74 68 61 74 20 62 6f 74 68 20 65 76 65 6e 74 73 20 41 20 61 6e 64 20 42 20 61 72 65 20 ns.that.both.events.A.and.B.are.
c680 22 63 61 75 73 69 6e 67 22 20 43 2c 0a 20 20 20 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 69 6e "causing".C,.....and.conditionin
c6a0 67 20 6f 6e 20 43 20 70 72 6f 76 69 64 65 20 61 6e 20 61 73 73 6f 63 69 61 74 69 6f 6e 20 62 65 g.on.C.provide.an.association.be
c6c0 74 77 65 65 6e 20 41 20 61 6e 64 20 42 20 65 76 65 6e 20 69 66 0a 20 20 20 20 6e 6f 20 64 69 72 tween.A.and.B.even.if.....no.dir
c6e0 65 63 74 20 63 61 75 73 61 6c 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 20 65 78 69 73 74 73 20 62 ect.causal.relationship.exists.b
c700 65 74 77 65 65 6e 20 41 20 61 6e 64 20 42 2e 0a 0a 20 20 20 20 50 61 72 61 6d 65 74 65 72 73 0a etween.A.and.B.......Parameters.
c720 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 47 20 3a 20 67 72 61 70 68 0a 20 20 20 ....----------.....G.:.graph....
c740 20 20 20 20 20 41 20 6e 65 74 77 6f 72 6b 78 20 60 7e 6e 65 74 77 6f 72 6b 78 2e 44 69 47 72 61 .....A.networkx.`~networkx.DiGra
c760 70 68 60 2e 0a 0a 20 20 20 20 59 69 65 6c 64 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 ph`.......Yields.....------.....
c780 41 20 33 2d 74 75 70 6c 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 61 20 63 6f A.3-tuple.representation.of.a.co
c7a0 6c 6c 69 64 65 72 0a 20 20 20 20 20 20 20 20 45 61 63 68 20 63 6f 6c 6c 69 64 65 72 20 69 73 20 llider.........Each.collider.is.
c7c0 61 20 33 2d 74 75 70 6c 65 20 77 69 74 68 20 74 68 65 20 70 61 72 65 6e 74 2c 20 63 6f 6c 6c 69 a.3-tuple.with.the.parent,.colli
c7e0 64 65 72 2c 20 61 6e 64 20 6f 74 68 65 72 20 70 61 72 65 6e 74 2e 0a 0a 20 20 20 20 52 61 69 73 der,.and.other.parent.......Rais
c800 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 4e 65 74 77 6f 72 6b 58 4e 6f 74 49 6d 70 es.....------.....NetworkXNotImp
c820 6c 65 6d 65 6e 74 65 64 0a 20 20 20 20 20 20 20 20 49 66 20 60 47 60 20 69 73 20 61 6e 20 75 6e lemented.........If.`G`.is.an.un
c840 64 69 72 65 63 74 65 64 20 67 72 61 70 68 2e 0a 0a 20 20 20 20 45 78 61 6d 70 6c 65 73 0a 20 20 directed.graph.......Examples...
c860 20 20 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 3e 3e 3e 20 47 20 3d 20 6e 78 2e 44 69 47 72 61 70 ..--------.....>>>.G.=.nx.DiGrap
c880 68 28 5b 28 31 2c 20 32 29 2c 20 28 30 2c 20 34 29 2c 20 28 33 2c 20 31 29 2c 20 28 32 2c 20 34 h([(1,.2),.(0,.4),.(3,.1),.(2,.4
c8a0 29 2c 20 28 30 2c 20 35 29 2c 20 28 34 2c 20 35 29 2c 20 28 31 2c 20 35 29 5d 29 0a 20 20 20 20 ),.(0,.5),.(4,.5),.(1,.5)]).....
c8c0 3e 3e 3e 20 6e 78 2e 69 73 5f 64 69 72 65 63 74 65 64 5f 61 63 79 63 6c 69 63 5f 67 72 61 70 68 >>>.nx.is_directed_acyclic_graph
c8e0 28 47 29 0a 20 20 20 20 54 72 75 65 0a 20 20 20 20 3e 3e 3e 20 6c 69 73 74 28 6e 78 2e 64 61 67 (G).....True.....>>>.list(nx.dag
c900 2e 63 6f 6c 6c 69 64 65 72 73 28 47 29 29 0a 20 20 20 20 5b 28 30 2c 20 34 2c 20 32 29 2c 20 28 .colliders(G)).....[(0,.4,.2),.(
c920 30 2c 20 35 2c 20 34 29 2c 20 28 30 2c 20 35 2c 20 31 29 2c 20 28 34 2c 20 35 2c 20 31 29 5d 0a 0,.5,.4),.(0,.5,.1),.(4,.5,.1)].
c940 0a 20 20 20 20 53 65 65 20 41 6c 73 6f 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 76 .....See.Also.....--------.....v
c960 5f 73 74 72 75 63 74 75 72 65 73 0a 0a 20 20 20 20 4e 6f 74 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d _structures......Notes.....-----
c980 0a 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 77 72 69 74 74 65 6e 20 74 .....This.function.was.written.t
c9a0 6f 20 62 65 20 75 73 65 64 20 6f 6e 20 44 41 47 73 2c 20 68 6f 77 65 76 65 72 20 69 74 20 77 6f o.be.used.on.DAGs,.however.it.wo
c9c0 72 6b 73 20 6f 6e 20 63 79 63 6c 69 63 20 67 72 61 70 68 73 0a 20 20 20 20 74 6f 6f 2e 20 53 69 rks.on.cyclic.graphs.....too..Si
c9e0 6e 63 65 20 63 6f 6c 6c 69 64 65 72 73 20 61 72 65 20 72 65 66 65 72 72 65 64 20 74 6f 20 69 6e nce.colliders.are.referred.to.in
ca00 20 74 68 65 20 63 79 63 6c 69 63 20 63 61 75 73 61 6c 20 67 72 61 70 68 20 6c 69 74 65 72 61 74 .the.cyclic.causal.graph.literat
ca20 75 72 65 0a 20 20 20 20 5b 32 5d 5f 20 77 65 20 61 6c 6c 6f 77 20 63 79 63 6c 69 63 20 67 72 61 ure.....[2]_.we.allow.cyclic.gra
ca40 70 68 73 20 69 6e 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2e 20 49 74 20 69 73 20 73 75 67 67 phs.in.this.function..It.is.sugg
ca60 65 73 74 65 64 20 74 68 61 74 20 79 6f 75 20 74 65 73 74 20 69 66 0a 20 20 20 20 79 6f 75 72 20 ested.that.you.test.if.....your.
ca80 69 6e 70 75 74 20 67 72 61 70 68 20 69 73 20 61 63 79 63 6c 69 63 20 61 73 20 69 6e 20 74 68 65 input.graph.is.acyclic.as.in.the
caa0 20 65 78 61 6d 70 6c 65 20 69 66 20 79 6f 75 20 77 61 6e 74 20 74 68 61 74 20 70 72 6f 70 65 72 .example.if.you.want.that.proper
cac0 74 79 2e 0a 0a 20 20 20 20 52 65 66 65 72 65 6e 63 65 73 0a 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d ty.......References.....--------
cae0 2d 2d 0a 20 20 20 20 2e 2e 20 5b 31 5d 20 60 57 69 6b 69 70 65 64 69 61 3a 20 43 6f 6c 6c 69 64 --........[1].`Wikipedia:.Collid
cb00 65 72 20 69 6e 20 63 61 75 73 61 6c 20 67 72 61 70 68 73 20 3c 68 74 74 70 73 3a 2f 2f 65 6e 2e er.in.causal.graphs.<https://en.
cb20 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 43 6f 6c 6c 69 64 65 72 5f 28 73 74 61 wikipedia.org/wiki/Collider_(sta
cb40 74 69 73 74 69 63 73 29 3e 60 5f 0a 20 20 20 20 2e 2e 20 5b 32 5d 20 41 20 48 79 74 74 69 6e 65 tistics)>`_........[2].A.Hyttine
cb60 6e 2c 20 50 2e 4f 2e 20 48 6f 79 65 72 2c 20 46 2e 20 45 62 65 72 68 61 72 64 74 2c 20 4d 20 4a n,.P.O..Hoyer,.F..Eberhardt,.M.J
cb80 20 cc 88 61 72 76 69 73 61 6c 6f 2c 20 28 32 30 31 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 22 ...arvisalo,.(2013)............"
cba0 44 69 73 63 6f 76 65 72 69 6e 67 20 63 79 63 6c 69 63 20 63 61 75 73 61 6c 20 6d 6f 64 65 6c 73 Discovering.cyclic.causal.models
cbc0 20 77 69 74 68 20 6c 61 74 65 6e 74 20 76 61 72 69 61 62 6c 65 73 3a 0a 20 20 20 20 20 20 20 20 .with.latent.variables:.........
cbe0 20 20 20 61 20 67 65 6e 65 72 61 6c 20 53 41 54 2d 62 61 73 65 64 20 70 72 6f 63 65 64 75 72 65 ...a.general.SAT-based.procedure
cc00 22 2c 20 55 41 49 27 31 33 3a 20 50 72 6f 63 65 65 64 69 6e 67 73 20 6f 66 20 74 68 65 20 54 77 ",.UAI'13:.Proceedings.of.the.Tw
cc20 65 6e 74 79 2d 4e 69 6e 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 43 6f 6e 66 65 72 65 6e 63 65 enty-Ninth............Conference
cc40 20 6f 6e 20 55 6e 63 65 72 74 61 69 6e 74 79 20 69 6e 20 41 72 74 69 66 69 63 69 61 6c 20 49 6e .on.Uncertainty.in.Artificial.In
cc60 74 65 6c 6c 69 67 65 6e 63 65 2c 20 70 67 20 33 30 31 e2 80 93 33 31 30 2c 0a 20 20 20 20 20 20 telligence,.pg.301...310,.......
cc80 20 20 20 20 20 60 64 6f 69 3a 31 30 2e 35 35 35 35 2f 33 30 32 33 36 33 38 2e 33 30 32 33 36 36 .....`doi:10.5555/3023638.302366
cca0 39 20 3c 68 74 74 70 73 3a 2f 2f 64 6c 2e 61 63 6d 2e 6f 72 67 2f 64 6f 69 2f 31 30 2e 35 35 35 9.<https://dl.acm.org/doi/10.555
ccc0 35 2f 33 30 32 33 36 33 38 2e 33 30 32 33 36 36 39 3e 60 5f 0a 20 20 20 20 72 89 00 00 00 4e 29 5/3023638.3023669>`_.....r....N)
cce0 03 72 91 00 00 00 72 06 00 00 00 da 0c 70 72 65 64 65 63 65 73 73 6f 72 73 29 04 72 22 00 00 00 .r....r......predecessors).r"...
cd00 72 44 00 00 00 72 d4 00 00 00 72 d6 00 00 00 73 04 00 00 00 20 20 20 20 72 26 00 00 00 72 d1 00 rD...r....r....s........r&...r..
cd20 00 00 72 d1 00 00 00 84 05 00 00 73 4b 00 00 00 e8 00 f8 80 00 f0 6c 01 00 11 12 97 07 91 07 f2 ..r........sK.........l.........
cd40 00 02 05 21 88 04 dc 16 22 a0 31 a7 3e a1 3e b0 24 d3 23 37 b8 11 d3 16 3b f2 00 01 09 21 89 46 ...!....".1.>.>.$.#7....;....!.F
cd60 88 42 90 02 d8 13 15 90 74 98 52 90 2e d3 0c 20 f1 03 01 09 21 f1 03 02 05 21 f9 73 04 00 00 00 .B......t.R.........!....!.s....
cd80 82 3d 3f 01 72 4a 00 00 00 29 01 46 29 03 72 a0 00 00 00 72 34 00 00 00 4e 29 02 72 a0 00 00 00 .=?.rJ...).F).r....r4...N).r....
cda0 72 34 00 00 00 29 2b da 07 5f 5f 64 6f 63 5f 5f 72 51 00 00 00 da 0b 63 6f 6c 6c 65 63 74 69 6f r4...)+..__doc__rQ.....collectio
cdc0 6e 73 72 03 00 00 00 da 09 66 75 6e 63 74 6f 6f 6c 73 72 04 00 00 00 da 09 69 74 65 72 74 6f 6f nsr......functoolsr......itertoo
cde0 6c 73 72 05 00 00 00 72 06 00 00 00 72 07 00 00 00 72 08 00 00 00 da 04 6d 61 74 68 72 09 00 00 lsr....r....r....r......mathr...
ce00 00 da 08 6e 65 74 77 6f 72 6b 78 72 1f 00 00 00 da 0e 6e 65 74 77 6f 72 6b 78 2e 75 74 69 6c 73 ...networkxr......networkx.utils
ce20 72 0a 00 00 00 72 0b 00 00 00 72 0c 00 00 00 da 07 5f 5f 61 6c 6c 5f 5f da 0d 66 72 6f 6d 5f 69 r....r....r......__all__..from_i
ce40 74 65 72 61 62 6c 65 72 bf 00 00 00 da 0d 5f 64 69 73 70 61 74 63 68 61 62 6c 65 72 0d 00 00 00 terabler......_dispatchabler....
ce60 72 0e 00 00 00 72 2d 00 00 00 72 13 00 00 00 72 12 00 00 00 72 0f 00 00 00 72 10 00 00 00 72 11 r....r-...r....r....r....r....r.
ce80 00 00 00 72 14 00 00 00 72 15 00 00 00 72 16 00 00 00 72 17 00 00 00 72 18 00 00 00 72 19 00 00 ...r....r....r....r....r....r...
cea0 00 72 1a 00 00 00 72 c3 00 00 00 72 1b 00 00 00 72 1c 00 00 00 72 d7 00 00 00 72 d1 00 00 00 72 .r....r....r....r....r....r....r
cec0 4b 00 00 00 72 30 00 00 00 72 26 00 00 00 fa 08 3c 6d 6f 64 75 6c 65 3e 72 e4 00 00 00 01 00 00 K...r0...r&.....<module>r.......
cee0 00 73 37 03 00 00 f0 03 01 01 01 f1 02 05 01 04 f3 0e 00 01 0d dd 00 1d dd 00 1d df 00 3b d3 00 .s7..........................;..
cf00 3b dd 00 14 e3 00 15 df 00 4b d1 00 4b f2 04 11 0b 02 80 07 f0 26 00 0a 0f d7 09 1c d1 09 1c 80 ;........K..K........&..........
cf20 06 f0 06 00 02 04 d7 01 11 d1 01 11 f1 02 21 01 40 01 f3 03 00 02 12 f0 02 21 01 40 01 f0 48 01 ..............!.@........!.@..H.
cf40 00 02 04 d7 01 11 d1 01 11 f1 02 21 01 4e 01 f3 03 00 02 12 f0 02 21 01 4e 01 f0 48 01 00 02 04 ...........!.N........!.N..H....
cf60 d7 01 11 d1 01 11 f1 02 08 01 15 f3 03 00 02 12 f0 02 08 01 15 f0 16 00 02 04 d7 01 11 d1 01 11 ................................
cf80 f1 02 25 01 30 f3 03 00 02 12 f0 02 25 01 30 f0 50 01 00 02 04 d7 01 11 d1 01 11 f1 02 4a 01 01 ..%.0.......%.0.P............J..
cfa0 0a f3 03 00 02 12 f0 02 4a 01 01 0a f0 5a 02 00 02 04 d7 01 11 d1 01 11 f1 02 41 01 01 1e f3 03 ........J....Z............A.....
cfc0 00 02 12 f0 02 41 01 01 1e f0 48 02 00 02 04 d7 01 11 d1 01 11 f2 02 4a 02 01 29 f3 03 00 02 12 .....A....H............J..).....
cfe0 f0 02 4a 02 01 29 f1 5a 04 00 02 15 90 5c d3 01 22 d8 01 03 d7 01 11 d1 01 11 f1 02 73 01 01 12 ..J..).Z.....\.."...........s...
d000 f3 03 00 02 12 f3 03 00 02 23 f0 04 73 01 01 12 f0 6c 03 00 02 04 d7 01 11 d1 01 11 f1 02 4b 02 .........#..s....l............K.
d020 01 12 f3 03 00 02 12 f0 02 4b 02 01 12 f0 5c 04 00 02 12 80 12 d7 01 11 d1 01 11 a0 54 b8 14 d4 .........K....\.............T...
d040 01 3e f2 02 58 01 01 0e f3 03 00 02 3f f0 02 58 01 01 0e f1 76 02 00 02 15 90 5c d3 01 22 d8 01 .>..X.......?..X....v.....\.."..
d060 11 80 12 d7 01 11 d1 01 11 a0 54 b8 14 d4 01 3e f2 02 34 01 0e f3 03 00 02 3f f3 03 00 02 23 f0 ..........T....>..4......?....#.
d080 04 34 01 0e f1 6e 01 00 02 15 90 5c d3 01 22 d8 01 11 80 12 d7 01 11 d1 01 11 a0 04 d4 01 25 f1 .4...n.....\.."...............%.
d0a0 02 44 01 01 0e f3 03 00 02 26 f3 03 00 02 23 f0 04 44 01 01 0e f1 4e 02 00 02 15 90 5c d3 01 22 .D.......&....#..D....N.....\.."
d0c0 d8 01 03 d7 01 11 d1 01 11 f2 02 3e 01 41 01 f3 03 00 02 12 f3 03 00 02 23 f0 04 3e 01 41 01 f1 ...........>.A..........#..>.A..
d0e0 42 02 00 02 15 90 5c d3 01 22 d8 01 11 80 12 d7 01 11 d1 01 11 98 68 d0 28 38 d0 1d 39 d4 01 3a B.....\.."............h.(8..9..:
d100 f2 02 5d 01 01 10 f3 03 00 02 3b f3 03 00 02 23 f0 04 5d 01 01 10 f1 40 03 00 02 15 90 5c d3 01 ..].......;....#..]....@.....\..
d120 22 d8 01 11 80 12 d7 01 11 d1 01 11 98 68 d0 28 38 d0 1d 39 d4 01 3a f2 02 32 01 17 f3 03 00 02 "............h.(8..9..:..2......
d140 3b f3 03 00 02 23 f0 04 32 01 17 f0 6a 01 00 02 04 d7 01 11 d1 01 11 f1 02 0f 01 3e f3 03 00 02 ;....#..2...j..............>....
d160 12 f0 02 0f 01 3e f1 24 00 02 15 90 5c d3 01 22 d9 01 14 90 5c d3 01 22 d8 01 11 80 12 d7 01 11 .....>.$....\.."....\.."........
d180 d1 01 11 a0 04 d4 01 25 f1 02 5d 01 01 0d f3 03 00 02 26 f3 03 00 02 23 f3 03 00 02 23 f0 06 5d .......%..].......&....#....#..]
d1a0 01 01 0d f1 40 03 00 02 15 90 5c d3 01 22 d8 01 03 d7 01 11 d1 01 11 f1 02 46 01 01 18 f3 03 00 ....@.....\.."...........F......
d1c0 02 12 f3 03 00 02 23 f0 04 46 01 01 18 f1 52 02 00 02 15 90 5c d3 01 22 d8 01 03 d7 01 11 d1 01 ......#..F....R.....\.."........
d1e0 11 f1 02 36 01 1e f3 03 00 02 12 f3 03 00 02 23 f0 04 36 01 1e f1 72 01 00 02 15 90 5c d3 01 22 ...6...........#..6...r.....\.."
d200 d8 01 03 d7 01 11 d1 01 11 f1 02 36 01 21 f3 03 00 02 12 f3 03 00 02 23 f1 04 36 01 21 72 30 00 ...........6.!.........#..6.!r0.
d220 00 00 ..