The TikZ and PGF Packages
            Manual for version 3.1.9a
          
          
          
          Part IV Graph Drawing
by Till Tantau et al.
Graph drawing algorithms do the tough work of computing a layout of a graph for you. TikZ comes with powerful such algorithms, but you can also implement new algorithms in the Lua programming language.
                
                   
              
                \usetikzlibrary {arrows.meta,graphs,graphdrawing}
                  \usegdlibrary {layered} 
                \tikz [nodes={text
                  height=.7em, text
                  depth=.2em,
                                draw=black!20, thick, fill=white, font=\footnotesize},
                       >={Stealth[round,sep]}, rounded corners, semithick]
                  \graph [layered layout, level distance=1cm, sibling sep=.5em, sibling distance=1cm] {
                    "5th
                Edition"
                ->
                { "6th
                Edition", "PWB
                1.0"
                };
                    "6th
                Edition"
                ->
                { "LSX"
                [>child anchor=45],  "1
                BSD", "Mini
                Unix", "Wollongong", "Interdata"
                };
                    "Interdata"
                ->
                { "Unix/TS
                3.0", "PWB
                2.0", "7th
                Edition"
                };
                    "7th
                Edition"
                ->
                { "8th
                Edition", "32V", "V7M", "Ultrix-11", "Xenix", "UniPlus+"
                };
                    "V7M"
                ->
                "Ultrix-11";
                    "8th
                Edition"
                ->
                "9th
                Edition";
                    "1
                BSD"
                ->
                "2
                BSD"
                ->
                "2.8
                BSD"
                ->
                { "Ultrix-11", "2.9
                BSD"
                };
                    "32V"
                ->
                "3
                BSD"
                ->
                "4
                BSD"
                ->
                "4.1
                BSD"
                ->
                { "4.2
                BSD", "2.8
                BSD", "8th
                Edition"
                };
                    "4.2
                BSD"
                ->
                { "4.3
                BSD", "Ultrix-32"
                };
                    "PWB
                1.0"
                ->
                { "PWB
                1.2"
                ->
                "PWB
                2.0", "USG
                1.0"
                ->
                { "CB
                Unix
                1", "USG
                2.0"
                }};
                    "CB
                Unix
                1"
                ->
                "CB
                Unix
                2"
                ->
                "CB
                Unix
                3"
                ->
                { "Unix/TS++", "PDP-11
                Sys
                V"
                };
                    { "USG
                2.0"
                ->
                "USG
                3.0", "PWB
                2.0", "Unix/TS
                1.0"
                } ->
                "Unix/TS
                3.0";
                    { "Unix/TS++", "CB
                Unix
                3", "Unix/TS
                3.0"
                } ->
                "TS
                4.0"
                ->
                "System
                V.0"
                ->
                "System
                V.2"
                ->
                "System
                V.3";
                  };