なぜグラフを見て、すぐに別のポイントに最も近いポイントを見つけることができますが、プログラミングにはO(n)時間がかかりますか?


122

明確にさせてください:

与えられた数の点nの散布図を考えると、精神的にプロット内の任意の点に最も近い点を見つけたい場合、グラフ内のほとんどの点をすぐに無視して、近くの小さな一定の数の点に絞り込みます。

しかし、プログラミングでは、ポイントのセットnが与えられ、任意のポイントに最も近いポイントを見つけるには、他のすべてのポイント、つまり時間をチェックする必要があります。O(n)

グラフの視覚的な視覚は、私が理解できないいくつかのデータ構造に相当すると思われます。プログラミングでは、ポイントをクアッドツリーなどのより構造化された方法に変換することにより、時間でポイントに最も近いポイントを見つけるか、時間。N K ⋅のログN OログN knklog(n)O(logn)

しかし、データ再構築後のポイント検索用の既知の償却アルゴリズム(私が見つけることができる)はまだありません。O(1)

では、なぜこれは単なる目視検査で可能に見えるのでしょうか?


36
あなたはすでにすべてのポイントを知っています。あなたの目の「ソフトウェアドライバー」は、画像を解釈するというあなたのためのハードワークをすでに行っています。あなたの例えでは、実際にはそうではないのに、この仕事を「無料」と考えています。ポイントの位置をある種のオクトツリー表現に分解するデータ構造がすでにある場合は、O(n)よりもはるかに良い結果を得ることができます。情報が意識部分に達する前に、脳の潜在意識部分で多くの前処理が行われます。これらの類推でそれを決して忘れないでください。
リチャードティングル14年

20
あなたの仮定の少なくとも1つは一般的に成り立たないと思います。「小さな」摂動と1つの追加ポイントPが円の中心である円上に配置されたすべてのポイントを想定します。あなたはPに最も近い点を見つけたい場合は、解雇することはできません任意のグラフ内の他のポイントのを。
コラプサー14年

4
私たちの脳は本当に素晴らしいからです!安い答えのように聞こえますが、それは本当です。私たちは、(明らかに超並列の)画像処理がどのように機能するかについて、あまり多くを知りません。
カールウィットフト14年

7
基本的に、あなたの脳は気付かないうちに空間分割を使用します。これが非常に高速に表示されるという事実は、一定の時間であることを意味するものではありません-あなたはある程度の解像度で作業しており、画像処理ソフトウェアはそのために設計されています 前処理を行うために1億個の小さなCPUを使用しているという事実は、はありません。多くの小さなプロセッサで複雑な操作を行うだけです。そして、2Dペーパーへのプロットを忘れないでください-それ自体少なくともでなければなりません。On O(1)O(n)
ルアーン14年

9
すでに言及されているかどうかはわかりませんが、人間の脳の動作は、SISD von Neumannタイプのコンピューティングシステムとは大きく異なります。ここで特に重要なのは、私が理解しているように、人間の脳は本質的に平行であり、特に感覚刺激の処理に関しては、複数の物事を同時に聞き、見、感じることができ、(大体、とにかく)気づくということですそれらすべてを同時に。コメントを書くことに集中していますが、私の机、ソーダの缶、上にぶら下がっている私のジャケット、私の机の上のペンなどを見ることができます。あなたの脳は同時に多くのポイントをチェックできます。
Patrick87 14年

回答:


115

あなたが精神的にすることのあなたのモデルは間違っています。実際、次の2つの手順で操作します。

  1. 時間内に、遠すぎるすべてのポイントを削除します。O(1)
  2. 時間で、ほぼ同じ距離にあるポイントを測定します。Θ M mΘ(m)

ペタンク(ボウル)やカーリングなどのゲームをプレイしたことがある場合、これはおなじみのはずです。ターゲットから非常に遠いオブジェクトを調べる必要はありませんが、最も近い競合を測定する必要があるかもしれません。

この点を説明するために、どの緑色の点が赤色の点に最も近いでしょうか?(1ピクセル強だけですが、最も近いピクセルがあります。)物事を簡単にするために、ドットは距離によって色分けされています。

点の雲

この図には、ほぼ円上にあるポイントと、合計で緑のポイントが含まれています。ステップ1では、約ポイントを除くすべてを削除できますが、ステップ2では、ポイントのそれぞれをチェックする必要があります。はアプリオリな制限はありません。、N » 10 メートルのm個のMm=10n10mmm

