function k = UK_appr(x,y,T) k = strcmp(x,y); for n=1:min(length(x),length(y)) k = k + Kn_appr(x,y,n,T); end return function k = Kn_appr(x,y,n,T) global ALF Kcounts nalf = length(ALF); cnt = 0; acc = 0; N = 2^n * n ^ (n*nalf); %while 1 for t=1:T A = randDFA(ALF,n); bx = run_dfsa(A,x); by = run_dfsa(A,y); acc = acc + bx*by; cnt = cnt + 1; p = acc/cnt; k1 = p*N; %fprintf('trial = %d; k0 = %d k1 = %1.5f rat = %1.9f \n',cnt,k0,k1,k1/k0); %fprintf('trial = %d; k1 = %d \n',cnt,round(k1)); end k = k1; return