アルゴリズム自体は、2つのステートメントと2つの定理に基づいています。その証明は、かなりの量があるため、ここでは示しません。
最初に、実際に探しているものを決定します。
有限集合を与えよう



サブファミリーを見つける


次のステートメントは、最小および最小カバレッジの概念を定義しています。
ステートメント1
サブファミリーへ



カバリングSは、「カバリングSがない場合、最小と呼ばれます」

カバリングS *は、最小限のカバリングSの場合、最小と呼ばれます。

ステートメント2
カバレッジ



そして、最も基本的な。
有限集合を与えよう



完全にロードされたグラフを作成します




そして各rib骨に


示す




定理1
最小電力サブセット



最小カバレッジを決定します





定理2
最小電力サブセット





最小のカバレッジを決定します





定理に基づいて、最小のカバレッジを見つけるための次のアルゴリズムが提案されています。
1.多くの








それ以外の場合は、手順2に進みます。
2.完全にロードされたグラフを作成する


トップ


リブ


3.カバレッジの存在を確認します:任意の頂点について


どこで



もし

もし

4. t:= 0と入力します。
5.完全にロードされた列



もし

そうでない場合、最小カバレッジを定義するD頂点のセットを構築する手順

6.完全にロードされたグラフを作成する





置く


t:= t + 1と入力して、ステップ5に進みます。
7.最小カバレッジを定義する頂点のセットDの構築の開始

置く

8. t = 0の場合は手順11に進み、そうでない場合はt:= t-1を入力します。
9.列


10.列にある場合



11.ファミリー



アルゴリズムの終わり。
アルゴリズムの複雑さを評価してみましょう。
アルゴリズムの本質は、いわば(複雑性評価の観点から)、「完全なロードグラフを構築します」というフレーズに含まれています。
n個のアクションを実行して、グラフのn個の頂点での負荷を計算し、(n-1)n / 2個の計算(グラフ全体の端の数による)グラフの端の負荷を実行する必要があります。 そして、これらすべてが、最悪のケースを考慮すると、サブセットが交差しない場合、n-2回実行されます。 したがって、概算はO(n)= n 3 + n 2です。
そして結論として。 アルゴリズムへの私の関与が疑わしいため、投稿が招待に値するかどうかはわかりません。 しかし、この出版物は価値があるように思えます。 モデレーターが整理することを望みます。
ギリシャ人はそこで何と言いましたか? -Fais se que dois adviegne que peut(あなたがしなければならないことをして、何が起こるか)。
(または彼らはローマ人でしたか?)