The full run is a finite table of old states, activations, margins, update flags, and new states. Each row is recomputed from the displayed data.

highlighted = computed this step

The full update sequence

Across the fixed order, the update states are w=(1,0), b=1, then w=(1,-1), b=0, then w=(2,0), b=1, then w=(2,-1), b=0.

w=(0,0),b=0w=(1,0),b=1w=(1,1),b=0w=(2,0),b=1w=(2,1),b=0w=(0,0), b=0\to w=(1,0), b=1\to w=(1,-1), b=0\to w=(2,0), b=1\to w=(2,-1), b=0
Exact runThe table recomputes every activation and update.Exact perceptron runrule: y*a <= 0 updatestixyold w,bay*aupdnew w,b00(1,0)+1(0,0),000yes(1,0),111(1,1)+1(1,0),122no(1,0),122(0,1)-1(1,0),11-1yes(1,-1),033(-1,0)-1(1,-1),0-11no(1,-1),040(1,0)+1(1,-1),011no(1,-1),051(1,1)+1(1,-1),000yes(2,0),162(0,1)-1(2,0),11-1yes(2,-1),073(-1,0)-1(2,-1),0-22no(2,-1),080(1,0)+1(2,-1),022no(2,-1),091(1,1)+1(2,-1),011no(2,-1),0102(0,1)-1(2,-1),0-11no(2,-1),0113(-1,0)-1(2,-1),0-22no(2,-1),0final w=(2,-1), b=0; separates shown data

Why the table is the certificate

Each row displays the old state, activation, margin y*a, update flag, and new state. The engine recomputes all of those values from the shown rows.

old state+rownew state\text{old state}+\text{row}\Rightarrow\text{new state}
Exact runThe table recomputes every activation and update.Exact perceptron runrule: y*a <= 0 updatestixyold w,bay*aupdnew w,b00(1,0)+1(0,0),000yes(1,0),111(1,1)+1(1,0),122no(1,0),122(0,1)-1(1,0),11-1yes(1,-1),033(-1,0)-1(1,-1),0-11no(1,-1),040(1,0)+1(1,-1),011no(1,-1),051(1,1)+1(1,-1),000yes(2,0),162(0,1)-1(2,0),11-1yes(2,-1),073(-1,0)-1(2,-1),0-22no(2,-1),080(1,0)+1(2,-1),022no(2,-1),091(1,1)+1(2,-1),011no(2,-1),0102(0,1)-1(2,-1),0-11no(2,-1),0113(-1,0)-1(2,-1),0-22no(2,-1),0final w=(2,-1), b=0; separates shown data

Summary

After the fourth update the state is w=(2,-1), b=0. The next pass through the same rows makes no update.

w=(2,1),b=0w=(2,-1), b=0
Exact runThe table recomputes every activation and update.Exact perceptron runrule: y*a <= 0 updatestixyold w,bay*aupdnew w,b00(1,0)+1(0,0),000yes(1,0),111(1,1)+1(1,0),122no(1,0),122(0,1)-1(1,0),11-1yes(1,-1),033(-1,0)-1(1,-1),0-11no(1,-1),040(1,0)+1(1,-1),011no(1,-1),051(1,1)+1(1,-1),000yes(2,0),162(0,1)-1(2,0),11-1yes(2,-1),073(-1,0)-1(2,-1),0-22no(2,-1),080(1,0)+1(2,-1),022no(2,-1),091(1,1)+1(2,-1),011no(2,-1),0102(0,1)-1(2,-1),0-11no(2,-1),0113(-1,0)-1(2,-1),0-22no(2,-1),0final w=(2,-1), b=0; separates shown data