🎉 从330转为WashU帮助手册啦!

CSE442
模块
Cse442t L7

Lecture 7

Letter choosing experiment

For 100 letter tiles,

p1,...,p27p_1,...,p_{27} (with oe blank)

(p1)2++(p27)2127(p_1)^2+\dots +(p_{27})^2\geq\frac{1}{27}

For any p1,...,pnp_1,...,p_n, 0pi10\leq p_i\leq 1.

pi=1\sum p_i=1

P[P[the same event twice in a row]=p12+p22....+pn2]=p_1^2+p_2^2....+p_n^2

By Cauchy-Schwarz: uv2uv2|u\cdot v|^2 \leq ||u||\cdot ||v||^2.

let u=(p1,...,pn)\vec{u}=(p_1,...,p_n), v=(1,..,1)\vec{v}=(1,..,1), so (p12+p22....+pn)2(p12+p22....+pn2)n(p_1^2+p_2^2....+p_n)^2\leq (p_1^2+p_2^2....+p_n^2)\cdot n. So p12+p22....+pn21np_1^2+p_2^2....+p_n^2\geq \frac{1}{n}

So for an adversary AA, who random choose xx' and output f(x)=f(x)f(x')=f(x) if matched. P[f(x)=f(x)]1YP[f(x)=f(x')]\geq\frac{1}{|Y|}

So P[xf(x);y=f(x):f(a(y,1n))=y]1YP[x\gets f(x);y=f(x):f(a(y,1^n))=y]\geq \frac{1}{|Y|}

Modular arithmetic

For a,bZa,b\in \mathbb{Z}, NZ2N\in \mathbb{Z}^2

abmodN    N(ab)    kZ,ab=kN,a=kN+ba\equiv b \mod N\iff N|(a-b)\iff \exists k\in \mathbb{Z}, a-b=kN,a=kN+b

Ex: N=23N=23, 203264972mod23-20\equiv 3\equiv 26\equiv 49\equiv 72\mod 23.

Equivalent relations for any NN on Z\mathbb{Z}

aamodNa\equiv a\mod N

abmodN    bamodNa\equiv b\mod N\iff b\equiv a\mod N

abmodNa\equiv b\mod N and bcmodN    acmodNb\equiv c\mod N\implies a\equiv c\mod N

Division Theorem

For any aZa\in \mathbb{Z}, and NZ+N\in\mathbb{Z}^+, unique r,0r<N\exists unique\ r,0\leq r<N.

ZN={0,1,2,...,N1}\mathbb{Z}_N=\{0,1,2,...,N-1\} with modular arithmetic.

a+bmodN,abmodNa+b\mod N,a\cdot b\mod N

Theorem: If abmodNa\equiv b\mod N andcdmodNc\equiv d\mod N, then acbdmodNa\cdot c\equiv b\cdot d\mod N.

Definition: gcd(a,b)=d,a,bZ+gcd(a,b)=d,a,b\in \mathbb{Z}^+, is the maximum number such that dad|a and dbd|b.

Using normal factoring is slow... (Example: large p,q,rp,q,r, N=pq,,M=prN=p\cdot q,,M=p\cdot r)

Euclidean algorithm.

Recursively relying on fact that (a>b>0)(a>b>0)

gcd(a,b)=gcd(b,amodb)gcd(a,b)=gcd(b,a\mod b)

def euclidean_algorithm(a,b):
    if a<b: return euclidean_algorithm(b,a)
    if b==0: return a
    return euclidean_algorithm(b,a%b)

Proof:

We'll show dad|a and db    dbd|b\iff d|b and d(amodb)d|(a\mod b)

    \impliedby a=qb+ra=q\cdot b+r, r=amodbr=a\mod b

    \implies drd|r, r=amodbr=a\mod b

Runtime analysis:

Fact: bi+2<12bib_{i+2}<\frac{1}{2}b_i

Proof:

Since ai=qibi+bi+1a_i=q_i\cdot b_i+b_{i+1}, and b1=q2b2+b3b_1=q_2\cdot b_2+b_3, b2>b3b_2>b_3, and q2q_2 in worst case is 11, so b3<b12b_3<\frac{b_1}{2}

T(n)=2Θ(logb)=O(logn)T(n)=2\Theta(\log b)=O(\log n) (linear in size of bits input)