Compare commits

..

No commits in common. "be42c39adcea5f46f46e2d30bdfee2fa7fed08d7" and "ed9807b1ca74c1777e5ea1d8374e3652416cd578" have entirely different histories.

2 changed files with 29 additions and 143 deletions

Binary file not shown.

View File

@ -67,7 +67,7 @@
\subsection{Προγραμματιστική προσέγγιση} \subsection{Προγραμματιστική προσέγγιση}
Για τον προγραμματισμό και εκτέλεση των μεθόδων της παρούσας εργασίας έγινε χρήση της MATLAB. Για τον προγραμματισμό και εκτέλεση των μεθόδων της παρούσας εργασίας έγινε χρήση της MATLAB.
Στον κατάλογο \textbf{scripts}, περιέχονται όλες οι μέθοδοι και οι τεχνικές υπολογισμού βημάτων με τη μορφή συναρτήσεων καθώς και scripts που τις καλούν. Στον κατάλογο \textbf{scripts}, περιέχονται όλες οι μέθοδοι και οι τεχνικές υπολογισμού βημάτων με τη μορφή συναρτήσεων καθώς και scripts που τις καλούν.
Για κάθε ένα θέμα της εργασίας, υπάρχει το αντίστοιχο script που περιέχει τους υπολογισμούς, τις κλήσεις των μεθόδων και τη δημιουργία των διαγραμμάτων. Για κάθε μία μέθοδο (ένα θέμα της εργασίας), υπάρχει το αντίστοιχο script που περιέχει τους υπολογισμούς, τις κλήσεις των μεθόδων και τη δημιουργία των διαγραμμάτων.
Για το πρώτο θέμα το αρχείο Script\_1\_SteepDesc.m για το δεύτερο το Script\_2\_SteepDesc\_Proj.m και ούτω καθεξής. Για το πρώτο θέμα το αρχείο Script\_1\_SteepDesc.m για το δεύτερο το Script\_2\_SteepDesc\_Proj.m και ούτω καθεξής.
Η μέθοδος μέγιστης καθόδου (αρχείο: \textbf{method\_SteepDesc.m}) είναι η ίδια με αυτή της προηγούμενης εργασίας με τη μόνη διαφορά ότι τροποποιήθηκε ώστε η αντικειμενική συνάρτηση να δέχεται διάνυσμα ώς όρισμα και όχι δύο διαφορετικές μεταβλητές $x, y$. Η μέθοδος μέγιστης καθόδου (αρχείο: \textbf{method\_SteepDesc.m}) είναι η ίδια με αυτή της προηγούμενης εργασίας με τη μόνη διαφορά ότι τροποποιήθηκε ώστε η αντικειμενική συνάρτηση να δέχεται διάνυσμα ώς όρισμα και όχι δύο διαφορετικές μεταβλητές $x, y$.
Αυτό ακολουθήθηκε και για την έκδοση με προβολή και φυσικά είχε αντίκτυπο και στις υπόλοιπες συναρτήσεις, όπως η κλίση ή ο Εσσιανός. Αυτό ακολουθήθηκε και για την έκδοση με προβολή και φυσικά είχε αντίκτυπο και στις υπόλοιπες συναρτήσεις, όπως η κλίση ή ο Εσσιανός.
@ -80,19 +80,19 @@
Αυτό έχει τη μορφή: \textit{\textbf{gamma\_<method>(f, grad\_f, dk, xk)}}, όπου το \textbf{f} είναι η αντικειμενική συνάρτηση, \textbf{grad\_f} η συνάρτηση κλίσης της, \textbf{dk} η τιμή της συνάρτησης κλίσης στο xk και \textbf{xk} το σημείο ενδιαφέροντος. Αυτό έχει τη μορφή: \textit{\textbf{gamma\_<method>(f, grad\_f, dk, xk)}}, όπου το \textbf{f} είναι η αντικειμενική συνάρτηση, \textbf{grad\_f} η συνάρτηση κλίσης της, \textbf{dk} η τιμή της συνάρτησης κλίσης στο xk και \textbf{xk} το σημείο ενδιαφέροντος.
Έτσι οι μέθοδοι αντιγράφηκαν και εδώ για ολότητα, ακόμα και αν για την παρούσα εργασία χρησιμοποιείται μόνο το σταθερό βήμα $\gamma_k$. Έτσι οι μέθοδοι αντιγράφηκαν και εδώ για ολότητα, ακόμα και αν για την παρούσα εργασία χρησιμοποιείται μόνο το σταθερό βήμα $\gamma_k$.
%\subsection{Symbolic expression functions} \subsection{Symbolic expression functions}
%Μία ακόμη προγραμματιστική τεχνική που ακολουθήθηκε είναι η χρήση \textbf{symbolic expression} για την αναπαράσταση της αντικειμενικής συνάρτησης. Μία ακόμη προγραμματιστική τεχνική που ακολουθήθηκε είναι η χρήση \textbf{symbolic expression} για την αναπαράσταση της αντικειμενικής συνάρτησης.
%Η εξήγηση υπάρχει και στις προηγούμενες εργασίες αλλά την παραθέτουμε εδώ για ολότητα. Η εξήγηση υπάρχει και στις προηγούμενες εργασίες αλλά την παραθέτουμε εδώ για ολότητα.
%Ο λόγος που επιλέχθηκε είναι η \textbf{δυνατότητα εξαγωγής ενός symbolic expression που αναπαριστά την κλίση $\nabla f$ και τον Εσσιανό $\nabla^2f$ μιας συνάρτησης} από την MATLAB, κάνοντας χρήση των εντολών \textit{gradient()} και \textit{hessian()}. Ο λόγος που επιλέχθηκε είναι η \textbf{δυνατότητα εξαγωγής ενός symbolic expression που αναπαριστά την κλίση $\nabla f$ και τον Εσσιανό $\nabla^2f$ μιας συνάρτησης} από την MATLAB, κάνοντας χρήση των εντολών \textit{gradient()} και \textit{hessian()}.
%Αν αντίθετα χρησιμοποιούσαμε απλές συναρτήσεις, πολυώνυμα ή lambdas για την αναπαράσταση των αντικειμενικών συναρτήσεων, τότε για τον υπολογισμό της κλίσης και του Εσσιανού θα έπρεπε: Αν αντίθετα χρησιμοποιούσαμε απλές συναρτήσεις, πολυώνυμα ή lambdas για την αναπαράσταση των αντικειμενικών συναρτήσεων, τότε για τον υπολογισμό της κλίσης και του Εσσιανού θα έπρεπε:
%\begin{itemize} \begin{itemize}
% \item Είτε να υπολογίζαμε αριθμητικά τις παραγώγους gradient και hessian μέσα στις μεθόδους, κάτι που θα εισήγαγε \textit{\textbf{αχρείαστο αριθμητικό σφάλμα}}. \item Είτε να υπολογίζαμε αριθμητικά τις παραγώγους gradient και hessian μέσα στις μεθόδους, κάτι που θα εισήγαγε \textit{\textbf{αχρείαστο αριθμητικό σφάλμα}}.
% \item Είτε να κάναμε χρήση δύο επιπλέων συναρτήσεων (ή πολυωνύμων) για την αναπαράσταση τους, κάτι που ουσιαστικά θα δημιουργούσε \textit{\textbf{πλεονασμό πληροφορίας εισόδου}} και άρα μεγαλύτερη πιθανότητα να κάνουμε λάθος. \item Είτε να κάναμε χρήση δύο επιπλέων συναρτήσεων (ή πολυωνύμων) για την αναπαράσταση τους, κάτι που ουσιαστικά θα δημιουργούσε \textit{\textbf{πλεονασμό πληροφορίας εισόδου}} και άρα μεγαλύτερη πιθανότητα να κάνουμε λάθος.
%\end{itemize} \end{itemize}
%Η αναπαράσταση όμως με χρήση symbolic expression είναι πιο “βαριά” όταν χρειάζεται να υπολογίσουμε την τιμή μιας συνάρτησης σε κάποιο σημείο (subs(expr, number)). Η αναπαράσταση όμως με χρήση symbolic expression είναι πιο “βαριά” όταν χρειάζεται να υπολογίσουμε την τιμή μιας συνάρτησης σε κάποιο σημείο (subs(expr, number)).
%Αυτό είναι κάτι που χρειάζεται εκτενώς στον κώδικά μας. Αυτό είναι κάτι που χρειάζεται εκτενώς στον κώδικά μας.
%Για το λόγο αυτό, ενώ η συνάρτηση δίνεται ως symbolic expression, μέσω αυτής υπολογίζονται αυτόματα η κλίση, ο Εσσιανός αλλά και οι “κανονικές” συναρτήσεις MATLAB που τις υλοποιούν. Για το λόγο αυτό, ενώ η συνάρτηση δίνεται ως symbolic expression, μέσω αυτής υπολογίζονται αυτόματα η κλίση, ο Εσσιανός αλλά και οι “κανονικές” συναρτήσεις MATLAB που τις υλοποιούν.
%Έτσι έχουμε την ακριβή αναπαράσταση της κλίσης και του Εσσιανού ως συναρτήσεις χωρίς να πληρώνουμε το κόστος της subs(). Έτσι έχουμε την ακριβή αναπαράσταση της κλίσης και του Εσσιανού ως συναρτήσεις χωρίς να πληρώνουμε το κόστος της subs().
\section{Απεικόνιση της συνάρτησης} \section{Απεικόνιση της συνάρτησης}
Η συνάρτηση με την οποία ασχολούμαστε στην παρούσα εργασία είναι η: Η συνάρτηση με την οποία ασχολούμαστε στην παρούσα εργασία είναι η:
@ -110,15 +110,15 @@
Για να πάρουμε μια καλύτερη αίσθηση για το που βρίσκεται το τοπικό ελάχιστο της $f$, παρακάτω παραθέτουμε ένα γράφημα με τις ισοβαρείς καμπύλες της $f$. Για να πάρουμε μια καλύτερη αίσθηση για το που βρίσκεται το τοπικό ελάχιστο της $f$, παρακάτω παραθέτουμε ένα γράφημα με τις ισοβαρείς καμπύλες της $f$.
\InsertFigure{H}{0.8}{fig:plotContour}{../scripts/figures/Plot_Contour.png}{Ισοβαρείς της f} \InsertFigure{H}{0.8}{fig:plotContour}{../scripts/figures/Plot_Contour.png}{Ισοβαρείς της f}
Από το παραπάνω σχήμα \ref{fig:plotContour} φαίνονται και γραφικά οι μικρές κλίσης που παρουσιάζει η συνάρτηση κοντά στο ελάχιστο σημείο $(0,0)$. Από το παραπάνω σχήμα \ref{fig:plotContour} επιβεβαιώνεται και γραφικά το ελάχιστο στο σημείο $(0,0)$.
Τα διαγράμματα για τη μέθοδο δημιουργούνται εκτελώντας το αρχείο \textbf{Script\_0\_Plots.m} Τα διαγράμματα για τη μέθοδο δημιουργούνται εκτελώντας το αρχείο \textbf{Script\_0\_Plots.m}
\section{Θέμα 1 - Μέθοδος Μέγιστης Καθόδου χωρίς περιορισμούς} \section{Μέθοδος Μέγιστης Καθόδου χωρίς περιορισμούς - Θέμα 1}
Εφαρμόζοντας την μέθοδο μέγιστης καθόδου από την προηγούμενη εργασία, με ακρίβεια $\epsilon = 0.001$, για τα βήματα $\gamma_k$ της εκφώνησης, παρατηρούμε ότι η μέθοδος συγκλίνει στο ελάχιστο για μικρά $\gamma_k$ ενώ \textbf{αποκλίνει για μεγάλα} \boldmath$\gamma_k > 0.33$\unboldmath. Εφαρμόζοντας την μέθοδο μέγιστης καθόδου από την προηγούμενη εργασία, με ακρίβεια $\epsilon = 0.001$, για τα βήματα $\gamma_k$ της εκφώνησης, παρατηρούμε ότι η μέθοδος συγκλίνει στο ελάχιστο για μικρά $\gamma_k$ ενώ αποκλίνει για μεγάλα \boldmath$\gamma_k > 0.34$\unboldmath.
Από τις δοκιμές φαίνεται ότι το σημείο εκκίνησης δεν παίζει ρόλο και για αυτό επιλέξαμε να παραθέσουμε τα ευρήματά μας από το σημείο $(5,-5)$, για αντιπαραβολή με το επόμενο βήμα της εκφώνησης. Από τις δοκιμές φαίνεται ότι το σημείο εκκίνησης δεν παίζει ρόλο και για αυτό επιλέξαμε να παραθέσουμε τα ευρήματά μας από το σημείο $(5,-5)$, για αντιπαραβολή με το επόμενο βήμα της εκφώνησης.
\InsertFigure{H}{0.6}{fig:StDes_Iter_o_gamma_2}{../scripts/figures/StDes_Iter_o_gamma_1.png}{Αριθμός επαναλήψεων για διαφορετικές τιμές $\gamma_k$ [Μέγιστη Κάθοδος].} \InsertFigure{H}{0.6}{fig:StDes_Iter_o_gamma_2}{../scripts/figures/StDes_Iter_o_gamma_1.png}{Αριθμός επαναλήψεων για διαφορετικές τιμές $\gamma_k$ [Μέγιστη Κάθοδος].}
Επίσης παρατηρούμε ότι για μικρό \boldmath$\gamma_k = 0.1$ η σύγκλιση είναι ομαλή, ενώ για μεγάλο $\gamma_k = 0.3$ \unboldmath παρουσιάζει ταλάντωση κατά την σύγκλιση. Επίσης παρατηρούμε ότι για μικρό \boldmath$\gamma_k = 0.1$ η σύγκλιση είναι ομαλή, ενώ για μεγάλο $\gamma_k = 0.3$ \unboldmath παρουσιάζει ταλάντωση κατά την σύγκλιση.
Παρακάτω στο σχήμα \ref{fig:StDes_gamma} παραθέτουμε την πορεία σύγκλισης και απόκλισης για τις διαφορετικές τιμές του $\gamma_k$. Παρακάτω παραθέτουμε την πορεία σύγκλισης και απόκλισης για τις διαφορετικές τιμές του $\gamma_k$.
\begin{figure}[ht] \begin{figure}[ht]
\centering \centering
@ -157,94 +157,7 @@
\label{fig:StDes_gamma} \label{fig:StDes_gamma}
\end{figure} \end{figure}
\subsection{Μαθηματική ανάλυση} Απόδειξη...
Τα παραπάνω αποτελέσματα επιβεβαιώνονται και θεωρητικά.
Πιο συγκεκριμένα για τη σύγκλιση της μεθόδου μέγιστης καθόδου όπου το κάθε σημείο υπολογίζεται από την σχέση \boldmath$x_{k+1} = x_k - \gamma_k \nabla f(x_k)$, \unboldmath πρέπει να ισχύουν:
\begin{enumerate}
\item H $f$ να είναι κυρτή.
\item Η $f$ να είναι συνεχής και διαφορίσιμη και η κλίση της υπολογίσιμη.
\item Για το βήμα υπολογισμού να ισχύει η σχέση:
\begin{equation} 0 < \gamma_k < \frac{2}{L} \label{eq:gammaLimmit} \end{equation}
Όπου $L$ το άνω φράγμα της Lipschitz για την κλίση $\nabla f(x)$ (αν είναι γνωστή), η οποία είναι η μέγιστη ιδιοτιμή του Εσσιανού και δίνεται από τη σχέση:
\begin{equation}
L = \max_{x} \{\lambda_{max} (H(x))\}
\label{eq:Lipschitz}
\end{equation}
\end{enumerate}
\par
Έτσι για τη δική μας περίπτωση η κλίση της $f(x)$ είναι:
\[
\nabla f(x) = \begin{bmatrix} \frac{\partial f}{\partial x1} \\ \frac{\partial f}{\partial x2} \end{bmatrix} = \begin{bmatrix} \frac{2}{3}x_1 \\ 6x_2 \end{bmatrix}
\]
Ο Εσσιανός πίνακας $H(x)$ της $f(x)$ είναι:
\[
H(x) =
\begin{bmatrix}
\frac{\partial^2 f}{\partial x_1^2} & \frac{\partial^2 f}{\partial x_1 \partial x_2} \\
\frac{\partial^2 f}{\partial x_2 \partial x_1} & \frac{\partial^2 f}{\partial x_2^2}
\end{bmatrix}
=
\begin{bmatrix}
\frac{2}{3} & 0 \\ 0 & 6
\end{bmatrix}
\]
Και εφόσον είναι διαγώνιος οι ιδιοτιμές του είναι οι τιμές της διαγωνίου. Δηλαδή:
\[
\det(H - \lambda I) = 0 \Leftrightarrow
\det(\begin{bmatrix}\frac{2}{3} - \lambda & 0 \\ 0 & 6 - \lambda \end{bmatrix}) = 0 \Leftrightarrow
\left(\frac{2}{3} - \lambda\right)(6 - \lambda) = 0 \Leftrightarrow
\lambda_{\min} = \frac{2}{3}, \quad \lambda_{\max} = 6.
\]
Έτσι από τις εξισώσεις (\ref{eq:gammaLimmit}) και (\ref{eq:Lipschitz}) προκύπτει τελικά ότι $\frac{2}{L} = \frac{2}{\lambda_{max}} = \frac{1}{3}$ και επομένως για σύγκλιση της μεθόδου πρέπει να ισχύει:
\boldmath
\begin{equation}
0 < \gamma_k < \frac{1}{3}
\label{eq:gammaConvergence}
\end{equation}
\unboldmath
Βλέπουμε ότι από την ανάλυσή μας, η τιμή που βρήκαμε εμπειρικά για την απόκλιση από την εκτέλεση του αλγορίθμου για το $\gamma > 0.33$ επιβεβαιώνεται.
\par
Επίσης το γεγονός ότι ο Εσσιανός είναι διαγώνιος, μας δίνει επίσης πληροφορία ότι:
\boldmath
\begin{itemize}
\item Η ιδιοτιμή $\lambda_1 = \frac{2}{3}$ εφαρμοσμένη στη σχέση (\ref{eq:gammaLimmit}) μας δίνει: \begin{equation} 0<\gamma_k<3 \label{eq:gammaLimmit_x1} \end{equation}
που είναι η τιμή για την οποία η μέθοδος συγκλίνει στη διάσταση $x_1$
\item Η ιδιοτιμή $\lambda_2 = 6$ εφαρμοσμένη στη σχέση (\ref{eq:gammaLimmit}) μας δίνει:
\begin{equation} 0<\gamma_k<\frac{1}{3}\label{eq:gammaLimmit_x2} \end{equation}
που είναι η τιμή για την οποία η μέθοδος συγκλίνει στη διάσταση $x_2$
\end{itemize}
\unboldmath
\par
\underline{Εναλλακτικά} \\[0.5ex]
Αν θέλαμε να βρούμε το κριτήριο σύγκλισης για το βήμα $\gamma_k$ ξεχωριστά για την κάθε διάσταση θα μπορούσαμε να θεωρήσουμε ισοδύναμα με την παραπάνω ανάλυση, πως για να συγκλίνει η μέθοδος θα πρέπει να ισχύει:
\[
\abs{\frac{x_{k+1}}{x_k}} < 1
\]
Από την παραπάνω εξίσωση προκύπτει πάλι ένα σύστημα εξισώσεων για την κάθε διάσταση:
\[
\left\{
\begin{aligned}
\abs{\dfrac{x_{1,k} - \frac{2}{3}\gamma_k x_{1,k}}{x_{1,k}}} < 1 \\
\abs{\dfrac{x_{2,k} - 6\gamma_k x_{2,k}}{x_{2,k}}} < 1
\end{aligned}
\right.
\Leftrightarrow
\left\{
\begin{aligned}
\abs{1 - \frac{2}{3}\gamma_k} < 1 \\
\abs{1 - 6\gamma_k} < 1
\end{aligned}
\right.
\Leftrightarrow
\left\{
\begin{aligned}
0 < \gamma_k < 3 \\
0 < \gamma_k < \frac{1}{3}
\end{aligned}
\right.
\]
Που επιβεβαιώνει την προηγούμενη ανάλυσή μας για τη συνολική σύγκλιση, αλλά και για την κάθε διάσταση ξεχωριστά.
\section{Μέθοδος Μέγιστης Καθόδου με προβολή} \section{Μέθοδος Μέγιστης Καθόδου με προβολή}
Πριν περάσουμε στις υπόλοιπες απαιτήσεις της εργασίας θα θέλαμε να παραθέσουμε κάποιες πληροφορίες για την υλοποίηση της μεθόδου μέγιστης καθόδου με προβολή (αρχείο: \textbf{method\_SteepDesc\_Proj.m}). Πριν περάσουμε στις υπόλοιπες απαιτήσεις της εργασίας θα θέλαμε να παραθέσουμε κάποιες πληροφορίες για την υλοποίηση της μεθόδου μέγιστης καθόδου με προβολή (αρχείο: \textbf{method\_SteepDesc\_Proj.m}).
@ -253,59 +166,32 @@ H(x) =
Αυτό σημαίνει ότι μπορεί να χρησιμοποιηθεί και για σημεία εκκίνησης εκτός του συνόλου των περιορισμών. Αυτό σημαίνει ότι μπορεί να χρησιμοποιηθεί και για σημεία εκκίνησης εκτός του συνόλου των περιορισμών.
Ο αλγόριθμος είναι παρόμοιος με αυτόν της προηγούμενης εργασίας με τη διαφορά ότι η διεύθυνση $d_k$ επιλέγεται από τη σχέση: Ο αλγόριθμος είναι παρόμοιος με αυτόν της προηγούμενης εργασίας με τη διαφορά ότι η διεύθυνση $d_k$ επιλέγεται από τη σχέση:
\[ \[
d_k = Pr_X\{ x_k - s_k \nabla f(x_k)\} - x_k = \bar{x_k} - x_k d_k = Pr_X\{ x_k - s_k \nabla f(x_k)\} - x_k
\]
και τελικά έχουμε:
\[
x_{k+1} = x_k + \gamma_k d_k
\] \]
Δηλαδή εφαρμόζουμε πρώτα τη μέθοδο μέγιστης καθόδου με βήμα $s_k$ στην κατεύθυνση $-\nabla f$ και έπειτα προβάλουμε το σημείο στο σύνολο $X$ και χρησιμοποιούμε αυτό ως διεύθυνση με βήμα $\gamma_k$. Δηλαδή εφαρμόζουμε πρώτα τη μέθοδο μέγιστης καθόδου με βήμα $s_k$ στην κατεύθυνση $-\nabla f$ και έπειτα προβάλουμε το σημείο στο σύνολο $X$ και χρησιμοποιούμε αυτό ως διεύθυνση με βήμα $\gamma_k$.
\par
Αξίζει να παρατηρήσουμε πως \textbf{αν το σημείο $x_k$ είναι εντός του συνόλου περιορισμών} τότε η προβολή του σημείου στο σύνολο, είναι το ίδιο το σημείο και έτσι:
\[
\begin{aligned}
x_{k+1} & = x_k + \gamma_k \left( Pr_X\{ x_k - s_k \nabla f(x_k)\} - x_k \right) \\
& = x_k + \gamma_k \left( ( x_k - s_k \nabla f(x_k) ) - x_k \right) \\
& = x_k - \gamma_k s_k \nabla f(x_k) \\
& = x_k - \gamma_k' \nabla f(x_k)
\end{aligned}
\]
Βλέπουμε λοιπόν ότι για σημεία εσωτερικά του Χ, έχουμε ουσιαστικά τη μέθοδο της μέγιστης καθόδου με βήμα $\gamma_k' = \gamma_k s_k$.
Εφόσον όμως για μη εφικτά σημεία, πριν εφαρμόσουμε τη μέθοδο, τα προβάλουμε στο σύνολο των περιορισμών Χ, βλέπουμε πως η \textbf{μέθοδος τελικά προσεγγίζει τη μέγιστη κάθοδο με βήμα $\gamma_k'$, που είναι και το βήμα για το οποίο ελέγχουμε αν ισχύουν τα κριτήρια σύγκλισης}.
\section{Θέμα 2 - Σημείο (5, -5), $s_k = 5, \gamma_k = 0.5$} \section{Μέθοδος Μέγιστης Καθόδου με προβολή $s_k = 5, \gamma_k = 0.5$ - Θέμα 2}
Εφαρμόζοντας τη μέθοδο για ακρίβεια $\epsilon = 0.01$, $s_k = 5$ και $\gamma_k = 0.5$ έχουμε $\gamma_k' = 2.5 > \frac{1}{3}$, άρα το κριτήριο σύγκλισης δεν πληρείται. Εφαρμόζοντας τη μέθοδο για ακρίβεια $\epsilon = 0.01$, $s_k = 5$ και $\gamma_k = 0.5$ έχουμε:
\InsertFigure{H}{0.8}{fig:StDesProj_sk_5_gamma_0.5}{../scripts/figures/StDesProj_sk_5_gamma_0.5.png}{Μέθοδος μέγιστης καθόδου με προβολή για $s_k = 5, \gamma_k = 0.5$.} \InsertFigure{H}{0.8}{fig:StDesProj_sk_5_gamma_0.5}{../scripts/figures/StDesProj_sk_5_gamma_0.5.png}{Μέθοδος μέγιστης καθόδου με προβολή για $s_k = 5, \gamma_k = 0.5$.}
Παρατηρούμε πως ενώ η μέθοδος ταλαντώνει και δεν συγκλίνει στο ελάχιστο \textbf{όπως και η αντίστοιχη εκτέλεση της μέγιστης καθόδου χωρίς περιορισμούς με το ίδιο} \boldmath$\gamma_k$\unboldmath. Παρατηρούμε πως ενώ η μέθοδος ταλαντώνει και δεν συγκλίνει στο ελάχιστο \textbf{όπως και η αντίστοιχη εκτέλεση της μέγιστης καθόδου χωρίς περιορισμούς με το ίδιο} \boldmath$\gamma_k$\unboldmath.
Παρόλα αυτά όμως, η ταλάντωση λαμβάνει χώρα \textbf{εντός του συνόλου των περιορισμών} της εκφώνησης. Παρόλα αυτά όμως, η ταλάντωση λαμβάνει χώρα \textbf{εντός του συνόλου των περιορισμών} της εκφώνησης.
\section{Θέμα 3 - Σημείο (-5, 10), $s_k = 15, \gamma_k = 0.1$} \section{Μέθοδος Μέγιστης Καθόδου με προβολή $s_k = 15, \gamma_k = 0.1$ - Θέμα 3}
Εφαρμόζοντας τη μέθοδο για ακρίβεια $\epsilon = 0.01$, $s_k = 15$ και $\gamma_k = 0.1$ έχουμε $\gamma_k' = 1.5 > \frac{1}{3}$, άρα το κριτήριο σύγκλισης δεν πληρείται και πάλι. Εφαρμόζοντας τη μέθοδο για ακρίβεια $\epsilon = 0.01$, $s_k = 15$ και $\gamma_k = 0.1$ έχουμε:
\InsertFigure{H}{0.8}{fig:StDesProj_sk_15_gamma_0.1}{../scripts/figures/StDesProj_sk_15_gamma_0.1.png}{Μέθοδος μέγιστης καθόδου με προβολή για $s_k = 15, \gamma_k = 0.1$.} \InsertFigure{H}{0.8}{fig:StDesProj_sk_15_gamma_0.1}{../scripts/figures/StDesProj_sk_15_gamma_0.1.png}{Μέθοδος μέγιστης καθόδου με προβολή για $s_k = 15, \gamma_k = 0.1$.}
Και εδώ παρατηρούμε πως ενώ το $\gamma_k$ έχει επιλεγεί θεωρητικά στο εύρος που οδηγεί σε σύγκλιση, το αντίστοιχο βήμα $s_k$ είναι πολύ μεγάλο, με αποτέλεσμα το γινόμενό τους $\gamma_k' = 15 * 0.1 = 1.5$ συνολικά να μην πληροί το κριτήριο $\gamma_k' < \frac{1}{3}$ και η μέθοδος να ταλαντώνει και πάλι. Εδώ παρατηρούμε πως ενώ το $\gamma_k$ έχει επιλεγεί στο εύρος που οδηγεί σε σύγκλιση, το αντίστοιχο βήμα $s_k$ είναι πολύ μεγάλο, με αποτέλεσμα η μέθοδος να ταλαντώνει και πάλι.
Αυτή τη φορά μόνο στον άξονα $x_2$. Αυτή τη φορά μόνο στον άξονα $x_2$.
Αυτό βέβαια εξηγείται από την παραπάνω ανάλυσή καθώς βλέπουμε πως ενώ το γινόμενο 1.5 δεν πληροί τις προϋποθέσεις για σύγκλιση, πληροί όμως τις προϋποθέσεις της εξίσωσης (\ref{eq:gammaLimmit_x1}) με αποτέλεσμα να ταλαντώνει μόνο στον άξονα $x_2$
Αυτό φυσικά είναι αληθές και για την προηγούμενη περίπτωση όπου το $\gamma_k' = 5 * 0.5 = 2.5$ και όπου πάλι η σύγκλιση ήταν μερική, μόνο για την διάσταση $x_1$.
\section{Θέμα 4 - Σημείο (8, -10), $s_k = 0.1, \gamma_k = 0.2$ - Θέμα 4} \section{Μέθοδος Μέγιστης Καθόδου με προβολή $s_k = 0.1, \gamma_k = 0.2$ - Θέμα 4}
Αρχικά παρατηρούμε πως το σημείο \textbf{δεν είναι εφικτό}, καθώς είναι εκτός του συνόλου των περιορισμών της εκφώνησης. Αρχικά παρατηρούμε πως το σημείο δεν είναι εφικτό, καθώς είναι εκτός του συνόλου των περιορισμών της εκφώνησης.
Αυτό βέβαια δεν μας αποτρέπει από την εφαρμογή της μεθόδου, καθώς αρχικά μπορούμε να προβάλουμε το σημείο στο σύνολο και να εφαρμόσουμε τη μέθοδο έπειτα. Αυτό βέβαια δεν μας αποτρέπει από την εφαρμογή της μεθόδου, καθώς αρχικά μπορούμε να προβάλουμε το σημείο στο σύνολο και να εφαρμόσουμε τη μέθοδο έπειτα.
Ακόμα, αυτή τη φορά οι τιμές των βημάτων $s_k, \gamma_k$, έχουν επιλεγεί μέσα στο εύρος για το οποίο έχουμε σύγκλιση, καθώς: $\gamma_k' = 0.1 * 0.2 = 0.02 < \frac{1}{3}$, επομένως αναμένουμε η μέθοδος να συγκλίνει στο ελάχιστο. Ακόμα, αυτή τη φορά οι τιμές των βημάτων $s_k, \gamma_k$, έχουν επιλεγεί μέσα στο εύρος για το οποίο έχουμε σύγκλιση, επομένως αναμένουμε η μέθοδος να συγκλίνει στο ελάχιστο.
Εφαρμόζοντας τη μέθοδο για ακρίβεια $\epsilon = 0.01$ έχουμε: Εφαρμόζοντας τη μέθοδο για ακρίβεια $\epsilon = 0.01$ έχουμε:
\InsertFigure{H}{0.8}{fig:StDesProj_sk_0.1_gamma_0.2}{../scripts/figures/StDesProj_sk_0.1_gamma_0.2.png}{Μέθοδος μέγιστης καθόδου με προβολή για $s_k = 0.1, \gamma_k = 0.2$.} \InsertFigure{H}{0.8}{fig:StDesProj_sk_0.1_gamma_0.2}{../scripts/figures/StDesProj_sk_0.1_gamma_0.2.png}{Μέθοδος μέγιστης καθόδου με προβολή για $s_k = 0.1, \gamma_k = 0.2$.}
Όπου βλέπουμε πως η μέθοδος συγκλίνει επιβεβαιώνοντας την παραπάνω ανάλυση.
\section{Συμπεράσματα} \section{Συμπεράσματα}
...
Η μέθοδος μέγιστης καθόδου, με και χωρίς προβολή, παρουσιάζει τις αναμενόμενες συμπεριφορές σύγκλισης ανάλογα με την επιλογή του βήματος $\gamma_k$.
Για την περίπτωση χωρίς προβολή, επιβεβαιώθηκε θεωρητικά και εμπειρικά ότι η μέθοδος συγκλίνει μόνο όταν το $\gamma_k$ βρίσκεται εντός του εύρους που ορίζεται από την ανάλυση της Lipschitz σταθεράς, δηλαδή $0 < \gamma_k < \frac{1}{3}$.
​Επιπλέον, παρατηρήθηκε πως για μεγαλύτερες τιμές$\gamma_k$ η μέθοδος αποκλίνει, όπως προβλέπεται από την μαθηματική ανάλυση.
Αντίστοιχα, για τη μέθοδο με προβολή, αποδεικνύεται πως το κριτήριο σύγκλισης εξαρτάται από τον συνδυασμό του $s_k$ (βήμα αντίθετο στην κατεύθυνση της κλίσης) και του $\gamma_k$ (βήμα κατά την προβολή).
Η ανάλυση επιβεβαίωσε ότι η μέθοδος προσεγγίζει τη μέθοδο χωρίς προβολή για εφικτά σημεία, ενώ για μη εφικτά σημεία εξασφαλίζει ότι οι διαδοχικές προσεγγίσεις παραμένουν εντός των περιορισμών.
Τέλος, μέσα από τα παραδείγματα, αναδείχθηκε η σημασία της σωστής επιλογής των παραμέτρων $\gamma_k$ και $s_k$ για τη συνολική σταθερότητα και σύγκλιση της μεθόδου, καθώς και ο τρόπος με τον οποίο η ανάλυση των ιδιοτιμών του Εσσιανού επιτρέπει την καλύτερη κατανόηση της συμπεριφοράς της μεθόδου.
\end{document} \end{document}