SpinyNorman
There's also been a revival of reinforcement learning, especially when used together with neural nets ("deep reinforcement learning"), and again there have been many small advances that collectively make this work very well. This is the technology that powered Google's AlphaGo to beat the world champion at the board game of "Go", not to mention learning how to play many arcade games at beyond human level based only on the raw pixels and current score as input.
There have also been tremendous strides in AI hype leading folk to fear the robot uprising based on these more mundane machine-learning/neural-net breakthroughs!
For graph layout, tools worth looking at include OGDF (an open source C++ library), the commercial yFiles Java library with free yEd editor/layout tool (includes support for GraphML attributes), and Gephi (an open source Java-based graph layout/visualization tool).
If your graph represents some type of directed dataflow, then maybe Google's Tensorboard graph visualizer (intended primarily for neural nets) is of interest - it's open source and very slick (esp. wrt subgraph collapsing/expanding), but you'd be on your own in terms of importing a foreign graph format.