Discussão:Quadrado latino

O conteúdo da página não é suportado noutras línguas.
Adicionar tópico
Origem: Wikipédia, a enciclopédia livre.
Último comentário: 25 de março de 2009 de 189.15.178.83

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)Responder

--189.15.178.83 (discussão) 05h36min de 25 de março de 2009 (UTC)Responder