セグメントの範囲を結合するアルゴリズム - 作成の支援

 

セグメントの断片(範囲)を、セグメントを交差させることなく1つのセグメントに結合し、後で埋められる可能性のあるギャップを持つアルゴリズムを作るのを手伝ってください。

最初は、ある範囲の数値の配列があり、数値は繰り返すことができます。この配列は、ボーダーでセグメントに分割されています。境界は異なるアルゴリズムで生成され、通常、境界は均一ではないので、異なる方法でスライスされた数値の配列は、各範囲が異なるサイズを持っていることが判明しました。次に、それぞれのセグメントを3つの基準で評価する。それぞれの基準には境界線があり、その境界線に従わない場合は、その範囲の一部が除外される。その結果、次のような内容のテーブルが得られます。

i - 範囲のシーケンス番号.

S - 範囲の開始境界。

F - レンジエンドの境界線.

R - 基準1;

dP - 基準番号 2;

K_SCO - 基準番号3。

K_Svod - 全基準の評価まとめ。

下図は、チャンク(セグメント)を平面上に配置する方法を示しています。

ピースの横にある3色のチェックマークは、問題に対する解決策の候補です。

アルゴリズムは、条件を満たすように、問題に対する様々な解の組み合わせを提供する必要があります。

1.セグメントが範囲をまたがずに一致する(S>=A && F<B)。

2.つまり、選択された変種と利用可能な変種から、完全性と最大密度を得ることができるのです。

3.セグメントの並びは、類似の組み合わせを排除するために、順番に並んでいます。

4.K_Svodによる上位30%の 中から、少なくとも1本のベストバーを使用する- 組み合わせを減らし、ベストスコアの優先順位を保つ ために。

品質推定は、K_Svodに従って 全セグメントの合計を最大化するのが理想的ですが、フィルスペース/スペースを推定するために少し補正 する必要があるかもしれません。

もしかしたら、私が間違った用語を使っていて、私の問題はとっくに解決しているかもしれません。

 
Aleksey Vyazmikin:


1) K_Svod - 全基準の総合評価。

2) 下図は、平面上にどのようにピース(セグメント)を配置できるかを示しています。

3) 範囲が交差しないようにセグメントをマッチングする (S>=A && F<B);

1)これは何なのか、なぜXなのか?

2)何が正しくて何が間違っているのかを絵で示した方が良い。

3)「A」とは何か、「B」とは何か?

4) データテーブルの「モックアップ」も作成し、納得のいく解答を示そう
 
グラフ理論で解決できる可能性がある。グラフの頂点はセグメントであり、グラフの矢印は各頂点とそれに続くすべての可能な頂点(最も近い許容セグメント)を結ぶ。各頂点と矢印には重みが付けられており、各経路の重みをカウントするルールが定義されている。グラフ内の最適な経路を見つけるための何らかのアルゴリズムが適用されます。この問題をより詳細に調査する準備ができていない)
 
mytarmailS:

1)何なのか、なぜXなのか?

2) 何が正しくて何が間違っているのか、絵で示したほうがいいのでは?

3)「A」とは何か、「B」とは何か?

4) データテーブルの「モックアップ」も作成し、納得のいく解答を示すこと

1.3つの評価全てから派生したもので、Xはまだ重さを決めていないことから、本質的なものではありません。

2.正しい解答は、セグメント(セグメントとセグメントの間に空白がある可能性のある線)で空間を埋めることです。上の図では、3つの解答の可能性にそれぞれ色をつけています。例えば、すべてのセグメントの割り当て範囲の合計ができるだけ大きくなるように、さらにヒューリスティックを考えることは可能ですが、合計以外にK_Svodの 値も重要です。

3) これはセグメント内の数字の値なので、A1>=S1 && A1<F1 && F1<S2 と書くとよいでしょう。

4.解決策としては、インデックスを持つ配列にすることでしょう。あるいは質問を理解していなかった。アルゴリズム、どうやったらうまくできるのか、わからない。

 
Aleksey Nikolayev:
おそらく、グラフ理論で解けると思います。グラフの頂点はセグメントであり、グラフの矢印は各頂点とそれに続くすべての可能な頂点(最も近い許容セグメント)を結ぶ。各頂点と矢印には重みが付けられており、各経路の重みをカウントするルールが定義されている。グラフ内の最適な経路を見つけるための何らかのアルゴリズムが適用されます。この問題をより詳細に調査する準備ができていない)

