게일-섀플리 알고리즘
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
게일-섀플리 알고리즘은 두 그룹 간의 안정적인 매칭을 찾는 데 사용되는 알고리즘으로, 데이비드 게일과 로이드 섀플리가 1962년에 개발했다. 이 알고리즘은 각 참가자가 다른 그룹의 구성원에 대한 선호도를 나타내면, 이를 기반으로 안정적인 매칭을 찾아낸다. 안정적인 매칭은 어느 누구도 현재 매칭보다 서로를 더 선호하는 쌍이 없는 상태를 의미한다. 알고리즘은 제안하는 측에 최적의 결과를 제공하며, 대학 입학, 고용 시장 등 다양한 분야에 적용될 수 있다. 2012년 로이드 섀플리와 앨빈 로스는 이 알고리즘의 공로를 인정받아 노벨 경제학상을 수상했다.
더 읽어볼만한 페이지
게일-섀플리 알고리즘 | |
---|---|
개요 | |
종류 | 알고리즘 |
고안자 | 데이비드 게일, 로이드 섀플리 |
발표 년도 | 1962년 |
분야 | 조합론 |
문제 | 안정 결혼 문제 |
안정 결혼 문제 | |
입력 | 남성 N명과 여성 N명의 목록, 각 개인은 이성 구성원 모두에 대한 선호도 순위를 가지고 있음 |
출력 | 안정적인 결혼 |
최적화 | 남성 최적 (남성들에게 가능한 최고의 파트너를 제공) 또는 여성 최적 (여성들에게 가능한 최고의 파트너를 제공) |
알고리즘 세부 사항 | |
알고리즘 이름 | 게일-섀플리 알고리즘 (Gale-Shapley Algorithm) |
다른 이름 | 지연 수락 알고리즘 (Deferred Acceptance Algorithm) |
목적 | 안정 결혼 문제 해결 |
작동 방식 | 각 남성이 선호도 목록에 따라 여성에게 청혼 여성은 현재 약혼자가 없거나, 현재 약혼자보다 청혼한 남성이 더 좋으면 청혼을 수락하고, 그렇지 않으면 거절 거절당한 남성은 다음 선호 여성에게 청혼 모든 여성이 약혼하거나, 모든 남성이 청혼을 거절당할 때까지 반복 |
시간 복잡도 | O(n^2) 여기서 n은 남성/여성의 수 |
특징 | |
안정성 보장 | 알고리즘은 항상 안정적인 결혼을 보장 |
남성 최적 | 남성에게 최적의 결과를 제공 (모든 안정적인 결혼 중에서) |
여성에게는 최악 | 여성에게는 가능한 최악의 결과를 제공 |
활용 분야 | |
매칭 시스템 | 미국의 의대생 매칭 프로그램 (NRMP) 뉴욕 시의 고등학교 매칭 시스템 경제학 분야의 다양한 매칭 시스템 |
구현 | |
프로그래밍 언어 | 다양한 프로그래밍 언어로 구현 가능 (예: Python, Java) |
참고 문헌 | |
참고 자료 | 알빈 E. 로스의 "Who Gets What — and Why" 안정 결혼 문제 관련 자료 |
2. 배경
안정 매칭 문제의 가장 기본적인 형태는 두 종류의 참여자(예: n영어명의 구직자와 n영어명의 고용주)가 있고, 각 참여자가 상대편 참여자에 대한 선호도 순서를 가지고 있는 상황을 다룬다.
이러한 안정 매칭 문제는 결혼 제안의 관점에서 설명되어 '안정 결혼 문제'라고도 불리지만, 이는 성차별적이고 비현실적이라는 비판을 받는다.[1] 알고리즘의 단계가 일반적이거나 전형적인 인간 행동을 정확하게 반영하지 않기 때문이다.[1]
2. 1. 안정적인 매칭
안정적인 매칭은 서로가 현재 짝보다 서로를 더 선호하는 짝 없는 구성원 쌍(''A'', ''B'')이 존재하지 않는 매칭을 말한다. 이러한 쌍이 존재하면 이 쌍의 구성원들이 시스템을 떠나 서로 매칭되는 것을 선호하고, 다른 참가자들은 매칭되지 않은 상태로 남을 수 있기 때문에 매칭은 안정적이지 않다. 안정 매칭은 항상 존재하며, 게일-섀플리 알고리즘을 통해 해결되는 알고리즘 문제는 안정 매칭을 찾는 것이다.3. 게일-섀플리 알고리즘
1962년, 데이비드 게일과 로이드 섀플리는 각 유형의 참가자 수가 동일할 경우, 모든 쌍이 안정적인 매칭을 항상 찾을 수 있음을 증명하고, 이를 수행하는 알고리즘을 제시했다.[1] 1984년, 앨빈 로스는 이 알고리즘이 1950년대 초부터 국립 레지던트 매칭 프로그램에서 사용되던 "보스턴 풀 알고리즘"과 사실상 동일하다는 것을 발견했다.
게일-섀플리 알고리즘은 여러 "라운드" (또는 "반복")로 구성된다. 취업 지원자와 고용주를 예로 들어 알고리즘을 설명하면 다음과 같다.
- 각 라운드에서, 빈 일자리가 있는 고용주는 아직 제안하지 않은 지원자 중 가장 선호하는 지원자에게 일자리를 제안한다.
- 제안을 받은 각 지원자는 현재 일자리(있는 경우)와 새 제안을 비교한다. 아직 고용되지 않았거나, 더 좋은 제안을 받으면 새 제안을 수락하고 새 고용주와 매칭된다(이전 고용주는 빈 일자리가 생길 수 있음). 그렇지 않으면 새 제안을 거부한다.
- 모든 고용주가 일자리를 채우거나 지원자 목록을 모두 확인할 때까지 이 과정을 반복한다.
3. 1. 알고리즘 개요
데이비드 게일과 로이드 섀플리는 1962년에 모든 사람이 안정적인 매칭을 찾을 수 있는 방법을 증명하고, 이를 위한 알고리즘을 제시했다.[1] 1984년, 앨빈 로스는 이 알고리즘이 1950년대 초부터 국립 레지던트 매칭 프로그램에서 사용되던 "보스턴 풀 알고리즘"과 같다는 것을 발견했다.게일-섀플리 알고리즘은 여러 "라운드"(또는 "반복")로 구성된다. 취업 지원자와 고용주를 예로 들어 설명하면 다음과 같다.
- 각 라운드에서, 빈 일자리가 있는 고용주는 아직 제안하지 않은 지원자 중 가장 선호하는 지원자에게 일자리를 제안한다.
- 제안을 받은 지원자는 현재 일자리(있는 경우)와 새 제안을 비교한다. 아직 고용되지 않았거나, 더 좋은 제안을 받으면 새 제안을 수락하고 새 고용주와 매칭된다(이전 고용주는 빈 일자리가 생길 수 있음). 그렇지 않으면 새 제안을 거부한다.
- 모든 고용주가 일자리를 채우거나 지원자 목록을 모두 확인할 때까지 이 과정을 반복한다.

