introduction to network theory