問題タブ [symmetry]

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 投票する
2 に答える
495 参照

algorithm - 3D対称検索アルゴリズム

これは数学オーバーフローに適しているかもしれませんが、それでも:

3D 構造 (分子など) が与えられた場合、対称性 (回転/反射/反転など) を見つけるための適切なアプローチ/アルゴリズムは何ですか?

ブルートフォースナイーブアルゴリズムを思いつきましたが、もっと良いアプローチがあるはずです。遺伝的アルゴリズムにはあまり興味がない

これがあります: http://pubs.acs.org/doi/abs/10.1021/ci990322q私の分野から。数学者/コンピューター科学者が何を思いついたかも知っておくとよいでしょう.

ウェブサイト/紙へのリンクは素晴らしいでしょう。ありがとう

0 投票する
6 に答える
1232 参照

java - 主キーを持つクラスで対称性を壊さずに equals メソッドをオーバーライドする

この質問への答えはおそらく「不可能」ですが、とにかく質問させてください:)

たとえば、主キーを持つ非常に単純な JAVA クラスがあるとします。

ここで、人をコレクションに保存したいと考えています。つまり、equals メソッドをオーバーライドする必要があります。完全に些細な問題ではありませんが、基本的には次のようなものがあります。

頭からこれを入力するだけで、明らかな失敗を許してください。さて、後でアプリケーションで、ユーザー入力を通じて取得した ssid があるとしましょう。ssid を Person と比較したい場合は、次のように呼び出す必要があります。

これは、ssid に基づいて Person を作成するための便利なコンストラクターを作成する必要があることを意味し (まだ作成していない場合)、これも非常に冗長です。単純に電話する方がはるかに良いでしょう

しかし、Person equals クラスに文字列比較を追加すると、対称プロパティが壊れてしまいます。文字列は、それ自体を Person と比較する方法の手がかりを持っていないからです。

最後に、大きな問題は、オーバーライドされた equals メソッドを使用して、対称規則を破ることなく、この種の「簡略化された」比較を有効にする方法はありますか?

これについて考えてくれてありがとう!

編集:明確にするために、これは正確な解決策を求める問題というよりも未解決の問題です。equals は、コレクションから Person を抽出したい場合に対応する必要があります。したがって、次のようなことができるはずです。

主キーに基づいてクラスの等価性を定義できることは明らかで直感的に見えますが、それを行う簡単な方法は見つかりませんでした。

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

clojure - Clojure のための計算機代数

短いバージョン: x のシーケンスを効率的に生成できるように、関数 f(x) の値が不変である x の変換 (順列、回転など) を指定できる Clojure コードに興味があります。 r = f(x) を満たします。Clojure 用のコンピューター代数の開発はありますか? (些細な)例として

(preimage f #{0}) を呼び出すと、効率的に #{3 4 7} が返されます。当然、コドメインに正しく注釈を付けることもできます。助言がありますか?

より長いバージョン: Clojure 用のコンピューター代数の開発について知りたいと思わせる特定の問題があります。誰かが私にそのようなプロジェクトを教えてもらえますか? 私の特定の問題は、F(x) = r を満たす単語のすべての組み合わせを見つけることです。ここで、F はランキング関数であり、ra は正の整数です。私の特定のケースでは、 f は合計として計算できます

F(x) = f(x[0]) + f(x[1]) + ... f(x[N-1])

さらに、s の a、b、S の s に対して f(a)=f(b) となるように、素集合 S = {s_i} のセットがあります。したがって、F(x) = となるすべての x を生成する戦略r は、この F の因数分解と、各 s_i の下での f の不変性に依存する必要があります。つまり、合計が r になる S の要素を含むサイトのすべての順列を計算し、各 s_i の要素のすべての組み合わせでそれらを構成します。これは、次のように非常にずさんに行われます。

これにより、仕事は完了しますが、根底にある全体像が失われます。たとえば、連想演算が合計ではなく積である場合、一部を書き直す必要があります。

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

algorithm - グラフから対称性を排除する

多くの状態間の伝達行列を導き出したアルゴリズムの問​​題があります。次のステップはそれを累乗することですが、非常に大きいので、いくらか削減する必要があります。具体的には、多くの対称性が含まれています。以下は、単純な観察によっていくつのノードを排除できるかの例です。

私の質問は、以下で手動で行った方法と同様に、有向グラフの対称性を効率的に排除するアルゴリズムがあるかどうかです。

いずれの場合も、初期ベクトルはすべてのノードで同じ値になります。


最初の例では、bcdおよびeすべてが および から値を受け取ることがわかりますa。したがって、それらは常に同じ値を含み、それらをマージできます。

有向グラフA 有向グラフB


aこの例では、グラフが、bcおよびの観点から同一であることがすぐにわかりdます。また、それぞれのサイドノードについては、それがどの内部ノードに接続されているかは問題ではありません。したがって、グラフを 2 つの状態だけに減らすことができます。

有向グラフC 有向グラフD


更新:一部の人々は、「状態転送マトリックス」の意味がよくわからないほど合理的でした。nここでの考え方は、組み合わせ問題を、再帰ごとにいくつかの状態タイプに分割できるということです。n-1行列は からへの行き方を教えてくれますn

通常は、状態の 1 つの値だけに関心がありますが、他の状態も計算する必要があるため、いつでも次のレベルに進むことができます。ただし、場合によっては、複数の状態が対称的です。つまり、常に同じ値になります。これらすべてを計算するのは明らかに無駄なので、すべてのノードが「一意」になるまでグラフを縮小します。

以下は、例 1 の縮小グラフの伝達行列の例です。


論文への提案や参照は大歓迎です。

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

database - データベース モデリングで対称関係を表現する方法

テーブルに対称関係がある場合、それをエレガントに表現するにはどうすればよいでしょうか? たとえば、 というテーブルがあり、そこにはFriend2 人のユーザーのユーザー ID が含まれている必要があります。UID1このテーブルでandを使用UID2する場合、A_uid と B_uid がフレンドであるかどうかを調べたい場合は、使用する必要があります。

なぜならUID1、 とUID2は友情を表す点で同じだからです。このジレンマで最も重要なのは、UID1UID2が対称であることです。

これは醜いので、もっと良い方法があるかどうか知りたいと思います。

ありがとう!

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

algorithm - 点の対称性を計算するアルゴリズム

一連の 2D ポイントが与えられた場合、それらのポイントが水平方向に対称で、垂直方向に対称であるかの測定値を計算したいと考えています。

あるいは、点のセットごとに、それらの点の間の線のラスタ化された画像も持っているので、画像の対称性の尺度を計算する方法はありますか?

ところで、これはニューラル ネットワークに提示される特徴ベクトルで使用するためのものです。

明確化

左の画像は「水平」対称です。真ん中に縦線を引いてみると、左右対称になっています。同様に、右側の画像は、中心を横切る水平線を想像すると、「垂直に」対称です。

私が欲しいのは、それらがどれだけ水平に対称であるか、またどれだけ垂直に対称であるかの尺度です。

ここに画像の説明を入力ここに画像の説明を入力

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

unicode - 非対称の大文字/小文字を持つ Unicode 文字。なんで?

次の 3 文字が対称でないのはなぜですかtoLower,toUpper結果

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

wpf - WPF FlowDocument 対称レイアウト

1 つの FlowDocument を使用して対称レイアウトを生成するにはどうすればよいですか?

私のコードは次のとおりです。

それぞれのコンテンツを同じ位置に並べて並べてほしい。このレイアウトを実現するにはどうすればよいですか?

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

java - 対称語を判別するための Java のプログラミング

私はここにいるのは初めてですが、単語の入力を決定し、最初の単語が単語の末尾と一致しているかどうかを確認するコードの書き方を理解するのに苦労しています。abba を入力すると、均等対称で aba が奇数対称であるという回答が得られます。

方法を教えてください:(

主なものは2つだけです。

最初 に、文字の量が奇数か偶数かを知りたい (文字数を 2 で割った値、0.5 で終わる場合は奇数対称、整数の場合は偶数対称)。

2番目 に、実行の主なアイデアとなる単語内の文字の位置(つまり、1 = n、2 = n-1、3 = n-2 ...)を取得したい.奇妙に対称的な単語、最後の残りの文字を無視します。

有利なスタートやアイデアに感謝します:)ありがとう!

KDiTraglia に感謝します。コードを作成してコンパイルしました。私はそれ以上進んでいません。

報告された問題:

スレッド「メイン」での例外 java.lang.Error: 未解決のコンパイルの問題: 逆方向を解決できないか、フィールドではありません 逆方向を解決できないか、フィールドではありません 構文エラー、「) ステートメント」を挿入して IfStatement を完了します

これは私が得たものです、KDiTragliaの助け

} }

0 投票する
6 に答える
2597 参照

java - 対称語へのJavaのプログラミング

重複の可能性:
対称的な単語を判別するためのJavaのプログラミング

ここでは新しいですが、単語の入力を判別し、最初の単語が単語の終わりと一致するかどうかを確認するコードを作成する方法を理解するのに苦労しています。あなたはabbaを入力して、それが均等に対称であり、abaが奇妙に対称であるという答えを得ることができます。

方法を教えてください:(

主なものは2つだけです。

まず、文字の量が奇数か均等かを知りたい(文字の数を2で割った値、0.5で終わる場合は奇妙な対称、整数の場合は均等に対称)。

次に、実行の主なアイデアとなる単語内の文字の位置(つまり、1 = n、2 = n-1,3 = n-2 ...)を取得したい。奇妙な対称の単語、最後の残りの文字を無視します。

ヘッドスタートやアイデアに感謝します:)ありがとう!

KDiTragliaに感謝します、私はコードを作成してコンパイルしました、そしてここに私が置いたものがあります。私はこれ以上得ていません。

報告された問題:

これは私が得たものです、KDiTragliaの助け