\documentclass[10pt,twocolumn]{article}
\usepackage[greek,english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[LGR,T1]{fontenc}
\usepackage{amsmath}
\usepackage{alphabeta}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{float}
\usepackage{hyperref}
\usepackage{tocloft}
\usepackage{cite}
\sloppy
\newtheorem{theorem}{Θεώρημα}
\author{Μαρία Ξανθίππη Ψαροπά\\
	Τμήμα Μαθηματικών, Πανεπιστήμιο Ιωαννίνων}
\title{Μέγιστες ροές και Tαιριάσματα: Εξερεύνηση της συσχέτισης μεταξύ τους.}
\date{\today}

%customize table of contents
\renewcommand{\contentsname}{Περιεχόμενα}
\setcounter{tocdepth}{2}
\renewcommand{\cftsecfont}{\color{magenta}\bfseries}
\renewcommand{\cftsecpagefont}{\color{magenta}}
\setlength{\cftbeforesecskip}{10pt}
\renewcommand{\cftdotsep}{1}
\begin{document}
\maketitle
\tableofcontents
\section{Εισαγωγή}
Στην επιστήμη της πληροφορικής, οι μέγιστες ροές και τα ταιριάσματα (ή αλλιώς αντιστοιχίσεις)
είναι δύο βασικά προβλήματα της Θεωρίας Γραφημάτων με πληθώρα εφαρμογών, τόσο θεωρητικών όσο και πρακτικών. Αν και εκ πρώτης όψεως φαίνονται διαφορετικά προβλήματα, υπάρχει μια βαθιά μαθηματική συσχέτιση μεταξύ τους και αυτή η σχέση είναι άξια διερεύνησης για λόγους που θα αναλυθούν παρακάτω.

\textbf{Μέγιστες Ροές (Maximum Flows)}
Το πρόβλημα της μέγιστης ροής αφορα ένα κατευθυνόμενο γράφημα όπου κάθε ακμή έχει μία χωρητικότητα. Σε αυτή, θέλουμε να υπολογίσουμε την μέγιστη ροή
που μπορεί να περάσει από μία πηγή (source) προς ένα στόχο (sink) χωρίς να παραβιάζονται οι περιορισμοί χωρητικότητας.\\

Μερικά παραδείγματα εφαρμογών που έχουν ως κύριο θέμα τους την μέγιστη ροή αποτελούν:
\begin{itemize}
	\item Δίκτυα μεταφοράς (νερού, δεδομένων, κυκλοφορίας κτλ)
	\item Συστήματα logistics
	\item Συστήματα ροής εργασιών (workflows)
\end{itemize}

\textbf{Ταιριάσματα (Matchings)}
Ένα ταίριασμα σε ένα απλό γράφημα είναι ένα σύνολο από ακμές που δεν έχουν 
κοινές κορυφές, δηλαδή, κάθε κορυφή συμμετέχει το πολύ σε μία ακμή του ταιριάσματος.
Το πρόβλημα μέγιστου ταιριάσματος (maximum matching) ζητά το μεγαλύτερο δυνατό τέτοιο σύνολο.
Στα διμερή γραφήματα (bipartite graphs), το πρόβλημα έχει ιδιαίτερο ενδιαφέρον
και πιο αποτελεσματικές λύσεις.\\

Κάποια από τα παραδείγματα εφαρμογών απότελουν:
\begin{itemize}
	\item Την αντιστοίχιση φοιτητών σε θέσεις πρακτικής
	\item Την αντιστοίχιση εργαζομένων σε ανάλογα καθήκοντα
	\item Την κατανομή πόρων (resource allocation)  
\end{itemize}

Η βασική ιδέα που αφορά την συσχέτιση των δύο αυτών εννοιών προκύπτει από το παρακάτων Θεώρημα:
\begin{theorem}
Κάθε πρόβλημα μέγιστου ταιριάσματος σε διμερές γράφημα μπορεί να μετατραπεί σε ισοδύναμο
πρόβλημα μέγιστης ροής σε κατευθυνόμενο γράφημα, έτσι ώστε το μέγεθος της μέγιστης
ροής να ισούται με το μέγεθος του μέγιστου ταιριάσματος 
\end{theorem}
και πάνω σε αυτό θα βασιστεί η θεωρητική μας διερεύνηση.
\section{Σχετική Δουλειά}
Η μελέτη της σχέσης μεταξύ προβλημάτων μέγιστης ροής και ταιριάσματος έχει απασχολήσει
την επιστημονική κινότητα εδώ και δεκαετίες. Το θεμέλιο τέθηκε από τους Ford
και Fulkerson~\cite{jr_maximal_1956}, οι οποίοι εισήγαγαν τον πρώτο γενικό αλγόριθμο μέγιστης ροής
και έδειξαν πώς προβλήματα συνδυαστική φύσης μπορούν να διατυπωθούν ως προβλήματα ροής.
Στη συνέχεια, ο Hopcroft και ο Karp~\cite{hopcroft_n52_1973} ανέπτυξαν έναν εξειδικευμένο αλγόριθμο
για μέγιστο ταίριασμα σε δίπλευρους γράφους, βελτιώνοντας σημαντικά την υπολογιστική
αποδοτικότητα με πολυπλοκότητα $O(\sqrt{V}E)$.

 Η συσχέτιση των δύο προβλημάτων αξιοποιείται ευρέως στη σχεδίαση αλγορίθμων, όπως περιγράφεται και στο έργο των
Cormen et al.~\cite{cormen_introduction_2009}, όπου γίνεται λεπτομερής ανάλυση του τρόπου μετασχηματισμού 
ενός προβλήματος ταιριάσματος σε πρόβλημα ροής. Περαιτέρω εφαρμογές και γενικεύσεις
της θεωρίας βρίσκονται σε πιο προχωρημένες πηγές όπως το έργο των Korte και Vygen~\cite{korte_maximum_2018,korte_network_2018,korte_minimum_2018},
όπου αναδεικνύονται οι προεκτάσεις της στη συνδυαστική βελτιστοποίηση και την  επιχειρησιακή έρευνα.

Πιο πρόσφατα, η έρευνα έχει επικεντρωθεί στη βελτίωση της υπολογιστικής αποδοτικότητας 
μέσω νέων συνδυαστικών τεχνικών και μοντέλων μάθησης. O Chuzhoy και ο Khanna~\cite{chuzhoy_faster_2023}
παρουσίασαν έναν ταχύτερο αλγόριθμο μέγιστου ταιριάσματος για πυκνά γραφήματα, ο οποίος μειώνει την πολυπλοκότητα κάτω από εκείνη του 
Hopcroft-Karp σε συγκεκριμένες περιπτώσεις. Παράλληλα, η εφαρμογή Graph Neural Networks (GNNs) 
έχει δείξει ότι μπορςί να προσεγγίσει το μέγιστο ταίριασμα με μεγάλη ακρίβεια,
ακόμα και σε πολύ μεγάλα γραφήματα. Ο Li et al. ~\cite{zeng_substructure_2023} πρότειναν ένα GNN-based
μοντέλο που μαθαίνει τον υποκείμενο συνδυαστικό κανόνα και αποδίδει καλύτερα
σε πολλές ρεαλιστικές περιπτώσεις απ΄ό,τι οι παραδοσιακοί αλγόριθμοι.  
\section{Μαθηματικά Εργαλεία Μεθόδου}
Οι όροι που χρειαζόμαστε για ανάλυση και κατανόηση αυτού του θέματος περιέχουν: \\ \\
\textcolor{magenta}{Ταίριασμα: }Σε ένα γράφημα $G=(V,E)$, το ταίριασμα Μ είναι ένα υποσύνολο
όλων των ακμών έτσι ώστε καμία κορυφή $u \in V$ να μην χρησιμοποιείται από περισσότερες από μία ακμές του Μ. \\

\textcolor{magenta}{Μέγεθος ταιριάσματος: }Ο αριθμός των ακμών που περιέχει το ταίριασμα: $|M|$.\\

\textcolor{magenta}{Μέγιστο ταίριασμα: }Αυτό του οποίου το μέγεθος $|M|$ είναι το μέγιστο.\\

\textcolor{magenta}{Διμερές γράφημα: }Γράφημα $G=(A,B,E)$ στο οποίο το σύνολο
των κορυφών $v$ χωρίζεται σε 2 ξεχωριστά σύνολα Α και Β και όλες οι ακμές Ε συνδέουν κορυφή του Α με κορύφες του Β μόνο. \\

\textcolor{magenta}{Μετασχηματισμός του διμερούς γραφήματος $G$ σε δίκτυο ροής
$Ν=(H,c,s,t)$: }
\begin{itemize}
	\item $H=(V_{H},E_{H})$: νέο γράφημα.
	\item $V_{H} = A \cup B \cup \{s,t\} $: κορυφές διμερούς γραφήματος
	$G + s:$ πηγή και $t:$ προορισμό. 
	\item $E_{H} = \{(a,b) \in E; \quad a\in A, b\in B\}:$ ακμές διμερούς $G$ + ακμές από την πηγή $s$ προς όλες τις κορυφές του Β προς τον προορισμό $t$.
	\item $c(e)=1, \forall e \in E_{H}:$ χωρητικότητα κάθε ακμής ίση με 1.
\end{itemize}

\section{Θεωρητικό Παράδειγμα Εφαρμογής} 
Σε αυτή την ενότητα θα υλοποιήσουμε ένα παράδειγμα πάνω σε αυτές τις έννοιες,
το οποίο θα τις συνδέσει μεταξύ τους. Το πρόβλημα αυτό είναι το εξής:
\subsection*{Εκφώνηση: }
Σε αυτή την άσκηση, επιθυμούμε την εύρεση ενός μέγιστου ταιριάσματος ενός διμερούς
γραφήματος $G=(A,B,E)$, δηλαδή ενός γραφήματος του οποίου το σύνολο κορυφών μπορεί
να διαμερισθεί σε δύο σύνολα Α και Β έτσι ώστε $E \subseteq A \times B$. Για το σκοπό αυτό,
βασιζόμενοι στο γράφημα $G$ κατασκευάζουμε ένα δίκτυο ροής $N=(H,c,s,t)$:
\begin{itemize}
	\item $H=(V_{H},E_{H})$
	\item $A \cup B \cup \{s,t\}$
	\item $\{(a,b)\in E; \quad a\in A,b\in B \} \cup \{(b,t); \quad b\in B\}$
	\item $c(E)=1, \forall e\in E_{H}$
\end{itemize}
Παρουσιάστε το δίκτυο $N$ που αντιστοιχεί στο πλήρες διμερές γράφημα $K_{3,3}$.

\subsection*{Λύση: }
Το πλήρες διμερές γράφημα $K_{3,3}$ έχει τα σύνολα κορυφών $A=\{a_1,a_2,a_3\}$
και $B=\{b_1,b_2,b_3\}$ κα κάθε κορυφή του Α συνδέεται με όλες τις κορυφές του Β. Δηλαδή: $E=\{(a_i,b_j)|i,j \in \{1,2,3\} \}$ \\

Για να το μετασχηματίσουμε σε δίκτυο ροής $N=(H,c,s,t)$:
\begin{itemize}
	\item $H=(V_H,E_H)$
	\item $V_H = A \cup B \cup \{s,t\} = \{a_1,a_2,a_3,b_1,b_2,b_3,s,t\}$
	\item $E_H = E \cup \{(s,a_i) | i\in \{1,2,3\}\} \cup \{(b_i,t) | j\in \{1,2,3\}\}$
	\item $c(e)=1, \forall e\in E_H$
\end{itemize}
Η αναπαράσταση μέσω γραφήματος: \\ 
\underline{Η πηγή $s$}: συνδέεται με ακμή με τις κορυφές του Α: $a_1,a_2,a_3$ \\
\underline{Οι κορυφές του $Α$}: συνδέονται όλες με όλες τις κορυφές του Β: $b_1,b_2,b_3$ \\
\underline{Οι κορυφές του $Β$}: συνδέονται με ακμή με τον προορισμό $t$

\begin{figure}[H]
	\centering
	\includegraphics[width=0.9\linewidth]{K3,3.png}
	\caption{Μετασχηματισμός σε δίκτυο ροής}
	\label{fig:flow}
\end{figure}
\section{Συμπεράσματα}
Η μελέτη της σχέσης μεταξύ μέγιστων ροών και ταιριάσματος σε διμερή γραφήματα ανέδειξε μια ιδιαίτερα χρήσιμη κατασκευή, μέσω της οπίας ένα πρόβλημα
συνδυαστικής φύσης μπορεί να λυσθεί με εργαλεία της θεωρίας ροής και γραφημάτων. Συγκεκριμένα, μετασχηματίσαμε ένα πρόβλημα μέγιστης ροής μονάδας, κατασκευάζοντας το αντίστοιχο δίκτυο ροής με τεχνητή πηγή και προορισμό.
Στο παράδειγμα του πλήρους διμερούς γραφήματος $Κ_{3,3}$ το οποίο περιέχει 
6 κορυφές και 9 ακμές, το αντίστοιχο δίκτυο ροής περιλαμβάνει 8 κορυφές 
$(A \cup B \cup \{s,t\})$ και 15 ακμές όλες χωρητικότητα ίση με ένα.
Η μέγιστη ροή από την πηγή s ως τον προορισμό t ισούται με 3, δηλαδη το μέγεθος
του μέγιστου ταιριάσματος.

Αυτό το παράδειγμα αποδεικνύει με πρακτικό τρόπο το θεωρητικό θεώρημα που συνδέει τα μέγιστα ταιριάσματα σε διμερή γραφήματα με προβλήματα μέγιστης
ροής μονάδας. Επιπλέον, η προσέγγιση αυτή προσφέρει μια υπολογιστικά αποδοτική
μέθοδο επίλυσης τέτοιων προβλημάτων, αξιοποιώντας υπάρχοντες αλγόριθμους ροής
(π.χ. Edmonds-Karp). Η τεχνική είναι γενικεύσιμη και εφαρμόσιμη σε πολλά προβλήματα 
στην πραγματική ζώη, όπως κατανομές εργασιών, δρομολόγηση και σύστημα συστάσεων~\cite{manlove_algorithmics_2013,kuhn_hungarian_1955,xiong_multi-relational_2023}.

\bibliography{refs}{}
\bibliographystyle{plain}

\end{document}
