Validity of rank-based systems
Say a college admissions department used a priority queue to rank their applicants. The admissions team decides on an algorithm to assign each applicant a weighted score, claiming that it takes into account the applicant's GPA, course load, extracurriculars, and personal statements. Each applicant's score would be a double and stored into the priority queue. Once the admissions team builds up the priority queue, they take the top 500 applicants (based on their weighted score) and admit them.
Q15. Different institutions consider different factors in admissions and convert criteria to numbers in different ways. Regardless of which specific factors are considered, should an admissions department use a purely numerical rankings based system? Why or why not?
If yes, discuss what factors you think would be best to include when calculating numerical rankings and why those factors are well-represented as numbers. If not, discuss what factors you think should be considered in college admissions that would be difficult to represent as a numerical score. There are no right or wrong answers here - we're genuinely interested in your thoughts!
Q16. Describe a real-world system that requires ranking but in which classification with a single number misses important context (i.e. a priority queue might not be the best way to store the objects being ranked). Make sure to use an example that hasn't already been discussed in lecture or in this assignment.
Dynamic vs. static priority
Our PQArray and PQHeap implementations were both designed to assign a static priority to a given element. By static, we mean that once a priority is assigned, it does not change. There can be situations where an element's initially assigned priority does not take into account the full spectrum of considerations when deciding which element should be dequeued first.
The United Network for Organ Sharing (UNOS) specifies that organ donation matching considers waiting time, distance from donor hospital, pediatric status, survival benefit, and several other factors. Say a hospital uses a priority queue to determine which patients get matched with which organs. The priority is determined from the UNOS factors and is assigned when the patient's doctor first puts in the request for an organ. However, this initial priority ranking occurs before the doctor evaluates compatibility of tissue between the donor and the recipient. Tissue compatibility increases the likelihood that the transplant will be successful. After considering the ethical and practical implications of statically assigning priorities to patients, you suggest that the hospital redesigns their priority queue to consider each patient's priority as a dynamic value. By dynamic, we mean that a patient's priority can change from its original assigned value.
Q17. How would you design an implementation for the hospital's priority queue that dynamically determines which patient is the best match whenever a new organ becomes available? Note: Your design does not have to be the fastest or most efficient.
References
Algorithmic prioritization in the news:
- "We created poverty. Algorithms won't make that go away." https://www.theguardian.com/commentisfree/2018/may/13/we-created-poverty-algorithms-wont-make-that-go-away
- "What happens when an algorithm cuts your health care" https://www.theverge.com/2018/3/21/17144260/healthcare-medicaid-algorithm-arkansas-cerebral-palsy
- "New algorithms to score candidates for lifesaving organ donations" http://algorithmtips.org/2021/04/29/new-algorithms-to-score-candidates-for-lifesaving-organ-donations/