정수선형계획법으로 팀 짜기

2006년의 한 워크숍을 진행하면서
팀을 짜는데, 모든 팀이 비슷한 조건을 갖도록 잔기술을 썼던 적이 있습니다.
기준은 평균 실력, 평균 연령, 성비 같은 것들을 모두 비슷하게 맞추고
가능한 다른 곳에서 온 사람들이 섞이도록 했는데요. 이게 손으로 대충해도 되지만
문제는 신청을 한 분이 모두 오는 게 아니라, 몇몇 분들이 빠지거나 지각해서
미리 팀을 짜도 헛수고라 빨리빨리 모두 고려해서 좋은 팀 구성을 해야해서
자동화를 해야 했습니다.

그래서 당시에는 학교에 사이트 라이선스가 있어서
ILOG OPL정수계획(IP)
했었는데요. 얼마 전에 창준형이 그 소스를 참고하고 싶어 하셔서
찾았는데 소스가 없어졌더군요. 크흐. 그래서 생각난 김에 한 번 오픈소스 선형계획 툴킷인
GLPK용으로 만들어 봤습니다.

모델 코드, 데이터 예제

예제는 누구나 쉽게 데이터 성질을 해석할 수 있도록(;;) 소녀시대, 브라운 아이드 걸스, 원더걸스를 모아놓고 수학캠프를 하는 것을 가정하고(;;;)
최대한 다른 그룹끼리 섞이게, 팀 간 평균 나이, 수학실력, 성비는 비슷하게 하도록 하는데,
수학실력은 몰라서 관련이 있을리는 만무하지만 epg 스타정보에서 인기순위로 대충 매기고, 성비는 모두 여자라
제 맘대로 다수를 남자로 바꿨습니다. ^.~

자 그러면 시험삼아 예제 데이터를 한 번 해 볼까요! 팀은 6개로 나누는 것으로 하고, 우선 제대로 돌아가는지 보기
위해 멤버 수만 같게 맞추는 걸 조건으로 해 보면 결과가..

구성 성비(가상) 평균 나이 평균 EPG 인기
A 제시카 써니 티파니 1:2 21.0 4.33
B 가인 제아 선미 2:1 22.7 2.7
C 태연 윤아 예은 2:1 20.7 5.0
D 수영 서현 선예 2:1 20.0 3.0
E 효연 미료 소희 2:1 22.0 3.0
F 유리 나르샤 유빈 3:0 23.3 3.0

팀 안의 인원 수만 맞지, 어느 하나도 비슷하게 흩어진 게 없습니다. 특히 B, C팀은 여러모로 차이가 많이 나서 비슷한 팀구성 목표에 맞지 않고요, A팀은 소녀시대만 있죠. 그럼 앞에서 언급한 4가지 조건 모두를 맞춰서 최적화한 결과는.. (120초 제한으로 풀어서 최적해는 아님)

구성 성비(가상) 평균 나이 평균 EPG 인기
A 제시카 가인 예은 2:1 21.7 3.7
B 태연 서현 유빈 2:1 20.7 3.7
C 티파니 제아 선미 2:1 22.0 3.7
D 유리 나르샤 소희 2:1 22.0 3.3
E 효연 수영 선예 2:1 20.7 3.3
F 써니 윤아 미료 2:1 22.7 3.3

그런대로 비슷비슷한 팀들로 구성이 됐습니다~ 재미있는 수학시간이 될 것 같네요. -ㅇ-;

사실 이 문제 같은 경우에는 결정하는 변수가 모두 정수라서 (정수가 적을수록 쉽게 구할 수 있음) 사실 전수조사에 주먹구구 좀 넣어서 돌리는 거나 큰 차이는 안 납니다만.. 그래도 재미로~ ^.^;;

‘한’씨 여배우가 진짜 많은가?

