タグ付けされた質問 「optimization」

利用可能な代替案のセットから最適な要素を選択することを伴う問題、およびそれらを解決する方法に関する質問。

3
nで割り切れる最大の合計
StackOverflowでこの質問をしましたが、ここがより適切な場所だと思います。 これは、アルゴリズムコースの概要からの問題です。 n個の正の整数を持つ配列があります(配列を並べ替えたり、要素を一意にする必要はありません)。示唆O (N )で割り切れる要素の最大和見つけるためのアルゴリズムをnと。aaannnO(n)O(n)O(n)nnn 例: = [ 6 、1 、13 、4 、9 、8 、25 ] 、N = 7。答えは56(要素と6 、13 、4 、8 、25)a=[6,1,13,4,9,8,25],n=7a=[6,1,13,4,9,8,25],n=7a = [6, 1, 13, 4, 9, 8, 25], n = 75656566,13,4,8,256,13,4,8,256, 13, 4, 8, 25 それはそれを見つけることは比較的簡単です動的プログラミングを使用して、残りで最大の和を格納0 、1 、2 、。。。、n − 1。O(n2)O(n2)O(n^2)0,1,2,...,n−10,1,2,...,n−10, 1, 2,..., n - 1 また、我々は要素の連続配列に注意を制限した場合、それはに最適なシーケンスを見つけるのは簡単だ時間、部分和を格納することによって、モジュロN:聞かせてS …

4
セットのセットが与えられると、各セットから少なくとも1つの要素を含む最小のセットを見つけます。
集合を考えるとセットの、私はセットを見つけるしたいMは、すべてセットするようなSにおけるSは、少なくとも一つの要素が含まMを。また、この基準を満たしながら、Mにできるだけ少ない要素を含めるようにしますが、このプロパティには複数の最小のMが存在する場合があります(ソリューションは必ずしも一意ではありません)。SS\mathbf{S}MMMSSSSS\mathbf{S}MMMMMMMMM 具体例として、セットが国旗のセットであり、Sの各フラグSの要素がその国旗で使用される色であると仮定します。米国はS = { r e d 、w h i t e 、b l u e }であり、モロッコはS = { r e d 、g r e e n }です。その後、MSS\mathbf{S}SSSSS\mathbf{S}S={red,white,blue}S={red,white,blue}S = \{red, white, blue\}S={red,green}S={red,green}S = \{red, green\}MMMは、すべての国旗がの色の少なくとも1つを使用するプロパティを持つ色のセットです。(青、黒、赤、緑、黄、白のオリンピック色は、このようなMの例であり、少なくとも1920年にはそうでした。)MMMMMM この問題の一般的な名前はありますか?セットを見つけるために受け入れられた「最良の」アルゴリズムはありますか?(計算の複雑さのためにプロセスを最適化するよりも、ソリューション自体に興味があります。)MMM

5
要素の最大のセットを見つける方法
アルゴリズムに問題があります。 TTTnnnSSSTTTA ∈ Sa∈Sa\in Sa⩾|S|a⩾|S|a\geqslant |S| 例えば: 場合 = [1、3、4、1、3、6]、その後、、[3,3]、[6]又は[3、4、6]又は[4、3、6]とすることができます。STTTSSS で = [7,5、1、1,7、4]、次いで [7、5,7、4]です。STTTSSS この再帰関数を試しました。 function(T): if minimum(T) >= length(T): return T else: return function(T\minimum(T)) 非再帰的なアルゴリズムはありますか?(再帰アルゴリズムをチェックしなかったため、いくつかの欠陥がある可能性があります。)

6
間隔内の2つの数値の最大XORを見つける:二次式よりも良いことはできますか?
lllrrr L ≤ I 、最大(I ⊕ J )最大(私⊕j)\max{(i\oplus j)}L ≤ I 、J ≤ Rl≤私、j≤rl\le i,\,j\le r ナイーブアルゴリズムは、考えられるすべてのペアを単純にチェックします。たとえば、ルビーでは次のようになります。 def max_xor(l, r) max = 0 (l..r).each do |i| (i..r).each do |j| if (i ^ j > max) max = i ^ j end end end max end 私感私たちはより良い次より行うことができます。この問題のためのより良いアルゴリズムはありますか?


1
1962プロクターアンドギャンブルのTSPコンテストの最適なソリューションは何ですか?
1962年、33都市で定義されたユークリッド巡回セールスマン問題の解決策を見つけた場合、1万ドル(今日のお金では約8万ドル)の賞金を獲得できます。 http://www.math.uwaterloo.ca/tsp/history/pictorial/car54.html 写真を見ると、問題は非常に簡単なようです。しかし、問題に関する詳細なリソースを見つけることができませんでした。 正確な距離や最適な解決策など、詳細を知っている人はいますか?

1
正規言語の最大因数分解を見つける
言語ましょうL⊆Σ∗L⊆Σ∗\mathcal{L} \subseteq \Sigma^*規則的で。 の因数分解は、単語の集合のLL\mathcal{L}最大ペア(X,Y)(X,Y)(X,Y)です。 X⋅Y⊆LX⋅Y⊆LX \cdot Y \subseteq \mathcal{L} X≠∅≠YX≠∅≠YX \neq \emptyset \neq Y、 X⋅Y={xyX⋅Y={xyX \cdot Y = \{xy | x∈X,y∈Y}x∈X,y∈Y}x \in X, y \in Y\}。 (X,Y)(X,Y)(X,Y)各ペアの場合に最大である(X′,Y′)≠(X,Y)(X′,Y′)≠(X,Y)(X',Y') \neq (X,Y)とX′⋅Y′⊆LX′⋅Y′⊆LX'\cdot Y' \subseteq \mathcal{L} のいずれかでX⊈X′X⊈X′X \not \subseteq X'又はY⊈Y′Y⊈Y′Y \not \subseteq Y'。 どのペアが最大であるかを見つける簡単な手順はありますか? 例: してみましょう。集合F = { u 、v 、w }が計算されます:L=Σ∗abΣ∗L=Σ∗abΣ∗\mathcal{L} = \Sigma^∗ab …

