Sab 17 Agosto, 15:16:10 - 2019

Autore Topic: Nuova modalità esame  (Letto 9886 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline scheggia89

  • Studente di Dottorato
  • ***
  • Post: 156
  • FeedBack: +3/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #165 il: Mar 24 Ottobre, 10:15:33 - 2017 »
Ragazzi, avrei un paio di domande veloce, magari qualcuno si è già trovato nella stessa situazione.
Dovrei provare l'esame all'appello straordinario, il problema è che sono attualmente poco preparato sulla parte di Modelli e non credo di farcela con i tempi. Ad ogni modo, in caso mi presentassi all'appello di algoritmi e non a quello di modelli, il compito di algoritmi verrebbe semplicemente scartato?
Per conservare una delle due parti si deve ottenere un voto non gravemente insufficiente nell'altra?
Da quello che ho capito io, se fai solo algoritmi e non modelli, il compito non viene scartato. Comunque er esserne certo, ti consiglio di chiedere conferma al professore.

Offline CIP

  • Professore Associato
  • *
  • Post: 500
  • FeedBack: +36/-7
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #166 il: Mar 24 Ottobre, 10:32:26 - 2017 »
Da quello che ho capito io, se fai solo algoritmi e non modelli, il compito non viene scartato. Comunque er esserne certo, ti consiglio di chiedere conferma al professore.

Grazie mille!
“If debugging is the process of removing software bugs, then programming must be the process of putting them in.” -Edsger Dijkstra

Offline roberto93

  • Studente
  • *
  • Post: 25
  • FeedBack: +2/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #167 il: Gio 26 Ottobre, 12:02:28 - 2017 »
ciao ragazzi, ma la regola dei 12 punti minimi all'appello precedente per poter accedere al successivo è ancora valida? grazie

Offline CIP

  • Professore Associato
  • *
  • Post: 500
  • FeedBack: +36/-7
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #168 il: Gio 26 Ottobre, 13:13:44 - 2017 »
ciao ragazzi, ma la regola dei 12 punti minimi all'appello precedente per poter accedere al successivo è ancora valida? grazie
Stando al seguente link la regola sarà valida da Gennaio 2018, riguarda solo la parte di Modelli e comporterà anche la verbalizzazione dell'esito negativo (che non ho idea di cosa implichi in termini di percorso accademico).
“If debugging is the process of removing software bugs, then programming must be the process of putting them in.” -Edsger Dijkstra

Offline CIP

  • Professore Associato
  • *
  • Post: 500
  • FeedBack: +36/-7
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #169 il: Gio 26 Ottobre, 20:48:26 - 2017 »
Stavo dando un'occhiata al post di Scheggia89 sull'appello di Luglio, sto provando a risolvere il problema al calcolatore, fornirò una mia soluzione appena disponibile. Comunque per il terzo punto, credo che non sia molto difficile. Se ho capito bene, si hanno 2 vertici opposti di un rettangolo. Prendendo questi vertici singolarmente e centrandoli nell'origine di 2 sistemi cartesiani, si ottiene un rettangolo per intersezione degli assi, non so se mi sono spiegato..  :asd:

EDIT: ho provato questa soluzione per il terzo esercizio del problema 2, e ho considerato punti interni anche i punti sulla frontiera del rettangolo. Qualcuno potrebbe confermare se il ragionamento è corretto?
Codice: [Seleziona]
   public int rangeQ(int x1, int y1, int x2, int y2){
        /*DA IMPLEMENTARE*/

        if(x1 > x2){
        int tmp = x2;
        x2 = x1;
        x1 = tmp;
        }
        if(y1 > y2){
        int tmp = y2;
        y2 = y1;
        y1 = tmp;
        }
        return rangeQRec(this.root,x1,y1,x2,y2);
    }

    public int rangeQRec(BinNode t, int x1, int y1, int x2, int y2){
    if(t==null) return 0;
    int[] c = t.getCoordinates();
    int count = 0;
    if(c[0] >= x1 && c[0] <= x2 && c[1] >= y1 && c[1] <= y2)count++;
return count + rangeQRec(t.getLeft(), x1,y1,x2,y2) + rangeQRec(t.getRight(), x1,y1,x2,y2);
    }

EDIT2: Qalcuno ha idea su dove è possibile prendere compiti d'esame di algoritmi, compresi dei pacchetti java
necessari per lo svolgimento? grazie!
« Ultima modifica: Ven 27 Ottobre, 14:57:57 - 2017 da CIP »
“If debugging is the process of removing software bugs, then programming must be the process of putting them in.” -Edsger Dijkstra

Offline scheggia89

  • Studente di Dottorato
  • ***
  • Post: 156
  • FeedBack: +3/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #170 il: Ven 27 Ottobre, 17:51:50 - 2017 »
Stavo dando un'occhiata al post di Scheggia89 sull'appello di Luglio, sto provando a risolvere il problema al calcolatore, fornirò una mia soluzione appena disponibile. Comunque per il terzo punto, credo che non sia molto difficile. Se ho capito bene, si hanno 2 vertici opposti di un rettangolo. Prendendo questi vertici singolarmente e centrandoli nell'origine di 2 sistemi cartesiani, si ottiene un rettangolo per intersezione degli assi, non so se mi sono spiegato..  :asd:

EDIT: ho provato questa soluzione per il terzo esercizio del problema 2, e ho considerato punti interni anche i punti sulla frontiera del rettangolo. Qualcuno potrebbe confermare se il ragionamento è corretto?
Codice: [Seleziona]
   public int rangeQ(int x1, int y1, int x2, int y2){
        /*DA IMPLEMENTARE*/

        if(x1 > x2){
        int tmp = x2;
        x2 = x1;
        x1 = tmp;
        }
        if(y1 > y2){
        int tmp = y2;
        y2 = y1;
        y1 = tmp;
        }
        return rangeQRec(this.root,x1,y1,x2,y2);
    }

    public int rangeQRec(BinNode t, int x1, int y1, int x2, int y2){
    if(t==null) return 0;
    int[] c = t.getCoordinates();
    int count = 0;
    if(c[0] >= x1 && c[0] <= x2 && c[1] >= y1 && c[1] <= y2)count++;
return count + rangeQRec(t.getLeft(), x1,y1,x2,y2) + rangeQRec(t.getRight(), x1,y1,x2,y2);
    }

EDIT2: Qalcuno ha idea su dove è possibile prendere compiti d'esame di algoritmi, compresi dei pacchetti java
necessari per lo svolgimento? grazie!
Sinceramente io non ho capito bene il tuo ragionamento per il punto 3 dell'esercizio di programmazione, scusami :( . Potresti spiegarti meglio, magari con un esempio ?

Offline CIP

  • Professore Associato
  • *
  • Post: 500
  • FeedBack: +36/-7
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #171 il: Ven 27 Ottobre, 18:13:44 - 2017 »
Allora, provo con un esempio pratico al volo. Hai un punto p1=(1,1) e un punto p2=(2,2). Stando alla definizione data del rettangolo isotetico, cioè con lati paralleli agli assi coordinati (o meglio, assi cartesiani), otteniamo un rettangolo con vertici (1,1), (1,2), (2,1), (2,2). Questo rettangolo si ottiene in pratica disegnando i punti iniziali su un foglio (che da definizione sono vertici opposti!) e poi tracciando i vari lati, sapendo che sono paralleli agli assi cartesiani. Dall'intersezione dei lati tracciati a partire dai 2 vertici iniziali, otteniamo gli altri 2 vertici del rettangolo.
La soluzione java è molto semplice una volta capita questo ragionamento. In realtà per risolverlo ti basta sapere che la coordinata x1 delimita da sinistra, la x2 delimita da destra, y1 delimita dal basso e infine y2 dall'alto (queste premesse sono vere solo se x1 < x2 e y1 < y2, per questo io li riordino prima di passarli al metodo ricorsivo  :D ). Tutti i punti che rispettano queste condizioni di inclusione sono contenuti nel rettangolo.
« Ultima modifica: Ven 27 Ottobre, 18:19:49 - 2017 da CIP »
“If debugging is the process of removing software bugs, then programming must be the process of putting them in.” -Edsger Dijkstra

Offline scheggia89

  • Studente di Dottorato
  • ***
  • Post: 156
  • FeedBack: +3/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #172 il: Ven 27 Ottobre, 19:50:50 - 2017 »
Allora, provo con un esempio pratico al volo. Hai un punto p1=(1,1) e un punto p2=(2,2). Stando alla definizione data del rettangolo isotetico, cioè con lati paralleli agli assi coordinati (o meglio, assi cartesiani), otteniamo un rettangolo con vertici (1,1), (1,2), (2,1), (2,2). Questo rettangolo si ottiene in pratica disegnando i punti iniziali su un foglio (che da definizione sono vertici opposti!) e poi tracciando i vari lati, sapendo che sono paralleli agli assi cartesiani. Dall'intersezione dei lati tracciati a partire dai 2 vertici iniziali, otteniamo gli altri 2 vertici del rettangolo.
La soluzione java è molto semplice una volta capita questo ragionamento. In realtà per risolverlo ti basta sapere che la coordinata x1 delimita da sinistra, la x2 delimita da destra, y1 delimita dal basso e infine y2 dall'alto (queste premesse sono vere solo se x1 < x2 e y1 < y2, per questo io li riordino prima di passarli al metodo ricorsivo  :D ). Tutti i punti che rispettano queste condizioni di inclusione sono contenuti nel rettangolo.
Ora credo di aver capito, grazie mille davvero :D

Offline CIP

  • Professore Associato
  • *
  • Post: 500
  • FeedBack: +36/-7
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #173 il: Sab 28 Ottobre, 10:24:27 - 2017 »
Ora credo di aver capito, grazie mille davvero :D
Figurati! Grazie a te per il testo dell'esame.
Comunque, stavo cercando di risolvere il problema 1. Mi trovo d'accordo con l'impostazione della tua equazione di ricorrenza.. però ho solo un dubbio. Nel caso dell'algoritmo, il passo base si ha se n==1 oppure se n==2, quindi non dovrebbe essere così? :

T(n) = 3T(n/3) + c1 per n > 2
T(n) = c2 per n <= 2

se fosse questo il caso, nello "srotolamento" dell'equazione di ricorrenza, andrei a considerare sempre n/(3^i) = 1 come passo base? Oppure in questo caso considererei n/(3^i) = 2?
« Ultima modifica: Sab 28 Ottobre, 10:36:07 - 2017 da CIP »
“If debugging is the process of removing software bugs, then programming must be the process of putting them in.” -Edsger Dijkstra

Offline scheggia89

  • Studente di Dottorato
  • ***
  • Post: 156
  • FeedBack: +3/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #174 il: Sab 28 Ottobre, 11:39:54 - 2017 »
Figurati! Grazie a te per il testo dell'esame.
Comunque, stavo cercando di risolvere il problema 1. Mi trovo d'accordo con l'impostazione della tua equazione di ricorrenza.. però ho solo un dubbio. Nel caso dell'algoritmo, il passo base si ha se n==1 oppure se n==2, quindi non dovrebbe essere così? :

T(n) = 3T(n/3) + c1 per n > 2
T(n) = c2 per n <= 2

se fosse questo il caso, nello "srotolamento" dell'equazione di ricorrenza, andrei a considerare sempre n/(3^i) = 1 come passo base? Oppure in questo caso considererei n/(3^i) = 2?
Non capisco quando dici che il passo base si ha anche per n==2. Forse ti riferisci al passo if(i + 1 == j) return a + a[j]; vero? In quel caso, ma non ne sono molto sicuro, puoì scegliere o uno o l'altro, poichè sono valori costanti che non infuenzano analisi asintotica. Tra i due scelgo n== 1 perchè è più facile

Offline CIP

  • Professore Associato
  • *
  • Post: 500
  • FeedBack: +36/-7
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #175 il: Sab 28 Ottobre, 13:59:19 - 2017 »
Ok, ha senso il tuo ragionamento :)
Solo una cosa che volevo precisare riguardo l'ultimo passaggio dell'equazione di ricorrenza.
La sommatoria ha per somma il termine  [1 - 3(log3(n)-1)+1] / (1 - 3), che semplificata diventa (1 - n)/(1-3), giusto? non cambia il costo asintotico dell'algoritmo, era solo per essere precisi a livello di calcolo numerico  ;D
“If debugging is the process of removing software bugs, then programming must be the process of putting them in.” -Edsger Dijkstra

