Skip to content

tutorial05_cliques.ipynb について #5

@derwind

Description

@derwind

https://github.com/tytansdk/tytan_tutorial/blob/main/tutorial/tutorial05_cliques.ipynb について、セル [22] から [23] にかけて幾つか良くなさそうです。また、セル [26] もコードの重複があります。

セル [22] から [23] にかけて

  1. [22] の隣接行列 A が [23] の定数で上書きされる。
  2. [23] のインデントがおかしい。また、辺が存在するかの確認に G[u][v] を参照するのはおかしい。グラフではなく隣接行列を見るべき。

上記を踏まえて以下のような感じにすると良いでしょうか。

#隣接行列
adjA = nx.to_numpy_array(G)
print(adjA)

A=0.1
B=0.1

#式A
HA = 0
for v in range(graph_size):
    sum_x = 0
    for i in range(n_color):
        index = v * n_color + i
        sum_x += q[index]
    HA += (1 - sum_x) ** 2
HA *= A

#式B
HB = 0.0
for i in range(n_color):
    sum_x = 0
    for v in range(graph_size):
        vi = v * n_color + i
        sum_x += q[vi]
        for u in range(graph_size):
            if u >= v:
                continue
            ui = u * n_color + i
            HB -= adjA[u][v] * q[ui] * q[vi]
    HB += 0.5 * (-1 + sum_x) * sum_x
HB *= B

#式をつなげます。
H = HA + HB

セル [26]

  • H = 10 * H から qubo.Compile の手前までは削れそうです。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions