cosa si sta cercando di stabilire è se c'è un sottogruppo H di G tale che {g , ..., g n} è una transversal dei cosets di H. vale a dire un insieme di rappresentanti del partizionamento di G dai coseti di H.
Primo, dal teorema Lagrange's, | G | = | G: H | * | G |, dove | G: H | = | G |/| H | è l'indice del sottogruppo H di G. Se {g , ..., g n} è effettivamente un trasversale, quindi | G: H | = | {g , ..., g n} |, quindi il primo test nell'algoritmo deve essere se n divide | G |.
Inoltre, poiché g i e g j sono nella stessa classe laterale destra solo se g i g j-1 è in H, si può quindi controllare sottogruppi con indice n vedere se evitano g i g j -1. Si noti inoltre che (g i g j-1) (g j g k-1) = g i g k-1, in modo da poter scegliere qualsiasi abbinamento della g i s.
Questo dovrebbe essere sufficiente se n è piccolo rispetto a | G |.
Un altro approccio è quello di iniziare con H essendo il gruppo banale e aggiungere elementi dell'insieme H * = {h in G: h k = g i g j-1, per tutti i, j, k; i! = j} ai generatori di H fino a quando non puoi aggiungere altro (cioè finché non è più un sottogruppo). H è quindi un sottogruppo massimale di G tale che H è un sottoinsieme di H *. Se riesci a ottenere tutti questi H (e averli abbastanza grandi), il sottogruppo che stai cercando deve essere uno di questi.
Questo approccio funzionerebbe meglio per i più grandi n.
In entrambi i casi un approccio non esponenziale nel tempo non è ovvio.
EDIT: Ho appena trovato una discussione su questo argomento molto qui: mi http://en.wikipedia.org/wiki/Wikipedia:Reference_desk/Archives/Mathematics/2009_April_18#Is_a_given_set_of_group_elements_a_set_of_coset_representatives.3F
Questo rende vorrei poter subito ricordare le mie lezioni di algebra ... –
Per chi ha votato per chiudere: Cribbio, il ragazzo sta chiedendo un ALGORITMO. L'ultima volta che ho controllato, un algoritmo era usato nella programmazione. –