Tutte le possibili permutazioni di una matrice seguendo ancune regole

di il
3 risposte

Tutte le possibili permutazioni di una matrice seguendo ancune regole

Buonasera, sto cercando di risolvere il seguente problema:

Data una matrice di partenza di dimensione nxm costituita da numeri interi che vanno da 1 a nxm ho bisogno che vengano generate, e salvate, tutte le possibili matrici ottenute permutando la posizione dei vari elementi. Le matrici risultanti ottenute devono essere costruite tenendo conto di alcune regole:

  1. Devono essere scartate le matrici che hanno nella medesima colonna gli stessi elementi (ad esempio se da una permutazione ho che la prima colonna è costituita dagli elementi [1 2 3] allora una seconda matrice che abbia nella prima colonna gli elementi [2 3 1] deve essere scartata.
  2. Devono essere scartate le matrici in cui si hanno le stesse colonne ma con posizione differente, dunque se ho una 2x2 [1 2; 3 4] allora la possibile permutazione in cui si ottiene la matrice [3 4; 1 2] deve essere scartata

Un esempio semplice di ciò che mi occorre è con una matrice 2x2, ovvero M=[1 2;3 4] allora seguendo le regole descritte le matrici che dovrò ottenere saranno M1=[1 3;2 4]  M2=[1 3;4 2] . Considerando che nxm può arrivare anche a 20, il numero di possbili matrici aumenta notevolmente. Vi ringrazio in anticipo per l'aiuto.

3 Risposte

  • Re: Tutte le possibili permutazioni di una matrice seguendo ancune regole

    Considera che una matrice 20x20 e' formata da 400 elementi, e TUTTE le possibili permutazioni dei numeri da 1 a 400 sono:
    .

    6403452284662389526234797031950300585070258302600295945868444594280239\
    7169186831436278478647463264676294350575035856810848298162883517435228\
    9619886468029979373416541508381624264619423523070462443250151144486708\
    9066277391491811733195599644070954967134529047702032243491121079759328\
    0795101545372667251627877890009349763765710326350331533965349868386831\
    3393520243737881577867915063118587026182701698197400629830253085912983\
    4616227230455833952075961150530223608681043329725519485267443223243866\
    9948422404232599805551610635942376961399231917134063858996537970147827\
    2066063202173794720103213566246138090779423045973606995675958360961587\
    1512991382228657857954936161765448045322200782581840084843641559122945\
    4275384803558374518022675900061399560145595206127211192918105032491008\
    0000000000000000000000000000000000000000000000000000000000000000000000\
    00000000000000000000000000000

    Cioe' qualcosa come: 6.4 *10^868. ("6 punto 4" seguito da ottocento_sessanta_sette zeri)

    Tieni presente che si stima ci siano 10^80 atomi nell'universi visibile 
    e che sono passati approssimativamente 4.4*10^26 nanosecondi dalla nascita dell'universo (supponendi sia avvenuto 14 miliardi di anni fa).

    Direi  “aumenta notevolmente” e' un “”eufemismo"" ;-)


    Ma la domanda sorge spontanea: stai chiedendo il codice?


    La sua fattorizzazione e':

    {{2, 397}, {3, 196}, {5,  99}, {7,  66}, {11, 39}, {13, 32}, 
     {17, 24}, {19, 22}, {23, 17}, {29, 13}, {31, 12}, {37, 10}, 
     {41,  9}, {43,  9}, {47,  8}, {53,  7}, {59,  6}, {61,  6}, {67,  5}, 
     {71,  5}, {73,  5}, {79,  5}, {83,  4}, {89,  4}, {97,  4}, {101, 3}, 
     {103, 3}, {107, 3}, {109, 3}, {113, 3}, {127, 3}, {131, 3}, 
     {137, 2}, {139, 2}, {149, 2}, {151, 2}, {157, 2}, {163, 2}, 
     {167, 2}, {173, 2}, {179, 2}, {181, 2}, {191, 2}, {193, 2}, 
     {197, 2}, {199, 2}, {211, 1}, {223, 1}, {227, 1}, {229, 1}, 
     {233, 1}, {239, 1}, {241, 1}, {251, 1}, {257, 1}, {263, 1}, 
     {269, 1}, {271, 1}, {277, 1}, {281, 1}, {283, 1}, {293, 1}, 
     {307, 1}, {311, 1}, {313, 1}, {317, 1}, {331, 1}, {337, 1}, 
     {347, 1}, {349, 1}, {353, 1}, {359, 1}, {367, 1}, {373, 1}, 
     {379, 1}, {383, 1}, {389, 1}, {397, 1}}
  • Re: Tutte le possibili permutazioni di una matrice seguendo ancune regole

    01/12/2023 - migliorabile ha scritto:


    6.4 *10^868.

    [OT]

    Se gli trovi un nome, sappiamo il prossimo motore di ricerca come chiamarlo. XD

    [/OT]

  • Re: Tutte le possibili permutazioni di una matrice seguendo ancune regole

    A parte il fatto che presenti la richiesta e non una riga di codice, mi domando se sia solo un esercizio fine a se stesso o serva a qualcosa.

    E poi quando parli di salvare intendi su disco?  

Devi accedere o registrarti per scrivere nel forum
3 risposte