Discussão:Quadrado latino
Discussão sobre Quadrados Latinos.
A página em português deveria estar mais completa e os matemáticos deveria se empenhar mais.
Para Quadrados Latinos, eu usei/fiz um m-file no Matlab® para trabalhar com vetores, e fiz uma pesquisa usando MATLAB®, o conceito/ideia usado para esse método de solução é a teoria dos grafos, por favor quem ler esse tópico, peço que um matématico de preferência que entenda ou use o MATLAB® e análise esse topíco de forma a confirmar ou nega as informações descritas aqui.
Aqui está o codigo fonte do m-file, ele retorna a número des possíveis vetores/permutações para cada linha, ele está com comentários.
function r = cql(g); % cql(n)= Nql; % Função que conta as possibilidades para cada linha de um quadrado latino de tamanho N % Por exemplo N=3 cql(3)=[6 2 1]', p=1:g; % vetor principal da matriz n=p; v=perms(p); x=[]; %par a limpar a matriz j c=0; %variavel contadora de vetores que podem ser adicionados a matriz para montar o quadrado latino vc=[factorial(g)]; %para primeira linha do quadrado latino número de possibilidades é igual ao permutações de n ou n! % for u=1:(g-2) %g-2, pois para primeira e ultima linha existe números conhecidos de possibilidades e deve ficar de fora do laço% c=0; for z=1:factorial(g) %aqui conta o número de possibilidades para outras linhas% h = v(z,:); if cvexs(h,n) == 0 % função de comparação entre o vetor h e matriz n% j=[x; h]; %coloca os vetores aceitos em j% c=c+1; end; end; vc=[vc c]; %monta o resultado.% n=[n; j(1,:)]; end; vc=[vc 1]; % a última linha possui somente uma possibilidades.% r=vc';
Aqui é outra função criada em um outro m-file, para comparar vetores.
function k = cvexs(e,l) %Função de comparação de vetores% k = 0; c = 0; for b = 1:length(l(:,1)) if sum(l(b,:) == e) ~= 0 c=c+1; end; end; k=c;
O resultado dado por prod(cql(n)).
N Ans Ordem| Números de Quadrados Latinos. 2 | 2 3 | 12 4 | 864 {até aqui você pode fazer a mão para confirmar } 5 | 126.720 6 | 2.075.904.000 7 | 168.571.636.531.200 8 | 2.785.596.211.908.323.573.760 9 | 3.406.648.638.950.670.005.388.181.504 {apartir daqui já começa demorar bastante o cálculo. } 10 | 112.770.178.860.570.845.397.069.849.350.457.262.080 {aqui pode demorar uns 18 minutos }
de fato se você pegar de ordem 3 que serão os vetores:
1 2 3 | 2 1 3 | 3 1 2 1 3 2 | 2 3 1 | 2 1 3
A 1ª linha vai ter 6 possíveis vetores A 2ª linha vai ter 2 possíveis vetores A 3ª linha vai ter 1 só possível vetores
veja para ordem 3:
1 2 3 | 1 2 3 {o primeiro pode ser qualquer um dos 6 existentes} 2 3 1 | 3 1 2 {somentes dois que se encaixam depois que o primeiro é escolhido} 3 1 2 | 2 3 1 {e o que sobra, somente um.}
6x2x1 = 12 quadrados Latinos de ordem 3.
Lista com número de vetores possíveis por linhas dos quadrados latinos:
Ordem | possíveis por linhas da 1ª para última. 2 | 2 1 3 | 6 2 1 4 | 24 9 4 1 5 | 120 44 12 2 1 6 | 720 265 80 17 8 1 7 | 5040 1854 580 144 27 8 1 8 | 40320 14833 4752 1313 576 81 16 1
Espero que esse tópico permaneça, tempo suficiente para algum matemático possa se interessar e pesquisar e comprovar o que se encontra nesse tópico, e continue essa pesquisa, já iniciada.
--189.15.218.230 (discussão) 02h33min de 25 de março de 2009 (UTC)
--189.15.178.83 (discussão) 05h36min de 25 de março de 2009 (UTC)