問題タブ [non-deterministic]

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 に答える
759 参照

windows - Boost::random_deviceのLinux以外の実装

現在、Boostrandom_deviceはLinux(多分* nix)システムのクラスのみを実装しています。他のOSの既存の実装を知っている人はいますか?理想的には、これらの実装はオープンソースです。

存在しない場合、Mac OSXだけでなくWindowsにも非決定論的RNGを実装するにはどうすればよいですか?この機能を提供するAPI呼び出しはどちらの環境にも存在しますか?ありがとう(そしてすべての質問に申し訳ありません)!

0 投票する
9 に答える
2822 参照

algorithm - バックトラッキングによってアルゴリズムが非決定論的になるのはなぜですか?

だから私は少なくとも2人の教授に、バックトラッキングはアルゴリズムを非決定論的にするが、それがなぜであるかについてあまり説明しないと述べた。これがどのように起こるかは理解していると思いますが、言葉で表現するのに苦労しています。誰かが私にこれの理由の簡潔な説明を教えてもらえますか?

0 投票する
7 に答える
10482 参照

sql-server-2005 - 計算列によって参照される SQL 関数の変更

テーブルの列を、式が関数を呼び出す計算列になるように設定すると、その基になる関数を変更するのが面倒になります。変更するたびに、関数を参照する数式を持つすべての列を見つけ、参照を削除し、テーブルを保存し、関数を変更し、すべてを元に戻して、再度保存する必要があります。小さな変化でさえ悪夢です。

関数が数式によって参照されていることを気にせず、基になる関数を変更するだけでよいことを SQL Server に伝えることができますか?

追加の詳細: 計算列は非決定的であるため、FK 制約によって永続化または参照されません。この関数は、現在の時刻を考慮します。レコードの有効期限が切れているかどうかの問題を扱っています。

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

sql - SQL 2005 がこの UDF が非決定的であると言うのはなぜですか?

私は次の機能を持っています:

しかし...

戻り値 (転置された結果):

IsDeterministic 0

正確 1

システム検証済み 1

システムデータアクセス 0

ユーザーデータアクセス 0

キャッシングの問題ではないことを確認するために、関数を数回削除して再作成しようとしました。CAST は、文字列 -> 整数に使用しているため、ここでは決定論的である必要があります。

私は完全に困惑しています、何かアイデアはありますか?

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

sql - What does it mean by "Non-deterministic User-Defined functions can be used in a deterministic manner"?

According to MSDN SQL BOL (Books Online) page on Deterministic and Nondeterministic Functions, non-deterministic functions can be used "in a deterministic manner"

The following functions are not always deterministic, but can be used in indexed views or indexes on computed columns when they are specified in a deterministic manner.

What does it mean by non-deterministic functions can be used in a deterministic manner?
Can someone illustrate how that can be done? and where you would do so?

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

c# - C++ と C# では、複数の条件チェックが所定の順序またはランダムな順序で実行されますか?

状況: C++ または C# での多くの基準による条件チェック:

私は常に、これらのチェックが実行される順序は保証されていないと信じてきました。したがって、必ずしも最初に condition1、次に condition2、次に condition3 というわけではありません。私は C++ の時代にそれを学びました。そう言われたか、どこかで読んだ気がします。

知るまでは、次の状況で発生する可能性のある null ポインターを考慮して、常に安全なコードを作成してきました。

だから私は書いていた:

not-null チェックが最初に実行され、その後インスタンス メソッドが呼び出されて 2 番目のチェックが実行されるかどうか確信が持てなかったためです。

現在、私たちの最高のコミュニティの心は、これらのチェックが実行される順序は左から右の順序で実行されることが保証されていると言っています.

とても驚いています。C++ 言語と C# 言語の両方で本当にそうなのでしょうか?

私が以前に聞いたバージョンを他の誰かが聞いたことがありますか?

0 投票する
10 に答える
5433 参照

unit-testing - 遺伝的アルゴリズムのテスト方法

私はかなりの数の遺伝的アルゴリズムを作成しました。それらは機能します (合理的な解決策をすばやく見つけます)。しかし、私は今TDDを発見しました。遺伝的アルゴリズム(乱数に大きく依存している)をTDDの方法で書く方法はありますか?

より一般的に質問を投げかけるには、非決定論的なメソッド/関数をどのようにテストしますか。これが私が考えたことです:

  1. 特定のシードを使用します。そもそもコードを間違えた場合は役に立ちませんが、リファクタリング時にバグを見つけるのに役立ちます。

  2. 番号の既知のリストを使用します。上記と同様ですが、コードを手でたどることができます (これは非常に面倒です)。

  3. 定数を使用します。少なくとも私は何を期待すべきか知っています。RandomFloat(0,1) が常に 1 を返す場合、サイコロの目が常に 6 になるようにするとよいでしょう。

  4. 非決定論的なコードをできるだけ GA から移動するようにしてください。それがその目的の核心であるため、これはばかげているようです。

テストに関する非常に優れた書籍へのリンクも歓迎します。

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

c# - amb-operator による非決定的な選択

C# で非決定論的な選択のためにMcCarthy のamb-operatorを実装することは可能ですか?

どうやら .NET には継続サポートがyield returnありませんが、役立つ可能性があります。これは、F# のような他の静的 .NET 言語で可能でしょうか?

0 投票する
5 に答える
4848 参照

linux - 非決定的な方法で pthreads を使用する場合のセグメンテーション違反

問題は、以下のコードを単一のコアで実行すると、正しく実行されることもあれば、セグメンテーション エラーが発生することもあります。おそらく、この問題はマルチコア マシンでより頻繁に発生します。この非決定性がプログラムのどこに導入されているか、またどのように解決できるかを知る必要があります。ありがとうございます。

0 投票する
8 に答える
6213 参照

multithreading - 非決定論的プログラミング言語

私はPrologであなたが次のようなことをすることができることを知っています

これは、リスト内のすべての要素を反復処理するわけではありません。代わりに、異なる「マシン」に分岐し(複数のスレッドを使用する、単一のスレッドでバックトラックする、パラレルユニバースを作成するなど)Xの可能な値ごとに個別に実行してsomeOtherFunction(X, List)trueを返します。
(私はそれがこれをどのように行うのか分かりませんが、それは質問にとって重要ではありません)

私の質問は、 他にどのような非決定論的プログラミング言語が出回っているのかということです。 非決定論は、不変の変数を持つ言語でマルチスレッドを実装するための最も簡単で論理的な方法のようですが、これが行われるのを見たことがありません-なぜこの手法がより一般的ではないのですか?