Selecting the right algorithm for match probability prediction
It seems a variant of Movie Recommendation problem. Take Netflix for example, they have  user ratings for different type of movies; in your case users are telling what attributes they like. When a new user joins and rates the things he/she likes, you will find the people with similar interests, again with Netflix analogy it means recommending movies based on people with same tastes as the new user.

Read on Collaborative filtering, which is used for building recommendation systems. The reason I drew the Netflix/Movie Recommendation analogy is because you can find a lot of literature on it.