ผลต่างระหว่างรุ่นของ "204512/บรรยาย 4"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
 
แถว 51: แถว 51:
  
  
==คณิตศาสตร์มอดุโล==
+
==Balls & Bins==
;Definition 1:
+
* มีถัง n ถัง
จะกล่าวว่าจำนวนเต็ม a ''หารจำนวนเต็ม b ลงตัว'' ถ้ามีจำนวนเต็ม k ที่ ak = b เขียนแทนด้วย a|b
+
* มีบอล n ลูก
 
+
<math>Pr[ถังใบแรกว่าง] = (1 - 1/n) ^ n</math
;นิยาม : จำนวนเต็มบวก p ที่ p > 1 และมีตัวประกอบสองจำนวนคือ 1 และตัวมันเองเรียกว่า ''จำนวนเฉพาะ''
 
 
 
;นิยาม : a mod b = r ถ้า 0 <= r < b และมีจำนวนเต็ม k ที่ bk+r = a
 
 
 
ตัวอย่าง
 
:<math> 10\ \bmod\ 3\ =\ 1</math>
 
 
 
:<math>-10\ \bmod\ 3\ =\ 2\quad;\quad 3(-4)\ +\ 2\ =\ -10</math>
 
;นิยาม :
 
:<math>a \equiv b \pmod{m}</math> ถ้า  <math>a\ \bmod\ m\ =\ b\ \bmod\ m</math>
 
 
 
'''Proposition 1''': <math>a \equiv b \pmod{m}</math> เมื่อและต่อเมื่อ <math>m | a-b</math>
 
 
 
หลายครั้งเราจะพิสูจน์ความจริงในรูป <math>p\ \leftrightarrow\ q</math> โดยการพิสูจน์ <math>p\ \rightarrow\ q</math>
 
และ <math>q \rightarrow\ p</math>.  นอกจากนี้ ในการพิสูจน์ประโยค <math>p\rightarrow q</math> เรามักใช้การพิสูจน์แบบทางอ้อม (indirect proof) โดยพิสูจน์ <math>\neg q\rightarrow\neg p</math> แทน
 
 
 
'''Proof of Proposition 1:'''
 
<math>(\Rightarrow)</math>
 
 
 
:proof by picture ...
 
 
 
<math>(\Leftarrow)</math>
 
:เนื่องจาก  m | a-b เราจะได้ว่ามีจำนวนเต็ม k ที่
 
<math>m\,k  = a - b</math>
 
 
 
<math>b\ = a - m\,k</math>
 
 
 
<math>b\ \bmod\ m\  =\ a\ \bmod\ m\ -\ m\,k\ \bmod\ m</math>
 
 
 
<math>b\ \bmod\ m\ =\ a\ \bmod\ m</math>
 
 
 
;Propostition : ถ้า <math>a\ \equiv\ b \pmod{m}</math> และ <math>c\ \equiv\ d \pmod{m} </math> แล้ว
 
 
 
# <math>a+c \equiv b+d \pmod{m}</math>
 
# <math>a\,c \equiv b\,d \pmod{m}</math>
 
# <math>a-c \equiv b-d \pmod{m}</math>
 
 
 
proof :
 
:<math>a \equiv b \pmod{m} \rightarrow m|a-b </math>
 
:<math>c \equiv d \pmod{m} \rightarrow m|c-d </math>
 
:<math>m|(a+c)-(b+d)  \rightarrow a+c \equiv b+d \pmod{m}</math>
 
 
 
 
 
<math>a\,c \equiv a\,d \pmod{m} \rightarrow c \equiv d \pmod{m}</math>  <--  กรณีนี้ไม่เป็นจริง
 
 
 
นิยาม: สำหรับถ้า <math>a\,b \equiv 1 \pmod{m}</math> จะเรียก  b ว่าเป็น mutiplicative inverse modulo m  ของ <math>a</math> เขียนแทนด้วย  <math>a^{-1}</math>
 
 
 
เช่น
 
:<math>3*3 \equiv 1 \pmod{4} </math>
 
:<math>3 = 3^{-1} \pmod{4} </math>
 
 
 
(mod4)  
 
:2/3 = 7
 
:x*3 \eqv 2 (mod 4)
 
:x*3*\inv 3 \eqv 2*\inv 3 (mod 4)
 
:x \eqv 2*3 = 6 =2 (mod 4)
 
 
 
(mod 7)
 
:2/3 = 7
 
:\inv 3 (mod 7) \eqv 5 (mod 7)
 