物理的な観測により、問題のサイズをポイントのセット全体からポイントの制限された候補セットに縮小できます。このステップは、連続プロセスに基づいているため、一般に理解されている計算ステップではありません。連続プロセスは、計算の複雑さ、特に漸近解析に関する通常の直感の影響を受けません。mnm

さて、あなたは尋ねるかもしれません、なぜ連続プロセスは完全に問題を解決できないのですか?どのようにしてこれらのポイントに到達しますか。なぜプロセスを改良してできないのでしょうか?m = 1mm=1

答えは、少しだまされたということです。私は、最も近いポイントと、さらに近いポイントで構成されるように生成されるポイントのセットを提示しました。一般に、どのポイントが正確な境界内にあるかを判断するには、ポイントごとに実行する必要がある正確な観察が必要です。消去の大まかなプロセスでは、多くの明らかな非候補者を除外できますが、残っている候補者を決定するだけで、それらを列挙する必要があります。n mmnm

このシステムは、離散的な計算の世界でモデル化できます。ポイントは、グリッド上のセルにソートするデータ構造で表されると仮定します。つまり、ポイントはセルのリスト保存されます。最も近いポイントを探していて、このポイントを含むセルに他の多くても1つのポイントが含まれている場合、含まれるセルと8つの隣接セルをチェックするだけで十分です。これらの9つのセルのポイントの総数はです。このモデルは、ヒューマンモデルのいくつかの重要なプロパティを尊重します。X Y X 0Y 0、M(x,y)(x,y)(x0,y0)m

  • mは潜在的に無制限です—ほぼ円上にある点などの退化する最悪のケースは常に可能です。
  • 実際の効率は、データと一致するスケールを選択したかどうかに依存します(たとえば、ドットが紙の上にあり、セルの幅が1 kmであれば、何も保存しません)。

9
さらに、ユークリッド距離がグラフの距離と一致するように、すべてのグラフをプレーンに投影できるわけではありません(たとえば、エッジの重みがメトリックを形成しない場合)。
ラファエル

5
@Raphael私は質問をグラフ理論ではなく計算幾何学に関するものとして理解しましたが、実際これは追加の複雑さです。
ジル14年

2
@Gilles Done計算幾何という用語を学んだばかりです。
ゲリット14年

2
これはちょっとした選択かもしれませんが、あなたが何を表示しようとしているのか理解できますが、色盲の人は「赤に最も近い緑を選ぶ」と、どの点がどれであるかについて多くの頭を悩ますことになります。将来的に考えるべきこと-赤/緑以外の色の組み合わせを選択してください!
tpg2114 14年

3
@ tpg2114赤/緑だけが色覚異常のタイプではないことを忘れないでください。形状(または色以外の属性)で表示することは、「赤/緑以外の色の組み合わせ」よりも包括的です。
ジョナサンヴァンマトレ

42

その理由は、データがこのクエリ用に最適化された「データ構造」に配置され、グラフの準備における前処理時間が測定時間に含まれ、ドット数に比例してO(n)が得られるためです。そこに複雑さ。

各ポイントのX座標とY座標をリストするテーブルに座標を配置する場合、ポイント間の距離を計算し、距離のリストをソートして最小のものを選択するために、はるかに大きな精神的努力が必要になります。

クエリが視覚的にうまく機能しないクエリの例として、夜空を見て、あなたのビューと各星の座標表に基づいて、地球に最も近い星、またはどの占星術記号の距離が最も短いかを見つけますそれが構成する星。ここでは、これを視覚的に判断するためにズームおよび回転可能な3Dモデルが必要になります。コンピューターは、これを元の問題と本質的に同じ問題と見なします。


2
+1-まさにこの点を指摘している人を探してスクロールしていました。受信データの表現は重要です-ソートされたリストとソートされていないリストの中央値を見つけてみてください!
cloudfeet 14年

21

O(1)O(1)


8
円に沿って10億個のポイントを配置することを想像してください。ただし、すべてが少し動揺しているため、ポイントはぼやけたリングになります。中心から最も近いポイントを目で見つけるために、すべてのポイントを1つずつ確認するよりもはるかに良い方法はありません。
ニックアルガー14年

