• ベストアンサー

2点同士の距離の平均が最小となる木

benderの回答

  • ベストアンサー
  • bender
  • ベストアンサー率45% (108/236)
回答No.1

与えられた式 (Σ<iとjの距離> )/|U| について考えると、入力されたグラフに対して|U|は定数なので、問題としては、分子の (Σ<iとjの距離>) が最小になる木を求める、ということと同じかと思うのですが、これは「最小全域木問題」ではないでしょうか。 最小全域木(Minimum Spanning Tree)を求めるアルゴリズムについては、インターネットや、アルゴリズムの本で詳しく紹介されていると思います。 ところで、「頂点同士の距離の平均」を求める式は、(Σ<iとjの距離>)/|U| ではなく、おそらく、(Σ<iとjの距離>)/(|U|-1) であるような気がします。

関連するQ&A

  • 最小全域木について

     現在、最小全域木の問題はグラフ理論や遺伝的アルゴリズムの文献など様々な分野で解説されていますが、この「最小全域木」について気になることがあります。 最小全域木とは辺に対して一つの重みがあるものですが、この重みが多重化すること、つまり一つの辺に対して二つ以上の重みが存在する最小全域木とは存在しないのでしょうか?? つまりは「二重の重みを持つグラフ」を対象とした研究とは世の中では行われていないのでしょうか?? 厳密な解を求めるのが不可能など、様々な問題が生じてくるから不可能なのかなと思ったりしたのですが、、、違うのでしょうか?? もし、この分野に詳しい方がいらっしゃったら返事をお願いしたいです。

  • 支配集合問題に対する近似アルゴリズム、についての問題です。

    支配集合問題に対する近似アルゴリズム、についての問題です。 次の様な問題です。 「グラフ G=(V,E) に対し、支配集合を次のように定義する: 定義1 (支配集合). 頂点の部分集合 D⊆V は、Dに属さない全ての頂点に対して少なくとも1つのDに属する頂点が隣接するときに支配集合という。 与えられたグラフにおける大きさ最小の支配集合を見付ける問題を支配集合問題という。この問題に対する近似アルゴリズムを与え、そのアルゴリズムの近似率を求めよ。」 正直に言って、糸口さえ掴めず全く分かりません。 近似アルゴリズムに詳しい方、回答をよろしくお願いします。

  • 遺伝的アルゴリズムの遺伝子の長さについて

    今、グラフ理論と遺伝的アルゴリズム(以下GA)の勉強をしています。 グラフ理論の最小全域木問題をGAを使って解こうと考えています。そこで、個体の遺伝子の長さをそのグラフの点の数Nにすればよいのではないかと考えました。 しかし、グラフが大きく、点の数Nが100や1000になった場合は、遺伝子の長さも非常に長くなってしまいます。これはGAとして問題があるかないかについて教えてください。 よろしくお願いします。

  • 編集距離空間探索法

    文字列の類似度の指標として、編集距離というものがあります。文字列がリストで並んでいて、そこにある文字列との編集距離が最小になる問題を考えるような場合、シーケンシャルに文字列の編集距離を調べ、編集距離が最小になるアルゴリズムは効率が悪い。そこで、編集距離をノードの値としてもつ二分木というものを考えてみました。そこで質問なのですが、編集距離をノードの値として持つ二分木を用いて、編集距離が最小になるようなアルゴリズムは既に考案されているのでしょうか?

  • 辺彩色のアルゴリズム

    グラフ理論についての質問です。 平面グラフを辺彩色するのに必要な色の最小の数を求めるアルゴリズムがあるとききました。 しかし、調べてみましたがどのようなものかわかりません。 知っている方いましたら教えてください。

  • 情報数学 単純無向グラフについての問題

    G が切断点を持てば,G は橋を持つ  正しくない G = (V, E) が連結,かつ |E| < |V | ならば,G は無向木である 正しい すべての完全グラフの直径は 1 である 正しい 節点数 5 の完全グラフ K5 は平面描画可能である 正しくない それぞれの理由を教えてほしいです。

  • アルゴリズム(2分探索木)の問題について

    2分探索木のアルゴリズムに関する問題について質問させていただきます。 [問題] 集合Sに対する2文探索木とは、ラベルつきの2分木で、 その頂点vにはSのある要素l(v)がラベルとしてつけられている。 l(v)は次の性質を満たす。 1.vの左部分木の頂点uに対して l(u) < l(v) 2.vの右部分木の頂点uに対して l(u) > l(v) 3.Sの任意の要素aに対して l(v) = a となる頂点vはちょうどひとつある。 図はキーワード集合{begin,else,end,if,then}をあらわす2分探索木の例である。 いま、集合Sを表す2分探索木と要素aが与えられているときa∈Sならば"はい"、 そうでなければ"いいえ"を出力するアルゴリズムを考える。 このアルゴリズムは、木の根rについて一回だけ再帰手続きSEARCH(a,r)を呼び出せばよい。 ただし、SEARCH(a,v)はvを根とする部分木中に要素aが含まれているかを判定する。 含まれているときに値"はい"を、そうでなければ値"いいえ"を返す。 ・アルゴリズム procedure SEARCH(a,v): if a = l(v) then return "はい" else if a < l(v) then if vが左の子wを持つ then return SEARCH( ア ) else return "いいえ" else イ 以下の問題に答えよ。 (1) 上のアルゴリズムのア,イを埋めよ。 (2) 上のアルゴリズムを参考にして、集合Sからのデータの削除DELETE(a,S)を考える。 削除すべき要素aが頂点vのラベルであったとする。そのとき次の3つの場合について、行うべき操作を記述せよ。 (i) 頂点vが葉である (ii) 頂点vの子が1個ある (iii) 頂点vの子が2個ある 以上です。 設問(1)は解けました。 答えは ア: a,w イ: a > l(v) then if vが右の子wを持つ then return SEARCH(a,w) else return "いいえ" になるのではないかと思います。 設問(2)についてなのですが、それぞれの場合について、どのような操作をすればよいのかは、 参考書などを読んで理解したのですが、どのように記述したらよいかがわかりません。 長文になってしまい申し訳ないのですが、回答よろしくお願いいたします。

  • 非可算無限なグラフ

    単に興味本位からの疑問なのですが・・・ グラフGは、頂点集合Vと辺集合Eを用いて、定義するのが普通ですよね。(もちろん、定義の仕方は色々ありますが) このとき、頂点集合Vと辺集合Eは、無限にする場合でも、暗黙のうちに可算集合と考えるのが普通ですよね。そうしないと、i,jのような添え字を用いた操作ができませんから。 このV,Eを非可算集合、例えば、実数濃度と考えた場合のグラフの理論は、研究されているのでしょうか?そのような理論の、応用はあるのでしょうか?

  • データの系列の平均の求め方のアルゴリズム

    100個の数値が並んでいてその平均を求めるという場合、全部足して100で割る、ということしか考えられなかったのですが、そうではないアルゴリズムがあるようです。プログラム的な説明だと以下のようです。 ave=0.0 平均が分かっていると仮定する。 do i=1,100 xx=x(i)-ave あるデータx(i)と、分かっている思っている平均aveとの差をとる。 ave=ave+xx/i その差をそこまでのデータ個数iで割る。新しいデータによる平均の変化量とみてそれを前の平均に加える。 enddo それを十分大きな回数繰り返す。そうすると平均に近づく。 このような考え方はある学問分野では常識なのかもしれませんが、近似ということになると思います。データの数が十分大きくて最初の平均が実際と異なるエラーが相対的に減ってくるとかです。このアルゴリズムにはどのような制約が付くものでしょうか。例えば乱数を発生させてその平均を求めるときに全部発生させてから和を取って個数で割るのではなく、1つ1つ乱数を発生させて発生し終わった時点で平均が計算できてしまっている、ということになります。分散も同じようなアルゴリズムになると思います。実験や理論的な検討を加えることはできると思いますが、あまりにも簡単なので常識であり、かつ性質も調べられているのではないかと思ってお尋ねしました。いかがでしょうか。

  • どんな関数が最小2乗法に適する?

    一般論をお聞きしたいのですが、どんな関数に従うか(理論的に)わからないデータがあったとします。 その場合にどんな関数を用いて最小2乗法を行うのが良いのかお尋ねしたいのです。 非常に狭い範囲においては一次関数に従うでしょうから、1次関数にするでしょうし、 少し範囲を広げるとグラフの曲がっているのが見えてくるでしょうから2次関数にするでしょう。 そうやって欲張って(笑)いくと、3次関数,4次関数,…としていくことになるのでしょうが、 他に方法はないのでしょうか。 例えば2次関数に√xの項を加えるとか、3次関数に1/xの項を加えるような方法は有効なのでしょうか。 グラフを見た感じy=ax^n (ただし0<n<1)のような関数なのですが データの対数をとって一次関数にしてもあまり良い近似にならなかったようで、 EXCELの逆行列機能を用いて2次関数,3次関数,…としていったのですが、 わずかであっても極大・極小ができては困ります。 かといって数学力がないので複雑な関数で置いても解けないと困るのです。 こんな事態なのですがアドバイスいただけないでしょうか。