問題タブ [heuristics]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
826 参照

algorithm - 距離行列の近似推定

N個のオブジェクトのセットがあり、NxN距離行列を計算したいと思います。N個のオブジェクトのセットが非常に大きい場合があり、距離比較のサブセットのみを計算して、NxN距離行列の近似値を計算したいと思います。

誰かが私を完全距離行列の近似を計算する何かの方向に向けることができますか?私はいくつかのアイデアを念頭に置いていますが、車輪の再発明を避けたいと思います。

編集:アルゴリズムのタイプの例は、オブジェクトAとオブジェクトBの距離が非常に小さく、オブジェクトBとオブジェクトCの距離が非常に小さい場合、ある程度の距離が必要であるという事実を利用します。オブジェクトAとCの間の短い距離。

0 投票する
3 に答える
288 参照

css - 私が従うことができるCSSパディングヒューリスティックはありますか?

簡単な問題があります:

  • div内に画像があります。
  • ページをより美しくするために、画像にパディングを追加します。

目で追うのではなく、次のことを知りたいです。

私が従うことができるCSSパディングヒューリスティックはありますか?

私は、Jakob Nielsen の能力を持つ誰かが、ページ レイアウトとパディング (つまり、最小ピクセル パディングまたはプロポーショナル) に関するいくつかのベスト プラクティスを確立したのではないかと考えていました。

  • これが特に解決が難しい問題だと主張しているわけではありません。
  • しかし、それは再び起こりそうな問題です。
  • そして、将来のパディングの選択を導くために、いくつかのヒューリスティックが必要です。

どんな助けでも大歓迎です。

0 投票する
22 に答える
23224 参照

artificial-intelligence - パックマン:目はどのようにしてモンスターの穴に戻るのですか?

パックマンで幽霊のAIについて多くの言及を見つけましたが、パックマンが幽霊を食べた後、目が中央の幽霊の穴に戻る方法については言及していませんでした。

私の実装では、単純ですがひどいソリューションを実装しました。どちらの方向に進むべきか、隅々までハードコーディングしました。

より良い/または最良の解決策はありますか?おそらく、さまざまなレベルの設計で機能する一般的なものですか?

0 投票する
4 に答える
1423 参照

algorithm - あるコレクションで数字のセットを見つけて、別のコレクションの数字を合計します

私が作っているゲームの場合、数字のリスト([7、4、9、1、15、2](Aこれにちなんで名付けられた))と別の数字のリスト([11、18) 、14、8、3](名前付きB)–私に提供されました。目標は、の数の合計が。の数のすべての組み合わせを見つけることAですB。例えば:

  • 1 + 2 = 3
  • 1 + 7 = 8
  • 2 + 9 = 11
  • 4 + 7 = 11
  • 1 + 2 + 4 + 7 = 14
  • 1 + 2 + 15 = 18
  • 2 + 7 + 9 = 18

...等々。(この目的のために、はと1 + 2同じ2 + 1です。)

このような小さなリストの場合、組み合わせをブルートフォースするのは簡単ですが、これらの数が数千から数万になる可能性に直面しており、アプリケーションの存続期間にわたってこのルーチンを繰り返し使用します。100%のカバレッジで妥当な時間でこれを達成するために利用できるエレガントなアルゴリズムはありますか?これに失敗した場合、妥当な時間内に「十分に良い」組み合わせのセットを提供できる、適切なヒューリスティックを見つけることができますか?

私は、擬似コードまたはまともな人気があり読みやすい言語(そこにある「and」に注意してください....;)、またはこの種の検索の実装方法についての英語の説明でさえ、アルゴリズムを探しています。


追加するために編集:

これまでに提供された多くの良い情報。みんなありがとう!今のところ要約:

  • 問題はNP完全であるため、妥当な時間で100%の精度を得るにはブルートフォースが不足することはありません。
  • この問題は、サブセット和問題またはナップサック問題のいずれかの変形と見なすことができます。この問題に適応できる可能性のある、両方のよく知られたヒューリスティックがあります。

アイデアを続けてください!そして、もう一度ありがとう!