4
@NickAlgerですのでO(numberOfPointsAboutTheSameDistanceFromTheTargetPointAsTheClosestPoint)、に関連してnいるとは限りません。いずれにせよ、これに対する答えは、人間の心がそれをどのように認識し、クエリするかという観点から、可能なデータ構造を提示すべきだと思います。単純にO(1)ではないと言うのは...怠け者ですか?不十分ですか?
ダケリング14年

5
@Dukeling O(何か)は最悪のケースを指します。人間の脳が一定の時間でそれを実行できないレイアウトがある場合、それは間違いなくO(1)ではありません。人間の脳が一定の時間でXポイントを処理できるが、X * 2ポイントをまったく処理できないという制限Xがある場合-O(1)ではありません。
ペティス14年

3
@Dukelingそれは必然的にnに依存します。最悪の場合はnに等しく、n個の任意の点を与えた場合、C * n操作よりも速く行うことは不可能であると予想しなければなりません。
ペティス14年

2
@ピーター
ダケリング14年

15

目視検査の優位性は、一般的に保証できない重要な前提にかかっています。

  • O(n)

  • count:(DWの回答に関するNick Algerのコメントを参照)網膜細胞の数を超えるポイントカウントを想定-関与するすべてのポイントを特定することさえできません。

  • 分散:(DWの回答に関するNick Algerのコメントを参照)規則的な(例えば六角形の)グリッド上の点の集合が小さなランダム摂動を受けると仮定します。これらの摂動が網膜(または他のオーバーレイグリッド)の解像度よりも小さくなると、実際の最小距離を検出するだけでなく、高い確率で間違ったポイントペアを選択することになります。

O(n)O(1)


1
O(n)O(log(n))

O(n)nO(nlogn)n

15
  1. コンピューターは別の問題を解決しています。ラスタライズされたポイントの画像ではなく、ポイントのリストを取ります。リストから画像への変換、つまりポイントの「プロット」にはO(n)時間がかかります。

    早く!(1,2)に最も近いもの:

    • (9、9)
    • (5、2)
    • (3、-2)
    • (4、3)
    • (0、4)
    • (1、9)

    もっと難しいですよね?リストの作成を2倍にすると、2倍の作業が必要になると思います。

  2. あなたはあなたの脳がどれだけの仕事をしているのか知らない。どちらのポイントが近いかを「ただ知る」だけではありません。あなたの脳は、その答えを見つけ出し、それを利用可能にするための計算作業を行っています。脳は各ポイントで並行して動作するため、終了する時間はほぼ同じままですが、必要な作業量はポイントの数とともに増加します。


13

同じ理由で、三角形を見て、三角形であることを知っていると、気付かずに何百万もの計算を忘れています。

ニューラルネットワーク

実際、あなたは大量のデータに基づいて訓練され、大量にロードされたニューラルネットワークです。

例として、幼児の形状分類ゲームを取り上げます。

ここに画像の説明を入力してください

子供が最初にこれと対話するとき、彼らはまだ彼らの脳を訓練していないか、ネットワークを構築するのに十分なデータに出会っていないので、彼らは間違った穴に形を挿入しようとするでしょう。彼らは、どの形状が穴に適合するかを決定するために、エッジ、サイズなどについて仮定することができません。

あなたはこれらの接続を構築しているので、これはあなたに明白なようです(私は願っています)、あなたはそれが直感的であり、それを分解する必要がないと考えるかもしれません、エッジなどをカウントします。これは真実ではありません。あなたは潜在意識でそれをすべて行いました。あなたが持っていた唯一の意識的思考はそれが三角形であるということでした。視覚的な表現を取得し、それが何を表しているのかを理解し、個々の要素が何であるかを理解してから距離を推定することで、何百万もの計算が行われました。

あなたの脳はバイナリではありません

脳が機能するデータはバイナリではなく(私たちが知る限り)、真でも偽でもありません。データを解釈するために使用する多くの状態を保持します。これは、データが頻繁に変更されるためです。私たちの脳は、読むまでビットがおおよその状態にある量子コンピューターのように機能すると推測するのは危険です。つまり、私たちの脳がまったくコンピューターのように機能する場合、それは本当に知られていないのです。

