L/poly
In computational complexity theory, L/poly is the complexity class of logarithmic space machines with a polynomial amount of advice. L/poly is a non-uniform logarithmic space class, analogous to the non-uniform polynomial time class P/poly.[1]
Formally, for a formal language Template:Mvar to belong to L/poly, there must exist an advice function Template:Mvar that maps an integer Template:Mvar to a string of length polynomial in Template:Mvar, and a Turing machine M with two read-only input tapes and one read-write tape of size logarithmic in the input size, such that an input Template:Mvar of length Template:Mvar belongs to Template:Mvar if and only if machine M accepts the input x, f(n)Script error: No such module "Check for unknown parameters"..[2] Alternatively and more simply, Template:Mvar is in L/poly if and only if it can be recognized by branching programs of polynomial size.[3] One direction of the proof that these two models of computation are equivalent in power is the observation that, if a branching program of polynomial size exists, it can be specified by the advice function and simulated by the Turing machine. In the other direction, a Turing machine with logarithmic writable space and a polynomial advice tape may be simulated by a branching program the states of which represent the combination of the configuration of the writable tape and the position of the Turing machine heads on the other two tapes.
In 1979, Aleliunas et al. showed that symmetric logspace is contained in L/poly.[4] However, this result was superseded by Omer Reingold's result that SL collapses to uniform logspace.[5]
BPL is contained in L/poly, which is a variant of Adleman's theorem.[6]
References
<templatestyles src="Reflist/styles.css" />
Script error: No such module "Check for unknown parameters".