0 投票する
0 に答える
181 参照

html - 前/次の Web ページへのリンク ヒューリスティック?

HTML ドキュメントおよび/または Web ページ上の一連の URL を指定して、そのページからの前/次のリンクである一連の URL を提供するヒューリスティックのリストを探しています。また、ベース URL が与えられていると仮定します。リンクが具体的に次の URL なのか前の URL なのかを知る必要はありません。その 2 つのうちの 1 つであるだけです。

私はすでに短いリストを持っています:

  • URL と同じドメインとパスですが、クエリ パラメータが異なります。
    • ベース:abc.com/story
    • 次/前: abc.com/story?p=2
      • また
    • ベース: abc.com/story.html?p=5
    • 次/前: abc.com/story.html?p=3
  • URL は、数値パス要素を除いてベース URL と同じです。
    • ベース:abc.com/story
    • 次/前: abc.com/story/2
  • DOM/HTML 内で相互に隣接する複数のリンク。
    • これはヘッダー/フッターのようなものかもしれませんが、どうにかしてそれを説明する必要があります...何かアイデアはありますか?
  • テキストが数字であるか、テストが「次へ」、「前へ」、「最初」、「最後」、「戻る」、「進む」などの単語であるリンク...

これを完璧にこなすことは決してできないことはわかっていますが、できるだけ多くのカバレッジとヒューリスティックを取得して、適切な組み合わせまたは量と質を期待したいと考えています. ありがとう。

0 投票する
1 に答える
82 参照

c# - URL、ページDOM、親URL、およびその他のページURLを指定して、URLがWebページのヘッダー/フッターにあるかどうかを確認します

URL、最初のURLが存在するWebページのURL、WebページのDOM、およびWebページ上の残りのURLのリストが与えられた場合、URLがページのヘッダー/フッターにあるかどうかを確実に判断するにはどうすればよいですか。またはそれがどちらにもない場合は?

私はC#/。NETを使用しています。

ウェブページが意味的に表現されておらず、一部のウェブサイト/ページがページを明確に難読化しているため、完璧な解決策はないことを私は知っていますが、たとえばウェブページの75%で機能するロジックを構築したいと思います。

また、ページ内のURLの場所を特定するのに役立つ他の情報はありますか?

0 投票する
4 に答える
2394 参照

algorithm - 5x5グリッドのNパズル、理論の質問

2つのヒューリスティックを使用して24パズル(5x5グリッド)を解決するプログラムを書いています。1つ目は、間違った場所のブロック数を使用し、2つ目は、ブロックの現在の場所と目的の場所の間のマンハッタン距離を使用します。

プログラムには、A *と欲張り検索を使用して各ヒューリスティックを使用し、結果を比較するさまざまな機能があります(合計で4つの異なる部分)。

私のプログラムが間違っているのか、それともパズルの限界なのか知りたいです。パズルはランダムに生成され、ピースが数回動かされ、ほとんどの場合(〜70%)、ほとんどの検索で解決策が見つかりますが、失敗することもあります。

欲張りが完全ではないので失敗する理由は理解できますが、A *が完全であると見ると、コードにエラーがあると思います。

それで、誰かがこれが私の思考の誤りなのか、それともパズルの限界なのか教えてもらえますか?言い回しが悪い場合は申し訳ありませんが、必要に応じて言い換えます。

ありがとう

編集:

ですから、私はそれが私が間違っていることだとかなり確信しています。これが私が検索を行っている方法の段階的なリストです、ここで何か問題がありますか?

  • 使用されているヒューリスティックでソートされた、フリンジの新しいリストを作成します
  • 訪問したノードを保存するセットを作成する
  • パズルの初期状態をフリンジに追加します
  • フリンジが空ではない間。
    • フリンジから最初の要素をポップします
    • 以前にノードにアクセスしたことがある場合は、スキップしてください
    • ノードが目標の場合は、それを返します
    • 訪問したセットにノードを追加します
    • ノードを展開し、すべての子孫をフリンジに追加します
0 投票する
2 に答える
661 参照

algorithm - ツイートをスレッド化するためのヒューリスティックの良いセットは何ですか?

