Il giudizio sulla "correttezza" dell'algoritmo

AlessandraIzzo (6010 points)
6 6 30
asked Nov 3, 2019 in Info sul corso e sugli esami by AlessandraIzzo (6,010 points)
recategorized Nov 4, 2019 by andrea.sterbini
È da intendersi se l'algoritmo produce il risultato corretto (anche dopo tempi lunghi) oppure se produce il risultato in tempi abbastanza brevi da superare i test?
Io l'ho intesa nel primo modo, ma a giudicare dai voti che ho ricevuto io (non 5 stelle neanche sulla correttezza... e neanche se in realtà passo tranquillamente tutti i test :)), sembra che venga inteso in altra maniera.

5 Answers

Best answer
D
DM (730 points)
0 0 4
answered Nov 20, 2019 by DM (730 points)
selected Jan 1, 2020 by AlessandraIzzo
Il problema di fondo è che i ragazzi non prendono seriamente il PA... Le stelle vengono messe in modo superficiale ed i suggerimenti vengono scritti allo stesso modo. Secondo quale logica ricevo 2 stelle sulla correttezza ed efficienza se poi nel suggerimento trovo scritto " ho pensato il tuo stesso algoritmo ma ancora non l'ho fatto".... Come puoi sapere quanto è corretto ed efficiente se neanche hai finito il tuo codice…
AlessandraIzzo (6010 points)
6 6 30
commented Jan 1, 2020 by AlessandraIzzo (6,010 points)
I feel you...
a
a.pietroluongo (11250 points)
15 38 131
answered Nov 3, 2019 by a.pietroluongo (11,250 points)
Secondo me l'algoritmo è corretto se produce il risultato corretto anche dopo tempi lunghi, altrimenti non ci si sarebbe la valutazione sull'efficienza
AlessandraIzzo (6010 points)
6 6 30
commented Nov 3, 2019 by AlessandraIzzo (6,010 points)
È il ragionamento che ho fatto io
Christian (15220 points)
2 4 77
answered Nov 3, 2019 by Christian (15,220 points)
Condivido quanto detto da a.pietroluongo, per me l'algoritmo è corretto se produce un risultato corretto. Poi che sia efficiente è un altro parametro di valutazione...
AlessandraIzzo (6010 points)
6 6 30
commented Nov 3, 2019 by AlessandraIzzo (6,010 points)
Tutti 'buoni' in queste risposte :D Nessuno che si azzarda a dire di fare diversamente?
Christian (15220 points)
2 4 77
commented Nov 3, 2019 by Christian (15,220 points)
Purtroppo la penso così :D
AlessandraIzzo (6010 points)
6 6 30
commented Nov 3, 2019 by AlessandraIzzo (6,010 points)
Non intedevo metterlo in dubbio, figurati
AlessandraIzzo (6010 points)
6 6 30
commented Nov 3, 2019 by AlessandraIzzo (6,010 points)
Ma infatti, come dicevi anche tu, esiste apposta il giudizio separato sull'efficienza
E
Edward (25950 points)
2 4 172
answered Nov 3, 2019 by Edward (25,950 points)
edited Nov 3, 2019 by Edward
Io valuterei così:

Correttezza - L'algoritmo è spiegato bene ed ho capito quello che fa.
Correttezza - 5 se secondo me passa tutti i test, meno se non ne passa qualcuno
Efficienza - Quanto è efficiente l'algoritmo usato? C'era un modo più veloce per svolgere l'esercizio?

Oltretutto quando si va a votare l'algoritmo degli altri, se secondo il nostro giudizio (che può essere sbagliato) non si passino solamente i test 4 o 5 (che erano quelli più difficili) non penso dare 0 alla voce correttezza sia adeguato.
AlessandraIzzo (6010 points)
6 6 30
commented Nov 3, 2019 by AlessandraIzzo (6,010 points)
Non sono d'accordo, chiaramente, ma comunque.
Mi domando il professore come l'aveva concepito.
s
simone.bravo (320 points)
1 2 4
commented Nov 4, 2019 by simone.bravo (320 points)
Io non riesco a capire come si possa valutare l'efficienza dell'algoritmo senza vedere codice e prove con diversi casi limite.
E
Edward (25950 points)
2 4 172
commented Nov 4, 2019 by Edward (25,950 points)
Dipende dai casi, ovviamente se sai i risultati è più facile valutare.

Comunque per esempio, per questo homework c'erano vari modi di procedere. In base all'approccio usato puoi facilmente stabilire se è quello più veloce o quello più lento.
Christian (15220 points)
2 4 77
commented Nov 4, 2019 by Christian (15,220 points)
Io infatti ho valutato in base alla mia esperienza. Ho provato un primo approccio che si è rivelato inefficiente (superavo 14/16), per poi superare il problema cambiando algoritmo. E' evidente che non posso dare un voto alto all'efficienza se un programma svolge le stesse operazioni che svolgevo io nel mio primo algoritmo...
plm (18850 points)
7 15 118
answered Nov 4, 2019 by plm (18,850 points)

Se un algoritmo supera tutti i test è un algoritmo corretto . L'efficenza è assolutamente un'altra cosa. Allora perchè all'esame vanno bene anche i codici che impiegano 5 minuti ad eseguire? Perchè si tiene in considerazione lla correttezza dell'algoritmo e non l'efficenza

edoardottt (8210 points)
1 3 37
commented Nov 4, 2019 by edoardottt (8,210 points)
All'esame i test sono senza timeout?
Kobrax (3020 points)
6 18 27
commented Nov 20, 2019 by Kobrax (3,020 points)
No non ci sono timeout, ma ovviamente dovrebbero terminare in tempi ragionevoli...
andrea.sterbini (172780 points)
513 935 1789
commented Nov 20, 2019 by andrea.sterbini (172,780 points)
3.5 ore, per essere precisi :)
(poi finisce l'esame)