넋놓고 TV를 보고 있으면 종종 여자 연예인들의 성씨가 많이 편중됐다는 생각이 듭니다.
그래서 얼마 전에 과연 진짜로 성씨가 편중됐나! 세 보려고 하고 있었는데 마침
어학당 친구들과 얘기하다가 보니 이미 신문기사에서도 여러 번 다룬 적이 있다는군요!
(또박사님, 곰형님 감사!) 찾아보니 2004년 조선일보에서 어느 스포츠신문에서 "한씨 열풍"을 지적했다고 하고, 2007년 일간스포츠에서는 역술인들이 ‘한’씨가 연예인으로 운이 좋은 성씨라고 한다는 얘기를 전하고 있습니다. 2007년 한겨레신문에서는 대중설문조사로 좋아하는 성씨에 대해 조사를 했었는데, 여기서는 ‘한’씨가 무려 43/332명이 가장 선호하는 성씨로 조사돼서 인구 조사의 비율인 1.53%와 비교하면 뚜렷한 차이가 있음을 보였습니다.

그렇다면 과연 진짜로 성씨 편중이 통계적으로도 뚜렷한 현상인지, 시대적으로 변화가
있는 것인지 궁금해지는데요! 연예인 데이터베이스 중 파싱하기가 비교적 쉬웠던
epg TV가이드에 1월 7일 기준으로 등록된 연예인 전체에서
한국에서 활동하는 배우, 가수 3941명 중, 이름이 한국사람의 보통
이름처럼 들리는 느낌을 가진 사람 3407명 만을 골라서 통계에 썼습니다.
예를 들어, 두 글자 이름이라도 "하은"의 경우에는 한국사람 이름에서 흔히 쓰는 패턴이므로
포함했지만 "태연"은 성-이름 보다는 이름으로 훨씬 더 많이 쓰이기 때문에 제외했습니다.
(이 과정에서 데이터 편향이 생겼을 수도 있는데, 실제 최종 결과에서는 이 영향으로 생길 수
있는 편향과 반대 결과가 나와서 신경쓸 만한 수준은 아니었습니다.)

진짜로 한씨가 많냐!

여자 배우/가수에서 ‘한’씨의 비율은 3.19%로 조사됐습니다. 원래 인구 중 비율은 1.56%로 1141명 중 21명 정도 나와야 하는데, 45명이 나온 것입니다. 제가 좋아한다고 한예슬, 한지민은 2명으로 세고 뭐 이런 것 아니고, 다 1명으로 셌습니다. (ㅎㅎ;) 이항검정으로 ‘한’씨에 대한 선호는 없다는 귀무가설에 대해서 P-value가 8.9×10-6정도 나왔습니다. 따라서 한씨에 대한 선호는 확실히 있다고 볼 수 있습니다.

그렇다면, ‘한’씨가 원래 끼가 있거나 미모가 특출나서 연예인이 많이 되는 건 아닐까? 하고 의심해 볼 수도 있는데요. 그래서 예명 말고 본명을 보면 36명이 원래 ‘한’씨인 것으로 기록돼 있는데요. 마찬가지로 이항검정에서 같은 가설로 하면 P-value가 0.002로 좀 약해지기는 하지만, 여전히 경향이 있습니다. 그렇다면 진짜 ‘한’씨가 왕비도 많이 내고 그래서 끼가 있는 걸까요! 아.. 아쉽게도 데이터베이스에 기록된 본명이 온전하지 않거나, 본명을 숨기는 연예인이 많은 것 같습니다. 김씨는 원래 1141명 중 304명은 나와야하는데, 대상에서 267명만 본명이 ‘김’씨라서 역시 P<0.0076 정도로, 본명 성씨 분포가 원래 인구 비율과 다르다고 볼 수 있습니다.

예명에서의 주요 성씨 분포

한편, ‘한’씨 말고도 여자 배우/가수 사이에서 많이 쓰이는 성씨가 더 있습니다.
‘선우’씨는 인구 중 비율은 0.01%이지만, 무려 5명 (0.35%)이 있어서 ‘한’씨보다 더 뚜렷하게
나타났습니다. 그런데, 젊은 분들이 아니고, 원래 희성이다보니 잘 눈에는 안 띈 것 같네요.
그 외에도 ‘채’씨, ‘고’씨, ‘하’씨가 본페로니 보정을 했을 때 95% 신뢰 수준에서 더 많이 나오는 성씨로 나타났습니다. 반면에 ‘김’씨는 비율대로라면 304명이 나와야하지만 활동하는 이름으로는 247명 밖에 쓰지 않아서, 흔한 성이라 그런지 피하는 경향이 뚜렷했습니다. (P<7.9×10-5)

남자는 어떨까요! 남자 배우/가수에서는 ‘주’씨 외에는 확실하게 많이 쓰이는 성씨가 보이지 않았습니다. ‘주’씨는 인구비율로 2018명 중 9명이 나와야 하는데, 22명이 있어서 P<0.00032로 95% 신뢰구간 상한선인 0.00056에 턱걸이 했습니다. 예명을 쓰면서 ‘주’씨로 바꾼 남자 연예인은 대표적으로 주진모, 주민준, 주호성 이 있습니다.

시대별로 변하는 선호 경향

이름은 시대적 유행이 있기 마련이라, 시대별로 나눠서 봤습니다. 데뷰는 정확하게 기록되어 있지 않아서, 그냥 생년월일로 했습니다.

시대별 여자 배우/가수 성씨 변화

"같음" 가로줄을 기준으로 윗쪽이면 인구 비례보다 많고, 아래면 인구 비례보다 낮게 나온 성씨입니다. 가로줄은 생년으로 묶은 그룹이고 서로 약간씩 겹치기도 합니다. 각 그룹에서 95% 신뢰구간에서 지지되는 특징적인 성씨들만 골라서 표시했습니다. 즉, ‘오’씨는 65년~74년 태생 여자 연예인들에게 많이 나타났지만, 다른 세대에는 인구 비례와 거의 비슷했고요, 71~80년 태생 여자 연예인들은 ‘정’씨가 인구 비례에 비해 거의 1/4 밖에 안 된다는 뜻입니다.

잘 살펴보면 50, 60년대생에서는 ‘금’, ‘방’, ‘오’ 씨가 인기였다가, 70년대생에서는 ‘유’, ‘고’ 씨가 인기이고, 80년대생에 와서야 ‘한’ 씨의 인기가 시작됩니다. ‘채’씨도 ‘한’씨보다 약간 앞서 제법 높은 인기를 끌었었고, 80년대 후반에서는 ‘민’씨가 상당한 인기를 끌고 있습니다. 반면에 ‘김’, ‘박’, ‘정’은 시대별로 잠깐씩 적게 나타나는데, 흔한 성를 갖고 있던 여배우들이 성을 바꾸는 경우가 많다고 볼 수 있습니다. 아마도 여자이름은 비슷한 경우가 훨씬 많아서, 흔한 성이기까지 하면 기존에 활동하는 사람과 겹쳐서 피하려고 바꾸는 경우가 많겠죠.

류/유 씨 두음법칙 적용

보통 남한에서 대부분 성이 두음법칙을 적용한 것을 더 많이 쓰는 반면에, 류(柳)씨는
두음법칙을 안 쓰는 사람이 훨씬 많습니다. 그래서 성씨 통계에서도 ‘류’씨가 따로 잡혀있고,
반면에 두음법칙을 보통 적용하는 유(劉)씨와, 원래 ‘유’인 유(兪) 씨도 있어서,
인구조사에서는 ‘류’ 1.31%, ‘유’ 0.95%로 잡혀있습니다.

그런데 통계에서는 거의 모든 기준. 즉, 남자, 여자, 배우, 가수, 시대에 상관없이 거의 대부분에서 유의미한 수준에서 적고, ‘유’씨가 뚜렷하게 많았습니다. 즉, 일상에서는 ‘류’씨를 쓰다가도 연예인이 되면서는 발음이 쉽도록 두음법칙을 적용하는 경향이 있다고 볼 수 있겠습니다.

코미디언/개그맨도 성씨 선호가 있을까?

상대적으로 코미디언/개그맨들은 이름을 고상하게 지을 필요가 적은데. 과연 배우/가수들과 비슷한 경향을 보일까요?

