1. Hierarchy is common in nature and engineering systems as a way to organize complex systems and achieve cooperation between subsystems. 2. General principles of hierarchy formation include order increasing over time through multiplication, centralization, differentiation and stronger interactions between levels. 3. Hierarchical systems evolve through self-organization and by developing simple systems into more complex ones over long periods, as seen in the evolution of organisms, societies, neural networks, genetic algorithms and other AI systems.