Offline scheggia89

  • Studente di Dottorato
  • ***
  • Post: 156
  • FeedBack: +3/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #176 il: Sab 28 Ottobre, 15:09:14 - 2017 »
Ok, ha senso il tuo ragionamento :)
Solo una cosa che volevo precisare riguardo l'ultimo passaggio dell'equazione di ricorrenza.
La sommatoria ha per somma il termine  [1 - 3(log3(n)-1)+1] / (1 - 3), che semplificata diventa (1 - n)/(1-3), giusto? non cambia il costo asintotico dell'algoritmo, era solo per essere precisi a livello di calcolo numerico  ;D
si credo di si. :D il problema 1 quindi alla fine può essere corretto? :D :D

Offline CIP

  • Professore Associato
  • *
  • Post: 500
  • FeedBack: +36/-7
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #177 il: Sab 28 Ottobre, 15:29:21 - 2017 »
Beh, secondo me l'equazione di ricorrenza è impostata e sviluppata bene, quindi sarei portato a dire di si.
Poi non so se c'è qualcosa che ci sta sfuggendo, ma non credo.
Anche il problema 2 è giusto.
Sto ripassando la parte sui grafi per poter fare il quarto.
Devo dire che se i primi due esercizi sono più o meno sempre così, allora sono abbastanza abbordabili.
Il quarto a differenza degli altri mi crea sempre qualche problemino e il terzo è totalmente casuale, quindi serve anche un po' di fortuna  :asd:
« Ultima modifica: Sab 28 Ottobre, 15:31:36 - 2017 da CIP »
“If debugging is the process of removing software bugs, then programming must be the process of putting them in.” -Edsger Dijkstra

