私は以下のCormenなど文字列ラビン - カープ基本数表記
によってアルゴリズムの紹介のStringアルゴリズムについて読んでいますが、いくつかの基本的数論の表記に関するテキストです。
注:以下の文章では、モジュロ同値としてのrefere ==です。
ある整数の残りの部分を別のものに分割してよく定義された概念が与えられている場合、余りの等価を示すために特別な表記を提供すると便利です。 (a mod n)=(b mod n)なら、a == b(mod n)と書いて、aはbをmod nに等しくすると言う。言い換えると、aとbがnで除算されたときに同じ剰余を持つ場合、a == b(mod n)です。同様に、a | = b(mod n) (b-a)。 たとえば、61 == 6(mod 11)です。また、-13 == 22 == 2 ==(mod 5)。
整数は、nを法とする剰余に従ってn等価クラスに分割することができます。整数aを含むモジュロnを等価クラスとすると、aはn = {a + kn:k z}となる。
たとえば、[3] 7 = {。 。 。 、-11、-4、3、10、17 ,. 。 。};このセットの他の表記は[-4] 7と[10] 7です。
aを[b] nに書くことは、a == b(mod n)と書くことと同じです。私の質問.---------->式1
- :そのようなすべての同値類のセットは
のZn = {1 0 <は= < = N [A] N}であります上の文章では、方程式1に "a"は0とn-1の間でなければならないと述べられていますが、例として、0から6の間ではない-4として与えられます。
上記に加えて、Rabin-Karpアルゴリズムでは、3番目の数を法とする2つの数値の等価性を使用することが言及されていますか?これは何を意味するのでしょうか?
これは文字列やアルゴリズムとは無関係で、数学とは関係がありません。 – Amadan
-4 == 3(mod 7)。時にはそれを3と、時には-4と考えるのが便利な場合もあります。そして、「aはb mod cと等価です」とは、cがa-bを分割することを意味します。 – btilly