03 Other classes

Space-classes

NTIME(f(n))DSPACE(f(n)).\ L, NL, polylog space, PSPACE=NSPACE. LNLPNPPSPACE: One of these is : from space hierarchy theorem.

\textbf{Reachability method} on configuration graph: \ NSPACE(f(n))DTIME(2f(n)).

Directed reachability in DSPACE(log2n) (Savitch) \chk. So, by reachability method: NSPACE(f(n))=DSPACE((f(n))2). Reachability is NL complete. \why

Immerman-Szelepcsenyi: UnreachabilityNL.\ So, coNSPACE(f(n)) = NSPACE(f(n)).

Boolean circuits

See Boolean fn ref.

Crictuit families and uniformity

Circuit family {Cn}: Circuits for various input size. Uniformity: TM can efficiently construct ckt given input size n (on input 1n). Log space uniform ckt family.

P/Poly : Non uniform

P/Poly inlcudes non uniform ckts (‘advice’). PP/Poly: Take OTM for alg; Make ckt to sync with head movements and state change.

NC and AC

NCk: (Nick’s class) polylog depth, uniform, bounded fan-in. Also polylog space from defn.

ACk: NCk with unbounded fanin.

Their relationship

ACkNCk+1. AC0NC1: PARITYAC0 \why.

NCkLk: just need to store current path.

PRAM

RAM model with parallel processors, shared mem. Logspace uniform family of PRAMs. Parallel computation time: f(ckt depth). ACk = Languages L decided by concurrent read/ concurrent write PRAM programs with polynomial procs and O(logkn) time: Take ckt for L; 1 proc for each edge, 1 mem location for each gate; AND gate initialized with 1, OR gates initialized with 0.

Arithmatic

a+b AC0NC1: trivial ckt.

Multiplication

Find ab. O(n2) school alg; O(nlogn) FFT alg: \ a=ai2i=p(2),b=q(2): p and q are polynomials.

abAC1.

Matrix multiplication

ci,j=k=1nAikBkj : both * and doable in O(logn) ckt: NC1.

Boolean multiplication: ci,j=AikBkjAC0.

Matrix powering by repeated squaring: NC2.

DETERMINANTNC2: do gaussian elimination, multiply.

Boolean powering AC1: repeated squaring. So, REACHABILITYAC1. So, NLAC1.

Randomized ckts

Random bits r, Cn(x,r). Contains BPP. RNC: RP for NC ckts.

Non-uniformity stronger than randomness: \htext{BPPP/Poly}

Take BPP alg; get randomized ckt Cn(x,r); reduce Pr (Cn(x,r) wrong for fixed x, rand r) to 2n1; so Union bound: Pr ( rand r bad) 21<1; so r for which Cn(x,r) correct; get deterministic ckt.

Can make log32n depth tree from any tree like ckt. So, polynomial size boolean formulae in NC1.

Probabilistic computation

One sided error: RP

Aka Monte Carlo alg h. RP: Pr(h(x)=1|xL)0.5, Pr(h(x)=1|xL)=0. Visualize the possible execution of an RP alg with computation tree: 2 types of leaves: yes or no.

Also see randomized algorithms ref. Bounding error prob p. Boosting confidence: (1p)lpel. RPNP (NP has one sided error too).

2 sided error: BPP

PP: Pr(accept(x)|xL)<0.5. No good if Pr(accept(x)|xL)=0.52O(n)

Also see randomized algorithms ref. BPPPP: Pr(accept(x)|xL)0.5, Pr(accept(x)|xL)0.51q(.); 2-sided bounded error; Boosting accuracy: Run many trials, take majority; use Chernoff. RPBPP.

ZPP

RPcoRP=ZPP: Las Vegas alg by combining RP, coRP algs : both unsure when RP alg says xL and coRP alg says xL; (check).