1 / 60

Chapter 4 Number Theory Benchaporn Jantarakongkul

Chapter 4 Number Theory Benchaporn Jantarakongkul. 1. The Integers and Division. ทฤษฎีจำนวน เป็นสาขาหนึ่งในวิชาคณิตศาสตร์ ที่ศึกษาเกี่ยวกับคุณสมบัติของจำนวนเต็ม มีบทบาทสำคัญกับอัลกอริธึมต่างๆ เช่น hash functions, cryptography, digital signatures. 2. Divides , Factor , Multiple.

moeshe
Download Presentation

Chapter 4 Number Theory Benchaporn Jantarakongkul

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 4Number TheoryBenchaporn Jantarakongkul Faculty of Informatics, Burapha University 1

  2. The Integers and Division • ทฤษฎีจำนวน เป็นสาขาหนึ่งในวิชาคณิตศาสตร์ ที่ศึกษาเกี่ยวกับคุณสมบัติของจำนวนเต็ม มีบทบาทสำคัญกับอัลกอริธึมต่างๆ เช่น hash functions, cryptography, digital signatures Faculty of Informatics, Burapha University 2

  3. Divides, Factor, Multiple • กำหนดให้a,bZโดยที่a0 • นิยาม.:a|b “adividesb”: (cZ:b=ac)“มีจำนวนเต็ม cจำนวนหนึ่งที่cนั้นคูณกับa แล้วเท่ากับ b” • เช่น: 312  True, แต่ 37  False • ถ้าaหารb ได้ลงตัว, แล้วเรากล่าวได้ว่า aเป็นตัวประกอบ(factor)หรือเป็นตัวหาร(divisor)ของ b, และbเป็นพหุคูณ(multiple)ของa • เช่น: “bเป็นเลขคู่” :≡ 2|bหรือ b=2c • 0 เป็นเลขคู่? −4 เป็นเลขคู่? Faculty of Informatics, Burapha University 3

  4. Divisors-Examples ข้อใดต่อไปนี้เป็นจริง? • 77 | 7 • 7 | 77 • 24 | 24 • 0 | 24 • 24 | 0 Faculty of Informatics, Burapha University 4

  5. Divisors-Examples ตอบ: • 77 | 7: เท็จ เพราะ จำนวนที่มากกว่าไม่สามารถหารจำนวนที่น้อยกว่าได้ลงตัว • 7 | 77: จริง เพราะ 77 = 7 · 11 • 24 | 24: จริง เพราะ 24 = 24 · 1 • 0 | 24: เท็จ เพราะเราไม่นิยามการหารด้วยศูนย์ • 24 | 0: จริง เพราะ 0 สามารถหารได้ลงตัวด้วยเลขทุกจำนวน(0 = 24 · 0) Faculty of Informatics, Burapha University 5

  6. 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 Faculty of Informatics, Burapha University 6

  7. 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) Faculty of Informatics, Burapha University 7

  8. More Detailed Version of Proof • พิสูจน์ทฤษฎีที่ (3): • สมมติว่าa|bจากนิยามจะได้ว่ามีจำนวนเต็ม m โดยที่ b = amคูณทั้งสองข้างด้วยc จะได้ว่า bc=amc= a (mc) • จะเห็นได้ว่าbcสามารถเขียนให้อยู่ในรูปของaคูณกับจำนวนเต็มmcดังนั้น จากนิยามของ“|” จึงสรุปได้ว่าa|bc■ Faculty of Informatics, Burapha University 8

  9. Prime Numbers • จำนวนเต็มp>1เป็นจำนวนเฉพาะ(prime)ก็ต่อเมื่อจำนวนเต็มนั้นไม่เป็นผลคูณของจำนวนเต็มสองตัวใดๆที่มากกว่า 1:p>1  a,bN:a>1, b>1, ab=p • ข้อสังเกต: 1 ไม่เป็นจำนวนเฉพาะ • ตัวประกอบที่เป็นบวกของจำนวนเฉพาะ pคือ 1 และp(ตัวของมันเอง)เท่านั้นเช่น: 2,3,5,7,11,13... • จำนวนเต็มที่ไม่ใช่จำนวนเฉพาะที่มีค่ามากกว่า 1 เรียกว่าจำนวนประกอบ(composite), เพราะจำนวนดังกล่าวเกิดจากการคูณกันของจำนวนเต็มที่มากกว่า 1 สองจำนวน Faculty of Informatics, Burapha University 9

  10. 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 จึงไม่เป็นจำนวนเฉพาะ Faculty of Informatics, Burapha University 10

  11. การทดสอบการเป็นจำนวนเฉพาะการทดสอบการเป็นจำนวนเฉพาะ จำนวนเฉพาะมีบทบาทสำคัญในการเข้ารหัส จึงจำเป็นต้องสามารถตรวจสอบได้ว่าจำนวนใดๆเป็นจำนวนเฉพาะหรือไม่ ซึ่งจะพบว่าในทางปฏิบัติทำได้ยาก หากจำนวนนั้นเป็นเลขขนาดใหญ่มากๆ ต่อไปนี้เป็นตัวอย่างอัลกอริธึมในการตรวจสอบว่าจำนวนเต็ม nเป็นจำนวนเฉพาะหรือไม่: boolean isPrime(integer n) if ( n < 2 ) return false for(i = 2 to n -1) if( i|n ) // ถ้า i หาร nได้ลงตัว return false return true Faculty of Informatics, Burapha University 11

  12. Primality Testing • ไม่จำเป็นต้องทดสอบด้วยจำนวนที่มากกว่า n/2 • เมื่อทดสอบด้วย 2 แล้วยังคงหาร nไม่ลงตัว ไม่จำเป็นต้องทดสอบด้วยจำนวนคู่อื่นๆอีก เพราะ เมื่อมาถึงขั้นนี้ เราจะทราบแล้วว่า n เป็นจำนวนคี่ • เริ่มทดสอบต่อไปด้วยจำนวนเฉพาะที่มีค่าน้อยๆก่อน ได้แก่ 3,5,7,… ถ้า 3 หาร nไม่ลงตัว ไม่จำเป็นต้องทดสอบด้วยพหุคูณของ 3 อื่นๆ เช่น 6, 9,12,…อีก • ในความเป็นจริงแล้ว จำนวนเฉพาะที่จะนำมาทดสอบจะต้องมีค่าไม่เกิน ซึ่งจะแสดงเหตุผลในสไลด์ต่อไป: Faculty of Informatics, Burapha University 12

  13. Primality Testing LEMMA: ถ้าn เป็นจำนวนประกอบ แล้วตัวประกอบที่เป็นจำนวนเฉพาะที่เล็กที่สุดของ n จะมีค่า พิสูจน์ (by contradiction)สมมติให้ตัวประกอบที่เป็นจำนวนเฉพาะที่เล็กที่สุดมีค่า > จากความรู้พื้นฐานด้านคณิตศาสตร์สามารถเขียนได้ว่าn = pqxโดยp และq เป็นจำนวนเฉพาะที่ > และx เป็นจำนวนเต็ม ดังนั้นจะได้ว่า นั่นคือ n>n ซึ่งเป็นไปไม่ได้, ดังนั้นที่เราสมมติว่าตัวประกอบที่เป็นจำนวนเฉพาะที่เล็กที่สุดมีค่า > จึงเป็นเท็จ แสดงว่าประโยคตามที่ทฤษฎีกล่าวไว้เป็นจริงนั่นเอง  จากทฤษฎีข้างบน จะได้ว่า “ถ้า n ไม่มีตัวหารที่เป็นจำนวนเฉพาะที่  แล้ว สรุปได้ว่า nเป็นจำนวนเฉพาะ” Faculty of Informatics, Burapha University 13

  14. Primality Testing-Example ตัวอย่าง: จงทดสอบว่า 139 และ 143 เป็นจำนวนเฉพาะหรือไม่ โดยเขียนจำนวนเฉพาะที่มีค่าน้อยกว่าหรือเท่ากับ และ แล้วนำจำนวนเฉพาะดังกล่าวไปตรวจสอบกับจำนวนที่ต้องการว่าหารได้ลงตัวหรือไม่ เช่น 2: หาร 139 และ 143 ไม่ลงตัว(จำนวนทั้งสองเป็นจำนวนคี่) 3: หาร 139 ไม่ลงตัว และ 3: หาร 143 ไม่ลงตัว 5: หาร 139 และ 143 ไม่ลงตัว(จำนวนทั้งสองไม่ลงท้ายด้วย 5 หรือ 0) 7: หาร 139 และ 143 ไม่ลงตัว 11: หาร 139 ไม่ลงตัวแต่11: หาร 143 ลงตัว STOP!จำนวนเฉพาะตัวต่อไปคือ 13 แต่ 13 มีค่ามากกว่า จึงไม่จำเป็นต้องนำมาทดสอบ สรุปได้ว่า: 139 เป็นจำนวนเฉพาะ แต่ 143 เป็นจำนวนประกอบ Faculty of Informatics, Burapha University 14

  15. ทฤษฎีหลักมูลของเลขคณิตทฤษฎีหลักมูลของเลขคณิต • จำนวนเต็มบวกทุกตัวสามารถแยกตัวประกอบ และ เขียนในรูปผลคูณของชุดจำนวนเฉพาะที่เรียงจากจำนวนเฉพาะที่มีค่าน้อยไปมากได้เพียงแบบเดียวเท่านั้น • ตัวอย่าง เช่น: • 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" Faculty of Informatics, Burapha University 15

  16. An Application of Primes! • เมื่อเราเข้าเว็บที่มีการรักษาความปลอดภัย (สังเกตจากโปรโตคอล https:… หรือสัญลักษณ์รูปกุญแจบนหน้าต่างเว็บเบราเซอร์), โปรแกรมเว็บเบราเซอร์และเว็บไซต์นั้นๆอาจมีการใช้เทคโนโลยีที่เรียกว่าการเข้ารหัสแบบ RSA (RSA encryption) • การเข้ารหัสถอดรหัสโดยใช้คีย์สาธารณะ(public-key cryptography) เป็นการแลกเปลี่ยนคีย์สาธารณะ(public keys) ซึ่งเป็นจำนวนที่เกิดจากการคูณจำนวนเฉพาะขนาดใหญ่pqเข้าด้วยกัน โดยจำนวนเฉพาะ pและq (เรียกว่าคีย์ส่วนตัวหรือprivate key) จะถูกเก็บไว้เป็นความลับ เฉพาะผู้สร้างรหัสเท่านั้นที่จะทราบค่าทั้งสองนี้ • การเจาะระบบการรักษาความปลอดภัยบนรายการข้อมูลของเว็บนั้นๆ จึงจัดเป็นขั้นตอนที่ยาก เพราะการแยกตัวประกอบของคีย์สาธารณะออกเป็นจำนวนเฉพาะเพื่อให้ทราบคีย์ส่วนตัวนั้นค่อนข้างซับซ้อนพอสมควร Faculty of Informatics, Burapha University 16

  17. The Division • Theorem: สำหรับจำนวนเต็มใดๆ ตัวตั้ง(dividend)aและตัวหาร(divisor)d≠0, มีจำนวนเต็มเพียงค่าเดียวที่เป็นผลหาร(quotient)qและ เศษ(remainder)rNโดยที่ a = dq + rและ0  r < |d| • จากทฤษฎีข้างบน, • dเรียกว่า ตัวหาร(divisor), • aเรียกว่า ตัวตั้ง(dividend), • qเรียกว่า ผลหาร(quotient), และ • rเรียกว่า เศษเหลือ(remainder) Faculty of Informatics, Burapha University 17

  18. Division การหารยาว 117 = 31·3 + 24 a = dq+ r q the quotient d the divisor r the remainder a the dividend Faculty of Informatics, Burapha University 18

  19. Division การหารยาว -11 = 3·(-4) +1 ข้อสังเกต: เศษเหลือจะเป็นจำนวนลบไม่ได้ a = dq + r q the quotient d the divisor 1 r the remainder a the dividend Faculty of Informatics, Burapha University 19

  20. ตัวหารร่วมมาก(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 eZ,(e|a  e|b) → d ≥ e • ตัวอย่าง เช่น:gcd(24,36)=?ตัวหารร่วมของทั้งสองจำนวน ได้แก่: 1,2,3,4,6,12แต่ตัวหารร่วมที่มีค่ามากที่สุดคือ 12 Faculty of Informatics, Burapha University 20

  21. ตัวหารร่วมมาก(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 Faculty of Informatics, Burapha University 21

  22. 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. Faculty of Informatics, Burapha University

  23. 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 Faculty of Informatics, Burapha University 23

  24. Greatest Common DivisorRelatively Prime Q: จงหา ห.ร.ม.หรือgcd ต่อไปนี้: • gcd(11,77) • gcd(33,77) • gcd(24,36) • gcd(24,25) Faculty of Informatics, Burapha University 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 กับจำนวนอื่นๆทุกตัวที่จำนวนเฉพาะนั้นหารไม่ลงตัว Faculty of Informatics, Burapha University 25

  26. Pairwise relatively prime • เซตของจำนวนเต็ม {a1,a2,…} เป็นจำนวนเฉพาะสัมพัทธ์เป็นคู่(pairwise relatively prime)ถ้าทุกคู่ (ai, aj), เมื่อij, เป็นrelatively prime Q: จงหาเซตย่อยที่มีขนาดใหญ่ที่สุดที่เป็นpairwise relatively primeของเซตที่กำหนดให้ต่อไปนี้ { 44, 28, 21, 15, 169, 17 } Faculty of Informatics, Burapha University 26

  27. 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 Faculty of Informatics, Burapha University 27

  28. ตัวคูณร่วมน้อย(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|mnZ: (a|n  b|n) → (m ≤ n) • ถ้า prime factorizations ของจำนวนเต็มสองจำนวนเขียนแทนด้วยและ , ดังนั้น LCM หาได้โดย Faculty of Informatics, Burapha University 28

  29. คูณร่วมน้อย(Least Common Multiple) Q: จงหา ค.ร.น. หรือ lcm ต่อไปนี้: • lcm(10,100) • lcm(7,5) • lcm(9,21) • lcm(3, 7) • lcm(4, 6) Faculty of Informatics, Burapha University 29

  30. คูณร่วมน้อย(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 = 4275 = 540 Faculty of Informatics, Burapha University 30

  31. 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: ab = gcd(a,b)lcm(a,b) Faculty of Informatics, Burapha University 31

  32. The mod operator • mod เป็นตัวดำเนินการกับจำนวนเต็มเพื่อหาเศษที่เหลือจากการหาร • กำหนดให้a,dZโดยd>1ดังนั้นamoddแทนเศษrที่เหลือจากการหารตัวตั้ง aด้วยตัวหารd • สามารถคำนวณค่า (amodd)ได้โดย: a  d·a/d • ในภาษา C/C++/Java ,ใช้เครื่องหมาย “%” แทนการ mod • ผลจากการใช้ “%” ใน Java อาจได้ผลลัพธ์ที่เป็น บวกหรือลบก็ได้ แต่ในทฤษฎีจำนวนเราสนใจเศษที่เป็นบวกเท่านั้น เช่น -10 mod 3 = 2 แต่ใน Java –10%3 = -1 Faculty of Informatics, Burapha University 32

  33. mod function จงหาค่า • 113 mod 24: • -29 mod 7 Faculty of Informatics, Burapha University 33

  34. Modular Congruence • กำหนดให้a,bZ, mZ+ โดยที่Z+={nZ| n>0}=N−{0} (จำนวนเต็มบวก) • ดังนั้นaคอนกรูเอนซ์(congruent)กับbมอดุโลm, เขียนได้ว่า “ab (mod m)”,ก็ต่อเมื่อm | abเรียก m ว่า มอดุลัส • หรือเขียนได้ว่า: (ab) mod m = 0 ข้อสังเกตุ1.ab (mod m)ก็ต่อเมื่อa mod m = b mod m 2.ab (mod m)ก็ต่อเมื่อมีจำนวนเต็มkซึ่งทำให้a= b+km Faculty of Informatics, Burapha University 34

  35. Modular Congruence Q: ข้อใดต่อไปนี้เป็นจริง? • 3  3 (mod 17) • 3  -3 (mod 17) • 172  177 (mod 5) • -13  13 (mod 26) Faculty of Informatics, Burapha University 35

  36. 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 Faculty of Informatics, Burapha University 36

  37. 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) Faculty of Informatics, Burapha University 37

  38. Useful Congruence Theorems • Theorem:กำหนดให้a,bZ, mZ+ดังนั้น:ab (mod m)  kZa=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  Faculty of Informatics, Burapha University 38

  39. Useful Congruence Theorems • Theorem:กำหนดให้a,b,c,dZ, m,nZ+ 1. ถ้า ab (mod m)และcd (mod m), ดังนั้น: ▪ a+c b+d (mod m), และ ▪ac  bd (mod m) 2.ถ้าab (mod m)และbc (mod m), ดังนั้นa  c (mod m) 3. ถ้าab (mod m)ดังนั้นanbn (mod m) Faculty of Informatics, Burapha University 39

  40. Useful Congruence Theorems พิสูจน์ ทฤษฎี (1.) ab (mod m)  cd (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) Faculty of Informatics, Burapha University 40

  41. Modular arithmeticharder examples Q: จงหาคำตอบของโจทย์ที่กำหนดให้ ต่อไปนี้ • 3071001 mod 102 • (-45 · 77) mod 17 Faculty of Informatics, Burapha University 41

  42. Modular arithmeticharder examples • หา 3071001 mod 102 โดยใช้กฎการยกกำลัง ถ้าab (mod m)ดังนั้นanbn (mod m): ถ้า3071 (mod 102)ดังนั้น307n1n (mod 102): 3071001  3071001(mod 102)  11001(mod 102)  1(mod 102) ดังนั้น, 3071001 mod 102 = 1 Faculty of Informatics, Burapha University 42

  43. Modular arithmeticharder examples • หา (-45 · 77) mod 17 โดยใช้กฎการคูณ ถ้า ab (mod m)และcd (mod m), ดังนั้น ac  bd (mod m) ถ้า -456 (mod 17)และ779 (mod 17), ดังนั้น -45·77  6·9 (mod 17): (-45·77)  (-45·77)(mod 17)  (6·9)(mod 17)  54(mod 17)  3(mod 17) ดังนั้น(-45·77) mod 17 = 3 Faculty of Informatics, Burapha University 43

  44. 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)… : ถ้า ab (mod m)และcd (mod m), ดังนั้น a+c b+d (mod m) ดังนั้น คำตอบ คือ 0 Faculty of Informatics, Burapha University 44

  45. Hashing Functions • เป็นการใช้คอนกรูเอนซ์ในการกำหนดตำแหน่งของหน่วยความจำที่สัมพันธ์กับไฟล์คอมพิวเตอร์ • เรคอร์ดข้อมูลแต่ละเรคอร์ดระบุได้โดยการใช้คีย์(key) ซึ่งค่าของคีย์ต้องไม่ซ้ำกันในแต่ละเรคอร์ด • แฮชชิ่งฟังก์ชัน hเป็นการกำหนดตำแหน่งของหน่วยความจำh(k)ให้กับเรคอร์ดข้อมูลที่มีคีย์แทนด้วยk h(k) = k mod m โดยที่mเป็นขนาดของหน่วยความจำที่สามารถใช้งานได้(ขนาดของตารางแฮชที่ใช้เก็บข้อมูล) Faculty of Informatics, Burapha University 45

  46. 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) Faculty of Informatics, Burapha University 46

  47. Pseudo-random Numbers • การสร้างตัวเลขสุ่มแบบเทียมโดยการใช้คอนกรูเอนซ์ เริ่มด้วยการเลือกจำนวนเต็มบวก 4 จำนวน ได้แก่ :มอดุลัส(modulus)m, พหุคูณ(multiplier)a, ค่าที่เพิ่มขึ้น(increment)c, และ ค่าเริ่มต้น(seed)x0 • โดยที่ 2 ≤ a < m, 0 ≤ c < m, 0 ≤ x0 < m • เพื่อทำการสร้างลำดับเลขสุ่มเทียม{xn}ซึ่ง0 ≤ xn < m โดยใช้: xn+1 = (axn + c) modm • การสร้างชุดเลขสุ่มเทียมที่ดีนิยมเลือกค่า a,c,mเป็นจำนวนเฉพาะ หรือเป็น relatively prime Faculty of Informatics, Burapha University 47

  48. Example • กำหนด มอดุลัสm= 1,000 = 23·53 • เพื่อสร้างชุดเลขสุ่มเทียมที่มีค่า 0-999 • เลือกค่าที่เพิ่มขึ้น c= 467 (ซึ่งเป็นจำนวนเฉพาะ), ค่าพหุคูณa = 293 (ซึ่งเป็นจำนวนเฉพาะ), และค่าเริ่มต้นx0 = 426 • จะได้ชุดลำดับของเลขสุ่มเทียมดังนี้: x1 = (ax0 + c) modm = 285 x2 = (ax1 + c) modm = 972 x3 = (ax2 + c) modm = 263 … Faculty of Informatics, Burapha University 48

  49. Simple Encryption แปลงข้อความเป็นตัวอักษรพิมพ์ใหญ่ แปลงตัวอักษรเป็นตัวเลขระหว่าง 0 ถึง 25 เช่น จาก A เป็นเลข 0, B เป็นเลข 1, C เป็นเลข 2…เป็นต้น นำตัวเลขแต่ละตัวไปผ่านฟังก์ชั่นการเข้ารหัสที่ต้องการ(ด้วยการมอดุโล) แปลงตัวเลขที่ได้จากฟังก์ชั่นกลับเป็นตัวอักษรอีกครั้ง จะได้ข้อความที่ผ่านการเข้ารหัสเรียบร้อยแล้ว Faculty of Informatics, Burapha University 49

  50. Caesar’s Cipher ฟังก์ชันที่ใช้ในการเข้ารหัสคือ f (a) = (a+3) mod 26 ตัวอย่างเช่น การเข้ารหัส “YESTERDAY” • YESTERDAY • 24 4 18 19 4 17 3 0 24 • 1 7 21 22 7 20 6 3 1 • “BHVWHUGDB” Faculty of Informatics, Burapha University 50

More Related