:x \eqv 2*5 \eqv 10 \eqv 3 (mod 7)
 
 
 
ถ้ามี inverse สามารถหาผลหารได้โดยเอา inverse ไปคูณ
 
 
 
4/3  = 4* \inv 3 (mod m)
 
 
 
----
 
ตัวอย่าง ๆ
 
:<math>a \equiv b \pmod{m}</math> 
 
 
 
<math>x^2 + \frac{y}{m^n}</math>
 
----
 
  
 
==ตัวหารร่วมมาก (grestest common divisors)==
 
==ตัวหารร่วมมาก (grestest common divisors)==

รุ่นแก้ไขเมื่อ 07:09, 3 กรกฎาคม 2550

ขออภัย Lecture Note ที่ท่านเรียก ยังไม่เปิดให้ใช้บริการค่ะ


























Balls & Bins

  • มีถัง n ถัง
  • มีบอล n ลูก

:หรือ


(=>) สมมุติ a มี inverse การคูณ modulo m และ gcd(a,m) = 1 พิสูจน์ gcd(a,m)=/= 1 a จะไม่มี inverse

ให้ x = gcd(a,m)
หรือ a = x*k1 , m = x*k2
พิจารณา ai (mod m)
x*k1 i mod x*k2


ยูคลิด gcd alg. ในลักษณะ recursive function

funtion GCD(a,b)

if b|a then return a
else return gcd(b,a mod b)

การวิเคราะห์

การวิเคราะห์ความถูกต้อง

กรณี b|a ลงตัวจัดเจน กรณี GCD(b,a mod b)

assume a > b without lose in generality

Proof
GCD(a,b) = gcd(a,b)

พิสูจน์ by induction on (a,b)

base case: ถ้า b=0 , GCD(a,b) =a = gcd(a,b)

inductive step:ถ้า b > 0 และ a > b แล้ว

claim 2: GCD(b,a mod b ) = gcd(a,b)

ถ้า y|a และ y|b แล้ว y|a mod b

a = kb + r เขียน r = a mod b

a-r =kb เนื่องจาก y|b ,y|kb นั้นคือ

สรุปว่า y|r

assume ที่ GCD(x,y)=gcd(x,y) สำหรับทุกๆ x < a , y <= b ) ; (hypothesis) นั้นคือ GCD(b,a mod b) = gcd(b, a mod b) ดังนั้น GCD(a,b) = GCD(b, a mod b)

= gcd(b ,a mod b)
= gcd(a,b) ตาม claim 2
Proof by Induction 
:พิสูจน์ว่า P(i) จริงสำหรับจำนวนเต็มบวก i ทุกๆตัว
## P(1) จริง [base case] [basis]
## ถ้า P(i) แล้ว P(i+1) จริงสำหรับทุกๆ i >=1 ; P(i) จริงจาก P(j) j < i  [inductive step]
ถ้า (a)&(b) จะสรุปได้ว่า P(i) จริงสำหรับทุกจำนวนเต็ม i

การวิเคราะห์เวลาการทำงาน

การหา multiplicative inverse mudulo m

lemma: สำหรับจำนวนเต็ม a และ b มีจำนวนเต็ม x,y ที่ ax + by = gcd(a,b) ; x และ y หาได้จาก extended gcd alg. >จะหา \inv a (mod m) เมื่อ gcd(a,m) = 1

จะมี x,y ที่ ax + my = 1

mod m

(ax + my) mod m = 1
ax mod m = 1

เลือก mod p เมื่อ p เป็นจำนวนเฉพาะ จะได้ทุกๅ a e {1,2,3,...,p-1} , gcd(a,p) = 1 ; [GFp(Galois Field)]

การกระจายความลับ (Secret Sharing)

ถ้า polynomial f มี degree d เราสามารถให้ จะมี polynomial degree d เพียงตัวเดียวที่ผ่าน ทุกจุดดังกล่าว และ polynomial ดังกล่าวหาได้

ต้องการ key M ให้กลุ่มคน n คน ให้ทุกๆกลุ่มคน < k คน ไม่ทราบข้อมูลเกี่ยวกับ key เลย

กลุ่มคน k คนหา key ได้

หา prime p > key และ p - 1 > n เลือก จากเซต { 1, 2, ... , p-1}

ให้ ak-1 ไม่เท่ากับ 0

ให้ เราจะเลือกจุด ที่ไม่ซ้ำกัรและไม่เท่ากับ 0 ให้ กับคนที่ i