Offline scheggia89

  • Studente di Dottorato
  • ***
  • Post: 156
  • FeedBack: +3/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #178 il: Sab 28 Ottobre, 16:26:17 - 2017 »
Beh, secondo me l'equazione di ricorrenza è impostata e sviluppata bene, quindi sarei portato a dire di si.
Poi non so se c'è qualcosa che ci sta sfuggendo, ma non credo.
Anche il problema 2 è giusto.
Sto ripassando la parte sui grafi per poter fare il quarto.
Devo dire che se i primi due esercizi sono più o meno sempre così, allora sono abbastanza abbordabili.
Il quarto a differenza degli altri mi crea sempre qualche problemino e il terzo è totalmente casuale, quindi serve anche un po' di fortuna  :asd:
Ho le stesse tue difficoltà sul problema 4 sui grafi, infatti ancora non sono riuscito a dare una possibile soluzione. Il terzo di solito riguarda la parte teorica di algoritmi ma non sempre è così però, mette di solito cose strane

Offline scheggia89

  • Studente di Dottorato
  • ***
  • Post: 156
  • FeedBack: +3/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #179 il: Lun 30 Ottobre, 17:59:17 - 2017 »
Posto una mia personale soluzione (si accettano obiezioni dato che non sono molto convinto di ciò) punto (a) del problema 4 sui grafi dell'appello di luglio.

Il grafo in questione è un grafo non orientato pesato. I vertici sono gli n edifici ed il centro di distribuzione C con coordinate (x1,y1), .... , (xn,yn). Gli archi sono i cavi necessari al collegamento dove il peso è rappresentato dalla lunghezza del cavo stesso. Il problema da risolvere è quelllo dei cammini minimi ed in particolare è il SSSP(G, s) (Single Source Shortest Path), cioè determinare un albero dei cammini radicato in s, dove s è la sorgente che rappresenta il centro di distribuzione C.

Sui punti (b), (c) ancora ci sto ragionando