Sto cercando di trovare un algoritmo elegante per la creazione di una matrice x N N di 1 e 0, con le restrizioni:Come creare una matrice simmetrica di 1 e 0 con costante riga e somma colonna
- ogni riga e ogni colonna devono sommarsi a Q (da selezionare liberamente)
- la diagonale deve essere 0
- la matrice deve essere simmetrica.
non è strettamente necessario per la matrice sia casuale (entrambe le soluzioni casuali e non casuali sono interessanti, però), quindi per Q, anche, semplicemente facendo ogni riga uno spostamento circolare del vettore
[0 1 1 0 0 0 0 ... ... 0 1 1] (Q = 4)
è una soluzione valida.
Tuttavia, come fare questo per Q strano? O come farlo anche per Q, ma in modo casuale?
Per chi fosse curioso, sto cercando di testare alcuni fenomeni su reti astratti.
mi scuso se questo è già stato risposto prima, ma nessuna delle domande che ho trovato avuto la restrizione simmetrica, che sembra rendere molto più complicato. Non ho una prova che una tale matrice esiste sempre, ma io presumo così.
La prima restrizione, fino a un fattore costante di Q, viene chiamata [matrice Doubly stocastica] (http://en.wikipedia.org/wiki/Doubly_stochastic_matrix). – Hooked
Per Q dispari, penso che dovresti avere un 1 sulla diagonale, che viola il tuo secondo requisito. Potrei sbagliarmi, comunque. Non riesco a pensare a come faresti anche un caso 3x3 con un solo 1 per riga/colonna senza che si trovi sulla diagnosi, però. Forse ci sono casi più grandi in cui potresti avere Q dispari ... – twalberg