\documentclass{article}
\usepackage[top=1in,bottom=1in,left=1in,right=1in]{geometry}
\usepackage{fancyheadings,enumerate,xspace,graphicx}
\pagestyle{fancy}
\usepackage{amssymb}

% macros useful for handouts and homeworks.
\newcommand{\setcourse}[1]{\newcommand{\course}{#1\xspace}}
\newcommand{\setsem}[1]{\newcommand{\sem}{#1\xspace}}
\newcommand{\setyear}[1]{\newcommand{\myyear}{#1\xspace}}
\newcommand{\sethwnum}[1]{\newcommand{\hwnum}{#1\xspace}}

\newcommand{\solution}[1]{\textbf{Solution:} #1}

\setcourse{CS 5114}
\setsem{Fall}
\setyear{2018}
\sethwnum{5}

\newcommand{\cut}[1]{\ensuremath{\mathnormal{}{cut}(#1)}}
\newcommand{\calg}{\ensuremath{{\cal G}}\xspace}
\newcommand{\calo}{\ensuremath{{\cal O}}\xspace}
\newcommand{\reals}{\ensuremath{\mathbb{R}}}

\chead{\course (\sem \myyear): Homework \hwnum}


\begin{document}
\title{\vspace{-0.5in}\textbf{Homework \hwnum}}
\author{\course (\sem \myyear)}

\date{Assigned on October 22, 2018. \\Submit PDF solutions on Canvas by the \\  beginning of class on October 29, 2018.}
\maketitle

\input{instructions} 


\begin{description}

\item[Problem 1] (15 points) Suppose you have a potential solution to a maximum-flow problem, i.e., you have a flow network $G=(V,E)$ (with $s$ and $t$ and edge capacities, defined, of course) and an assignment $f: E \rightarrow \reals^+$ that satisfies the capacity and conservation conditions. Develop an efficient algorithm to determine if $f$ is indeed a maximum flow. 
  
  % \solution{ 
  
  % }
  
\item[Problem 2] (15 points) Given a flow network $G$, suppose $f$ is flow with positive value, i.e., $\nu(f) > 0$. Consider the subgraph $G'$ of $G$ that only consists of edges that carry positive flow, i.e., an edge $e$ is in $G'$ if and only if $f(e) > 0$. Prove that there must be a simple $s$-$t$ path in $G'$. \emph{Note:} $G'$ is not the residual graph.
  
  % \solution{ 
  
  % }
  
  
\item[Problem 3] (30 points) In this problem, we will consider how to update the maximum flow upon small changes to edge capacities. Let $G = (V,E)$ be a flow network with integer capacities. Suppose you are given the maximim flow in $G$.
  \begin{enumerate}[(a)]
  \item (10 points) If you increase the capacity of an edge $(u,v)$ by $1$, give an efficient algorithm to update the maximum flow. 

  \item (20 points) If you decrease the capacity of an edge $(u,v)$ by $1$, give an efficient algorithm to update the maximum flow. \emph{Hint:} This problem requires careful consideration of the possibilities, e.g., the maximum flow could be the same, the value of the maximum flow could be the same, or the maximum flow may decrease in value.
  \end{enumerate}
  
  % \solution{
  
  % }
  
\item[Problem 4] (40 points) A flow network has $m$ edges. Show that there exists a sequence of at most $m$ augmenting paths that yield the maximum flow. In other words, if you prove this statement, you would have shown that if the augmenting paths were chosen correctly (by magic), the Ford-Fulkerson algorithm will terminate in at most $m$ iterations. Note that this question is not algorithmic: you do not
  have to demonstrate an algorithm to compute these augmenting paths. \emph{Hint: Assume that you know the maximum flow and use Problem 2.}

  
  % \solution{
  
  % }
  

\end{description}

\end{document}


%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% End:
