跳到主要内容

東京大学 情報理工学系研究科 創造情報学専攻 2012年8月実施 筆記試験 第1問

Author

itsuitsuki

Description

An English conversation school plans to make pairs of students and teachers for private lessons. Given a set S={s1,s2,,sn}S = \{s_1, s_2, \dots, s_n\} of students and a set T={t1,t2,,tn}T = \{t_1, t_2, \dots, t_n\} of teachers, we make disjoint nn pairs of a student and a teacher, which we call a pp-match. Answer the following questions:

(1) How many pp-matches exist?

(2) For n=5n = 5, given a list of preferable teachers by students (Table 1) V=STV = S \cup T E={xyxS,yT,x prefers y.}E = \{xy \mid x \in S, y \in T, x \text{ prefers } y.\} draw a graph G=(V,E)G = (V, E), and show a pp-match which maximizes the number of students who are fulfilled.

StudentTeachers
s1s_1t1,t3t_1, t_3
s2s_2t2,t4,t5t_2, t_4, t_5
s3s_3t1,t3t_1, t_3
s4s_4t3,t5t_3, t_5
s5s_5t1,t3t_1, t_3

Table 1: List of Preferences

(3) Let the size of a set E=m|E| = m. Show an algorithm to get a pp-match which maximizes the number of students who are fulfilled and its complexity.

(4) For n=7n = 7, given a ranked list of teachers by students (Table 2), show a pp-match which minimizes the total sum of ranks.

(5) In addition to the ranked list of teachers by students, consider a ranked list of students by teachers. Given a pp-match, if there exists no pair of student and teacher who would both get the higher rank than that of the current partner of the given pp-match, then, this pp-match is called an ss-match. For n=7n = 7, given a ranked list of students by teachers (Table 3) in addition to the Table 2, show an ss-match.

Ranking1234567
s1s_1t7t_7t1t_1t2t_2t6t_6t5t_5t4t_4t3t_3
s2s_2t7t_7t1t_1t2t_2t3t_3t4t_4t5t_5t6t_6
s3s_3t7t_7t5t_5t2t_2t6t_6t1t_1t4t_4t3t_3
s4s_4t1t_1t4t_4t3t_3t6t_6t2t_2t5t_5t7t_7
s5s_5t7t_7t3t_3t1t_1t2t_2t4t_4t5t_5t6t_6
s6s_6t3t_3t7t_7t2t_2t1t_1t5t_5t4t_4t6t_6
s7s_7t7t_7t3t_3t2t_2t6t_6t5t_5t4t_4t1t_1

Table 2: Rank of teachers by students

Ranking1234567
t1t_1s1s_1s2s_2s3s_3s4s_4s5s_5s6s_6s7s_7
t2t_2s1s_1s2s_2s4s_4s3s_3s7s_7s6s_6s5s_5
t3t_3s3s_3s2s_2s1s_1s5s_5s6s_6s4s_4s7s_7
t4t_4s2s_2s3s_3s1s_1s7s_7s4s_4s6s_6s5s_5
t5t_5s1s_1s3s_3s4s_4s2s_2s5s_5s6s_6s7s_7
t6t_6s1s_1s5s_5s3s_3s4s_4s2s_2s6s_6s7s_7
t7t_7s3s_3s5s_5s1s_1s4s_4s2s_2s7s_7s6s_6

Table 3: Rank of students by teachers

(6) For nn, show an algorithm to get an ss-match and its complexity.

(7) We will develop a real software system for private lessons for an English conversation school. List possible study items (example: web reservation), and describe each item in two lines.

题目描述

某英语会话学校要为一对一课程把学生和教师配对。给定学生集合 S={s1,,sn}S=\{s_1,\ldots,s_n\} 与教师集合 T={t1,,tn}T=\{t_1,\ldots,t_n\},把每名学生与每名教师各使用一次,组成 nn 个互不相交的学生—教师对;称这样的完整配对为 pp-匹配。

  1. 一共有多少种 pp-匹配?

  2. n=5n=5 时,学生可接受的教师如下。令

    V=ST,E={xyxS, yT, x 喜欢 y}.V=S\cup T,\qquad E=\{xy\mid x\in S,\ y\in T,\ x\text{ 喜欢 }y\}.

    画出图 G=(V,E)G=(V,E),并给出一个让“分配到可接受教师”的学生人数最多的 pp-匹配。

    学生可接受教师
    s1s_1t1,t3t_1,t_3
    s2s_2t2,t4,t5t_2,t_4,t_5
    s3s_3t1,t3t_1,t_3
    s4s_4t3,t5t_3,t_5
    s5s_5t1,t3t_1,t_3
  3. E=m|E|=m。给出求上述满意学生数最大的 pp-匹配的算法,并分析复杂度。

  4. n=7n=7 时,学生对教师的完整名次如下。给出一个使所有学生所得教师名次之和最小的 pp-匹配。

    学生 \ 名次1234567
    s1s_1t7t_7t1t_1t2t_2t6t_6t5t_5t4t_4t3t_3
    s2s_2t7t_7t1t_1t2t_2t3t_3t4t_4t5t_5t6t_6
    s3s_3t7t_7t5t_5t2t_2t6t_6t1t_1t4t_4t3t_3
    s4s_4t1t_1t4t_4t3t_3t6t_6t2t_2t5t_5t7t_7
    s5s_5t7t_7t3t_3t1t_1t2t_2t4t_4t5t_5t6t_6
    s6s_6t3t_3t7t_7t2t_2t1t_1t5t_5t4t_4t6t_6
    s7s_7t7t_7t3t_3t2t_2t6t_6t5t_5t4t_4t1t_1
  5. 再给出教师对学生的名次表。若某个 pp-匹配中不存在这样一对尚未配在一起的学生与教师:二者都比起当前搭档更偏好对方,则称该匹配为 ss-匹配。结合上表和下表,为 n=7n=7 给出一个 ss-匹配。

    教师 \ 名次1234567
    t1t_1s1s_1s2s_2s3s_3s4s_4s5s_5s6s_6s7s_7
    t2t_2s1s_1s2s_2s4s_4s3s_3s7s_7s6s_6s5s_5
    t3t_3s3s_3s2s_2s1s_1s5s_5s6s_6s4s_4s7s_7
    t4t_4s2s_2s3s_3s1s_1s7s_7s4s_4s6s_6s5s_5
    t5t_5s1s_1s3s_3s4s_4s2s_2s5s_5s6s_6s7s_7
    t6t_6s1s_1s5s_5s3s_3s4s_4s2s_2s6s_6s7s_7
    t7t_7s3s_3s5s_5s1s_1s4s_4s2s_2s7s_7s6s_6
  6. 对一般 nn,给出求 ss-匹配的算法及其复杂度。

  7. 若要真正开发英语会话学校的一对一课程软件系统,列出可能需要研究或实现的项目(例如 Web 预约),每项用两行说明。