アイデアありがとうございます。各インデックスiの先頭からシーケンスを構築し、その結果の組み合わせを評価することは可能だと思います。必要なのは選択基準、あるいは複数の基準で、さまざまな組み合わせを得ることです。あるいは条件をランダム化するとか...。はまだはっきりしていない。

 
Aleksey Vyazmikin:

1.3つの評価から派生したもので、Xはまだウェイトを決めていないことからで、本質的なものではありません。

2.正しい解答は、セグメント(セグメントとセグメントの間に空白がある可能性のある線)で埋めることです。上の図では、3つの解答の可能性にそれぞれ色をつけています。さらにヒューリスティックを考えることも可能で、例えば、すべてのセグメントの割り当て範囲の合計ができるだけ大きく、しかし合計以外にK_Svodの 値も重要であるとします。

3) これはセグメント内の数字の値なので、A1>=S1 && A1<F1 && F1<S2 と書くとよいでしょう。

4.解決策としては、インデックスを持つ配列にすることでしょう。あるいは質問を理解していなかった。アルゴリズムは、どうすればもっと良くなるのか、私にはわかりません。

まだ、わからないんです。

 
Aleksey Vyazmikin:

アイデアありがとうございます。各インデックスiの先頭からシーケンスを構築し、その結果の組み合わせを評価することは可能だと思います。必要なのは選択基準、あるいは複数の基準で、さまざまな組み合わせを得ることです。あるいは条件をランダム化するとか...。はまだはっきりしていない。

また、ダニはどこにあるのか、そのダニに属するセグメントというのは何か基準があるのでしょうか。
基本的に、3つのティックを取得します。青、赤、緑
つまり、この例では、3つの識別子がある。
これらの識別子を何らかの方法で割り当てると、3つの主要な配列に 連結することができる。


この識別子を使ってメインの受信配列を定義し、このサイズだけ容量を 増やす。 この
識別子を使って 配列の最後にセグメントを挿入する。そこで、セグメントがこのチェックボックス(識別子)に属するという何らかの基準を定義する必要がある。

 
mytarmailS:

ふーん、そうなんだ

わからないことははっきりさせてください-別の言葉で説明するようにします。

 
Roman:

しかし、どこのダニかというと、そのダニに属するセグメントという何らかの基準を持っているのでしょうか。
基本的に、3つのティックがありますね。青、赤、緑
つまり、この例では、3つの識別子がある。
これらの識別子を何らかの方法で割り当てると、3つの主要な配列に 連結することができる。


識別子によって、基本的な受信配列を定義し、その サイズだけ容量を増やす。
識別子によって、セグメントを配列の末尾に挿入する。

セグメントを描いてから、それを組み合わせるという選択肢を示そうと思い、重ならず、かつ一緒に大きな面積を占める組み合わせに注目したのです。なお、セグメントの中には刻みが2つあるものがあり、これはそのセグメントが複数の組み合わせで存在する可能性があることを意味します。

つまり、データ処理開始前の識別子は存在しない。
 
Aleksey Vyazmikin:

線分を描いてから、それを組み合わせるという選択肢を示そうと思い、交差しない組み合わせで、より大きな面積を占めるものを探しました。なお、セグメントの中には刻みが2つあるものがあり、これはそのセグメントが複数の組み合わせで存在する可能性があることを意味します。

すなわち、データ処理開始前の識別子は存在しない。

おそらく、このアルゴリズムに基づき、各セグメントを何らかの基準で識別し、識別子を割り当てることができるのでしょう。
また、あるセグメントが複数の組み合わせに なることは、 メイン配列に 再度追加する必要があるかどうかによります。
項演算子や条件演算子を使って、ロジックを弄ってください。

 
Roman:

おそらく、このアルゴリズムに基づき、各セグメントを何らかの基準で識別し、識別子を割り当てることができるのでしょう。
また、あるセグメントが複数の組み合わせに なることは、 メイン配列に 再度追加する必要があるかどうかによります。
項演算子や条件演算子を使って、ロジックを弄ってください。

だから、そもそもアルゴリズムがないんです :)各セグメントは序数で識別され、座標(X軸)とその座標におけるある種の効用推定値に関する情報を持っています。

今のところ思いつくのは、最初のセグメントから最も近いセグメントを選ぶということくらいです。この方法なら、最初の3つは最も近いものを選び、セグメントの数に応じて、組み合わせの数を増やすことができるかもしれません。

理由: