Which supervised learning algorithms are available for matching? I'm working on a non-profit where we try to help potential university applicants by matching them with alumni that want to share their experience/wisdom and, at the moment, it is happening manually. So I'll have two tables, one with students and one with alumni (they may have some features in common, but not necessarily all of them)

$\begin{array}{|l|c|c|} \text{Name} &amp; \text{Gender} &amp; \text{Height} \\ \hline \text{Kathy} &amp; F &amp; 165 \\ \hline \text{Tommy} &amp; M &amp; 182 \\ \hline \text{Ruth} &amp; F &amp; 163 \\ \hline ... &amp; ... &amp; ... \\ \end{array}$ $\begin{array}{|l|c|c|} \text{Name} &amp; \text{Gender} &amp; \text{Weight} \\ \hline \text{Miss Lucy} &amp; F &amp; 65 \\ \hline \text{Miss Geraldine} &amp; F &amp; 70 \\ \hline \text{Miss Emily} &amp; F &amp; 60 \\ \hline ... &amp; ... &amp; ... \\ \end{array}$

Currently, we are manually matching the members of table 1 with those in table 2. We will also collect information after the match ("Was it a good match? Please rate it on a scale from 1 to 10"). So it will look something like this:
$$
\begin{array}{|l|l|c|} 
\text{Person #1} &amp; \text{Person #2} &amp; \text{Match?} \\ \hline
\text{Ruth} &amp; \text{Miss Lucy} &amp; N \\ \hline
\text{Tommy} &amp; \text{Miss Emily} &amp; Y \\ \hline
\text{Kathy} &amp; \text{Miss Geraldine} &amp; N \\ \hline
\text{Ruth} &amp; \text{Miss Emily} &amp; N \\ \hline
... &amp; ... &amp; ... \\ 
\end{array}$$

I would like to use a learning algorithm for this process. I know a little bit of machine learning, but I am still very much a novice (so it's also an opportunity for me to learn more about it), but I can't wrap my head around how you would do this kind of supervised learning when you have two sets both of which have multiple features. What sort of matching algorithms are available to do this? (Also, I prefer to work in R)

(By the way, I would be grateful if you could just point me in the right direction and I'll try to read about it and solve it myself. Also, I know how deeply frustrating it is to see questions that have already been answered -- if this is case, please don't hesitate to let me know without answering the question. I have already tried to search for various strings on Google and StackExchange, but mostly find lecture slides on graph theory that don't seem to be what I'm looking for (although it may just be because it's a bit over my head). Many thanks!)
You can try to frame this problem as a recommender systems situation. Where you have your users (prospective students) and items (alumni) and want to recommend to the users one item. 

It's not a perfect fit as you want just one item for each user and you don't have previous match data for each user. However you could investigate this idea a bit further. I'm applying these techniques to the recruitment problem, I'm matching users with job offers and I'm having some success. 

Try to read a bit about recommender systems, to start I recommend chapter 9 of mining massive data sets, it's really introductory, but gives a good overview of the most common techniques.