問題タブ [matching]
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.
algorithm - 優先パートナーを 3 つのグループに一致させるアルゴリズム
この問題を解決するための良いアルゴリズムは何ですか?
グループ A、グループ B、グループ C の 3 つのグループがあります。各グループの人数は同じです。彼らはそれぞれ、喜んで協力してくれる他のグループのメンバーのリストを持っています。私はこれらすべての人々を 3 つのグループ (A から 1 人、B から 1 人、C から 1 人) にグループ化し、グループ内の全員がグループ内の他の人々と協力したいと思うようにしたいと考えています。
これらのグループをすばやく見つけるにはどうすればよいですか? 全員を幸せにする方法がない場合、アルゴリズムは、最初に、互いに協力したい 3 人を含むグループをできるだけ多く作成し、次に、他のグループのできるだけ多くの人を幸せにする必要があります。
最後のポイント: 人々は誰と一緒に働きたいかについて合意します (もし x が y と働きたいのなら、y も x と働きたいと思うでしょう)。また、アルゴリズムの実行時間の大きな O を与えることができれば、それは素晴らしいことです!
java - Java での不正確な会社名の照合
私は企業のデータベースを持っています。私のアプリケーションは会社を名前で参照するデータを受け取りますが、名前がデータベースの値と正確に一致しない場合があります。受信データを、それが参照する会社と照合する必要があります。
たとえば、データベースに「AB Widgets & Co Ltd」という名前の会社が含まれているとします。受信データが「AB Widgets Limited」、「AB Widgets and Co」、または「AB Widgets」を参照している可能性があります。
会社名の一部の単語 (AB Widgets) は、他の単語 (Co, Ltd, Inc など) よりもマッチングにとって重要です。誤った一致を避けることが重要です。
会社の数は十分に少ないので、名前のマップをメモリに保持できます。適切な名前を見つけるために、SQL ではなく Java を使用するオプションがあります。
Javaでこれをどのように行いますか?
database - 2 つの文字列を最もよく一致させるには?
2 つの文字列に一致し、その 2 つの文字列が何パーセント一致するかをパーセンテージで返す優れたアルゴリズムを知っていますか?
また、データベースでも機能するものはありますか?
mysql - オートコンプリートのために MYSQL と PHP で会社名のあいまい一致を行うにはどうすればよいですか?
ユーザーは、会社名を含む大きな文字列をカット アンド ペーストしてインポートします。
会社名の既存の MYSQL データベースがあり、それぞれに一意の company_id があります。
文字列を解析して、ユーザーが入力した会社名のそれぞれにあいまい一致を割り当てられるようにしたいと考えています。
現在、単純な文字列マッチを行うだけでも遅いです。** Soundex のインデックス作成は高速になりますか? ユーザーが入力しているときに、ユーザーにいくつかのオプションを与えるにはどうすればよいですか? **
たとえば、誰かが次のように書いています。
この質問に似ていると思われる次のスレッドを見つけましたが、投稿者は承認しておらず、それらのユースケースが適用可能かどうかはわかりません:
vb.net - 正規表現と一致するコードは右から左へ
正規表現で少し苦労して、文字列に4つのコードがあります
コード4:コード3:コード2:コード1
各コードはCODE1を除いてオプションです
だから私は ab:bc:de:fg を持つことができました
また
bc::fg
の
ab:::fg
上記の CODE1 = fg dnd のいずれの場合でも、私の愛する人生のために、正規表現を計算できません
標準の文字列解析として実行するのは簡単ですが、残念なことに、ビジネス オブジェクトは regex :-( を介して実行し、vb.net RegEX.matche,groups("Code1") fg を介して返す必要があるため (これにより、検出)
助けてくれてありがとう
仕事をする少しの正規表現になりましたが、少し面倒ですが、機能します
たすべて
sql - SQL 優先順位の一致
ストアド プロシージャ内のテーブルで優先順位の一致を実行しようとしています。要件を説明するのは少し難しいですが、うまくいけばこれは理にかなっています。id、author、title、date、および pages フィールドを持つ、books というテーブルがあるとします。
また、クエリをテーブル内の 1 つの行に一致させるストアド プロシージャもあります。
プロシージャの署名は次のとおりです。
優先ルールは次のとおりです。
- まず、4 つのパラメーターすべてを一致させてみます。一致するものが見つかった場合。
- 次に、任意の 3 つのパラメーターを使用して一致を試みます。ここでは、1 番目のパラメーターの優先順位が最も高く、4 番目のパラメーターの優先順位が最も低くなります。一致が見つかった場合は、一致を返します。
- 次に、2 つのパラメーターが一致するかどうかを確認し、最後にいずれかが一致するかどうかを確認します (パラメーターの順序の優先規則に従います)。
私はこれをケースバイケースで実装しました。例えば:
ただし、テーブルの新しい列ごとに、個々のチェックの数が 2 倍になります。これを X 個の列に一般化したいと思います。しかし、私はスキームを思いつくのに苦労しています。
読んでいただきありがとうございます。必要な追加情報を提供できます。
追加した:
Dave and Others、私はあなたのコードを実装しようとしましたが、すべてのカウントを追加する最初の Order by Clause で窒息しています。無効な列名エラーが表示されます。合計数をコメントアウトし、個々のエイリアスだけで並べ替えると、proc は正常にコンパイルされます。
誰にもアイデアはありますか?
これはMicrosoft Sql Server 2005にあります
algorithm - 文字列マッチング
問題を説明しましょう:
- 私が図書館を持っているとしましょう。図書館には多くの本があり、各本には章があり、各章には文字列が含まれています (文字列はドット "." で始まりドット "." で終わります)。
- 繰り返しますが、ライブラリ -> 本 -> 章 -> 文字列です。
- 本から文字列を抽出しました。これを「本の文字列」と呼びましょう。
- ユーザーが検索フォームに文字列を入力できるシステムがあり、システムは入力された文字列と完全に一致するものを「本の文字列」から返す必要があります。入力された文字列が books 文字列のどの文字列とも一致しない場合、何も返されません。
私はそれについて考え、解決策を見つけました。すべての本の文字列を MD5 し、ハッシュされた本の文字列を保存します。ユーザーが検索する文字列を入力すると、それもハッシュし、ハッシュされた書籍の文字列で一致するものを検索します。単純な検索よりも安価 (各文字列で 32 文字または 64 文字) であり、正確な一致のみを返します。
コメント、アイデア、より良い解決策はありますか?
PSそのようなアルゴリズムの名前は何ですか? 検索またはマッチング?
regex - linqを使用して同様の列名を見つけるにはどうすればよいですか?
こんにちは、Linq を学習しようとしているので、これができるかどうかわかりません。
インポート プロジェクト に取り組んでいる ので、DataSet を使用してデータをインポートすることにしました。
この時点での私の課題: スキーマが異なる 2 つの DataTables があり、そのうちの 1 つには宛先スキーマが含まれ、もう 1 つにはソース スキーマが含まれています。
私がする必要があるのは、目的の列に「ある程度似ている」ソース列を特定できる列の一致を実行することです。この時点で、送信先の列名の一部がソースに含まれている場合、一致する可能性があるものを探しています 。可能性を判断する方法はわかりません。
たとえば、ソース [名、姓、アドレス] - > 宛先 [fname、lname、addr1]
では、LINQ はこの仕事の潜在的な候補でしょうか? それとも正規表現?私はこれで始めました
ソースDataTable dtを持つ
ここからどこへ行けばいいのかわからない...
ありがとうございました!
algorithm - 2 / 3Dジオメトリ:ポイントの2つのリストを最適に位置合わせする方法
私が解決しようとしている問題は次のとおりです。ポイントを含む同じ長さの2つのリストが与えられた場合、ペア間の距離の合計を最小化するマッピングを見つけます。私がこれを行おうとしている理由は、私が構築している遺伝的アルゴリズムの2つのポリゴンで最も近いポイントを見つけるためです。これは、空間的類似性を最大化するために、この計算の出力に基づいて2つの遺伝子を理想的に並べます。
c# - 整数のリストを照合するためのアルゴリズム
毎日、以下をカプセル化するデータ構造の約 50,000 インスタンス (これは最終的にはさらに大きくなる可能性があります) があります。
これはおそらく関係ありませんが、リストは、 の特定の値に対して、 のすべての値の和集合が異なる整数のリストを生成するvalues
というプロパティを持つ個別の整数のリストです。つまり、同じ日に 2 つの異なるリストに整数が表示されることはありません。AsOfDate
values
key
values
通常、リストには非常に少ない要素 (1 ~ 5) が含まれますが、場合によっては 50 要素にもなることがあります。
隣接する日を考慮して、2 日間の値が異なるこれらのオブジェクトのインスタンスを見つけようとしていますkey
が、リストvalues
には同じ整数が含まれています。
以下のアルゴリズムを使用しています。values
リストを文字列に変換します
次にsignature
、整数にハッシュし、結果のハッシュ コードのリスト (毎日 1 つのリスト) を並べ替え、2 つのリストを調べて一致するものを探し、関連付けられたキーが異なるかどうかを確認します。(関連するリストもチェックして、ハッシュの衝突がないことを確認してください。)
より良い方法はありますか?