exercises/solutions/sol05.tex
author Eugen Sawin <sawine@me73.com>
Sun, 10 Jun 2012 05:35:08 +0200
changeset 20 93fd38efa60f
parent 19 9f72ba296485
permissions -rw-r--r--
Added some solutions.
sawine@19
     1
\documentclass[a4paper, 10pt, pagesize, smallheadings]{article}
sawine@19
     2
\usepackage{graphicx}
sawine@19
     3
%\usepackage[latin1]{inputenc}
sawine@19
     4
\usepackage{amsmath, amsthm, amssymb}
sawine@19
     5
\usepackage{typearea}
sawine@19
     6
\usepackage{algorithm}
sawine@19
     7
\usepackage{algorithmic}
sawine@19
     8
\usepackage{fullpage}
sawine@19
     9
\usepackage{mathtools}
sawine@19
    10
\usepackage[all]{xy}
sawine@19
    11
\usepackage{tikz}
sawine@19
    12
\usepackage{tikz-qtree}
sawine@19
    13
\usetikzlibrary{decorations.pathmorphing} % noisy shapes
sawine@19
    14
\usetikzlibrary{fit}					% fitting shapes to coordinates
sawine@19
    15
\usetikzlibrary{backgrounds}	% drawin
sawine@19
    16
\usetikzlibrary{shapes,snakes}
sawine@19
    17
\addtolength{\voffset}{-20pt}
sawine@19
    18
\title{CSP Exercise 05 Solution}
sawine@19
    19
\author{Eugen Sawin}
sawine@19
    20
\renewcommand{\familydefault}{\sfdefault}
sawine@19
    21
\newcommand{\R}{\mathcal{R}}
sawine@19
    22
\newcommand{\N}{\mathbb{N}}
sawine@19
    23
\newcommand{\C}{\mathcal{C}}
sawine@19
    24
\newcommand{\bo}{\mathcal{O}}
sawine@19
    25
sawine@19
    26
%\include{pythonlisting}
sawine@19
    27
sawine@19
    28
\pagestyle{empty}
sawine@19
    29
\begin{document}
sawine@19
    30
\maketitle
sawine@19
    31
%
sawine@19
    32
\section*{Exercise 5.1}
sawine@20
    33
(a) The following table shows the states during the AC3 iterations.\\\\
sawine@19
    34
\begin{tabular}{r l l l}
sawine@20
    35
Iteration & Queue & Revise & Domains\\\hline\\
sawine@19
    36
      $0$ & $\{(v_1,v_2),(v_2,v_1),
sawine@19
    37
               (v_2,v_3),(v_3,v_2),
sawine@19
    38
               (v_1,v_3),(v_3,v_1)\}$
sawine@19
    39
          & $$ 
sawine@19
    40
          & $(\{1,2,3,4,5\},
sawine@19
    41
              \{1,2,3,4,5\},
sawine@19
    42
              \{1,2,3,4,5\})$\\
sawine@19
    43
      $1$ & $\{(v_1,v_2),(v_2,v_1),
sawine@19
    44
               (v_2,v_3),(v_3,v_2),
sawine@19
    45
               (v_1,v_3)\}$
sawine@19
    46
          & $(v_3,v_1)$
sawine@19
    47
          & $(\{1,2,3,4,5\},
sawine@19
    48
              \{1,2,3,4,5\},
sawine@19
    49
              \{1,2,3,4,5\})$\\
sawine@19
    50
      $2$ & $\{(v_1,v_2),(v_2,v_1),
sawine@19
    51
               (v_2,v_3),(v_3,v_2)
sawine@19
    52
               \}$
sawine@19
    53
          & $(v_1,v_3)$
sawine@19
    54
          & $(\{1,2,3,4,5\},
sawine@19
    55
              \{1,2,3,4,5\},
sawine@19
    56
              \{1,2,3,4,5\})$\\
sawine@19
    57
      $3$ & $\{(v_1,v_2),(v_2,v_1),
sawine@19
    58
            (v_2,v_3)\}\cup\{(v_1,v_3)\}$
sawine@19
    59
          & $(v_3,v_2)$
sawine@19
    60
          & $(\{1,2,3,4,5\},
sawine@19
    61
              \{1,2,3,4,5\},
sawine@19
    62
              \{1,2\})$\\
sawine@19
    63
      $4$ & $\{(v_1,v_2),(v_2,v_1),
sawine@19
    64
            (v_2,v_3)\}\cup\{\}$
sawine@19
    65
          & $(v_1,v_3)$
sawine@19
    66
          & $(\{1,2\},
sawine@19
    67
              \{1,2,3,4,5\},
sawine@19
    68
              \{1,2\})$\\
sawine@19
    69
      $5$ & $\{(v_1,v_2),(v_2,v_1)\}$
sawine@19
    70
          & $(v_2,v_3)$
sawine@19
    71
          & $(\{1,2\},
sawine@19
    72
              \{1,2\},
sawine@19
    73
              \{1,2\})$\\
sawine@19
    74
      $6$ & $\{(v_1,v_2)\}$
sawine@19
    75
          & $(v_2,v_1)$
sawine@19
    76
          & $(\{1,2\},
sawine@19
    77
              \{1,2\},
sawine@19
    78
              \{1,2\})$\\
sawine@19
    79
      $7$ & $\{\}$
sawine@19
    80
          & $(v_1,v_2)$
sawine@19
    81
          & $(\{1,2\},
sawine@19
    82
              \{1,2\},
sawine@19
    83
              \{1,2\})$\\
sawine@20
    84
\end{tabular}\\\\\\
sawine@20
    85
(b) The following table shows the states during the PC2 iterations.\\\\
sawine@20
    86
\begin{tabular}{r l l l l l}
sawine@20
    87
  Iteration & Queue & Revise-3 & $R_{v_1,v_2}$ & $R_{v_2,v_3}$ & $R_{v_1,v_3}$\\
sawine@20
    88
  \hline\\
sawine@20
    89
      $0$ & $\{(1,3,2),(1,2,3),(2,1,3)\}$
sawine@20
    90
          & $ $ 
sawine@20
    91
          & $\{(1,2),(2,1)\}$
sawine@20
    92
          & $\{(1,1),(1,2),(2,1)\}$
sawine@20
    93
          & $\{(1,1),(1,2),(1,3),$\\
sawine@20
    94
      &&&&& $(1,4),(1,5),(2,2),$\\
sawine@20
    95
      &&&&& $(2,3),(2,4),(2,5),$\\
sawine@20
    96
      &&&&& $(3,3),(3,4),(3,5),$\\
sawine@20
    97
      &&&&& $(4,4),(4,5),(5,5)\}$\\
sawine@20
    98
      $1$ & $\{(1,3,2),(1,2,3)\}$
sawine@20
    99
          & $(\{v_2,v_1\},v_3)$ 
sawine@20
   100
          & $\{(1,2),(2,1)\}$
sawine@20
   101
          & $\{(1,1),(1,2),(2,1)\}$
sawine@20
   102
          & $\{(1,1),(1,2),(1,3),$\\
sawine@20
   103
      &&&&& $(1,4),(1,5),(2,2),$\\
sawine@20
   104
      &&&&& $(2,3),(2,4),(2,5),$\\
sawine@20
   105
      &&&&& $(3,3),(3,4),(3,5),$\\
sawine@20
   106
      &&&&& $(4,4),(4,5),(5,5)\}$\\
sawine@20
   107
      $2$ & $\{(1,3,2)\}$
sawine@20
   108
          & $(\{v_1,v_2\},v_3)$ 
sawine@20
   109
          & $\{(1,2),(2,1)\}$
sawine@20
   110
          & $\{(1,1),(1,2),(2,1)\}$
sawine@20
   111
          & $\{(1,1),(1,2),(1,3),$\\
sawine@20
   112
      &&&&& $(1,4),(1,5),(2,2),$\\
sawine@20
   113
      &&&&& $(2,3),(2,4),(2,5),$\\
sawine@20
   114
      &&&&& $(3,3),(3,4),(3,5),$\\
sawine@20
   115
      &&&&& $(4,4),(4,5),(5,5)\}$\\
sawine@20
   116
  $3$ & $\{\}\cup\{(2,1,3),(2,3,1)\}$
sawine@20
   117
          & $(\{v_1,v_3\},v_2)$ 
sawine@20
   118
          & $\{(1,2),(2,1)\}$
sawine@20
   119
          & $\{(1,1),(1,2),(2,1)\}$
sawine@20
   120
          & $\{(1,1),(2,2)\}$\\
sawine@20
   121
  $4$ & $\{(2,1,3)\}\cup\{(1,2,3),(1,3,2)\}$
sawine@20
   122
          & $(\{v_2,v_3\},v_1)$ 
sawine@20
   123
          & $\{(1,2),(2,1)\}$
