Course:CPSC312-2021/BlindDate

From UBC Wiki

Blind Date

Authors: Lisa Desjarlais and Tiger Wu.

What is the problem?

We will be using prolog to develop a dating program as a command line application.

Our matchmaking system is called Blind Date. The premise is to go on a blind date (no profile pictures) with somebody who is the most compatible with you. Blind Date takes in a users dating profile (who they are and what qualities they are looking for) and outputs a list of potential romantic matches.

The user can interact with the program with various command to find various matches, and order them by some user specified scale.

- The user will rank traits by what's most important to the user;

- This will later be used to rank results.

We will download some datasets containing dating app profiles (haven't finalized on which datasets to use).

What is the something extra?

We will rate how well the users match and order the results accordingly.

The matching algorithm used in the process would be challenging part of this project.

What did we learn from doing this?

Overall we found functional programming to be a suitable language for a match making program. We learned to employ various data structures to represent and manipulate our data base. We found prolog’s pattern matching a useful tool in finding our matches. However we found pattern matching with variables wasn’t a perfect process, so we had to be very explicit in writing out the cases needed. This may be a hinderance if our program had more options per attribute to match.

Link to code:

https://github.com/LisaDesj/BlindDate