メールをスレッド化する場合は、JamieZawinskiのアルゴリズムを使用します。しかし、それは新しい世紀であり、新しいメッセージングサービスがあります。

Twitterに投稿されたステータスの更新をスレッド化するための最良のアルゴリズムは何ですか?

私が絶対に対処したいこと:

  • 簡単な部分:、、およびを使用in_reply_to_status_idin_reply_to_user_idますin_reply_to_screen_name。(ちなみに、これらの値の適切なドキュメントを見つけること自体が役立ちます!このようなドキュメントは、たとえば、ここから明らかにリンクされていません 。)

  • @規則でユーザーに言及しているが、特定のメッセージに明示的に応答していないメッセージから「応答」関係を推測するための優れたヒューリスティック。これらの「メンション」は、 リクエストした場合、ステータスの「エンティティ」要素で提供されるようになりました。これらのヒューリスティックは、(a)2つのステータス更新間の時間、(b)2人のユーザー間に後続の返信があるかどうかなどを考慮に入れる場合があります(user85509が言及した、古いスタイルのリツイートと追加のコメントで構成される返信以下 は、このスタイルの返信のほんの一例です。)

  • 3人以上のユーザー間で行われる会話。

  • アルゴリズムに与えられた一連のツイート、またはTwitterのすべてのツイートを操作します。

...しかし、おそらくあなたはもっと考えることができます。

0 投票する
2 に答える
136 参照

algorithm - アルゴリズム: ホームページのタイプを決定する?

私はしばらくの間これについて考えてきたので、提案を求めようと思いました:

一部のサイトのルートに入るクローラーがあります(www.StackOverFlow.com、www.SomeDudesPersonalSite.se、またはwww.Facebook.comからのものである可能性があります)。次に、アクセスしている「ホームページの種類」を決定する必要があります。さまざまなタイプは、たとえば次のようになります。

  • フォーラム
  • ブログ
  • リンクカタログ
  • ソーシャル メディア サイト
  • ニュースサイト
  • 「ワンマンサイト」

私はしばらくブレインストーミングを行ってきましたが、最良の解決策は、ポイント システムを使用したヒューリスティックな方法のようです。これは、さまざまな傾向がさまざまなタイプにいくつかのポイントを与え、プログラムが後で推測することを意味します。

しかし、ここで行き詰まります.. どのように傾向を検出しますか?

  • カタログは簡単かもしれません。sitesIndexed/Outgoing links が非常に高い場合、カタログはいくつかのポイントを獲得するはずです。
  • ニュース サイト/ブログは簡単かもしれません: インデックス付けされた大量のサイトに日時がある場合、それらのタイプはいくつかのポイントを取得する必要があります..

しかし、あまりにも多くのトレンドを見つけることができません。

SO: 私の質問は: これを行う方法についてのアイデアはありますか?

本当にありがとう..

0 投票する
1 に答える
406 参照

java - Javaで適切な画像を選択するためのヒューリスティックを実装する方法

製品情報を表示するページの場合、同じ内容を示すが、異なる形式 (gif、png、jpg など)、異なる品質 (jpeg 圧縮)、異なる画像のセットから最適な製品画像を選択する必要があります。サイズ(サムネイル、小、中、大)など

どちらを選択するかは、ユーザーのブラウザ、ページの現在のサイズ、画像の目的などによって異なります。

現在の解決策は、次のような現在の要件に従って SQL クエリを作成することです。

これは簡単な例で、元の例はもっと複雑です。このステートメントを作成する Java コードは、多くの if と case を使用しており、非常に醜いものになり始めています。

このようなヒューリスティックをJavaで実装する最良の方法は何ですか? 役立つライブラリはありますか?おそらく、ルールオブジェクトを定義する行に沿って:

ルール エンジンを検索したところ、JSR やいくつかのオープン ソースのルール エンジンもありますが、それらはすべてビジネス ルールを扱っているようです。

私たちは車輪の再発明をしているという強い気持ちを持っており、このものの正しい名前がわからないため、解決策を見つけることができません;-)

どんな助けでも大歓迎です!