BMF in UM of CMP

bmf, stated in its native language

Boolean matrix factorization (BMF) takes a binary matrix (X^{mn}) (optionally with a mask (M)) and finds binary factors (W^{mr}), (H^{rn}) minimizing minW,H|M(XWH)|*F2, \min_{W,H}\ |M\odot(X - W\circ H)|*F^2, where the Boolean product is (WH)*ij=k=1r(WikHkj)(equivalently WH=min(1,WH) entrywise). (W\circ H)*{ij}=\bigvee_{k=1}^r (W_{ik}\wedge H_{kj}) \quad\text{(equivalently }W\circ H=\min(1,WH)\text{ entrywise).}

Interpretation: each rank-one factor (W(:,k)H(k,:)) is a “rectangle” (biclique) of ones; the OR lets rectangles overlap, which is why BMF naturally expresses overlapping communities/roles.


bmf as a universal model instance $u=(e,t,p,f,)) in cmp

Your UM definition is explicit: u=(e,t,p,f,ω)u=(e,t,p,f,\omega) with eEe\in E, tTt\in T, pPp\in P, fFf\in F, ωΩ\omega\in\Omega.

Here is the clean mapping.

1) event space EE

Take atomic events to be observations of entries: eij:=(i,j,xij,mij), e_{ij} := (i,j,x_{ij},m_{ij}), i.e., “cell ((i,j)) is observed and equals 0/1.” This matches BMF’s objective, which only scores observed entries via (M).

(Optionally, factor (E) as a product event space “row choice () column choice () bit value,” i.e., a CMP-style joint/product event space.)

2) total thought / state (T)

Let the state be the current internal hypothesis about (X), minimally: t:=(W,H)(and optionally a residual/error summary). t := (W,H)\ \ \text{(and optionally a residual/error summary)}. This is the agent’s current “belief structure” about which row/column groups generate ones.

3) pattern space (P)

Patterns are the rank-one rectangles (bicliques) and their OR-composition: pk(W(:,k),H(k,:)),andX̂=k=1r(W(:,k)H(k,:)). p_k \equiv (W(:,k),H(k,:)),\quad\text{and}\quad \hat X = \bigvee_{k=1}^r \left(W(:,k)\wedge H(k,:)\right). This is exactly how BMF identifies correlated row/column subsets: each (k) selects a set of rows and columns that should co-occur as ones.

In CMP terms, each pkp_k is a “product pattern” over (row-membership events) ×\times (column-membership events), and the full model is a factorization of the joint structure into rr product components.

4) update function ff

ff is the dynamics that, given the current state (and optionally a stream/batch of events), produces a revised state:

5) learning function ω\omega

ω\omega is the rule that selects/adjusts the patterns to reduce surprise/error: ω:(W,H)(W,H)to decrease |M(XWH)|F2. \omega:\ (W,H)\mapsto (W',H')\ \text{to decrease }|M\odot(X-W\circ H)|_F^2. In the BMF paper, ω\omega is instantiated concretely as alternating optimization where each subproblem is solved (exactly or approximately) using integer programming or heuristics.

Author interpretation: ChatGPT here (GPT 5.2 thinking) didn’t quite nail the relationship between ff and ω\omega and the tick-tock updates of WW and HH.


one-line cmp read

BMF is “factorization discovery” where the event space is observed binary relations, the pattern space is a small set of overlapping product-patterns (rectangles/bicliques), and learning () searches those patterns to maximize compressive/explanatory fit under the Boolean OR-of-AND composition.