%%
clear
IDIOMA = 'Portugues';
% IDIOMA = 'Ingles';
% IDIOMA = 'Holandes';
A = leia_lista( IDIOMA );
disp( IDIOMA )

%%
Nfake = 1e5;
INTEL = 2;
switch( INTEL )
    case{ 0 }
        prob_fake = zeros(1,255);
        prob_fake(32) = (1/8);
        prob_fake(97:122) = (7/8)*1/26;
        Afake = char( aleatorio_especial( prob_fake, Nfake ) )';
    case{ 1 }
        prob_fake = hist( double(A), 1:255 )/length(A);
        Afake = char( aleatorio_especial( prob_fake, Nfake ) )';
    case{ 2 }
        Afake = zeros( 1, Nfake );
        Afake(1) = 32;
        prob_fake2 = cell( 1, 255 );
        for jf = 1 : 255
            onde_tem = strfind( A(1:end-1), char(jf) );            
            prob_fake2{jf} = hist( double(A(onde_tem+1)), 1:255 )/length(onde_tem);
        end
        for j=2:Nfake
%             onde_tem = strfind( A(1:end-1), char(Afake(j-1)) );            
%             prob_fake = hist( double(A(onde_tem+1)), 1:255 )/length(onde_tem);
%             Afake(j) = aleatorio_especial( prob_fake, 1 );

            Afake(j) = aleatorio_especial( prob_fake2{Afake(j-1)}, 1 );
        end
end
onde_espacoAfake = find( Afake==32 );
NpalavrasAfake = length(onde_espacoAfake)-1;
Nachou = 0;
for qp = 1 : NpalavrasAfake
    palavra_atual = Afake( onde_espacoAfake(qp):onde_espacoAfake(qp+1) );
    onde_tem = strfind( A, palavra_atual );
    if ~isempty(onde_tem)
        Nachou = Nachou + 1;
    end
end
disp( sprintf( 'INTEL=%d, achou %d(%.0f) palavras em %d geradas (%.2f#%.2f%%)', ...
    INTEL, Nachou, sqrt(Nachou), NpalavrasAfake, ...
    100*Nachou/NpalavrasAfake, 100*sqrt(Nachou)/NpalavrasAfake ) )
