710 likes | 1.06k Views
Number Theory Benchaporn Jantarakongkul. The Integers and Division. ทฤษฎีจำนวน เป็นสาขาหนึ่งในวิชาคณิตศาสตร์ ที่ศึกษาเกี่ยวกับคุณสมบัติของจำนวนเต็ม มีบทบาทสำคัญกับอัลกอริธึมต่างๆ เช่น hash functions, cryptography, digital signatures. Divides , Factor , Multiple.
E N D
The Integers and Division • ทฤษฎีจำนวน เป็นสาขาหนึ่งในวิชาคณิตศาสตร์ ที่ศึกษาเกี่ยวกับคุณสมบัติของจำนวนเต็ม มีบทบาทสำคัญกับอัลกอริธึมต่างๆ เช่น hash functions, cryptography, digital signatures
Divides, Factor, Multiple • กำหนดให้a,bZโดยที่a0 • นิยาม.:a|b “adividesb”: (cZ:b=ac)“มีจำนวนเต็ม cจำนวนหนึ่งที่cนั้นคูณกับa แล้วเท่ากับ b” • เช่น: 312 True, แต่ 37 False • ถ้าaหารb ได้ลงตัว, แล้วเรากล่าวได้ว่า aเป็นตัวประกอบ(factor)หรือเป็นตัวหาร(divisor)ของ b, และbเป็นพหุคูณ(multiple)ของa • เช่น: “bเป็นเลขคู่” :≡ 2|bแล้ว 0 เป็นเลขคู่? −4 เป็นเลขคู่?
Divisors.Examples ข้อใดต่อไปนี้เป็นจริง? • 77 | 7 • 7 | 77 • 24 | 24 • 0 | 24 • 24 | 0
Divisors.Examples ตอบ: • 77 | 7: เท็จ เพราะ จำนวนที่มากกว่าไม่สามารถหารจำนวนที่น้อยกว่าได้ลงตัว • 7 | 77: จริง เพราะ 77 = 7 · 11 • 24 | 24: จริง เพราะ 24 = 24 · 1 • 0 | 24: เท็จ เพราะมีเพียง 0 ตัวเดียวเท่านั้นที่หารด้วย 0 ได้ • 24 | 0: จริง เพราะ 0 สามารถหารได้ลงตัวด้วยเลขทุกจำนวน(0 = 24 · 0)
Facts re: the Divides Relation • Theorem:a,b,c Z: 1. a≠0 a|0 และ a|a 2. (a|b a|c) a | (b + c) 3. a|b a|bc 4. (a|b b|c) a|c 5. [a|(b+c) a|b)] a|c ตัวอย่าง เช่น: • 17|0 • 17|34 17|170 17|204 • 17|34 17|340 • 6|12 12|144 6 | 144
More Detailed Version of Proof • พิสูจน์ทฤษฎีที่ (2): • พิสูจน์ว่าa,b,c Z: (a|b a|c) a | (b + c) • กำหนดให้a, b, cเป็นจำนวนเต็มใดๆโดยที่ a|bและa|c, และแสดงว่า a | (b + c) • จากนิยามของการหารลงตัว |, เราทราบว่า s: b=as, และt: c=atโดยกำหนดให้s, t เป็นจำนวนเต็มใดๆ • ดังนั้นb+c = as + at = a(s+t), หรือเขียนได้ว่าu: b+c=au, โดยu=s+tจึงสรุปได้ว่าa|(b+c)
More Detailed Version of Proof • พิสูจน์ทฤษฎีที่ (3): • สมมติว่าa|bจากนิยามจะได้ว่ามีจำนวนเต็ม m โดยที่ b = amคูณทั้งสองข้างด้วยc จะได้ว่า bc=amc= a (mc) • จะเห็นได้ว่าbcสามารถเขียนให้อยู่ในรูปของaคูณกับจำนวนเต็มmcดังนั้น จากนิยามของ“|” จึงสรุปได้ว่าa|bc■
Prime Numbers • จำนวนเต็มp>1เป็นจำนวนเฉพาะ(prime)ก็ต่อเมื่อจำนวนเต็มนั้นไม่เป็นผลคูณของจำนวนเต็มสองตัวใดๆที่มากกว่า 1:p>1 a,bN:a>1, b>1, ab=p • ข้อสังเกต: 1 ไม่เป็นจำนวนเฉพาะ • ตัวประกอบที่เป็นบวกของจำนวนเฉพาะ pคือ 1 และp(ตัวของมันเอง)เท่านั้นเช่น: 2,3,5,7,11,13... • จำนวนเต็มที่ไม่ใช่จำนวนเฉพาะที่มีค่ามากกว่า 1 เรียกว่าจำนวนประกอบ(composite), เพราะจำนวนดังกล่าวเกิดจากการคูณกันของจำนวนเต็มที่มากกว่า 1 สองจำนวน
Prime Numbers Q: จำนวนต่อไปนี้ จำนวนใดเป็นจำนวนเฉพาะ? 0,1,2,3,4,5,6,7,8,9,10 A: 0, และ 1 ไม่เป็นจำนวนเฉพาะ เพราะจำนวนเฉพาะต้องเป็นจำนวนบวกที่มากกว่าหรือเท่ากับ 2 2 เป็นจำนวนเฉพาะ เพราะ มี 1 และ 2 เท่านั้นเป็นตัวประกอบ 3 เป็นจำนวนเฉพาะ เพราะ มี 1 และ 3 เท่านั้นเป็นตัวประกอบ 4,6,8,10 ไม่เป็นจำนวนเฉพาะ เพราะสามารถหารด้วย 2 ได้ลงตัว 5, 7 เป็นจำนวนเฉพาะ เพราะ มี 1 และตัวมันเองเท่านั้นเป็นตัวประกอบ 9 = 3 · 3 จึงไม่เป็นจำนวนเฉพาะ
ทฤษฎีหลักมูลของเลขคณิตทฤษฎีหลักมูลของเลขคณิต • จำนวนเต็มบวกทุกตัวสามารถแยกตัวประกอบ และ เขียนในรูปผลคูณของชุดจำนวนเฉพาะที่เรียงจากจำนวนเฉพาะที่มีค่าน้อยไปมากได้เพียงแบบเดียวเท่านั้น • ตัวอย่าง เช่น: • 1 = 1 • 2 = 2 • 4 = 2·2 (การคูณของ 2 และ 2) • 100 = 2·2·5·5 = 22·52 • 2000 = 2·2·2·2·5·5·5; 2001 = 3·23·29;2002 = 2·7·11·13; • ลองแยกตัวประกอบของ 1573 = ? Its "Prime Factorization"
การทดสอบการเป็นจำนวนเฉพาะการทดสอบการเป็นจำนวนเฉพาะ จำนวนเฉพาะมีบทบาทสำคัญในการเข้ารหัส จึงจำเป็นต้องสามารถตรวจสอบได้ว่าจำนวนใดๆเป็นจำนวนเฉพาะหรือไม่ ซึ่งจะพบว่าในทางปฏิบัติทำได้ยาก หากเป็นเลขขนาดใหญ่มากๆ ต่อไปนี้เป็นอัลกอริธึมในการตรวจสอบว่าเป็นจำนวนเฉพาะหรือไม่แบบหนึ่ง: booleanisPrime(integer n) if ( n < 2 ) return false for(i= 2 to n -1) if( i|n) // ถ้า i หาร nได้ลงตัว return false return true
Primality Testing • ไม่จำเป็นต้องทดสอบด้วยจำนวนที่มากกว่า n/2 • เมื่อทดสอบด้วย 2 แล้วยังคงหาร nไม่ลงตัว ไม่จำเป็นต้องทดสอบด้วยจำนวนคู่อื่นๆอีก เพราะ เมื่อมาถึงขั้นนี้ เราจะทราบแล้วว่า n เป็นจำนวนคี่ • เริ่มทดสอบต่อไปด้วยจำนวนเฉพาะที่มีค่าน้อยๆก่อน ได้แก่ 3,5,7,… ถ้า 3 หาร nไม่ลงตัว ไม่จำเป็นต้องทดสอบด้วยพหุคูณของ 3 อื่นๆ เช่น 6, 9,12,…อีก • ในความเป็นจริงแล้ว จำนวนเฉพาะที่จะนำมาทดสอบจะต้องมีค่าไม่เกิน ซึ่งจะแสดงเหตุผลในสไลด์ต่อไป:
Primality Testing LEMMA: ถ้าn เป็นจำนวนประกอบ แล้วตัวประกอบที่มีค่าน้อยที่สุดที่เป็นจำนวนเฉพาะของ n จะมีค่า พิสูจน์ (by contradiction). สมมติให้ตัวประกอบที่เป็นจำนวนเฉพาะที่เล็กที่สุดมีค่า > จากความรู้พื้นฐานด้านคณิตศาสตร์สามารถเขียนได้ว่าn = pqxโดยp และq เป็นจำนวนเฉพาะที่ > และx เป็นจำนวนเต็ม ดังนั้นจะได้ว่า นั่นคือ n>n ซึ่งเป็นไปไม่ได้, ดังนั้นที่เราสมมติว่าตัวประกอบที่เป็นจำนวนเฉพาะที่เล็กที่สุดมีค่า > จึงเป็นเท็จ แสดงว่าประโยคตามที่ทฤษฎีกล่าวไว้เป็นจริงนั่นเอง จากทฤษฎีข้างบน จะได้ว่า “ถ้า n ไม่มีตัวหารที่เป็นจำนวนเฉพาะที่ แล้ว สรุปได้ว่า nเป็นจำนวนเฉพาะ”
Primality Testing.Example ตัวอย่าง: จงทดสอบว่า139 และ 143 เป็นจำนวนเฉพาะหรือไม่ เขียนจำนวนเฉพาะที่มีค่าน้อยกว่าหรือเท่ากับ แล้วนำจำนวนเฉพาะดังกล่าวไปตรวจสอบ(หาร)กับจำนวนที่ต้องการว่าหารได้ลงตัวหรือไม่ เช่น 2: หาร 139 และ 143 ไม่ลงตัว(จำนวนทั้งสองเป็นจำนวนคี่) 3: หาร 139 ไม่ลงตัว (1+3+9 = 13 ดังนั้น 139 หารด้วย 3 ไม่ลงตัว) และ 3: หาร 143 ไม่ลงตัว (1+4+3 = 8 ดังนั้น 143 หารด้วย 3 ไม่ลงตัว) 5: หาร 139 และ 143 ไม่ลงตัว(จำนวนทั้งสองไม่ลงท้ายด้วย 5 หรือ 0) 7: หาร 139 และ 143 ไม่ลงตัว 11: หาร 139 ไม่ลงตัว: (1-3+9 = 7 ดังนั้น 139 หารด้วย 11 ไม่ลงตัว)แต่ 11: หาร 143 ลงตัว (1-4+3 = 0 ดังนั้น 143 หารด้วย 11 ลงตัว) STOP!จำนวนเฉพาะตัวต่อไปคือ 13 แต่ 13 มีค่ามากกว่า จึงไม่จำเป็นต้องนำมาทดสอบ สรุปได้ว่า: 139 เป็นจำนวนเฉพาะ แต่ 143 เป็นจำนวนประกอบ
An Application of Primes! • เมื่อเราเข้าเว็บที่มีการรักษาความปลอดภัย (สังเกตจากโปรโตคอล https:… หรือสัญลักษณ์รูปกุญแจบนหน้าต่างเว็บเบราเซอร์), โปรแกรมเว็บเบราเซอร์และเว็บไซต์นั้นๆอาจมีการใช้เทคโนโลยีที่เรียกว่าการเข้ารหัสแบบ RSA (RSA encryption) • การเข้ารหัสถอดรหัสโดยใช้คีย์สาธารณะ(public-key cryptography) เป็นการแลกเปลี่ยนคีย์สาธารณะ(public keys) ซึ่งเป็นจำนวนที่เกิดจากการคูณจำนวนเฉพาะขนาดใหญ่pqเข้าด้วยกัน โดยจำนวนเฉพาะ pและq (เรียกว่าคีย์ส่วนตัว-- private key) จะถูกเก็บไว้เป็นความลับ เฉพาะผู้สร้างรหัสเท่านั้นที่จะทราบค่าทั้งสองนี้ • การเจาะระบบการรักษาความปลอดภัยบนรายการข้อมูลของเว็บนั้นๆ จึงจัดเป็นขั้นตอนที่ยาก เพราะการแยกตัวประกอบของคีย์สาธารณะออกเป็นจำนวนเฉพาะเพื่อให้ทราบคีย์ส่วนตัวนั้นค่อนข้างซับซ้อนพอสมควร
The Division • Theorem: สำหรับจำนวนเต็มใดๆ ตัวตั้ง(dividend)aและตัวหาร(divisor)d≠0, มีจำนวนเต็มเพียงค่าเดียวที่เป็นผลหาร(quotient)qและ เศษ(remainder)rNโดยที่ a = dq+ rและ0 r < |d| • จากทฤษฎีข้างบน, • dเรียกว่า ตัวหาร(divisor), • aเรียกว่า ตัวตั้ง(dividend), • qเรียกว่า ผลหาร(quotient), และ • rเรียกว่า เศษ(remainder)
Division การหารยาว 117 = 31·3 + 24 a = dq+ r q the quotient d the divisor r the remainder a the dividend
Division ตัวอย่าง: การหาร -11 ด้วย 3 ได้ผลลัพธ์ และเหลือเศษเท่าไร? • สังเกตว่าเศษเหลือจะเป็นจำนวนลบไม่ได้ -11 = 3(-4) + 1 • -11 คือ ตัวตั้ง, • 3 คือ ตัวหาร, • -4 คือ ผลหาร • 1 คือ เศษเหลือจากการหาร
ตัวหารร่วมมาก(Greatest Common Divisor) • ตัวหารร่วมมาก(ห.ร.ม.) หรือ gcd(a,b) ของจำนวนเต็ม a,b (โดยทั้งสองจำนวนไม่เป็น 0) คือจำนวนเต็มบวกที่มากที่สุดdที่เป็นตัวหารที่มีค่ามากที่สุดที่หาร aและ bได้ลงตัว d = gcd(a,b) = max(d: d|a d|b) d|a d|b eZ,(e|a e|b) → d ≥ e • ตัวอย่าง เช่น:gcd(24,36)=?ตัวหารร่วมของทั้งสองจำนวน ได้แก่: 1,2,3,4,6,12แต่ตัวหารร่วมที่มีค่ามากที่สุดคือ 12
ตัวหารร่วมมาก(Greatest Common Divisor) ตัวอย่าง 1:จงหาgcd(48, 72) ? • ตัวหารร่วมของ 48 และ 72 คือ 1, 2, 3, 4, 6, 8, 12, 16, 24, ดังนั้นgcd(48, 72) = 24 ตัวอย่าง 2:จงหา gcd(19, 72) ? • ตัวหารร่วมของ 19 และ 72 มีเพียงตัวเดียวคือ 1, ดังนั้นgcd(19, 72) = 1
GCD shortcut • ถ้า prime factorizations ของจำนวนเต็มสองจำนวนเขียนแทนได้ด้วยและ ,ดังนั้น ห.ร.ม. หรือ GCD ของจำนวนทั้งสองหาได้โดย: • ตัวอย่าง เช่น: • a=84=2·2·3·7 = 22·31·71 • b=96=2·2·2·2·2·3 = 25·31·70 • gcd(84,96) = 22·31·70 = 2·2·3 = 12.
Relative Primality • จำนวนเต็มaและbเรียกว่าเป็นจำนวนเฉพาะสัมพัทธ์(relatively prime) หรือcoprimeก็ต่อเมื่อ gcdของจำนวนทั้งสองมีค่าเท่ากับ 1 ตัวอย่าง เช่น: • 21 และ 10 เป็น relatively prime?Yes , gcd(21, 10) = 1 (21=3·7 และ 10=2·5, จะเห็นว่าจำนวนทั้งสองไม่มีตัวประกอบร่วมกันที่ > 1, ดังนั้นgcdของจำนวนทั้งสอง คือ 1) • 15 และ 28 เป็น relatively prime?Yes, gcd(15, 28) = 1 • 55 และ 28 เป็น relatively prime?Yes, gcd(55, 28) = 1 • 35 และ 28 เป็น relatively prime?No, gcd(35, 28) = 7
Greatest Common DivisorRelatively Prime Q: จงหา ห.ร.ม.หรือgcd ต่อไปนี้: • gcd(11,77) • gcd(33,77) • gcd(24,36) • gcd(24,25)
Greatest Common DivisorRelatively Prime A: • gcd(11,77) = 11 • gcd(33,77) = 11 • gcd(24,36) = 12 • gcd(24,25) = 1 ดังนั้น 24 และ 25 เป็นจำนวนเฉพาะสัมพัทธ์(relatively prime) ข้อสังเกต: จำนวนเฉพาะใดๆจะเป็น relatively prime กับจำนวนอื่นๆทุกตัวที่จำนวนเฉพาะนั้นหารไม่ลงตัว
Pairwise relatively prime • เซตของจำนวนเต็ม {a1,a2,…} เป็นจำนวนเฉพาะสัมพัทธ์เป็นคู่(pairwise relatively prime)ถ้าทุกคู่ (ai, aj), เมื่อij, เป็นrelatively prime Q: จงหาเซตย่อยที่มีขนาดใหญ่ที่สุดที่เป็นpairwise relatively primeของเซตที่กำหนดให้ต่อไปนี้ { 44, 28, 21, 15, 169, 17 }
Pairwise relatively prime A: เซตย่อยที่มีขนาดใหญ่ที่สุดที่เป็นpairwise relatively primeของ {44, 28, 21, 15, 169, 17} : มีได้หลายคำตอบ เช่น{17, 169, 28, 15}หรือ {17, 169, 44, 15} ตัวอย่าง: 15, 17, และ 27 เป็น pairwise relatively prime หรือไม่? • ไม่ใช่, เพราะgcd(15, 27) = 3 15, 17, และ 28 เป็น pairwise relatively prime หรือไม่? • ใช่, เพราะgcd(15, 17) = 1, gcd(15, 28) = 1 และgcd(17, 28) = 1
ตัวคูณร่วมน้อย(Least Common Multiple) • ค.ร.น. หรือlcm(a,b)ของจำนวนเต็มบวก a, b, คือจำนวนเต็มบวกที่เล็กที่สุดที่เป็นพหุคูณของทั้งaและ bเช่น lcm(6,10)=30 m = lcm(a,b) = min(m: a|m b|m)a|m b|mnZ: (a|n b|n) → (m ≤ n) • ถ้า prime factorizations ของจำนวนเต็มสองจำนวนเขียนแทนด้วยและ , ดังนั้น LCM หาได้โดย
คูณร่วมน้อย(Least Common Multiple) Q: จงหา ค.ร.น. หรือ lcm ต่อไปนี้: • lcm(10,100) • lcm(7,5) • lcm(9,21) • lcm(3, 7) • lcm(4, 6)
คูณร่วมน้อย(Least Common Multiple) A: • lcm(10,100) = 100 • lcm(7,5) = 35 • lcm(9,21) = 63 • lcm(3, 7) = 21 • lcm(4, 6) =12 ตัวอย่าง: a = 60 =22 31 51 b = 54 = 21 33 50 lcm(a, b) = lcm(60, 54) = 22 33 51 = 4275 = 540
GCD และ LCM a = 60 = 22 31 51 b = 54 = 21 33 50 gcd(a, b) = 21 31 50 = 6 lcm(a, b) = 22 33 51 = 540 Theorem: ab = gcd(a,b)lcm(a,b)
The mod operator • mod เป็นตัวดำเนินการกับจำนวนเต็มเพื่อหาเศษที่เหลือจากการหาร • กำหนดให้a,dZโดยd>1ดังนั้นamoddแทนเศษrที่เหลือจากการหารตัวตั้ง aด้วยตัวหารd • สามารถคำนวณค่า (amodd)ได้โดย: a d·a/d • ในภาษา C/C++/Java ,ใช้เครื่องหมาย “%” แทนการ mod • ผลจากการใช้ “%” ใน Java อาจได้ผลลัพธ์ที่เป็น บวกหรือลบก็ได้ แต่ในทฤษฎีจำนวนเราสนใจเศษที่เป็นบวกเท่านั้น เช่น -10 mod 3 = 2 แต่ใน Java –10%3 = -1
mod function Q: จงหาค่า • 113 mod 24 • -29 mod 7
mod function A: จงหาค่า • 113 mod 24: • -29 mod 7
mod function A: จงหาค่า • 113 mod 24: • -29 mod 7
mod function A: จงหาค่า • 113 mod 24: • -29 mod 7
mod function A: จงหาค่า • 113 mod 24: • -29 mod 7
Modular Congruence • กำหนดให้a,bZ, mZ+ โดยที่Z+={nZ| n>0}=N−{0} (จำนวนเต็มบวก) • ดังนั้นaคอนกรูเอนซ์(congruent)กับbมอดุโลm, เขียนได้ว่า “ab (mod m)”,ก็ต่อเมื่อm | abเรียก m ว่า มอดุลัส • หรือเขียนได้ว่า: (ab) mod m = 0 ข้อสังเกตุ1.ab (mod m)ก็ต่อเมื่อa mod m = b mod m 2.ab (mod m)ก็ต่อเมื่อมีจำนวนเต็มkซึ่งทำให้a= b+km
Modular Congruence Q: ข้อใดต่อไปนี้เป็นจริง? • 3 3 (mod 17) • 3 -3 (mod 17) • 172 177 (mod 5) • -13 13 (mod 26)
Modular Congruence A: • 3 3 (mod 17) จริง เพราะจำนวนใดๆคอนกรูเอนซ์กับตัวเองเสมอ (3-3 = 0 หารได้ลงตัวด้วยทุกจำนวน) • 3 -3 (mod 17) เท็จ (3-(-3)) = 6 ไม่สามารถหารได้ลงตัวด้วย 17 • 172 177 (mod 5) จริง 172-177 = -5 เป็นพหุคูณของ 5 • -13 13 (mod 26) จริง -13-13 = -26 หารได้ลงตัวด้วย 26
Spiral Visualization of mod ≡ 0(mod 5) ตัวอย่าง แสดงการmodulo-5 20 15 ≡ 1(mod 5) 10 ≡ 4(mod 5) 21 19 5 14 16 9 11 0 4 6 1 3 2 8 7 13 12 18 17 22 ≡ 2(mod 5) ≡ 3(mod 5)
Useful Congruence Theorems • Theorem:กำหนดให้a,bZ, mZ+ดังนั้น:ab (mod m) kZa=b+km Proof. direction: ถ้าa = b + km, แล้ว (a-b ) = km นั่นคือ m | (a-b) ซึ่งจากนิยาม หมายความว่าa b (mod m) direction: ถ้าa b (mod m), จากนิยาม m | (a-b ) ดังนั้นมีจำนวน kบางจำนวนที่ (a-b ) = kmหรือเขียนได้ว่า a = b + km
Useful Congruence Theorems • Theorem:กำหนดให้a,b,c,dZ, m,nZ+ 1. ถ้า ab (mod m)และcd (mod m), ดังนั้น: ▪ a+c b+d (mod m), และ ▪ac bd (mod m) 2.ถ้าab (mod m)และbc (mod m), ดังนั้นa c (mod m) 3. ถ้าab (mod m)ดังนั้นanbn (mod m)
Useful Congruence Theorems พิสูจน์ ทฤษฎี (1.) ab (mod m) cd (mod m) ac bd(mod m) Proof. สมมติให้มีจำนวนเต็ม k และl โดยที่ a = b + mkและc = d + ml ดังนั้นac = (b + mk)(d + ml ) = bd+m(kd+lb+mkl) ดังนั้น (ac-bd) = m(kd+lb+mkl) สามารถหารด้วย m ได้ลงตัว ดังนั้นจากนิยามจะได้ว่าac bd(mod m)
Modular arithmeticharder examples Q: จงหาคำตอบของโจทย์ที่กำหนดให้ ต่อไปนี้ • 3071001 mod 102 • (-45 · 77) mod 17
Modular arithmeticharder examples • หา 3071001 mod 102 โดยใช้กฎการยกกำลัง ถ้าab (mod m)ดังนั้นanbn (mod m): ถ้า3071 (mod 102)ดังนั้น307n1n (mod 102): 3071001 mod 102 3071001(mod 102) 11001(mod 102) 1(mod 102) ดังนั้น, 3071001 mod 102 = 1
Modular arithmeticharder examples • หา (-45 · 77) mod 17 โดยใช้กฎการคูณ ถ้า ab (mod m)และcd (mod m), ดังนั้น ac bd (mod m) ถ้า -456 (mod 17)และ779 (mod 17), ดังนั้น -45·77 6·9 (mod 17): (-45·77) mod 17 (-45·77)(mod 17) (6·9)(mod 17) 54(mod 17) 3(mod 17) ดังนั้น(-45·77) mod 17 = 3
Modular arithmeticharder examples • หาโดยใช้กฎการยกกำลังและกฎการบวก ถ้า 10-1 (mod 11)ดังนั้น 104 (-1)4(mod 11), หรือ 104 1(mod 11) ดังนั้น 105 (-1)5(mod 11), หรือ 105 -1(mod 11)… : ถ้า ab (mod m)และcd (mod m), ดังนั้น a+c b+d (mod m) ดังนั้น คำตอบ คือ 0
Hashing Functions • เป็นการใช้คอนกรูเอนซ์ในการกำหนดตำแหน่งของหน่วยความจำที่สัมพันธ์กับไฟล์คอมพิวเตอร์ • เรคอร์ดข้อมูลแต่ละเรคอร์ดระบุได้โดยการใช้คีย์(key) ซึ่งค่าของคีย์ต้องไม่ซ้ำกันในแต่ละเรคอร์ด • แฮชชิ่งฟังก์ชัน hเป็นการกำหนดตำแหน่งของหน่วยความจำh(k)ให้กับเรคอร์ดข้อมูลที่มีคีย์แทนด้วยk h(k) = k mod m โดยที่mเป็นขนาดของหน่วยความจำที่สามารถใช้งานได้(ขนาดของตารางแฮชที่ใช้เก็บข้อมูล)
Hashing FunctionsExample • ตัวอย่าง เช่น กำหนดให้ m=111เรคอร์ดของนักเรียนที่มีรหัสนักเรียน64212848 และ37149212 จะถูกกำหนดให้เก็บในหน่วยความจำตำแหน่งที่14 และ 65 เนื่องจาก h(64212848) = 64212848 mod 111 = 14 h(37149212) = 37149212 mod 111 = 65 สำหรับนักเรียนรหัส 24666707 จะถูกกำหนดให้เก็บในหน่วยความจำตำแหน่งที่ 65 เนื่องจาก h(24666707) = 24666707 mod 111 = 65 จะเห็นว่ากรณีนี้เกิดการชนกัน(Collision)