HW2: A small proof section added
This commit is contained in:
parent
3305a0ef71
commit
9052eb0740
Binary file not shown.
@ -140,7 +140,7 @@
|
|||||||
Η τάξη αυτή προσφέρει δυνατότητες χρονομέτρησης μίας ή και πολλαπλών κλήσεων αθροίζοντας τους χρόνους.
|
Η τάξη αυτή προσφέρει δυνατότητες χρονομέτρησης μίας ή και πολλαπλών κλήσεων αθροίζοντας τους χρόνους.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\par
|
\par
|
||||||
Όλοι οι παραπάνω τύποι είναι templates, και βρίσκονται στα αντίστοιχα headers (.hpp) αντί στα αρχεία .cpp.
|
Όλοι οι παραπάνω τύποι είναι templates, και βρίσκονται στα αντίστοιχα headers (.hpp) αντί για αρχεία .cpp.
|
||||||
Η συνάρτηση \textit{main()} που υλοποιεί τον αλγόριθμο, αλλά και αυτή που καλεί τα unit tests, μαζί με τον validator και το command line interface βρίσκονται στο αρχείο main.cpp.
|
Η συνάρτηση \textit{main()} που υλοποιεί τον αλγόριθμο, αλλά και αυτή που καλεί τα unit tests, μαζί με τον validator και το command line interface βρίσκονται στο αρχείο main.cpp.
|
||||||
|
|
||||||
\subsection{Model version}
|
\subsection{Model version}
|
||||||
@ -232,7 +232,7 @@
|
|||||||
Θα περίμενε λοιπόν κάποιος να υπάρχει ένας τρόπος να αποφευχθεί η μεταφορά δεδομένων που θα παραμείνουν.
|
Θα περίμενε λοιπόν κάποιος να υπάρχει ένας τρόπος να αποφευχθεί η μεταφορά δεδομένων που θα παραμείνουν.
|
||||||
Πράγματι, όπως αποδεικνύεται και στο παράρτημα \ref{appendix:ExchangeOpt}, αν έχουμε δύο \textbf{ταξινομημένες} ακολουθίες που η μία θα κρατήσει τα μέγιστα $L_i$ και η άλλη θα κρατήσει τα ελάχιστα $S_i$, τότε τα δεδομένα που θα καταλήξουν να χρειάζονται ανταλλαγή \textbf{για την κάθε ακολουθία} βρίσκονται στο υποσύνολο επικάλυψης:
|
Πράγματι, όπως αποδεικνύεται και στο παράρτημα \ref{appendix:ExchangeOpt}, αν έχουμε δύο \textbf{ταξινομημένες} ακολουθίες που η μία θα κρατήσει τα μέγιστα $L_i$ και η άλλη θα κρατήσει τα ελάχιστα $S_i$, τότε τα δεδομένα που θα καταλήξουν να χρειάζονται ανταλλαγή \textbf{για την κάθε ακολουθία} βρίσκονται στο υποσύνολο επικάλυψης:
|
||||||
\[
|
\[
|
||||||
E = \{l_i, l_{i+1}, ... , l_j\}, i \le j: \quad L_{min} \le l_x \le S_{max},\quad \forall l_x \in E
|
E = \{l_x\}_{x=i}^j: \quad L_{min} \le l_x \le S_{max}
|
||||||
\]
|
\]
|
||||||
Δηλαδή στο κομμάτι της ακολουθίας με τα στοιχεία που είναι \textbf{\textit{μεγαλύτερα από το μικρότερο αυτής που κρατάει τα μεγάλα $L_{min}$ και μικρότερα από το μεγαλύτερο αυτής που κρατάει τα μικρά $S_{max}$}}.
|
Δηλαδή στο κομμάτι της ακολουθίας με τα στοιχεία που είναι \textbf{\textit{μεγαλύτερα από το μικρότερο αυτής που κρατάει τα μεγάλα $L_{min}$ και μικρότερα από το μεγαλύτερο αυτής που κρατάει τα μικρά $S_{max}$}}.
|
||||||
Αν το σύνολο επικάλυψης $E_1, E_2$ των ακολουθιών:
|
Αν το σύνολο επικάλυψης $E_1, E_2$ των ακολουθιών:
|
||||||
@ -367,11 +367,40 @@ Exch. Optimi-zation } & N1P2 - q=20 & \st{191 ms} &\st{72.5 ms}&\st{4.76 ms}&
|
|||||||
Ο αναγνώστης παρ' όλα αυτά μπορεί να βρει \href{\selfref}{εδώ} μια \textit{μελλοντική έκδοση} της αναφοράς η οποία όταν εκτελεστούν τα scripts θα συμπεριλαμβάνει τις μετρήσεις αυτές. \label{ft:measurements}
|
Ο αναγνώστης παρ' όλα αυτά μπορεί να βρει \href{\selfref}{εδώ} μια \textit{μελλοντική έκδοση} της αναφοράς η οποία όταν εκτελεστούν τα scripts θα συμπεριλαμβάνει τις μετρήσεις αυτές. \label{ft:measurements}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
\newpage
|
||||||
\appendix
|
\appendix
|
||||||
\section{Παράρτημα}
|
\section{Παράρτημα}
|
||||||
\subsection{Υπολογισμός συνόλου ανταλλαγής ταξινομημένων ακολουθιών}
|
\subsection{Υπολογισμός συνόλου ανταλλαγής ταξινομημένων ακολουθιών}
|
||||||
\label{appendix:ExchangeOpt}
|
\label{appendix:ExchangeOpt}
|
||||||
|
|
||||||
Έστω ...
|
Έστω $L, S$ δύο ταξινομημένες ακολουθίες μεγέθους $N$, μία αύξουσα και μία φθίνουσα.
|
||||||
|
\[
|
||||||
|
L=\{l_i\}_{i=1}^N, S=\{s_i\}_{i=1}^N, \quad l_i, s_i \in \mathbf{R}
|
||||||
|
\]
|
||||||
|
Έστω $f$ συνάρτηση η οποία παίρνει δύο ταξινομημένες ακολουθίες \( L = \{l_i\}_{i=1}^N \) και \( S = \{s_i\}_{i=1}^N \), και επιστρέφει δύο ακολουθίες \( L' = \{l'_i\}_{i=1}^N \) και \( S' = \{s'_i\}_{i=1}^N \):
|
||||||
|
\[
|
||||||
|
f \colon (\mathbf{R}^N, \mathbf{R}^N) \to (\mathbf{R}^N, \mathbf{R}^N), \qquad
|
||||||
|
f(L, S) = (L', S') = \left(\{\max(l_i, s_i)\}_{i=1}^N, \{\min(l_i, s_i)\}_{i=1}^N\right).
|
||||||
|
\]
|
||||||
|
Όπου, η \( L' \) περιέχει τα μεγαλύτερα στοιχεία από τη σύγκριση στοιχείο με στοιχείο \( l_i \) και \( s_i \), ενώ η \( S' \) περιέχει τα μικρότερα.
|
||||||
|
Αν $l_{min}$ το μικρότερο στοιχείο της $L$ και $s_{max}$ το μεγαλύτερο στοιχείο της $S$, τότε:
|
||||||
|
\[
|
||||||
|
\begin{aligned}
|
||||||
|
\exists E_L=\{e_i\}_{i=1}^m \subseteq L: e_i > s_{max} \ge s_i \forall i \\
|
||||||
|
\exists E_S=\{s_i\}_{i=1}^m \subseteq S: s_i < l_{min} \le e_1 \forall i
|
||||||
|
\end{aligned}
|
||||||
|
\]
|
||||||
|
Άρα:
|
||||||
|
\[
|
||||||
|
f(E_L, S_L) = \left(\{\max(e_i, s_i)\}_{i=1}^m, \{\min(e_i, s_i)\}_{i=1}^m\right) = \left(\{e_i\}_{i=1}^m, \{s_i\}_{i=1}^m\right) = (E_L, E_S)
|
||||||
|
\]
|
||||||
|
Επομένως υπάρχουν τα υποσύνολα $E_L\subseteq L, E_S\subseteq S$, τα οποία δεν επηρεάζονται από τη συνάρτηση $f$, και άρα δεν ανταλλάσουν τα στοιχεία μεταξύ τους.
|
||||||
|
Έτσι τα υποσύνολα τα οποία αλλάζουν στοιχεία είναι:
|
||||||
|
\[
|
||||||
|
\begin{aligned}
|
||||||
|
L_{ex} = L \setminus E_L = \{l_{min}, \dots, s_{max}\}, l_{min} \le s_{max}\\
|
||||||
|
S_{ex} = S \setminus E_S = \{l_{min}, \dots, s_{max}\}, l_{min} \le s_{max}
|
||||||
|
\end{aligned}
|
||||||
|
\]
|
||||||
\end{document}
|
\end{document}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user