課題2:DAアルゴリズム (one-to-one)

瀧川英輝


In [1]:
using MyMatching

まず課題で挙げられていた例を試してみます


In [2]:
m_prefs = [[3], [3, 2, 1], [1, 3, 2], [3, 1]]
f_prefs = [[2, 3], [2, 3, 4, 1], [4, 1, 2]];

In [3]:
my_deferred_acceptance(m_prefs, f_prefs)


Out[3]:
([0,2,1,3],[3,2,4])

次にWikipediaの例を試してみます


In [4]:
m_prefs2 = [[1, 2, 3, 4], [3, 2, 1, 4], [1, 2, 4, 3], [3, 1,  4, 2]]
f_prefs2 = [[1, 2, 3, 4], [2, 1, 4, 3], [2, 3, 1, 4], [1, 4, 3, 2]];

In [5]:
my_deferred_acceptance(m_prefs2, f_prefs2)


Out[5]:
([1,3,2,4],[1,3,2,4])

別の例で試してみます


In [6]:
m_prefs3 = [[1, 3], [2, 3], [3], [1, 3]]
f_prefs3 = [[4, 2], [3, 2, 1, 4], [2,  1, 3, 4]];

In [7]:
my_deferred_acceptance(m_prefs3, f_prefs3)


Out[7]:
([3,2,0,1],[4,2,1])

今のところ望ましい結果が得られています
それではテストを実行します


In [8]:
Pkg.test("MyMatching")


INFO: Testing MyMatching
INFO: MyMatching tests passed

無事通りました