
%
% This file demonstrates a setup typically used in a collection of
% articles by different authors, such as a conference proceedings
% volume for example. Each article is presented as a separate
% chapter with its own bibliography. The citation labels are local
% to the `refsection' environments.
%
% Note that this file is processed as follows:
%
%   latex     file
%   bibtex    file1-blx
%   bibtex    file2-blx
%   bibtex    file3-blx
%   latex     file
%
% Note that the file name suffix may generally be omitted. It's
% `latex file' and `bibtex file' rather than `latex file.tex' and
% `bibtex file.aux'. Depending on the TeX distribution, omitting the
% `aux' file prefix when invoking BibTeX may even by mandatory.
%

\chapter{Introduction to Networks}

There are many different types of networks. Such as networks mapping the internet (for example, see \url{http://www.opte.org/maps/}), networks mapping the food chain, networks mapping the collaboration between scientists, business people (for example, see: \url{http://theyrule.net}), and many more.

\section{Definition}

\begin{definition}
A network or graph is defined as a collection of $n$ nodes connected by $m$ edges. A network can be directed, meaning the edges point in one direction, or undirected, meaning the edges go in both directions. The edges can join more than two vertices together. Such graphs are called hypergraphs.The edges can be weighted, contain self loops, and have different properties within the edges or nodes.
\end{definition}

\section{Types of Networks}
\begin{itemize}
\item
\textbf{Social networks}: friendship networks
\item
\textbf{Organizational}: business partnerships
\item
\textbf{Biological networks}: protein networks
\item
\textbf{Technological networks}: electrical grid, telephone calls
\item
\textbf{Naturally Occurring networks}: friendship networks, food chain. 
\end{itemize}

\section{Research Problems and Areas}

There are many research problems that involve network theory such as statistical properties, finding information in a network, epidemics, passing a message, predicting robustness of a network, e.g., what nodes are the most vulnerable; what % of the nodes can be randomly removed before disconnecting the network, Visualization, Evolutionary models
Scale-free properties (e.g., why not Poisson, uniform, or normal), and Small world properties. Most issues address huge graphs where $n > 10^9$.

Network theory is found in Computer Science through graph theory, artificial intelligence, natural language processing, computer networks, and information retrieval. It is also found in many other fields such as in statistical mechanics in physics, probabilities in  statistics, social networks in sociology, linguistic networks in linguistics, electrical engineering, ecology, and business.

\section{Euler's Problem}

%pic goes here
\begin{figure*}[h]
\centering
\includegraphics[width=8cm]{scribe/lecture1/euler.jpg}
\caption{Seven Bridges of Konigsberg and the corresponding graph}
\label{F:euler}
\end{figure*}

Euler's Problem is an example of a graph problem. It was first analyzed while Leonhard Euler was solving the famous Seven Bridges of Konigsberg problem in 1736 (See figure~\ref{F:euler}). The problem was to find a way to cross all bridges without crossing over any bridge twice. An Euler tour is a graph which visits each edge exactly once and starts and ends at the same vertex. It is an NP-Complete problem. More information can be found at  \url{http://en.wikipedia.org/wiki/Eulerian_path}.

\section{Network Terminology}

A graph (or network) G = (V,E) is a data structure composed of a set of vertices (V) (or nodes, site, actor) and a set of edges (E) (or link, bond, tie) connecting the vertices in V. 

An edge e = (u,v) is a pair of connected vertices.

If ($v_0, v_1$) is an edge in an undirected graph, $v_0$ and $v_1$ are \textbf{adjacent}. The edge ($v_0$, $v_1$) is \textbf{incident} on vertices $v_0$ and $v_1$.

If ($v_0, v_1$) is an edge in a directed graph, $v_0$ is \textbf{adjacent to} $v_1$, and $v_1$ is \textbf{adjacent from} $v_0$. The edge ($v_0, v_1$) is \textbf{incident} on $v_0$ and $v_1$.

The \textbf{degree} of a vertex is the number of edges incident to that vertex. In directed graphs, the \textbf{in-degree} of a vertex $v$ is the number of edges that have $v$ as the head and the \textbf{out-degree} of a vertex $v$ is the number of edges that have $v$ as the tail.


A \textbf{path} is a sequence of vertices $v_1, v_2, \ldots, v_k$ such that consecutive vertices $v_i, and v_{i+1}$ are adjacent. A simple path is one with no repeated vertices and a \textbf{cycle} is a simple path except the last vertex is the same as the first vertex.

A \textbf{connected graph} is a graph where any two vertices are connected by some path.

A \textbf{subgraph} is a subset of vertices and edges forming a graph. A \textbf{connected component} is a maximal connected subgraph.

An \textbf{undirected graph} is one in which the pair of vertices in a edge is unordered, ($v_0, v_1$) = ($v_1,v_0$) and a \textbf{directed graph} is one in which each edge is a directed pair of vertices, $(v_0, v_1) \neq (v_1,v_0)$

Edges can have weights associated with them.

An \textbf{assortative network} is a network where nodes of high degree connect to nodes of high degree. A \textbf{disassortative network} is a network where of high degree connect to nodes of low degree.

\section{Graph Representations}

\subsection{Adjacency Matrix}

Let G=(V,E) be a graph with $n$ vertices. The adjacency matrix of G is a two-dimensional $n$ x $n$ array, say adj\_mat. If the edge ($v_i, v_j$) is in E(G), adj\_mat[i][j]=1. If there is no such edge in E(G), adj\_mat[i][j]=0. The adjacency matrix for an undirected graph is symmetric; the adjacency matrix for a digraph need not be symmetric. An adjacency matrix has fast access to adjacent nodes, and fast computation of in- and out-degree, but it is memory inefficient. A graph with multiple components will contain separate groupings of 1's.

\subsection{Adjacency List}

Each row in an adjacency matrix is represented as a list. An undirected graph with $n$ vertices and $e$ edges  => $n$ head nodes and $2e$ list nodes. An adjacency list is a more compact representation and therefore memory efficient. However,  sometimes it has less efficient computation of in- or out- degrees.

\section{Bipartite Graph}

A bipartite graph is a graph whose vertices can be divided into two disjoint sets $s_1$ and $s_2$ such that each edge connects a vertex from $s_1$ to a vertex from $s_2$. Figure~\ref{F:bipartite} is an example of a bipartite graph and matrices representing the number of vertices in the other set that join the two vertices in the same set. For example, vertex $b$ is connected to vertex $a$ twice; through vertex $2$ and $1$.

%pic goes here
\begin{figure*}[h]
\centering
\includegraphics[width=5cm]{scribe/lecture1/bipartite_graph_matrices.jpg}
\caption{Bipartite Graph}
\label{F:bipartite}
\end{figure*}

\section{Graph Planarity}

The Kuratowski theorem states that a graph G is planar iff it doesn't include a homeomorphism of $K_5$ or $K_{3,3}$ (See Figure~\ref{F:planar}). There is an algorithm that runs linear in N called the Boyer-Myrvold planarity algorithm. See the planarity game at \url{http://www.planarity.net}.

%pic goes here
\begin{figure*}[h]
\centering
\includegraphics[width=5cm]{scribe/lecture1/planar.jpg}
\caption{A graph is planar iff it doesn't include these homeomorphisms}
\label{F:planar}
\end{figure*}

\section{Readings}

\begin{enumerate}
\item
Sections I, II, III of \parencite{Barabasi2002} (pages 48-59 or 1-14 of PDF)
\item
Sections I, II, IV of \parencite{Newman2003} (pages 1-9 and 20-26)
\end{enumerate}


