No.1
- 回答日時:
領域が円形で分布が一様、のような対称性が極めて高い場合を除くと解析的には解けそうになく、決定的に旨い手はないだろうと思います。
n本の旗の座標を2n次元ベクトルxで表し、「ある目的関数E(x)の最小値を探したい」という極値問題として定式化出来ます。E(x)はご質問の場合には「N個の点から最寄りの旗までの距離の総和」でしょうか。(距離をどう定義するかでも、扱いやすさは変わります。ユークリッド距離、その2乗、あるいはマンハッタン距離、などなど。)
数値計算によって、2n次元空間中でxを動かしつつE(x)をちょっとずつ改良して行って停留点を見つける、これはいわゆる「最急降下法」の類ですが、これだけでは局所最適解に収束してしまいますから、停留点からまたわざと動かして、別のより良い局所最適解を探す、いわゆる「焼き鈍し法」が必要でしょう。近頃はやりのneural networkのアルゴリズムには、もうちょっとだけ効率の良いやり方がいろいろ考案されていると思うけれども、桁違いに速くなるわけじゃないでしょう。
xの出発値を選ぶのには「クラスター分析」の手法が使えそうな気がします。これはN個の点の2次元平面上での分布を数値計算で幾つかのクラスターに分割し、同じクラスターに属する点同士は互いに比較的近く、異なるクラスターに属する点同士は互いに比較的遠い、というふうにしようとするものです。こうして得たクラスターそれぞれの重心に旗を立てた状態を出発値xにしてみると良さそうだ、という、これはただの勘ですけどね。
No.2
- 回答日時:
旗Aと旗Bを直線で結ぶ。
直線の中点に直角に線を引く。
この線が領域Aと領域Bの境界になる。
以下旗の数だけ繰り返すと多角形の領域が得られる。
No.3ベストアンサー
- 回答日時:
ANo.1へのコメントについてです。
色々書きすぎて、却って混乱させてしまったかもしれないな、と反省中。
[1] まず旗が1本だけのときについて。ご質問に、各人の位置の重心に旗を置けばいい、とお書きですが、これは最小化すべき目的関数Eが「旗と各人との距離の2乗の総和」である場合の解です。この場合、旗の位置を(p,q)として、
∂E/∂p = 0
∂E/∂q = 0
という連立方程式を解けば良いのですが、人iの位置を(x[i], y[i])とするとき
E = ∑ ((x[i] - p)^2 + (y[i] - q)^2)
なので、
∂E/∂p = 2∑ (x[i] - p)
∂E/∂q = 2∑ (x[i] - q)
ですから、
p = (∑x[i])/(∑1), q = (∑y[i])/(∑1)
つまり、おっしゃる通り、各人の位置の重心に旗を置けばいいわけです。
[2] しかし、Eを「旗と各人との距離の総和」
E = ∑ ((x[i] - p)^2 + (y[i] - q)^2)^(1/2)
とすると途端に難しくなります。
∂E/∂p = -∑ (((x[i] - p)^2 + (y[i] - q)^2)^(-1/2))(x[i] - p)
∂E/∂q = -∑ (((x[i] - p)^2 + (y[i] - q)^2)^(-1/2))(y[i] - q)
であり、p,qについてキレイに解くことはできません。じゃあどうするか。たとえば(p,q)を仮に(p0,q0)と決めておいて
∑ (((x[i] - p0)^2 + (y[i] - q0)^2)^(-1/2))(x[i] - p) = 0
∑ (((x[i] - p0)^2 + (y[i] - q0)^2)^(-1/2))(y[i] - q) = 0
(これはそれぞれ一次方程式)を解いてp,qを更新する、ということを繰り返す。ただしこれだとp,qの値が振動して収束しない恐れもあり、そういうときには、たとえば方程式を解いて得られた(p, q)と(p0, q0)との中点を次の(p0, q0)として繰り返す、のような安定化が必要になるでしょう。
[3] で、ご質問の問題についてですが、実際どうやるかを考えてみますと、まず全人口の最外殻に居る者を繋いだ多角形を作る。そして、
(1) この多角形の中に、何とかn本の旗を立てる。たとえば、乱数で位置(p,q)を作り、それが多角形の外に行っちゃったら捨てて、多角形の中にn個の点が決まるまで乱数を作り続ける。
(2) 全人口の各人について、最寄りの旗がどれであるかを調べ、これで全人口をn個の組に組分けする。
(3) それぞれの組j (j=1〜n) について
最寄りの1本の旗jだけを考え、E[j]=「その旗jと組jの各人との距離の総和」を最小化する問題(これは[2]に書いたやつです)を解いて、旗jの位置を修正する。(この修正によって、組jに入っている人の最寄りの旗が旗jではない、ということが生じ得るわけです。で、)
組分けが変化しなくなるまで、操作(2)〜操作(3)を繰り返す。
(4) E = ∑E[j] (j=1〜n) を計算する。
という操作(1)〜(4)をうんと沢山繰り返して、一番成績が良いのを採用する。
もちろんこれでは、得られた解が最適解だという保証はないわけで、数学の答としては落第ですが、実用を考えるのならアリでしょう。
[4] ちなみに、「n本の旗の位置を決めた時に、旗jが最寄りになるのは平面上のどの領域か」という問題は「計算幾何学」という分野で「ボロノイ分割」と呼ばれていて、高速かつ安定なアルゴリズムが知られています。ご質問の問題と関係がありそうな気がする回答者が居るかもしれないが、実は残念ながら何の関係もない…と、また余計なことを書いてます。
この回答へのお礼
お礼日時:2017/08/04 12:45
具体的な方法も考えて頂き、ありがとうございました。
知りたかったのは厳密な正解ではなくある程度の正しさをもった方法だったので
助かりました(これは最初に書いておけばよかったのですが)。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 政治 コソボが、再び内乱、内戦に成ろうとしているのは、多民族国家だからですよね? 4 2023/06/28 18:15
- 政治 韓国人は日本人の顔を見ると怒りがこみ上げるから、マスクをするか、顔を整形せよと言ってますか? 1 2022/11/17 10:21
- 流行・カルチャー 流行に流される人達に嫌悪 2 2022/07/05 15:48
- 戦争・テロ・デモ ポーランド人の気持ちは? 3 2022/06/20 17:44
- 政治 日本人義勇兵が2千人も居れば、日本人義勇兵連隊を作れますね? 3 2022/03/24 10:57
- 世界情勢 原爆が許されるアメリカンルール? 6 2022/04/11 21:53
- 政治 国旗に名前を書くのは「死亡フラグ」ではないですか? 2 2022/12/26 09:41
- 防犯・セキュリティ 気づかないふり 1 2022/05/10 08:06
- 物理学 電界がE=c(y^2z^3i+2xyz^3j+3xy^2z^2k)と与えられた場合(E.i.j.kは 1 2022/08/01 14:07
- 統計学 統計学の質問【帰無仮説】 高校の新学習指導要領では、統計的仮説検定の基本的な考え方が必修単元となった 5 2023/05/23 21:00
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
彼女とハグをする時胸は当たる...
-
Excelについての質問です。 2点...
-
|-5| + |2| っていう式の計算を...
-
私は学校で4人グループです。...
-
話す時に顔を必要以上に近づける人
-
絶対値についてです |a+b|^2 ...
-
綺麗すぎて同性から距離を置か...
-
皆さん、おはようございます♪ ...
-
一キロメートルは、どれぐらい...
-
アメリカとフランスはどちらが...
-
台形の中に平行線を引いた、そ...
-
岐阜から東京まで距離はどのく...
-
なぜ楕円の中心=焦点の中点とな...
-
距離計を買いたいと思っていま...
-
友達(同性)と並んで歩く時、並...
-
「人との距離感がバグってる」 ...
-
高所にある看板サイズの測定法...
-
威張る・傲慢・頑固で自己中心...
-
単身赴任か帯同するかでとても...
-
4人グループにハブられてる気が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
彼女とハグをする時胸は当たる...
-
Excelについての質問です。 2点...
-
|-5| + |2| っていう式の計算を...
-
話す時に顔を必要以上に近づける人
-
視力1.0の人は740m先の人の顔...
-
私は学校で4人グループです。...
-
綺麗すぎて同性から距離を置か...
-
絶対値についてです |a+b|^2 ...
-
4kmって例えばどこからどこまで...
-
ACCESS VBAの実行時エラーなん...
-
岐阜から東京まで距離はどのく...
-
距離を置く意味 距離を置いてお...
-
4人グループにハブられてる気が...
-
嫌われた人に距離を置こうと思...
-
200V 30A IHクッキ...
-
アメリカとフランスはどちらが...
-
1週間だけ距離を置く理由
-
距離が離れると小さくなる計算...
-
クロネコヤマトに伝票番号で問...
-
負の距離
おすすめ情報