Re: [Qualsiasi ling.] Stampare tutte le combinazioni con 6 carte

Messaggioda vict85 » 25/04/2019, 13:16

No, la complessità cresce notevolmente (oltre che il numero di soluzioni). E fare 9 for annidati è impensabile.
vict85
Moderatore
Moderatore
 
Messaggio: 9634 di 19253
Iscritto il: 16/01/2008, 00:13
Località: Berlin

Re: [Qualsiasi ling.] Stampare tutte le combinazioni con 6 carte

Messaggioda TommyB1992 » 25/04/2019, 13:24

Appunto, a me serviva qualcosa, magari di funzionale (anche se paradossalmente ho chiesto di non portarmi esempi con linguaggi funzionali).

Quindi tornando alle basi, la mia attuale soluzione è: generarle tutte e poi con un algoritmo tagliare quelle che non sono conformi alle mie necessità.

Che ne pensi?
@instagram: tomas_bartoli
TommyB1992
Junior Member
Junior Member
 
Messaggio: 77 di 164
Iscritto il: 13/07/2013, 22:24

Re: [Qualsiasi ling.] Stampare tutte le combinazioni con 6 carte

Messaggioda fmnq » 25/04/2019, 13:27

Ma perché vuoi escludere non tanto un linguaggio (che ci sta, puoi dire "non lo conosco e non lo saprei tweakare") ma un intero paradigma?
fmnq
Average Member
Average Member
 
Messaggio: 347 di 764
Iscritto il: 03/10/2017, 23:14

Re: [Qualsiasi ling.] Stampare tutte le combinazioni con 6 carte

Messaggioda TommyB1992 » 25/04/2019, 13:30

Non mi sono spiegato bene, a me l'esempio funzionale va bene (e anche il codice funzionale).

E' il linguaggio funzionale che non voglio.
Questo perchè non sono in grado di utilizzarli (oltre a non capire la sinstassi) a differenza dei linguaggi di scripting/programmazione dove in genere basta installare il software ed eseguire lo script, oppure compilarlo.
@instagram: tomas_bartoli
TommyB1992
Junior Member
Junior Member
 
Messaggio: 78 di 164
Iscritto il: 13/07/2013, 22:24

Re: [Qualsiasi ling.] Stampare tutte le combinazioni con 6 carte

Messaggioda fmnq » 25/04/2019, 13:59

Continuo a non capire; ti va bene un algoritmo funzionale in un linguaggio che conosci, ma non in uno che non conosci? E allora quale conosci?
fmnq
Average Member
Average Member
 
Messaggio: 351 di 764
Iscritto il: 03/10/2017, 23:14

Re: [Qualsiasi ling.] Stampare tutte le combinazioni con 6 carte

Messaggioda TommyB1992 » 25/04/2019, 14:16

fmnq ha scritto:Continuo a non capire; ti va bene un algoritmo funzionale in un linguaggio che conosci, ma non in uno che non conosci? E allora quale conosci?


Esatto, ma anche se non lo conosco un linguaggio procedurale o ad oggetti lo capisco.

Un linguaggio funzionale, come haskell:
Codice:
  do let cycle1 = cycle [1,2,3,4] :: [Int]
     let (use_now, save_for_later) = splitAt 5 cycle1
     putStrLn $ "I am totally using some values: " ++ show use_now
     let (use_more, save_more_for_later) = splitAt 5 save_for_later
     putStrLn $ "See, I can get some more: " ++ show use_more


