Algorithms, the new Language of Love?

Photo by Jude Beck on Unsplash

What is an algorithm?

https://www.lexico.com/en/definition/algorithm

Any method/function we write as software engineers can be considered an algorithm by definition. In our daily lives, algorithms can be seen through targeted banner ads, Amazon’s “you might also like…”, Spotify song recommendations, and even who appears in our dating apps. These algorithms can be thought of as a combination of machine learning, data mining, and pattern recognition.

Algorithms in Dating Apps

As mentioned previously, algorithms are a combination of machine learning, data mining, and pattern recognition. Dating App algorithms are no different, they “…learn from users’ preferences. They gather data on users and how they interact, and calculate which profiles will appear in feeds or as matches.” For example, if a user continually “swipes left” on people with facial piercings, the app may stop showing that person people with these characteristics. To see this at work, Hidden Switch created a game called Monster Match.

https://monstermatch.hiddenswitch.com/

For my monster account, I created a robotic dinosaur with a mohawk and creatively named him Dino Hawk. After I created my profile, I was given a list of monsters to either like or reject.

https://monstermatch.hiddenswitch.com/

With just my first three likes and rejects, the algorithm had already enough data to recommend new monsters to me.

https://monstermatch.hiddenswitch.com/

After swiping on another 10 profiles, I began noticing that the types of profiles I was seeing all started to look similar. This is not atypical to dating apps as these apps use a form of algorithm called Collaborative Filtering.

Collaborative Filtering in Dating Apps

“…collaborative filtering is a method of making automatic predictions (filtering) about the interests of a user by collecting preferences or taste information from many users (collaborating). The underlying assumption of the collaborative filtering approach is that if a person A has the same opinion as a person B on an issue, A is more likely to have B’s opinion on a different issue than that of a randomly chosen person.” -Wikipedia

Collaborative filtering relies on earlier users preferences to determine what later users see. Moreover, the more data we provide to the app the more easily the algorithm can make assumptions and target users that it believes we will “swipe right” on. The disadvantage to this is that collaborative filtering may become too specific over-time and limit the number of new profiles you see and even recycle matches. In researching this article, sources indicated that having a data reset button would be a logical fix.

How Dating apps differ

*Elo Rating System — likes/ “right swipes” are weighted

**Gale-Shapley Algorithm- Only introduce matches for people who meet your preferences and whose preferences you meet.

Conclusion

Algorithms are increasingly becoming a part of our daily lives. They are one the most powerful things a computer can do and I believe are critical for Software Engineers to understand.

Bonus

Monster Match (Data, Recommender, and Algorithm)

Dating Algorithm built using Ruby & k-means clustering

--

--

--

Software Engineer — Full Stack, JavaScript, ReactJS, Ruby on Rails, OO Programming (https://www.matthewsedlacek.com/)

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Google / Meta / Microsoft Interview Question — LeetCode 560

Unix Questions

REST API With Spring Boot & Groovy

Filter of Spring Cloud Gateway

Optimize Bulk Import using Data Partition and Control Table in Azure Data Factory (ADF)

Content Tabs

Logging In Kubernetes

Neo4j Graph Algorithms Release — Memory Requirements, Concurrency Settings, Bug Fixes

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Matthew Sedlacek

Matthew Sedlacek

Software Engineer — Full Stack, JavaScript, ReactJS, Ruby on Rails, OO Programming (https://www.matthewsedlacek.com/)

More from Medium

Kruskal’s algo Blog

Binary search explained:

How my Plans were Twisted, Broken, and Ignored

What is Prim’s Algorithm??