3. 2. 알고리즘 구현 및 시간 복잡도
효율적인 알고리즘 구현을 위해 각 참여자에게 1부터 n까지 번호를 매긴다. 여기서 n은 고용주와 지원자의 수이다. 그리고 다음과 같은 자료 구조들을 저장한다.자료 구조 | 설명 |
---|---|
미충원된 직책을 가진 고용주의 집합 | |
고용주별로 인덱싱된 1차원 배열 | 고용주가 제안을 보낼 다음 지원자의 선호도 지수를 지정하며, 각 고용주에 대해 처음에 1로 설정한다. |
지원자별로 인덱싱된 1차원 배열 | 현재 고용주를 지정하며, 처음에 실업 상태를 나타내는 0과 같은 값을 가진다. |
지원자와 고용주별로 인덱싱된 2차원 배열 | 지원자의 선호 목록에서 해당 고용주의 위치를 지정한다. |
고용주와 1부터 까지의 숫자 로 인덱싱된 2차원 배열 | 각 고용주의 번째 선호 지원자를 지정한다. |
이러한 자료 구조를 설정하는 데는 시간이 걸린다. 이러한 구조를 사용하면 미충원된 직책이 있는 고용주를 찾고, 해당 고용주가 다음 지원자에게 제안을 하고, 제안이 수락되었는지 확인하고, 이러한 단계의 결과를 반영하도록 모든 자료 구조를 업데이트하는 데 제안당 상수 시간이 걸린다. 알고리즘이 종료되면 결과 매칭은 각 지원자에 대한 고용주 배열에서 읽을 수 있다. 각 고용주가 제안을 모두 소진하기 전에 개의 제안이 있을 수 있으므로 총 시간은 이다.
이 시간 경계는 참가자 수에 대해 2차이지만, 크기가 인 두 개의 선호도 행렬인 입력의 크기를 기준으로 측정하면 선형 시간으로 간주될 수 있다.[1]
3. 3. 알고리즘의 보장
게일-섀플리 알고리즘은 다음을 보장한다.4. 최적성
동일한 선호도를 가진 경우, 여러 개의 안정적인 매칭이 존재할 수 있다. 게일-섀플리 알고리즘은 항상 제안을 하는 쪽에 가장 유리하며, 제안을 받는 쪽에는 가장 불리한 매칭을 만들어낸다.
4. 1. 게일-섀플리 알고리즘의 결과
동일한 선호도 시스템에서는 여러 개의 안정적인 매칭이 존재할 수 있다. 이에 따라 게일-섀플리 알고리즘이 어떤 매칭을 반환하는지에 대한 의문, 즉 지원자에게 더 유리한 매칭인지, 고용주에게 더 유리한 매칭인지, 아니면 그 중간쯤 되는 매칭인지에 대한 질문이 제기된다. 결론적으로 말하면, 고용주가 지원자에게 제안하는 방식의 게일-섀플리 알고리즘은 (일자리 제안 순서와 무관하게) 항상 동일한 안정 매칭을 생성한다. 이 알고리즘의 결과는 모든 안정적인 매칭 중에서 ''모든 고용주에게 가장 유리하고 모든 지원자에게 가장 불리한'' 매칭이다.반대로, 알고리즘을 지원자가 고용주에게 제안하는 형태로 변형하면 각 라운드마다 실직한 지원자가 자신이 선호하는 고용주에게 지원서를 제출하고, 고용주는 지원서를 수락하거나 (기존 직원을 해고할 수도 있음) 거부한다. 이러한 방식은 모든 안정적인 매칭 중에서 모든 지원자에게 가장 유리하고 모든 고용주에게 가장 불리한 매칭을 생성한다. 이 두 가지 매칭, 즉 제안 주체에 따라 달라지는 두 가지 결과는 안정 매칭의 격자에서 각각 상위 요소와 하위 요소에 해당한다.[1]
결국 알고리즘의 두 가지 형태 모두, 한 그룹이 매칭을 제안하고 다른 그룹은 각 제안의 수락 여부를 결정하는 구조이다. 그리고 매칭의 결과는 항상 제안하는 그룹에게 가장 유리하고, 제안을 받는 그룹에게 가장 불리하다.[1]
5. 전략적 고려 사항
게일-섀플리 알고리즘은 제안하는 측에게는 진실 메커니즘이 적용되어 자신의 선호도를 진실되게 밝히는 것이 최선의 전략이다. 즉, 제안자는 자신의 선호도를 속여서 더 나은 결과를 얻을 수 없다. 하지만 제안받는 측은 자신의 선호도를 전략적으로 조작하여 더 유리한 결과를 얻을 수 있다.[1]
5. 1. 진실성
게일-섀플리 알고리즘은 제안하는 측면에서 진실 메커니즘이다. 즉, 어떤 제안자도 자신의 선호도를 거짓으로 표시하여 더 나은 매칭을 얻을 수 없다. 게일-섀플리 알고리즘은 제안자에게 '그룹 전략 증명'이기도 하다. 다시 말해, 제안자 집단이 집단 내 모든 제안자가 더 유리하도록 선호도를 거짓으로 표시하는 것을 조정할 수 없다.[1] 그러나 일부 제안자는 더 유리하게, 다른 제안자는 동일한 파트너를 유지하도록 선호도를 잘못 표시하는 것은 가능하다.[1]5. 2. 비진실성
게일-섀플리 알고리즘은 제안받는 측에게는 진실하지 않다. 각 참여자는 선호도를 거짓으로 표시하여 더 나은 매칭을 얻을 수 있다.[1] 조작의 한 형태는 ''잘라내기''이다. 즉, 최상위 대안만 제시하고 하위 대안은 전혀 받아들일 수 없다는 것을 암시하는 것이다. 완전한 정보 하에서 잘라내기 전략 형태의 잘못된 표시를 고려하는 것으로 충분하다. 그러나 성공적인 잘못된 표시는 다른 에이전트의 선호도에 대한 지식이 필요하다. 그러한 지식이 없으면 잘못된 표시는 에이전트에게 더 나쁜 배정을 줄 수 있다. 더욱이, 에이전트가 최종 매칭을 본 후에도 사후에 더 나은 결과를 보장하는 전략을 추론할 수 없다. 이는 게일-섀플리 알고리즘을 ''후회 없는 진실 전달 메커니즘''으로 만든다. 게일-섀플리 알고리즘에서 진실 전달은 후회를 보장하지 않는 유일한 전략이다. 게일-섀플리 알고리즘은 퀀타일-안정 매칭 메커니즘 클래스에서 유일한 후회 없는 메커니즘이다.[1]6. 일반화
게일과 섀플리는 초기 연구에서 대학교 입학과 같이 더 일반적인 형태의 안정 매칭 문제를 고려했다. 이들은 안정 매칭 문제를 정의하고, 안정적인 매칭이 항상 존재함을 증명했으며, 동일한 알고리즘을 적용하여 이를 찾을 수 있음을 보였다.
6. 1. 대학 입학 문제
게일과 섀플리는 안정적인 매칭 문제에 대한 초기 연구에서 대학교 입학에 적합한 더 일반적인 형태를 고려했다. 이 문제에서 각 대학은 자체적인 ''할당량'', 즉 입학시키려는 학생의 목표 숫자를 가질 수 있으며, 입학을 지원하는 학생의 수는 할당량의 합과 다를 수 있다. 이는 필연적으로 일부 학생이 매칭되지 않거나 일부 할당량이 채워지지 않게 한다. 또한, 선호도 목록은 불완전할 수 있다. 만약 대학이 목록에서 학생을 제외한다면, 이는 그 학생을 입학시키는 것보다 할당량을 채우지 않는 것을 선호한다는 의미이며, 만약 학생이 목록에서 대학을 제외한다면, 이는 해당 대학에 가는 것보다 입학하지 않는 것을 선호한다는 의미이다. 그럼에도 불구하고, 이보다 일반적인 문제에 대해 안정적인 매칭을 정의하고, 안정적인 매칭이 항상 존재함을 증명하며, 동일한 알고리즘을 적용하여 이를 찾을 수 있다.게일-섀플리 알고리즘의 한 형태는 컴퓨터로 계산하는 대신 실제 프로토콜을 통해 수행되며, 2018년부터 파쿠르수프 시스템을 통해 프랑스에서 고등 교육 입학을 조정하는 데 사용되어 왔다. 이 과정에서, 학교가 시작하기 전 여름 동안, 지원자는 입학 제안을 받으며, 각 과정 라운드에서 새로운 제안을 수락할지 여부를 결정해야 하며 (수락할 경우, 이전에 수락했던 제안을 거절해야 한다). 이 방법은 해결하는 문제가 정확히 안정적인 매칭 문제는 아니라는 추가 제약 조건으로 복잡해진다. 이 방법은 학생들이 프로세스 시작 시점에 선호도를 결정할 필요가 없고, 알고리즘이 진행됨에 따라 받은 제안 간의 직접적인 비교를 통해 자체 선호도를 결정할 수 있다는 장점이 있다. 이 프로세스가 학교 시작일 전에 종료되도록 소수의 제안 라운드를 수행하는 것이 중요하지만, 이론적으로는 많은 수의 라운드가 발생할 수 있지만 실제로는 발생하지 않는 경향이 있다. 게일-섀플리 알고리즘을 조기에 종료해야 할 경우, 모든 공석이 새로운 제안을 하는 소수의 라운드 후에, 불안정한 쌍에 대한 매칭된 참가자의 비율이 높다는 것이 이론적으로 밝혀졌다.
6. 2. 프랑스의 파쿠르수프 시스템
2018년부터 프랑스에서 파쿠르수프 시스템을 통해 고등 교육 입학을 조정하는 데 게일-섀플리 알고리즘의 변형이 사용되고 있다. 이 과정은 학교가 시작하기 전 여름 동안 진행되며, 지원자는 입학 제안을 받고 각 라운드마다 새로운 제안을 수락할지 (이 경우 이전 제안은 거절) 결정해야 한다. 이 방법은 정확히 안정적인 매칭 문제는 아니라는 제약 조건이 있지만, 학생들이 프로세스 시작 시점에 선호도를 정하지 않고 알고리즘 진행에 따라 받은 제안을 직접 비교하며 선호도를 결정할 수 있다는 장점이 있다. 이론적으로는 많은 수의 라운드가 발생할 수 있지만, 실제로는 학교 시작일 전에 프로세스를 종료하기 위해 소수의 제안 라운드만 진행되는 경향이 있다. 게일-섀플리 알고리즘을 조기에 종료해야 할 경우, 모든 공석이 새로운 제안을 하는 소수의 라운드 후에, 불안정한 쌍에 대한 매칭된 참가자의 비율이 높다는 것이 이론적으로 밝혀졌다.7. 수상
섀플리와 로스는 "안정적인 할당 이론과 시장 설계 실천에 대한 공로"로 2012년 노벨 경제학상을 수상했다. 게일은 2008년에 사망하여 노벨상 수상 자격이 없었다.
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com