1
カードゲーム「戦争」の修正版の分析
通常子供たちがプレイする単純なゲームである戦争ゲームは、52枚のトランプの標準デッキを使用して2人でプレイされます。最初は、デッキがシャッフルされ、すべてのカードが2人のプレイヤーに2枚配られます。そのため、それぞれにランダムな順序で26枚のランダムカードがあります。各プレイヤーが両方のデッキのカードとカードの順序を知ることができるように、プレイヤーは両方のデッキを調べることができます(変更はできません)。これは通常、実際に行われるメモですが、ゲームのプレイ方法については何も変更せず、質問のこのバージョンを完全に決定論的に保つのに役立ちます。 次に、プレイヤーはそれぞれのデッキの一番上のカードを公開します。大きい方のカードを公開したプレーヤー(通常の順序:2、3、4、5、6、7、8、9、10、ジャック、クイーン、キング、エース)がラウンドに勝利し、最初にカードを置きます(デッキの一番下にある高いカード)、デッキの一番下にある相手のカード(低いカード)(通常、この順序は強制されませんが、この質問の最初のバージョンを決定論的に保つため、順序が強制されます)。 同点の場合、各プレイヤーは自分のデッキの上から4枚の追加カードを公開します。1人のプレイヤーが示す4枚目のカードが他のプレイヤーが示す4枚目のカードよりも高い場合、より高い4枚目のカードを持つプレイヤーがタイブレーカー中にプレイしたすべてのカードを獲得します。勝者のデッキ(先入れ先出し、つまり古いカードが一番下に配置されます)に続き、敗者のカードが(同じ順序で)続きます。 その後の同点の場合、同点の勝者が決定されるまでプロセスが繰り返されます。一人のプレイヤーがカードを使い果たし、引き分けを続けることができない場合、まだカードを持っているプレイヤーが勝者として宣言されます。両方のプレイヤーが同時にプレイするカードを使い果たした場合、ゲームはタイと宣言されます。 ラウンドは、1人のプレイヤーがカードを使い果たすまで(つまり、デッキにカードがなくなるまで)行われ、その時点で、まだカードを持っているプレイヤーが勝者として宣言されます。 ゲームについてこれまで説明してきたように、結果の決定にはスキルも運も関与していません。52枚のカードの順列の数には限りがあるため、最初にデッキに対処する方法には限りがあり、それに従っています(ゲーム内の唯一の状態情報は両方のプレイヤーのデッキの現在の状態なので)各ゲーム設定の結果はアプリオリに決定できます。確かに、戦争のゲームに勝つことと、同じトークンで負けることです。また、戦争のゲームがネクタイまたは無限ループになる可能性を残します。上記の完全に決定的なバージョンでは、そのような場合もそうでない場合もあります。 ゲームをより面白くしようとするゲームのいくつかのバリエーション(そして、いや、すべてが飲みゲームになるわけではありません)。ゲームをより面白くするために私が考えた1つの方法は、プレイヤーが特定のラウンドで自動「トランプ」を宣言できるようにすることです。各ラウンドで、いずれかのプレイヤー(または両方のプレイヤー)が「トランプ」を宣言できます。一人のプレイヤーが「切り札」を宣言した場合、そのプレイヤーはプレイされているカードに関係なくラウンドに勝ちます。両方のプレイヤーが「切り札」を宣言した場合、ラウンドは同点として扱われ、それに応じてプレイが続行されます。 プレイヤーのトランプ能力を制限するさまざまなルールを想像できます(無制限のトランプは、プレイヤーが毎ターントランプするので、常にタイゲームになります)。このアイデアに基づいて、異なるトランプ制限メカニズムを使用した戦争の2つのバージョン(私の頭のすぐ上。これらの線に沿ったより興味深いバージョンがおそらく可能です)を提案します。 フリークエンシーウォー:プレイヤーは、前のラウンドでトランプしなかった場合にのみトランプすることができます。kkk Revenge-War:プレイヤーは、前のラウンドでラウンドに勝っていない場合にのみトランプすることができます。kkk 次に、上記の各バージョンに適用される質問について説明します。 いくつかの可能な初期ゲーム構成のセットに対して、それを使用するプレイヤーが常に勝つような戦略はありますか(強く勝つ戦略)?もしそうなら、この戦略は何ですか?そうでない場合は、なぜですか? いくつかの可能な初期ゲーム構成のセットに対して、それを使用するプレイヤーが常に勝つか、または引き分けをすることができるような戦略がありますか(勝ち戦略)。もしそうなら、この戦略は何ですか?そうでない場合は、なぜですか? 彼らの初期のゲームの設定には必勝法(すなわち、任意の固定の戦略を用いるプレーヤーが存在しないようなものである常に一定の戦略を用いるプレーヤーで敗北することができますSが" )?もしそうなら、彼らは何であり、説明しますか?SSSS′S′S' 明確にするために、私は「戦略」を、戦略を使用しているプレイヤーが何ラウンドで切り捨てるべきかを決定する固定アルゴリズムとして考えています。たとえば、「できる限りトランプ」アルゴリズムは戦略であり、アルゴリズム(ヒューリスティックアルゴリズム)です。私が尋ねている別の方法はこれです: これらのゲームをプレイするための優れた(またはおそらく最適な)ヒューリスティックはありますか? kkkk = 0k=0k=0

2
行列連鎖の乗算とべき乗
それぞれ1000 × 2と2 × 1000の次元の2つの行列とBがあり、(A B )5000を計算する場合、最初に式をA (B A )4999 Bとして書き換えてから、A Bは1000 × 1000の次元ですが、B Aは2 × 2の次元であるため、数値的に評価します。AAABBB1000×21000×21000\times22×10002×10002\times1000(AB)5000(AB)5000(AB)^{5000}A(BA)4999BA(BA)4999BA(BA)^{4999}BABABAB1000×10001000×10001000\times1000BABABA2×22×22\times2 この問題の一般化されたバージョンを解決したいと思います。以下を含む式を最適化するための合理的な効率的なアルゴリズム(ブルートフォースではない)はありますか? 既知の次元の自由行列変数 任意の部分式の積 自然な力に引き上げられた任意の部分式 ...フリーマトリックス変数を具体的なマトリックス値で置き換えた後、数値的に評価するのに必要な作業が最小になるようにするには? 行列チェーン乗算問題は私の問題の特殊なケースです。 編集: これは暫定的な答えです。直感的には正しいようですが、それが正しいことを証明するものはありません。それが正しいことが判明した場合でも、証明に興味があります。(もちろん、正しくない場合は修正してください。) などのべき乗されたすべての積について、因子のすべての巡回置換を検討します。(A1A2…Ak)n(A1A2…Ak)n(A_1 A_2 \ldots A_k)^n (A1A2…Ak)n(A1A2…Ak)n(A_1 A_2 \ldots A_k)^n A1(A2…AkA1)n−1A2…AkA1(A2…AkA1)n−1A2…AkA_1 (A_2 \ldots A_k A_1)^{n-1} A_2 \ldots A_k A1A2(A3…AkA1A2)n−1A3…AkA1A2(A3…AkA1A2)n−1A3…AkA_1 A_2 (A_3 \ldots A_k A_1 A_2)^{n-1} A_3 \ldots …

2
MIN-2-XOR-SATおよびMAX-2-XOR-SAT:それらはNPハードですか?
との複雑さはどのですか?彼らはPですか?それらはNPハードですか?MIN-2-XOR-SATMIN-2-XOR-SAT\text{MIN-2-XOR-SAT}MAX-2-XOR-SATMAX-2-XOR-SAT\text{MAX-2-XOR-SAT} これをより正確に定式化するには、 Φ ( x)= ∧ん私C私、Φ(バツ)=∧私んC私、\Phi\left(\mathbf x\right)={\huge\wedge}_{i}^{n}C_i, ここで、あり、各節の形式はまたはです。x =( x1、… 、xメートル)バツ=(バツ1、…、バツメートル)\mathbf{x} = (x_1,\dots,x_m)C私C私C_i(x私⊕ Xj)(バツ私⊕バツj)(x_i \oplus x_j)(x私⊕ ¬ Xj)(バツ私⊕¬バツj)(x_i \oplus \neg x_j) 問題がに割り当て見出すことであるを満たすこと。この問題は、線形方程式modシステムに対応するため、にあります。2-XOR-SAT2-XOR-SAT\text{2-XOR-SAT}バツバツ\mathbf{x}ΦΦ\PhiPPP222 問題がに割り当て見出すことである満たされる節の数を最大にします。問題がに割り当て見出すことである満たされる節の数を最小限に抑えます。これらの問題の複雑さは何ですか?MAX-2-XOR-SATMAX-2-XOR-SAT\text{MAX-2-XOR-SAT}バツバツ\mathbf{x}MIN-2-XOR-SATMIN-2-XOR-SAT\text{MIN-2-XOR-SAT}バツバツ\mathbf{x} MINまたはMAX-True-2-XOR-SAT NP-hardに触発されていますか?

3
抽象ゲームの最適戦略
私はインタビューで次の問題を与えられました(過去に自分のやり方をだまそうとするのではなく、すでに解決できていません):ゲームは正の整数始まります。(たとえば、A 0 = 1234。)この数値はバイナリ表現に変換され、Nは1に設定されたビット数です。(たとえば、A 0 = b 100 1101 0010、N = 5。)A0A0A_0A0=1234A0=1234A_0 = 1234NNN111A0=b100 1101 0010A0=b100 1101 0010A_0 = b100\ 1101\ 0010N=5.N=5.N = 5. プレイヤー1は、A 0よりも小さい数字選択します。B 0は 1に1ビットのみが設定されていなければならない(例:B 0 = B 10 0000 0000 = 512ましょう。)A 1 = A 0 - B 0。(例A 1 = 1234 - 512 = 722 …

1
サンタよりもルパートにとってプレゼントの袋を詰めるのは簡単ですか?
または:プレゼントを受け取るためにルパートが必要ですか? ルーティングの問題は別として、サンタは次の問題に直面しています(何度も何度も): capacity¹とバッグを考えるとCCCやプレゼントの集合{ p1、… 、pn}{p1、…、pn}\{p_1, \dots, p_n\}サイズでそれぞれ、s私s私s_iは、彼は子供たちが作りたい{ c1、… 、ck}{c1、…、ck}\{c_1, \dots, c_k\}幸せ。彼は子供のことを、すべての希望リストから知っているcjcjc_j値存在p私p私p_i正確にvi 、j∈ Q≥ 0v私、j∈Q≥0v_{i,j} \in \mathbb{Q}_{\geq 0}多くを。 これはプレゼントの(対で互いに素)セットそのすべてフィットして、それぞれの子のために選択すること、すなわち私j⊆ [ 1 .. n ]私j⊆[1 ..n]I_j \subseteq [1..n] 、∑J ∈ [ 1 .. K ]∑I ∈ Ijs私≤ C∑j∈[1 ..k]∑私∈私js私≤C\qquad\displaystyle \sum_{j \in [1..k]} \sum_{i \in I_j} s_i \leq C そして、可能な限り多くの幸福が続きます²、すなわち ?マックス!∑J ∈ [ …

2
スケジューリング問題のこの特殊なケースは線形時間で解決できますか?
学生のアリスは、今後数週間にわたって多くの宿題をします。宿題の各項目には、ちょうど1日かかります。また、各アイテムには期限があり、期限に間に合わなかった場合、成績にマイナスの影響があります(実数、比較可能性のみを想定した場合のボーナスポイント)。 (期限、成績への影響)のリストを指定して、成績への悪影響の合計を最小化する、その日のうちに宿題を行うスケジュールを計算する関数を作成します。 すべての宿題は最終的に行われなければなりませんが、彼女がアイテムの締め切りに間に合わなかった場合、彼女がそれを遅らせることは重要ではありません。 別の定式化では: ACME corpは、顧客に水を供給したいと考えています。彼らはすべて1つの上り坂に沿って住んでいます。ACMEには、通り沿いにいくつかの井戸があります。各井戸には、1人の顧客に十分な水が供給されます。顧客は、提供する金額を変えて入札します。水は下り坂でしか流れません。提供する顧客を選択して、収益を最大化します。 バケットの並べ替えを使用して期限を並べ替えることができます(または、既に期限で並べ替え済みであると仮定します)。 グレードの影響を降順に並べ替えれば、貪欲なアルゴリズムで問題を簡単に解決できます。その解決策はO(n log n)に勝るものはありません。 Median of Mediansとランダム化線形最小スパニングツリーアルゴリズムに触発され、単純なスケジューリング/フローの問題を(ランダム化?)線形時間でも解決できると思います。 を探しています: (潜在的にランダム化された)線形時間アルゴリズム または、線形時間は不可能であるという議論 踏み台として: 期限までにどの項目を実行できるかを知るだけで、完全なスケジュールを線形時間で再構築するのに十分であることをすでに証明しました。(この洞察は、証明書についてのみ質問している2番目の定式化の根底にあります。) 単純な(積分!)線形プログラムでこの問題をモデル化できます。 このプログラムの双対性を使用すると、双対プログラムの解も与えられている場合、候補の提案された解の最適性を線形時間で確認できます。(両方の解は線形のビット数で表すことができます。) 理想的には、グレードの影響の比較のみを使用し、そこでの数値を想定しないモデルでこの問題を解決したいと考えています。 この問題には2つのアプローチがあります。1つは期限とインパクトを使用したトレープに基づいており、もう1つはランダムピボット要素の選択とインパクトによるアイテムの分割に基づいています。どちらもO(n log n)を強制する最悪の場合、またはパフォーマンスを低下させますが、両方のパフォーマンスを低下させる単純な特殊なケースを作成することはできませんでした。

1
サブセットを選択して、ポイント間の最小距離を最大化する
点セットがCCCあり、各点間の距離がありますD (P私、Pj)D(P私、Pj)D(P_i,P_j)。これらの距離はユークリッドですが、ポイントは実際には特徴空間にあります。 CCCポイントから、nnnポイントのサブセットを選択します。このサブセットを呼びsssます。新しいセットすべてのポイント間の最小距離を最大化するように、このサブセットを選択しますsss。 最大S ⊂ C| s | =n⎛⎝⎜分I 、J ∈ Si ≠ jD (P私、Pj)⎞⎠⎟最大s⊂C|s|=n(分私、j∈s私≠jD(P私、Pj)) \max_{\substack{s \subset C \\ |s| = n}} \left( \min_{\substack{i,j \in s \\ i \neq j} } D \left( P_i, P_j \right) \right) 現在、私はこの問題を解決するために山登りを使用しています。シミュレーテッドアニーリングがより良い解決策を提供する可能性があることを理解しています。 このタイプの問題に対する既知の解決策はありますか?または、この問題を簡単に解決できる別の問題に再定式化できますか?

5
データサイエンスvsオペレーションズリサーチ
タイトルが示すように、一般的な質問は次のとおりです。 DSとOR /最適化の違いは何ですか。 概念的なレベルでは、DS は利用可能なデータから知識を抽出しようとし、主に統計的な機械学習手法を使用することを理解しています。一方、OR はデータに基づいて意思決定を行うために、たとえば、データ(入力)に対して目的関数(基準)を最適化することにより、データを使用します。 これら2つのパラダイムはどのように比較されるのでしょうか。 他のサブセットですか? 彼らは補完的な分野を考慮していますか? 1つのフィールドが他のフィールドを補完する例や、それらを組み合わせて使用​​する例はありますか? 特に、私は次のことに興味があります。 OR手法を使用してデータサイエンスの質問/問題を解決する例はありますか?

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