sawine@20
   124
          & $\{(1,2),(2,1)\}$
sawine@20
   125
          & $\{(1,1),(2,2)\}$\\
sawine@20
   126
  $5$ & $\{(2,1,3),(1,2,3)\}$
sawine@20
   127
          & $(\{v_1,v_3\},v_2)$ 
sawine@20
   128
          & $\{(1,2),(2,1)\}$
sawine@20
   129
          & $\{(1,2),(2,1)\}$
sawine@20
   130
          & $\{(1,1),(2,2)\}$\\
sawine@20
   131
  $6$ & $\{(2,1,3)\}$
sawine@20
   132
          & $(\{v_1,v_2\},v_3)$ 
sawine@20
   133
          & $\{(1,2),(2,1)\}$
sawine@20
   134
          & $\{(1,2),(2,1)\}$
sawine@20
   135
          & $\{(1,1),(2,2)\}$\\
sawine@20
   136
  $7$ & $\{\}$
sawine@20
   137
          & $(\{v_2,v_1\},v_3)$ 
sawine@20
   138
          & $\{(1,2),(2,1)\}$
sawine@20
   139
          & $\{(1,2),(2,1)\}$
sawine@20
   140
          & $\{(1,1),(2,2)\}$
sawine@19
   141
\end{tabular}
sawine@20
   142
sawine@20
   143
\section*{Exercise 5.3}
sawine@20
   144
(a) In a path-consistent network for every pair $(a_i,a_j)\in R_{ij}$, there exists an $a_k\in D_k$, such that $(a_i,a_k)\in R_{ik}$ and $(a_k,a_j)\in R_{kj}$.
sawine@20
   145
sawine@20
   146
Since all the $R_{ij}$ are non-empty and all our variables $v_i$ share the same domain values, it follows that all $v_i$ are arc-consistent relative to $v_k$ and all $v_k$ are arc-consistent relative to $v_j$, which induces that all $R_{ij}$ are arc-consistent, since otherwise they would be no $a_i\in D_i$, such that $(a_k,a_i)\in R_{ki}$ and $(a_i,a_j)\in R_{ij}$. \qed\\\\
sawine@20
   147
(b) We know that all sets $A_m\subseteq\{0,1\}$ are non-empty, i.e., $1\leq|A_m|\leq2$ for all $1\leq m\leq l$. Therefore it holds that the intersection of two sets $A_q=A_o\cap A_p$ has cardinality $0\leq|A_q|\leq \min\{|A_o|,|A_p|\}\leq 2$.
sawine@20
   148
sawine@20
   149
WLOG, we know that $A_q$ becomes the empty set, iff $A_o=\{0\}$ and $A_p=\{1\}$ and any combination of $A_o=\{0,1\}$ and $A_p\subset A_o$ yields the set $A_q=A_p$. Therefore it holds that for $\bigcap_{1\leq m\leq l}{A_m}=\emptyset$ to hold, there must be two sets holding the distinct elements $0$ and $1$ respectively, as has been shown. \qed\\\\
sawine@20
   150
(c) We prove by contradiction. Assume that the partial assignment on $v_1,...,v_{k-1}$ can not be extended to $v_k$, i.e., $\bigcap_{2\leq i\leq k-1}{\{a_k\mid (a_i,a_k)\in R_{ik}\}}=\emptyset$. By (b) follows that there must be $2\leq i\neq j\leq k-1$, such that $\{a_k\mid(a_i,a_k)\in R_{ik}\}\cap\{a_k\mid(a_j,a_k)\in R_{jk}\}=\emptyset$.
sawine@20
   151
sawine@20
   152
WLOG let $\{a_k\mid(a_i,a_k)\in R_{ik}\}=\{0\}$ and $\{a_k\mid(a_j,a_k)\in R_{jk}\}=\{1\}$. We know that we have non-empty constraints on all variable pairs $R_{ij}$ and there is a consistent assignment $(a_i,a_j)\in R_{ij}$. By our assumption there is an assignement $(a_i,0)\in R_{ik}$ but no $(a_j,0)\in R_{jk}$. This contradicts to the definition of path-consistency, where for every pair $(a_i,a_j)\in R_{ij}$, there exists an $a_k\in D_k$, such that $(a_i,a_k)\in R_{ik}$ and $(a_k,a_j)\in R_{kj}$. Therefore there can not be such an assumption in a path-consistent network with given properties and we can extend the assignment to $v_k$. \qed
sawine@19
   153
\end{document}