통계 결과로 데이터베이스에 있는 여자(95명) 중에서는 모든 연령대에서 유의미하게 더 많이 나오거나 덜 나오는 성씨가 없었습니다. 아마도 본명 그대로 쓰는 경우가 많은 것 같군요. 남자(331명)는 유의미한 것이 하나 있었는데 ‘박’씨가 1/2배 정도로 적게 나타났습니다. (P < 0.00036) 보정을 하면 아주 유의미한 정도는 아니라서 애매하긴 하지만, 원인은 모르겠지만 박씨가 적기는 합니다.

요약하면, 여자 배우/가수는 성씨 선호가 뚜렷하고 예명을 지을 때 신경을 많이 쓰지만, 코미디언/개그맨 이나 남자 배우/가수는 기본 인구 비례와 별 차이가 없다는 결과가 나왔습니다.

자소별로 뭔가 느낌이 있는 것 아닐까!

신문 기사에서도 ‘ㅎ’이 연예계 운에 좋다고 했으므로 (;;) 자소별 분석을 해 볼 만 하겠습니다. 다음 표에 요약했습니다. (95% 신뢰도로 유효한 것만 표시)

여자 많음 여자 적음 남자 많음 남자 적음
첫소리 ㅎ ㅅ ㄹ ㄱ
가운뎃소리
끝소리 ㄴ ㄹ ㅁ ㄱ (받침없음)

뭔가 안 보이던 걸 기대를 했었는데, 그냥 ‘김’이 적고 ‘한’이 많다 같이
앞에서 나왔던 성씨별 경향으로 대충 설명이 됩니다. 그런데, 남자에서
받침이 없는 성씨가 많다고 나타났는데, 실제로 남자에서 많이 쓰인
받침 없는 성씨로는 ‘주’, ‘하’, ‘지’ 같은 것이 있어서 산뜻한 느낌을
주는 경향이 있었습니다. ‘ㅘ’가 적게 나타난 것은 ‘황’씨가 1/1.5배
정도로 줄어든 것 때문입니다. 여자에서도 마찬가지로 ‘황’씨가 적기는
했지만 ‘황’씨가 원래 인구가 비교적 적고 데이터베이스에서 여자 샘플수가
적었기 때문에 통계적으로 유의미하게 나오지 않았을 뿐 비슷한 정도로
적었습니다. 발음이 힘들어서 일까요?

앞으로 트렌드는!

85년 이후 출생을 살펴보면 여자는 ‘서’, ‘민’, ‘고’씨가 인기이고, 남자는
‘강’, ‘성’씨가 인기입니다. (아직 데이터베이스에 등록된 사람이 몇 안 되어서 통계적 유의성은 떨어집니다만.) 새로 예명을 지으실 일이 있으면(;;) 참고해서 예쁘게 지어 보세요. -O-;

참고: 통계는 RPy로 했고, 그래프는 Apple Numbers로 그렸습니다.

자주 보는 논문 저자 찾기

저는 논문 관리를 Papers로 하고 있습니다. 순전히 이 프로그램 때문에 맥을 사는 사람이 있을 정도로 정확하게 타게팅을 해서 나온 놈이라 정말 편리합니다. 다만 DevonThink같이 정보를 자동으로 모아서 못 보는 패턴까지 파악하게 해 주는 기능이 많이 아쉬운데요. 그래서 갑자기 자주 보는 저자들의 PubMed 자동 알리미 설정을 한 번 해 볼까하고 저자를 생각해 봤는데, 아무래도 빼먹은 게 있을 것 같아서 Papers에 등록해 놓은 논문 전체에서 가장 많이 쓴 사람들을 찾아봤습니다.

소스코드 – 다행히도 CSV 출력을 지원해서 BibTex 파싱 같은 것은 안 해도 됐고요. 이름은 중간이름을 간혹 생략하는 경우도 있어서 그냥 성과 이름 첫 글자만 가지고 비교를 했습니다. 하는 김에 가장 많이 보는 잡지 이름도 출력했습니다. 결과를 보니까 오! 간단하게 알리미 설정할 사람들 목록이 나왔습니다. 🙂

제 상위 저자, 잡지는 이렇게 나오는군요.

여러분의 Papers 책꽂이는 누가 많이 차지하고 있나요!Watch movie online The Transporter Refueled (2015)