o il LISP:
Codice:
(defun demo-function (flag)
   (print 'entering-outer-block)
   
   (block outer-block
      (print 'entering-inner-block)
      (print (block inner-block

         (if flag
            (return-from outer-block 3)
            (return-from inner-block 5)
         )

         (print 'This-wil--not-be-printed))
      )

      (print 'left-inner-block)
      (print 'leaving-outer-block)
   t)
)
(demo-function t)
(terpri)
(demo-function nil)


Non saprei dove mettere le mani.
@instagram: tomas_bartoli
TommyB1992
Junior Member
Junior Member
 
Messaggio: 79 di 164
Iscritto il: 13/07/2013, 22:24

Re: [Qualsiasi ling.] Stampare tutte le combinazioni con 6 carte

Messaggioda Super Squirrel » 25/04/2019, 15:44

TommyB1992 ha scritto:Ok per 3 carte, ma se fossero 9 carte estratte e usando tutto il mazzo di 52 carte?

Scusa ma non sono sicuro di aver capito bene ciò che stai cercando di fare.
Ragioniamo direttamente sul caso generale del mazzo completo di 52 carte e 4 semi. La generica sequenza di 9 carte quali caratteristiche deve avere affinché valga come un'unica "combinazione"?
Chi dorme in democrazia, si sveglia in dittatura.
Super Squirrel
Senior Member
Senior Member
 
Messaggio: 349 di 1486
Iscritto il: 16/05/2013, 22:05

Re: [Qualsiasi ling.] Stampare tutte le combinazioni con 6 carte

Messaggioda TommyB1992 » 26/04/2019, 14:51

Super Squirrel ha scritto:
TommyB1992 ha scritto:Ok per 3 carte, ma se fossero 9 carte estratte e usando tutto il mazzo di 52 carte?

Scusa ma non sono sicuro di aver capito bene ciò che stai cercando di fare.
Ragioniamo direttamente sul caso generale del mazzo completo di 52 carte e 4 semi. La generica sequenza di 9 carte quali caratteristiche deve avere affinché valga come un'unica "combinazione"?


Guarda onestamente non so se mi servirà mai con 9 carte, però l'algoritmo "non dovrebbe" avere limitazioni (ergo metti il numero di carte come parametro e lui restituisce le combo), sono comunque sicuro che fino a 5 carte c'arrivo senza molti problemi.

Però provo comunque a farti un paio di esempi (scusa se li faccio da 5 carte ma, da 9 potrei finire domani, nota quante combo sono solo per una carta con un seme differente):

1) Az Kz Qz Jz Tz corrisponde a:

A♠ K♠ Q♠ J♠ T♠
A♣ K♣ Q♣ J♣ T♣
A♦ K♦ Q♦ J♦ T♦
A♥ K♥ Q♥ J♥ T♥



2) Az Kz Qz Jz Ty corrisponde a:

A♠ K♠ Q♠ J♠ T♣
A♠ K♠ Q♠ J♠ T♦
A♠ K♠ Q♠ J♠ T♥
A♣ K♣ Q♣ J♣ T♠
A♣ K♣ Q♣ J♣ T♦
A♣ K♣ Q♣ J♣ T♥
A♦ K♦ Q♦ J♦ T♠
A♦ K♦ Q♦ J♦ T♣
A♦ K♦ Q♦ J♦ T♥
A♥ K♥ Q♥ J♥ T♠
A♥ K♥ Q♥ J♥ T♣
A♥ K♥ Q♥ J♥ T♦

Come è possibile notare in questo modo, con una combinazione ne abbiamo coperte ben 12.
@instagram: tomas_bartoli
TommyB1992
Junior Member
Junior Member
 
Messaggio: 80 di 164
Iscritto il: 13/07/2013, 22:24

Re: [Qualsiasi ling.] Stampare tutte le combinazioni con 6 carte

Messaggioda vict85 » 26/04/2019, 16:48

Dal punto di vista teorico penso di poter dare una descrizione del problema,

Sia \(\displaystyle R = \{1,\dotsc, 13\}\times\{ 1,\dotsc, 4 \} \) l'inseme delle 52 carte di un mazzo (ho destitto il segno con dei numeri per semplicità) e \(\mathfrak{S}_4\) il gruppo delle permutazioni di 4 elementi. Consideriamo quindi l'azione di \(\mathfrak{S}_4\) su \(R\) definita come \(\sigma\colon (m,n) \mapsto (m, \sigma(n))\).

Sia quindi \(\displaystyle D(R, 9) \) l'insieme dei sottoinsiemi di \(R\) di \(9\) elementi. Quello che TommyB1992 richiede è definire un algoritmo che trova un singolo elemento per ogni classe di equivalenza definita dall'azione di \(\mathfrak{S}_4\) su \(\displaystyle D(R, 9) \). Corretto?

Se il problema fosse contare le classi di equivalenza penso che punterei a sfruttare il teorema di enumerazione di Polya1 (che sinceramente dovrei andare a riguardarmi).
vict85
Moderatore
Moderatore
 
Messaggio: 9637 di 19253
Iscritto il: 16/01/2008, 00:13
Località: Berlin

Precedente

Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron