MathLabs

第3問

SNS には 20192019 人の利用者がおり、そのうちいくつかの組は友達である(友達関係は対称的である)。次のような出来事が繰り返し、一度に一つずつ起こってよい: AA が BB と CC の両方と友達であるが、BB と CC は友達でない三人の利用者 AA、BB、CC が、友達関係を変更して BB と CC が友達になり、AA は BB とも友達でなく、CC とも友達でなくなるようにする。他のすべての友達関係は変わらない。最初、10101010 人の利用者はそれぞれ 10091009 人の友達を持ち、10091009 人の利用者はそれぞれ 10101010 人の友達を持つ。このような出来事の列の後に各利用者が高々一人の他の利用者と友達になるようにできることを証明せよ。
ステップ 1/6: 友達関係をグラフとしてモデル化する
G=(V,E),∣V∣=2019,toggle(A,B,C): AB,AC∈E, BC∉E ⟼ E′=(E∖{AB,AC})∪{BC}G=(V,E),\quad |V|=2019,\qquad \text{toggle}(A,B,C):\ AB,AC\in E,\ BC\notin E\ \longmapsto\ E'=(E\setminus\{AB,AC\})\cup\{BC\}
詳しい解説

VV を 20192019 人の利用者、EE を友達関係の組として、グラフ G=(V,E)G=(V,E) を考える。記述された変更を A,B,CA,B,C におけるトグルと呼ぶ:これは辺 ABAB と ACAC が存在し BCBC が存在しないことを必要とし、EE を E′=(E∖{AB,AC})∪{BC}E'=(E\setminus\{AB,AC\})\cup\{BC\} に置き換える。目標は、すべての頂点の次数がたかだか 11 であるグラフに到達することになる。