したがって、バイナリデータを操作するアルゴリズムは同じようには機能しません。2つを比較することはできません。頭の中では、はるかに多くの情報を保持する豊富なデータ型を実行するための概念を使用しており、明示的に定義されていないリンクを作成することができます。三角形を見ると、月の表紙のピンクフロイドのダークサイドを思い浮かべるでしょう。

ここに画像の説明を入力してください

散布図に戻りますが、ビットマップを使用し、半径が増加しているポイントから別のポイントに到達するまでの距離を測定するコンピューターでこれを実行できなかった理由はありません。これはおそらく、人間の近似値に最も近いものです。データの制限のため、また脳が必ずしも計算の複雑さを気にせず、物事を行うために複雑なルートを取るため、はるかに遅くなる可能性があります。

O(1)ではなく、nがポイント数の場合はO(n)でもなく、その複雑さは、選択されたポイントから画像の境界までの最大直線距離に依存します。

tl; dr

あなたの脳はバイナリコンピューターではありません。



8

1つの重要なステップを忘れています:見ているグラフにそれらのすべてのポイントプロットします。

これは必然的にO(n)操作です。

この後、コンピューターは画像認識ソフトウェアを使用して、人間の目とほぼ同じ方法で中心に最も近い点を見つけることができます。これは、O(sizeOfImage)操作の最悪の場合です。

人間がコンピューターと同じことをするためには、コンピューターが座標のリストを取得し、一度に1つしか見ることができないことを忘れないでください。


1
一定の「解像度」を選択した場合、ポイントごとに時間O(log(resolution))のアルゴリズムを使用してそれらをプロットし、関心のあるポイントに「近い」すべてのポイントを特定できます。O(log(resolution))は、点を紙上に正確にプロットするのにそれほど正確ではない場合よりも時間がかかるという事実にあいまいに類似しています。また、解像度を上げると、アルゴリズムの全ポイントあたりのコストが増えて非候補ポイントが削除されますが、非隣接ポイントの数は削減されます。
supercat

7

質問の私の解釈:

この質問は、計算幾何学的な複雑さの問題として単純に解釈されるとは思わない。次のように理解する必要があります。可能な場合、一定の時間内に答えを見つける能力を知覚します。この認識を説明するもの、およびこの説明まで、そして人間の限界まで、コンピューターも同様に行うことができます。

O(1)O(log(n))

これは、私たちの知覚は実際の物理的尺度の対数スケールで測定されるべきであると述べているウェーバー・フェクナーの法則によって補強されるかもしれません。つまり、絶対的な変動ではなく相対的な変動を知覚します。これは、たとえば音の強さがデシベルで測定される理由です。

O(log(n))Oψ(log(log(n)))Oψ

Oψ(log(log(n))) これは、すべての実用的な目的のために、おそらく定数と知覚的に区別できず、認識プロセスを開始して結果を確認するために一定の時間を追加する必要があります。

生理学的限界を考慮に入れる

上記の結論は、画像取得手順を検討する際にさらに持続します。

OPは、複数のクエリで償却される「クアッドツリーなど」の適切なデータ構造の構築を慎重に分離しました。

これは、イメージを記憶していないほとんどの人には機能しません。画像はクエリごとにスキャンされると思いますが、それはすべてのポイントをスキャンすることを意味するものではありません。最初のクエリではなく、後のクエリでもありません。

TscanTscan

mOψ(log(log(m)))

227log2(27)

使用される実際の単位を知らなくても、これは、処理のばらつきが他の一定時間の操作と同じ次数で最悪であることを単に示しています。したがって、最も近い点を見つけるために知覚される時間が一定であると感じることは非常に自然です。。。最も近いポイントを決定するか、より近いポイントのセットのみを決定するか。

反例と可能な解決策について

もちろん、より近い点の小さなコレクションの中で、最も近い点の目での決定を非常に困難にする反例を簡単に作成できます。これが、OPが実際に、最も近いポイントを除くほとんどのポイントを迅速に除去するアルゴリズムを求めている理由です。いくつかの近接ポイント間で選択するのが困難であるというこの問題は、多くの答えで解決されており、最も近いポイントの例は参照ポイントの周りのほぼ円上にあります。通常、Weber-Fechnerの法則は、十分に長い距離にわたって小さな距離の変動を区別することを禁止しています。この効果は、除去されたとしても距離の知覚を歪める可能性がある他のポイントの存在によって実際に増加する場合があります。したがって、最も近いポイントを特定しようとすると、より困難なタスクになります。一定の時間感を完全に破壊するような、器具の使用などの特定の検査手順が必要になる場合があります。しかし、OPによって検討された実験の範囲外であることは明らかであるため、あまり適切ではありません。

回答する質問(OPが実際に尋ねる質問)は、ほとんどのポイントを削除する方法があるかどうかです。ただし、参照ポイントまでの距離が非常に似ていると思われる残りの少数を除きます。

O(log(n))

すべてのポイントを検討する必要があるため、償却後のコストを拒否しても、コンピューターソリューションは使用できません。これは、脳と人間の知覚の計算能力の大きな違いを強調していますデジタル計算とはまったく異なる特性を持つアナログ計算を使用できます。これは通常、数十億個のポイントが目で区別できない場合に当てはまります。目は、さまざまな濃淡の大きな雲以外のものを見る解像度を持ちません。しかし、目は関連する小さい部分に焦点を合わせ、関連するものを含む境界のあるポイントを見ることができます。すべてのポイントを個別に知る必要はありません。コンピューターが同じことを行うには、各ポイントの正確な数値座標ではなく、同様のセンサーを与える必要があります。これは非常に異なる問題です。

「単なる目視検査」は、いくつかの点でデジタル計算よりもはるかに強力です。また、脳の計算能力だけでなく、センサーの物理的性質も原因です。


O(1)O(logn) O(1)O(1)O(logn)単なる知覚認識を超えたタスクを解決する場合、たとえば、ラベル付きノードを備えたバランスの取れたバイナリヒープのグラフィカル表現で特定の数値を見つける。グラフィックスをローカルで検査するだけなので、知覚的な制約は重要ではありません。
collapsar

n

Oψ(log(log(n)))

4

試験の生徒には、配列を並べ替える速度を尋ねられたときに、コンピューターは愚かであり、n * log(n)(またはそれ以上)が必要であると主張しますが、人間はより速く行うことができます。

私の教授の返事はいつも:10.000項目のリストを提供します。コンピューターが行うよりも速い方法を思いつくことができるかどうかを見てみましょう。

そして、最も近いポイントを見つけようとすると、処理コアがいくつ含まれますか?あなたはシングルプロセッサマシンではなく、ニューラルネットワークを持っています。このようなタスクに関しては、ある程度の柔軟性があります。


1
さらに、データについて知っていることや、並べ替える必要があるときに利用できるリソースについてのさまざまな側面もあります。たとえば、仲間の生徒が自分の部屋に完全に収まらないものをソートする必要がある場合。
トールビョールンラヴンアンデルセン14年

@ThorbjørnRavnAndersen:これは、スペースの複雑さが「部屋に完全に収まらないもの」であることがどれほど重要かを理解するのに良いものです8 ^)
Zane 14年

3

@ Patrick87があなたに手がかりを与えたと思います:あなたの目と脳は超並列計算機です。これは問題を説明しないと主張する人もいます。なぜなら、arbitrarily意的に大きな問題に対しては、有限数の並列プロセッサが違いを生まないからです。

しかし、ここでもそうです。多くの人が示唆しているように、あなたの目(および脳)はこの問題を解決する能力が限られています。そしてこれは、通常の人間の視線の範囲内で任意の数のポイントを収めることができないためです。最初は目を区別できるようにする必要があります。目が多すぎる場合、目が違いに気付かないほど目が近くなります。結論:通常の視界に収まる十分なポイント、つまり非常に少ないポイントに対して高速です。それ以外の場合は失敗します。

したがって、あなたの脳が簡単に処理できる小さくて単純な場合には、O(1)でこの問題を解決できます。それを超えて、それはできません。したがって、失敗する可能性が高いため、O(何でも)でさえありません。


1

この問題は、空間インデックスを備えたコンピューターで非常に迅速に解決できるとは誰も言及していません。これは、画像内のポイントをプロットして目ですばやくスキャンし、ほとんどのポイントを削除することと同じです。

Googleや他の人がGeohashと呼ばれる最も近いポイントを見つけるために使用する非常に優れたインデックスアルゴリズムがあります。http://en.wikipedia.org/wiki/Geohash

これは、コンピューターを支持してコンテストをさらに盛り上げると思います。線形思考を使った答えのいくつかには感心しませんでした。


