[Algoritmi] Complessità asintotica in un grafo denso

Messaggioda minato91 » 03/11/2019, 18:22

Ciao a tutti, sto cercando di capire la differenza tra un grafo sparso e un grafo denso. Analizzando le seguenti domande sembra che nel caso del grafo sparso la procedura è semplice e basta applicare le regole generali. Per il grafo denso non riesco a capire come procedere.

Siano f(n) e g(n) la message complexity dell'algoritmo di Prim e l'algoritmo GHS asincroni, rispettivamente, quando eseguiti su un grafo sparso, i.e., con $m = Θ(n)$. Quali delle seguenti relazioni asintotiche è corretta?

a) $f(n) = Θ(g(n) * n) $
b) $f(n) = Θ(g(n)) $
c) $f(n) = o(g(n)) $
d) $f(n) = w(g(n))$ corretta


Siano f(n) e g(n) la message complexity dell'algoritmo di Prim e l'algoritmo GHS asincroni, rispettivamente, quando eseguiti su un grafo denso, i.e., con $m = Θ(n^2)$. Quali delle seguenti relazioni asintotiche è corretta?

a) $f(n) = Θ(g(n) * n) $
b) $f(n) = Θ(g(n))$ corretta
c) $f(n) = o(g(n)) $
d) $f(n) = w(g(n))$

Applicando le regole generali, io ottengo come risposta la d, poichè $f(n) = O(n^2)$ e $g(n) = O(n log n)$.
Dove sbaglio? Qual è la differenza con i grafi densi?
minato91
New Member
New Member
 
Messaggio: 43 di 96
Iscritto il: 07/02/2013, 17:27

Re: [Algoritmi] Complessità asintotica in un grafo denso

Messaggioda apatriarca » 03/11/2019, 19:09

Sinceramente non mi è del tutto chiara la tua notazione. Che cosa rappresentano in questo contesto \(n\) ed \(m\)? Quando si lavora con i grafi si scrive spesso la complessità in funzione del numero di nodi, del numero di archi e nel caso di algoritmi concorrenti il numero di processi. Di solito ho visto usare le lettere \(V\), \(E\) e \(P\) per queste quantità. L'impressione è che \(m\) sia il numero di archi e che \(n\) il numero di nodi. È corretto?

Non so cosa siano le regole generali di cui parli, la complessità dovrebbe essere scritta in funziona delle due variabili \(n\) ed \(m\) nel tuo caso e a seconda del tipo di grafo, e quindi della relazione tra le due variabili, calcoli la complessità nella sola \(n\).
apatriarca
Moderatore
Moderatore
 
Messaggio: 5306 di 10436
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: [Algoritmi] Complessità asintotica in un grafo denso

Messaggioda minato91 » 03/11/2019, 19:33

esatto, n rappresenta i nodi ed m gli archi. m però non viene utilizzata nelle risposte, per questo non capisco
minato91
New Member
New Member
 
Messaggio: 44 di 96
Iscritto il: 07/02/2013, 17:27

Re: [Algoritmi] Complessità asintotica in un grafo denso

Messaggioda apatriarca » 03/11/2019, 19:56

\(m\) non è presente nelle risposte perché vengono usate le relazioni \(m = \Theta(n)\) o \(m = \Theta(n^2\,)\) per eliminarla. In pratica sostituisci \(n\) o \(n^2\) nella tua complessità al posto di \(m\).
apatriarca
Moderatore
Moderatore
 
Messaggio: 5308 di 10436
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: [Algoritmi] Complessità asintotica in un grafo denso

Messaggioda minato91 » 03/11/2019, 23:51

Però continuo a non capire perchè la risposta corretta nella seconda domanda è la b
minato91
New Member
New Member
 
Messaggio: 45 di 96
Iscritto il: 07/02/2013, 17:27

Re: [Algoritmi] Complessità asintotica in un grafo denso

Messaggioda apatriarca » 04/11/2019, 02:41

Sinceramente non ricordo la complessità dei due algoritmi e quindi la risposta corretta. Qual'è la complessità in funzione delle due variabili nei due algoritmi?
apatriarca
Moderatore
Moderatore
 
Messaggio: 5309 di 10436
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: [Algoritmi] Complessità asintotica in un grafo denso

Messaggioda minato91 » 04/11/2019, 09:38

Purtroppo so so solo che la complessità è $f(n) = O(n^2)$ per prim e $g(n) = O(n log n)$ per GHS. Ma non ho idea di come questa cambi in funzione di m
minato91
New Member
New Member
 
Messaggio: 46 di 96
Iscritto il: 07/02/2013, 17:27

Re: [Algoritmi] Complessità asintotica in un grafo denso

Messaggioda minato91 » 04/11/2019, 11:44

Mi correggo, la complessità dell'algoritmo GHS è $O(m+nlogn)$
minato91
New Member
New Member
 
Messaggio: 47 di 96
Iscritto il: 07/02/2013, 17:27

Re: [Algoritmi] Complessità asintotica in un grafo denso

Messaggioda apatriarca » 04/11/2019, 11:56

Che succede quindi se scrivi \(n^2\) all posto di \(m\)?
apatriarca
Moderatore
Moderatore
 
Messaggio: 5310 di 10436
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: [Algoritmi] Complessità asintotica in un grafo denso

Messaggioda minato91 » 04/11/2019, 12:03

ho $O(n^2+nlogn)$ . Ma come possono essere f(n) e g(n) in $f(n)=Θ(g(n))$ asintoticamente uguali?
minato91
New Member
New Member
 
Messaggio: 48 di 96
Iscritto il: 07/02/2013, 17:27

Prossimo

Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite