plt.hist(degrees, bins='auto', alpha=0.7, color='skyblue', edgecolor='black') plt.xlabel('Degree') plt.ylabel('Frequency') plt.title('Degree Distribution of a Watts-Strogatz Graph') plt.show()
# 変数を作成 x = [] for i in families: x.append(solver.IntVar(0, 1, 'x[%i]' % i)) # x[i] = 家族iに食糧を配達するかどうか (0 または 1)
# 制約を定義 budget = 30# 予算 solver.Add(sum(transport_costs[i] * x[i] for i in families) <= budget)
# 目的関数を定義 solver.Maximize(scalar_multiplier * sum(food_required[i] * x[i] for i in families) - sum(transport_costs[i] * x[i] for i in families))
# 問題を解く solver.Solve()
# 結果を出力 print("Total food delivered = ", sum(food_required[i] * x[i].solution_value() for i in families)) delivered = [x[i].solution_value() for i in families] plt.figure(figsize=(10,5)) plt.bar(range(len(families)), delivered) plt.title("Food delivered to each family") plt.xlabel("Family") plt.ylabel("Food quantity") plt.xticks(range(len(families)), families) plt.show()
print("Total food delivered = ", sum(food_required[i] * x[i].solution_value() for i in families)) delivered = [x[i].solution_value() for i in families] plt.figure(figsize=(10,5)) plt.bar(range(len(families)), delivered) plt.title("Food delivered to each family") plt.xlabel("Family") plt.ylabel("Food quantity") plt.xticks(range(len(families)), families) plt.show()
np.random.seed(seed=4) n = 13 m = 100 X = np.linspace(0, 10, m) y_truth = f(X) x = 0.5 + 8.5 * np.random.rand(n) y = f(x)
次に、カーネルマトリックスを計算します。
1
K = np.array([[kernel(x[i], x[j]) for j inrange(n)] for i inrange(n)])
次に、カーネルメソッドによる予測を行います。
1 2 3 4 5 6 7 8
c = np.linalg.inv(K) @ y y_pred = [] for i inrange(m): sum = 0 for j inrange(n): sum += c[j] * kernel(x[j], X[i]) y_pred.append(sum) y_pred = np.array(y_pred)