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

数学とコンピュータサイエンスでは、アルゴリズムは、関数を計算するための明確に定義された命令の有限リストとして表現される効果的な方法です。アルゴリズムは、計算、データ処理、および自動推論に使用されます。

4
文から単語を抽出し、それぞれの品詞を特定するにはどうすればよいですか?[閉まっている]
ここで何が求められているかを伝えるのは難しいです。この質問は曖昧、曖昧、不完全、過度に広範、または修辞的であり、現在の形式では合理的に答えることができません。この質問を明確にして、再開できるようにするには、ヘルプセンターに アクセスしてください。 6年前に閉鎖されました。 私は文を取り、それに含まれる各単語を識別し、各単語が品詞のどの部分であるかを定義する何かを書きたいです。 例えば Hello World、私は文です これを返します verb noun, pronoun verb adjective noun 理想的には、最終的にそれをさらに一歩進めて文を取り、プログラムでそれが解釈しようとしていることを理解し、おそらくそれについて何かをしたいと思います。 だから私の質問は、誰かがこのようなことを聞​​いたことがありますか?

3
Javaおよび.NET:異なるソートアルゴリズムがデフォルトで使用される理由
デフォルトで異なるソートアルゴリズムJavaを.NET Framework使用する理由と疑問に思います。 Java Array.Sort()では、デフォルトでMerge Sortアルゴリズムを使用し、Wikipedia.comが次のように述べています。 Javaでは、Arrays.sort()メソッドは、データ型に応じてマージソートまたは調整されたクイックソートを使用し、実装効率のために7つ未満の配列要素がソートされている場合は挿入ソートに切り替えます .NET Framework Array.Sort/List.Sort()では、クイックソートをデフォルトのソートアルゴリズムとして使用します(MSDN): List.Sort()は、QuickSortアルゴリズムを使用するArray.Sortを使用します。この実装は、不安定なソートを実行します。つまり、2つの要素が等しい場合、それらの順序は保持されない可能性があります。対照的に、安定したソートでは、等しい要素の順序が保持されます。 優れた「アルゴリズムの比較」表を見ると、両方のアルゴリズムの動作がワーストケースとメモリ使用量の観点からかなり異なっていることがわかります。 どちらJavaと.NETエンタープライズ・ソリューション開発のための素晴らしいフレームワークです、両方が組込み開発のためのプラットフォームを持っています。では、なぜ彼らはデフォルトで異なるソートアルゴリズムを使用しているのでしょうか?

17
プログラミングで知っておくべき優れた数式は何ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け入れていません。 より良いアルゴリズムを作成し、より良いプログラマーになるのに役立った、学んだ一般的な数学の式は何ですか? 例:エクリュディアン距離の公式について学びました。sqrt((x1-x2)^2+(y1-y2)^2)これは、2つの要因を比較することにより、類似オブジェクトを見つける方法を理解するのに役立ちました。

4
ほとんどの言語が最大ヒープ実装ではなく最小ヒープを提供するのはなぜですか?
何かに気付いたばかりで、その理由はあるのでしょうか。C ++(std :: priority_queueは最大ヒープ)を除いて、最大ヒープを提供する他の言語は知りません。 Pythonのheapqモジュールは、リストの上にバイナリの最小ヒープを実装します。 Javaのライブラリには、min-priority-queueを実装するPriorityQueueクラスが含まれています。 Goのライブラリには、互換性のあるデータ構造の上に最小ヒープを実装するコンテナ/ヒープモジュールが含まれています。 AppleのCore Foundationフレームワークには、最小ヒープを実装するCFBinaryHeap構造が含まれています。 最大ヒープは最小ヒープよりも直感的であり、技術的には実装の違いは比較演算子を変更するだけの問題だと思います。本当の理由はありますか?ほとんどのアプリケーションでは、最大ヒープではなく最小ヒープが必要ですか?前もって感謝します


5
新しいアルゴリズムを最初にコピーレフトする利点は?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 新しい(DSP)アルゴリズムを作成したとします。コピーレフトライセンス(GPLなど)の下でアルゴリズムをオープンソース化すると、いくつかの利点がありますか?私がライセンスについて知っていることから、これはクローズドソースとまったく同じコードを使用することから人々を締め出すはずですが、彼らはアルゴリズムをクローズドソースとして「書き直す」ことができるでしょうか? 注:アルゴリズムが新しいかどうかはわかりませんが、まだオープンソースとしてリリースされていません。私は欧州連合出身なので、コピーレフトしたい場合、ソフトウェア特許を探す必要がありますか?