Θ(n) Θ(lgn)

ポイントは、空間インデックスを使用すると、点が散らばっている画面を見るのとほぼ同じくらい簡単になるということです。
reinierpost 14年

1

ユークリッド空間のn次元の点集合で最近傍を見つける場合を考えると、複雑さは通常、大きくなる(つまり、データセットのサイズより大きくなる)次元の数によって制限されます。

O(logd2n)

グラフ内のノードに最も近い点を見つける問題には、十分に小さな歪みでグラフをユークリッド空間に埋め込むことができるときはいつでもユークリッド式があります。また、重み付きの隣接リストを使用して、隣接リストを作成する必要があります。

O(1)


-1

他の答えは良いですが、元の質問の基本的な推論/前提を極端に拡張して、いくつかの誤りを示す禅の反対の質問はどうですか[ AI研究の中核のパラドックスでもあります]:

人間の知性で考えることができるなら、なぜ人間と同じように考えるコンピューターを作成できないのですか?

あなたの質問に答えるには複数の方法がありますが、基本的に、私たちの思考プロセスと脳の知覚能力は必ずしも内省にアクセス可能ではなく、私たちがそれらに適用する内省は誤解を招く可能性があります。たとえば、オブジェクトを認識することはできますが、これを可能にするために進行する準アルゴリズムのプロセスを知覚/説明する方法はありません。また、微妙な歪みが現実の私達の認識にし、特定の時間知覚にあります示し、多くの心理学の実験があり、例えば参照時間の知覚を

科学者は一般に、人間の脳は実際にアルゴリズムを採用しているが、コンピューター化されたアルゴリズムとは異なる機能を果たしていると考えられ/推測されており、また、ニューラルネットワークを介して脳内で非常に大量の並列処理が行われているため、賢明に比較できない順次コンピューターアルゴリズム。哺乳類では、脳容積全体のかなりの割合が視覚処理専用です。

言い換えれば、人間の脳は多くの点で高度に最適化されたビジュアルコンピューターであり、実際には多くの点で、オブジェクト認識などの現在の世界最大のスーパーコンピューターを超える能力を持っていますが、それは欠陥によるものです(比較)数百万年にわたって高度に調整/進化/最適化された生物学と比較して、人間が構築したソフトウェア/ハードウェアで。


O(f(n))

-2

一般的に言えば、2つの異なる問題を解決しているので、同じ競争に参加する場合、両方にとって複雑さはO(1)になります。どうして?状況をもう少し簡単にしましょう-1つの赤い点とn個の緑の点がある線があると仮定します。あなたの仕事は、赤い点に最も近い緑の点を見つけることです。すべてがグラフ上にあります。これで、あなたがしていることとあなたがプログラムしていることは基本的に同じです-赤い点から「両方向に」離れて、見ているピクセルが白/黒(背景)または緑であるかどうかを確認してください。現在、複雑さはO(1)です。

興味深いのは、いくつかのデータ表示方法がいくつかの質問にすぐに答えを出すことです(O(1))。基本的な例は非常に単純です-黒の画像で白いピクセルを数えるだけです(各ピクセル値は0 =黒または1 =白です)。あなたがする必要があるのは、すべてのピクセル値を追加するだけです-複雑さは1つの白いピクセルと1000で同じですが、それは画像サイズに依存します-O(m)、m = image.width * image.height。もっと速くすることは可能ですか?もちろん、私たちが行う必要があるすべてがある画像を保存する別の方法で使用される積分画像をここに画像の説明を入力してください (すでに計算された積分画像をお持ちの場合)今すぐ結果を計算することはO(1)です。別の方法は、すべての白いピクセルをarray / vector / list / ...に保存し、サイズをカウントするだけです-O(1)。


O(1)O(1)

@FrankW-それで、「立ち去る」ことの複雑さは何ですか?私はあなたが間違っていると言っているのではなく、ただ知りたいだけです。配列/ベクトル/リストのサイズをカウントする-一般的に配列サイズは一定なので、カウントする必要はありません、ベクトル-わからない、私はそれが実装に依存すると言いますオブジェクトなので、それを数える必要はありません)、リスト-あなたは正しい、それはO(1)ではない-私の間違い。
cyriel 14年

kkO(#pixels)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.