Four optical implementations of bidirectional associative memories (BAMs) are presented. BAMs are heteroassociative content addressable memories (CAMs). A BAM stores the m binary associations (A1, B1), ..., (Am, Bm) , where A is a point in the Boolean n-cube and B is a point in the Boolean p-cube. A is a neural network of n bivalent or continuous neurons ai; B is a network of p bivalent or continuous neurons bi. The fixed synaptic connections between the A and B networks are represented by some n-by-p real matrix M. Bidirectionality, forward and backward information flow, in neural nets produces two-way associative search for the nearest stored pair (Ai, Bi) to an input key. Every matrix is a bidirectionally stable hetero-associative CAM for boh bivalent and continuous networks. This generalizes the well-known unidirectional stability for autoassociative networks with square symmetric M. When the BAM neurons are activated, the network quickly evolves to a stable state of two-pattern reverberation, or pseudo-adaptive resonance. The stable reverberation corresponds to a system energy local minimum. Heteroassociative pairs (Ai, Bi) are encoded in a BAM M by summing bipolar correlation matrices, M = X1T Y1 + ... + XmT Ym , where Xi (Yi) is the bipolar version of Ai (Bi), with -1s replacing Os. the BAM storage capacity for reliable recall is roughly m < min(n, p)--pattern number is bounded by pattern dimensionality. BAM optical implementations are divided into two approaches: matrix vector multipliers and holographic correlators. The four optical BAMs described respectively emphasize a spatial light modulator, laser diodes and high-speed detectors, a reflection hologram, and a transmission hologram.