1
自動スタッフスケジューリング機能を作成するには、どのアルゴリズムを使用する必要がありますか?
数十人のパートタイム従業員がいる小さな地元のビジネス(私の場合は犬の託児所)を想像してください。目標は、毎週のスタッフスケジュールを自動的に作成することです。私の質問は、この問題についてどのアルゴリズム的アプローチを検討するかについてです。 心に留めておくべき多くの制約があります。主に(1)スタッフの可用性と(2)各シフトのニーズ。各シフトのスタッフ数だけでなく、各シフトに必要なスキル(例えば、特定のシフト、犬の送迎を行うための運転方法を知っている人が必要な場合があります。また、犬の入浴方法を知っている人が必要な場合もあります。 他の制約としては、特定のスタッフのコンボを回避または必要とすることなどがあります-おそらく一方の人格の衝突、または他方では先輩から後輩のスタッフへの浸透によるトレーニングの必要性が原因です。 また、考慮すべき設定があります。一部のスタッフは、月曜日や木曜日などと言うよりも、2日連続で午前中を好む場合があります。実際、従業員が自分の選択を最初に受ける階層があります。 この問題を既存の解決済みのアルゴリズムに還元または表現する方法があると思います。しかし、どのアルゴリズムを探索するのかわかりません。どの既存の特定のアルゴリズムが最も有望ですか?
18 algorithms 

2
これはどのクラスの問題であり、それを解決するにはどのような数学を知る必要がありますか?
キノコ栽培には、かなり正確な基質の化学組成(別名、成長培地)が必要です。椎shiを育てているふりをしてみましょう。これは基質の必須組成です。 Nitrogen | Benzene | Toluene | Dioxygen Diflouride 5% | 5% | 10% | 80% 化学組成がわかっている手持ちの材料から適切な基板を作成したいと考えています。 Material | Nitrogen | Benzene | Toluene | Dioxygen Diflouride apples | 5% | 0% | 5% | 90% oranges | 20% | 20% | 50% | 10% Etc... これをどのように計算しますか?高校で行列を解くことを思い出します。これは行列でできることですか?この問題は何と呼ばれていますか?解決するには何を知る必要がありますか?

2
ストラッセンはどのようにして行列乗算法を思いついたのですか?
有名なStrassenの行列乗算アルゴリズムは、時間の複雑さを従来のO(n 3)からO(n 2.8)に減らすので、私たちにとっては本当の扱いです。 しかし、コーメンとスティーブン・スキエナの本さえ含めて、私が経験したすべてのリソースのうち、彼らは明らかにストラッセンがそれについてどう考えたかについて述べていません。 Strassenの行列乗算アルゴリズムの理論的根拠は何ですか?これは幸運な事故なのでしょうか、それとももっと深いものがありますか?

6
距離に関係しないコストを最小限に抑えながら、数直線上のポイントを訪れる
このACM ICPCの問題について、助けが必要です。私の現在の考えは、これを最短経路問題としてモデル化することであり、これは問題ステートメントの下で説明されています。 問題 あるN = 1000において1-Dの数直線に沿って位置する核廃棄物容器の別個の位置は-500,000 to 500,000、を除いx=0。人は、すべてのごみ箱を集める仕事をします。廃棄物容器が収集されない秒ごとに、1単位の放射線を放出します。人は1秒ごとにユニットx = 0を移動でき1、ごみの収集にかかる時間はごくわずかです。すべてのコンテナを収集している間に放出される放射線の最小量を見つけたい。 サンプル入力: 4にあるコンテナ[-12, -2, 3, 7]。 これらのコンテナを収集するのに最適な順序は[-2, 3, 7, -12]、50ユニットの最小排出量です。説明:人は-22秒後に行き、その時間の間2 unitsに放射線が放出されます。その後、彼は3(距離:)に移動し5、バレルが2 + 5 = 7放射単位を放出した。彼はその銃身がユニットを放出4したx = 7場所に到達するまでにさらに数秒かかります2 + 5 + 4 = 11。彼はそのバレルがユニットを放出19したx = -12場所に到達するのに数秒かかります2 + 5 + 4 + 19 = 30。2 + 7 + 11 + 30 = 50、これが答えです。 …
18 algorithms  graph 

6
特定のケースの解決よりも一般化されたソリューションを好む場合
プログラミングでは、考えられる各ユースケースを個別にカバーするか、一般的な問題を解決するという選択肢に直面することがよくあります。 差し迫った問題を解決する方が速いことは明らかですが、一般化されたソリューションを作成すると、将来の時間を節約できます。 有限のケースのリストをカバーしてカバーするのが最善であるか、またはすべての可能性をカバーする汎用システムを作成するのが最善であるかをどのようにして知ることができますか?

5
P = NPの影響はどうなりますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 7年前に閉鎖されました。 私はテストの準備をしていますが、PTIME = NPTIMEであることを証明するとどのような影響がありますかという質問に対する明確な答えが見つかりません。ウィキペディアを調べたところ、「数学、AI、アルゴリズムに重大な影響を与える」と述べたばかりです。 誰でも答えてくれますか?

5
総数がわからないパーセンテージのアルゴリズム
あると仮定nホットラインのためのラインは。 顧客がホットラインに電話をかけるたびに、コールはいずれかのn回線に転送されます。そして、n行のそれぞれに呼び出しの割合を割り当てたいと思います。2つの回線があり、1つの回線に60%が割り当てられ、もう1つの回線に40%が割り当てられていると仮定します。 各回線への呼び出しの割合は事前にわかっていますが、問題は、1日に受信される呼び出しの数がわからないことです。 総通話数を知らずに通話数を分配するにはどうすればよいですか?

6
指数関数的なテストケースが必要なTDDおよび完全なテストカバレッジ
クライアントからの非常に特定の要件ごとに、検索結果の順序付けられていないリストのソートを支援するために、リストコンパレータに取り組んでいます。要件では、重要度の順に次のルールを使用してランク付けされた関連性アルゴリズムが必要です。 名前の完全一致 検索クエリのすべての単語の名前または結果の同義語 検索クエリの一部の単語の名前または結果の同義語(%降順) 説明内の検索クエリのすべての単語 説明内の検索クエリの一部の単語(%降順) 最終更新日が降順 このコンパレータの自然なデザインの選択は、2の累乗に基づいてスコア付けされたランキングであるように思われました。重要度の低いルールの合計は、重要度の高いルールの肯定的な一致を超えることはありません。これは、次のスコアによって達成されます。 32 16 8(降順%に基づく2次タイブレーカースコア) 4 2(降順%に基づく2次タイブレーカースコア) 1 TDDの精神で、私は最初にユニットテストから始めることにしました。一意のシナリオごとにテストケースを作成することは、ルール3および5のセカンダリタイブレーカーロジックの追加のテストケースを考慮せずに、少なくとも63の一意のテストケースになります。これは耐えがたいようです。 ただし、実際のテストは実際には少なくなります。実際のルール自体に基づいて、特定のルールにより、下位のルールが常に真になることが保証されます(たとえば、「すべての検索クエリワードが説明に表示される」場合、ルール「一部の検索クエリワードが説明に表示される」は常に真になります)。それでも、これらの各テストケースを書き出す努力のレベルは価値がありますか?これは、TDDで100%のテストカバレッジについて話すときに通常要求されるテストのレベルですか?そうでない場合、許容可能な代替テスト戦略は何でしょうか?

4
記事または投稿が重複しているかどうかを検出するには、どのアルゴリズムを使用できますか?
記事またはフォーラムの投稿がデータベース内の重複エントリかどうかを検出しようとしています。私はこれにいくつかの考えを与えました、コンテンツを複製する誰かが3つのうちの1つを使用してそうするという結論に達しました(検出するのが困難な降順で): 単純なコピーはテキスト全体を貼り付けます テキストの一部をコピーして貼り付け、独自のテキストとマージします 外部サイトから記事をコピーし、自分のものになりすます 分析のためのテキストの準備 基本的に異常。目標は、テキストを可能な限り「純粋」にすることです。より正確な結果を得るために、テキストは次のように「標準化」されます。 重複する空白を取り除き、先頭と末尾をトリミングします。 改行は\ nに標準化されます。 HTMLタグが削除されます。 Daring Fireball URLと呼ばれるRegExの使用は取り除かれます。 私はアプリケーションでBBコードを使用しているので、そうなります。 (ä)セント語および外国語(英語以外)は、外国語以外の形式に変換されます。 各記事に関する情報は、(1)統計表と(2)キーワード表に保存します。 (1)統計表 次の統計がテキストコンテンツについて保存されます(この投稿と同様)。 テキストの長さ 文字数 単語数 文数 文ごとの平均単語 自動可読性インデックス 霧吹きのスコア ヨーロッパ言語の場合、音節のカウントを使用しないため、コールマン・リアウおよび自動可読性インデックスを使用する必要があります。したがって、かなり正確なスコアを生成する必要があります。 (2)キーワード表 キーワードは、「the」、「a」、「of」、「to」などのストップワード(一般的な単語)の膨大なリストを除外することによって生成されます。 サンプルデータ text_length、3963 letter_count、3052 word_count、684 センテンスカウント、33 word_per_sentence、21 gunning_fog、11.5 auto_read_index、9.9 キーワード1、殺された キーワード2、役員 キーワード3、警察 記事が更新されると、上記の統計はすべて再生成され、まったく異なる値になる可能性があることに注意してください。 上記の情報を使用して、初めて公開される記事がデータベース内に既に存在するかどうかを検出するにはどうすればよいですか? 私が設計するものは完璧ではないことを知っています。最大のリスクは、(1)重複していないコンテンツに重複のフラグが立てられることです(2)システムは重複したコンテンツを許可します。 そのため、アルゴリズムは、0から重複リスクなし、5が重複可能、10が重複であるリスク評価番号を生成する必要があります。5を超えると、コンテンツが重複している可能性が高くなります。この場合、コンテンツにフラグを付け、重複する可能性のある記事にリンクし、人間が削除するか許可するかを決定できます。 前に言ったように、記事全体のキーワードを保存していますが、段落ごとに同じことができるかどうか疑問に思います。これは、DB内のデータをさらに分離することも意味しますが、最初の投稿で(2)を検出するのも簡単になります。 私は統計間の加重平均を考えていますが、どのような順序で、どのような結果になるでしょうか...
17 algorithms 

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