Advertisement
Guest User

Untitled

a guest
Dec 5th, 2016
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.56 KB | None | 0 0
  1. \title{Tema 2}
  2. \author{
  3. Boca Ioan-Bogdan -- A7 \\
  4. Danila Marius Cristian -- A7 \\
  5. }
  6.  
  7. \documentclass[12pt]{article}
  8. \usepackage{cancel}
  9. \usepackage{tikz}
  10. \usetikzlibrary{arrows}
  11. \usepackage[utf8]{inputenc}
  12. \usepackage{amsmath}
  13. \usepackage[linesnumbered,ruled]{algorithm}
  14. \usepackage{algpseudocode}
  15.  
  16.  
  17. \begin{document}
  18. \maketitle
  19.  
  20.  
  21. \paragraph{Prolema 1}
  22.  
  23. Fie $D = (V, E)$ si $a : E \rightarrow R$. D nu are circuit de cost total negativ $=> \exists$ o functie $ \pi : V \rightarrow R$ astfel incat $a(uv) + \pi (v ) \geq 0 \forall u, v \in E$
  24.  
  25. "$<=$"
  26.  
  27. Fie $v_1, v_2, ... v_k, v_1$ un circuit oarecare din $G$. Presupunem ca $\exists \pi : V \rightarrow R$ astfel incat $a(uv) + \pi (v ) \geq 0 \forall u, v \in E$.
  28.  
  29. Vom demonstra ca costul total al circuitului este pozitiv
  30.  
  31. $$ a(v_1 v_2) + \pi(v_1) \pi(v_2) \geq 0$$
  32. $$ a(v_1 v_2) \geq \cancel{\pi(v_1)} - \cancel{\pi(v_2)} $$
  33. $$ a(v_2 v_3) \geq \cancel{\pi(v_3)} - \cancel{\pi(v_2)} $$
  34. $$ \vdots \vdots \vdots $$
  35. $$ a(v_{k-1} v_{k}) \geq \cancel{\pi(v_k)} - \cancel{\pi(v_{k - 1})} $$
  36. $$ a(v_k, v_1) \geq \cancel{\pi(v_1)} - \cancel{\pi(v_k)} $$
  37.  
  38. {
  39. \center
  40. \noindent\rule{8cm}{0.4pt} $(+)$
  41.  
  42. $$\underbrace{a(...) + a(...) + ... \geq 0}$$
  43.  
  44. costul total al nodurilor
  45.  
  46. }
  47.  
  48.  
  49. "$=>$" Presupunem ca orice circuit are cost pozitiv. Aratam ca exista o functie $\pi$. Fixam $p_0 \in G$ si definim functia $\pi$
  50.  
  51. $$ \pi(p_0) = 0$$
  52. $$ \pi(p_i) = min_{j \neq i} (\pi(p_j) + a(p_i p_j)) $$
  53.  
  54.  
  55. \paragraph{Problema 2}
  56.  
  57. Fie $G\ =\ (V,\ E)$ un graf conex si $v_0 \in V$ un punct de articulatie al sau.
  58.  
  59.  
  60. Presupunem ca $G$ admite cuplaj perfect $\Rightarrow $ $|V|$ este numar par. $(|V| = 2n)$
  61. Fie $H$ graful obtinut prin scoaterea lui $v_0$ din $G$. $\Rightarrow$ numarul de noduri ale lui $H$ este impar. Prin scoaterea lui $v_0$ din $G$ graful devine neconex $\Rightarrow$ $H$ este format din
  62. $C_1$, $C_2$, ... $C_m$ componente conexe. $\Rightarrow |C_1|\ +\ |C_2|\ +\ ... \ +\ |C_m|\ =\ 2n\ -\ 1$.
  63.  
  64.  
  65. Presupunem ca avem cel putin $2$ componente conexe ce au numar impar de noduri. Fie $C_i,\ C_j\ cu\ i \neq j\ 2$ componente cu numar impar de noduri.
  66. Datorita faptului ca $C_i$ are numar impar de noduri, prin formarea cuplajului perfect va ramane un nod $v_i$ fara pereche $\Rightarrow$ $v_iv_0$ formeaza o muchie.
  67.  
  68. In $C_j$ situatia este similara. Va ramane un nod $v_j$ fara pereche $\Rightarrow\ v_iv_0$ formeaza o muchie.
  69.  
  70. Fie $L$ cuplajul perfect al grafului. $L\ =\ \{.....(v_i,\ v_0),\ (v_j,\ v_0)\ .....\}$. $v_0$ apare de 2 ori in multimea $L\ \Rightarrow L$ nu este cuplaj perfect. Contradictie. $\Rightarrow$ nu avem $2$ componente conexe ce au numar impar de noduri.
  71.  
  72. Acceasi justificare este valabila si in cazul unei singure componente conexe cu numar impar de noduri.
  73.  
  74. Daca avem o singura componenta conexa cu numar impar de noduri, atunci prin eliminarea lui $v_0$ obtinem tot un graf conex. $(Contradictie\ cu\ ipoteza)$.
  75. $\Rightarrow$ vom avea o componenta conexa cu numar par de noduri.
  76. $G$ conex $\Rightarrow \ \exists$ cel putin o muchie de la $v_0$ la una dintre componentele conexe cu numar impar de noduri.
  77.  
  78. Fie $c_i$ un nod apartinand unei componente conexe cu numar par de noduri. Fie $e_0\ =\ (v_0,\ c_i)$ o muchie. Cum $v_0$ apare in lista cuplajului perfect $\Rightarrow$ $c_i$ nu va aparea in lista cuplajului perfect.
  79.  
  80. Am demonstrat ca $\exists$ o muchie $e_0$ $\in\ G$ incidenta cu $v_0$ cu proprietatea ca $e_0$ nu apartine la un cuplaj perfect al lui $G$.
  81.  
  82.  
  83. \paragraph{Problema 3}
  84.  
  85. a)
  86.  
  87. Multimea $T: $ fiecare nod este unit cu cel mai apropiat vecin al sau.
  88.  
  89. $$ A(v_1) \rightarrow P_1 $$
  90. $$ A(v_2) \rightarrow P_2 $$
  91. $$ \vdots $$
  92. $$ A(v_n) \rightarrow P_n $$
  93.  
  94. Multimea returnata de functie este multimea nodurilor de forma $(v_i, p_i)$ cu $p_i$, $A(v_i)$ catul muchiilor $v_i p_i$ este costul minim al unei muchii dintre $v_i$ si un nod din lista de adiacenta $A(v_i)$
  95.  
  96. Fie $C_1, C_2, ..., C_p$ cele $p$ componene conexe ale grafului $G=(V, T)$
  97.  
  98. $$ |C_1| + |C_1| + ... + |C_p| = m$$
  99.  
  100. Cum fiecare varf $v \in V$ este unit cu siguranta de un vecin al sau $w$, gradul fiecarui nod din graful $G'$ este $\geq 1$
  101.  
  102. Fie $C$ comp conexa are cel putin 2 noduri
  103. $$ |C_i| \geq 2 => |C_1| + |C_2| + ... + |C_p| = m \geq$$
  104. $$ \underbrace{2 + 2 + ... + 2} \leq m$$
  105. $\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ de\ p\ ori$
  106.  
  107. $=>$ Avem cel mult $\frac{n}{2}$ componente conexe.
  108.  
  109. Presupunem ca avem un circuit $v_1, ..., v_k$. Notam cu $w$ costul muchiilor $v_i v_{i+1}$. Presupunem ca $v_2$ este cel mai apropiat vecin de $v_1$, $v_3$ cel mai apropiat vecin de $v_2$.... $v_1$ cel mai apropiat vecin de $v_k$. Pentru a avea aceasta configuratie avem nevoie ca $a_k < a_{k-1} < ... < a_1$. Daca nu se repeta $a_i < a_{i-1}$ atunci $v_1$ nu ar mai fi cel mai apropiat vecin de $v_{i-1}$
  110.  
  111. Ajungand inapoi in varful $v_1$ trebuie sa avem $a_1 < a_k$. Altfel cel mai apropiat vecin de $v_1$ ar fi fost $v_k$ si nu $v_2$. Avem
  112.  
  113. $$ a_k < a_{k-1} < ... < a_p $$
  114.  
  115. Inegalitate, deoarce functia de cost $c$ este strict injectiva.
  116.  
  117. b)
  118.  
  119. \begin{algorithm}
  120. \caption{Algoritm exercitiul 3}\label{euclid}
  121. \begin{algorithmic}[1]
  122.  
  123. \For {i = 1; i < p; i++}
  124. \For {j = i + 1; $j \in p$; ++j}
  125. \For {each $v \in C_i$}
  126. \State {x = $A(v) \cap C_j$}
  127. \State {E(H) = E(H) $\cup$ \{multimea muchiilor $vx$ cu $x\in X$\}}
  128. \If {$c(x_i)$ < min}
  129. \State {min = $c(v_i)$}
  130. \EndIf
  131. \EndFor
  132. \EndFor
  133. \EndFor
  134. \end{algorithmic}
  135. \end{algorithm}
  136.  
  137.  
  138. Parcurgem toate listele de adiacenta $\rightarrow$ parcurgerea tuturor nodurilot din graf $\rightarrow$ parcurgerea fiecarei liste de adiacenta $\rightarrow O(m + n)$
  139.  
  140. Este pentru aflarea muchiei de cost minim intre oricare 2 componente $\rightarrow$ parcurgem listele de adiacenta (Costul unei muchii se afla in O(1)) $\rightarrow$ O(n)
  141.  
  142. c)
  143.  
  144. $e_\overline{ij}$ = \{ costul minim al unei muchii intre $c_i$ si $c_j$\}
  145.  
  146. $A'$ - arbore partial de cost minim in $H$
  147.  
  148. $T \cup \overline{A'}$ - arbore partial de cost minim in G
  149.  
  150. Presupunem ca pentru un graf cu functie de cost injectiva ar exista 2 arbori partiali de cost minim.
  151. Fie $T$ si $T'$ cei 2 arbori.
  152.  
  153. $L1={c(e_1) < c(e_2) < .... < c(e_k)}$ - lista sortata a costurilor muchiilor din arborele $T$
  154.  
  155. $L2={c(e'_1 < c(e'_2) < .... < c(e'_k)}$ - lista sortata a costurilor muchiilor din arborele $T'$
  156.  
  157. Fie $t$ prima pozitie in care $L1$ si $L2$ sunt diferite. $(c(e_t) \neq c(e'_t) )$
  158.  
  159. Presupunem ca $c(e_t) < c(e'_t)$
  160.  
  161. Fie $R=T'\cup\{e_t\}$ . $T'$ este arbore, iar daca mai adaugam o muchie se va forma un circuit. Notam cu $C$ circuitul respectiv.
  162.  
  163. Fie $S = C - E(T)$. Costul muchiilor din $S$ este mai mare decat $c(e_t)$. Deci eliminand una din muchiile din $S$ in $H$ obtinem un arbore partial de cost minim mai mic decat $T'$. Contradictie cu ipoteza.
  164.  
  165. Presupunem ca arborele sugerat la punctul $c)$ nu ar fi arbore partial de cost minim in $G$.
  166.  
  167. Fie $A'$ arborele partial de cost minim in $H$ si $A''$ arborele partial de cost minim in $G$.
  168.  
  169. Presupunem ca $A' \neq A''$.
  170.  
  171. - cost$(A')<$cost$(A'')$ $\Rightarrow$ avem in G un arbore partial de cost minim ce are un cost mai mare decat costul unui arbore partial de cost minim dintr-un subgraf de-al sau. $(Fals)$
  172.  
  173. - cost$(A'')<$cost$(A')$ $(Fals)$ deoarece la fiecare pas din constructia grafului $H$ am ales muchii de cost minim intre un varf si vecinii sai.
  174.  
  175. Deci costurile celor 2 arbori nu pot fi decat egale, iar prin faptul ca arborele partial de cost minim din $G$ este unic $\Rightarrow$ cerinta).
  176.  
  177.  
  178.  
  179. d)
  180.  
  181. \begin{algorithm}
  182. \caption{Algoritm exercitiul 3. d)}\label{euclid}
  183. \begin{algorithmic}[1]
  184.  
  185. $T=B(V,C)$;
  186.  
  187. $G'=(V,T)$;
  188.  
  189. getConnexComponentsOf$(G')$;
  190.  
  191. $H$=b)function;
  192.  
  193. Prim'sAlgorithm$(H)$
  194.  
  195.  
  196. \end{algorithmic}
  197. \end{algorithm}
  198.  
  199.  
  200. Complexitatea algoritmului este $O(n^2)$ - datorata apelului la algoritmul lui Prim.
  201.  
  202. \paragraph{Problema 4}
  203.  
  204. Fie $G\ =\ (S,\ T;\ E)$ un graf bipartit fara varfuri izolate.
  205. Aratam ca daca pentru fiecare muchie $e\ \in\ E,\ e\ =\ st\ (s\ \in S,t\ \in T)$ are loc inegalitatea
  206. $d_G(s)\ \geq\ d_G(t)$ avem ca $|N_G(X)|\ \geq |x|
  207. \ \forall X \subseteq S$.
  208.  
  209. Notam cu $n$ numarul de muchii ale subgrafului indus de $X$ in $G$.
  210. Observam ca $n\ =\ \sum_{S\ \in X} d_G(S)$ $=$ $\sum_{t\ \in N_G(X)} d_G(t)$.
  211. $\Rightarrow |N_G(X)|\ \geq \ |X|\ \forall X \subseteq S\ (*)$
  212.  
  213. Demonstram ca orice graf bipartit care satisface relatia $(*)$ are un cuplaj ce satureaza toate varfurile lui $S$.
  214.  
  215. Vrem sa aratam ca $\Gamma(_G)$(numarul maxim de muchii independente) $\ =\ |S|$.
  216.  
  217. Numarul minim de puncte necesare pentru a reprezenta toate muchiile din $G\ \leq |S|$ deoarece orice muchie are o extremitate in multimea $S$. $\Rightarrow\ |\Gamma(G)|$(numarul minim de puncte pentru a reprezenta muchiile lui $G$) $\leq\ |S|$.
  218.  
  219. Este suficient sa aratam ca orice multime $A$ ce acopera toate muchiile din $G$ are cel putin $|S|$ elemente.
  220.  
  221. Din Teorema lui Hall $\Rightarrow$ $\gamma(G)\ =\ \Gamma(G)$
  222.  
  223. $|\Gamma(G)| \leq |S|$
  224.  
  225. $\ \ \ \ \ \ \ \ \ \geq |S|$ $\Rightarrow$ $|\Gamma(G)| = |S|$ $(**)$
  226.  
  227.  
  228. Vom arata ca relatia $N_G(S - A) \leq A \cap T$.
  229.  
  230. Fie $x$ un nod oarecare, $x\ \in\ S-A$, care are corespondent pe $y$, $y \in T$. Pentru ca muchia $xy$ sa fie acoperita de multimea $A$ trebuie sa avem ca $y\in A$ $\Rightarrow \ y \in A \cap T$.
  231.  
  232. $|A|=|A\cap S|+|A \cap T| \geq |A\cap S|+|N_G(S-A)|$
  233.  
  234. $|N_G(S-A)| \geq |S-A| \geq |A\cap S|+|S-A| = |S|$ $\Rightarrow$ orice multime care acopera toate elementele lui $G$ are $|S|$ elemente.
  235.  
  236. Pentru a avea un cuplaj ce satureaza toate elementele din $|S|$ trebui sa avem ca $\Gamma(G)=|S|$
  237. $\Rightarrow$ am aratat relatia $(**)$.
  238.  
  239.  
  240. \end{document}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement