Τράπεζα Θεμάτων

Ξεκίνησε από P.Tsiotakis, 09 Νοε 2014, 08:50:54 ΜΜ

« προηγούμενο - επόμενο »

eara

Νομίζω το ανάφερα στο προηγούμενο post μου, ας τα παραθέσω πάλι...

Με βάση τις σελίδες που αναφέρεις απαντώ το εξής "κουφό":

ο αλγόριθμος προκειμένου να μην παραβιάσει το κριτήριο της περατότητας δεν θα πρέπει να εκτελέσει το αναγραφόμενο τμημα κώδικα καθόλου!

Έστω (σφαιρικό άλογο) ότι το εκτελούσε μία (τουλάχιστον) φορά.

Τότε επειδή η δομή επανάληψης δεν τερματίζει (εξαιτίας της Μέχρις_ότου Α=0 έχουμε ατέρμονα βρόχο)

ΆΡΑ! δεν θα τερματίσει και ο αλγόριθμος, παραβιάζοντας έτσι το κριτήριο της "Περατότητας" και άρα δεν είναι αλγόριθμος όπως ισχυρίζεται η εκφώνηση (καταλήγουμε δηλ. σε άτοπο).

Οπότε τι μας έμεινε για απάντηση; ... το μηδέν.





Αθανάσιος Πέρδος

Πάμε πάλι.
Στο σχολικό βιβλίο στη σελίδα 22 - 23 υπάρχει μία παράγραφος που ονομάζεται "Χαρακτηριστικά Αλγορίθμου". Εκεί αναφέρει "Κάθε αλγόριθμος είναι σημαντικό να έχει ορισμένα χαρακτηριστικά προκειμένου να θεωρείται πλήρης".

Που ακριβώς αναφέρει ότι "αν παραβιάζεται το κριτήριο της περατότητας δεν είναι αλγόριθμος";

Σε κάποιο άλλο βιβλίο (ΑΕΠΠ) ίσως, στο συγκεκριμένο εγχειρίδιο που έχουν οι μαθητές της Β' Λυκείου δεν το λέει.

Εκτός αν αναφέρεσαι στον γενικό ορισμό του αλγορίθμου που μιλάει για εκτέλεση σε πεπερασμένο χρόνο.
Εκεί βέβαια εγείρονται και άλλα θέματα όπως η ερώτηση που μου έκανε ένας μαθητής αν η εύρεση ψηφίων του αριθμού π είναι αλγόριθμος ή όχι;

eara

Καλώς, για να μην εισέλθουμε λοιπόν σε τέτοια ζητήματα, δεν συμφωνείς ότι είναι προτιμότερο να διορθωθεί η επίμαχη εκφώνηση;

Αθανάσιος Πέρδος

Κοίταξε πολλά ζητήματα εγείρονται καμία φορά και για κάποιους είναι σημαντικά για άλλους πάλι όχι. Το συγκεκριμένο θέμα λύνεται πολύ εύκολα από ένα μαθητή οπότε δεν θα ασχολιόμουνα. Τώρα αν το δουν οι συνάδελφοι από την τράπεζα και το αλλάξουν έχει καλώς.

gpapargi

Παράθεση από: aperdos στις 14 Δεκ 2014, 11:03:10 ΜΜ
Με βάση τις σελίδες 22 - 23 του σχολικού βιβλίου "Εισαγωγή στις αρχές της Επιστήμης των Η/Υ "(αυτό έχουν οι μαθητές όχι το βιβλίο της ΑΕΠΠ) ποιο είναι ακριβώς το πρόβλημα στο συγκεκριμένο θέμα;




Συμφωνώ με τον eara. Το πρόβλημα είναι ότι στο συγκεκριμένο σημείο το βιβλίο κάνει λάθος. Όχι επειδή έτσι το λέει το βιβλίο της ΑΕΠΠ, αλλά επειδή έτσι το λέει η βιβλιογραφία και συγκεκριμένα το βιβλίο του Knuth το οποία αντέγραψαν οι συγγραφείς του βιβλίου της ΑΕΠΠ.
Αυτό που συνέβη είναι ότι οι συγγραφείς της ΑΕΠΠ δεν μετέφεραν σωστά τα νοήματα από το βιβλίο του Knuth στο οποίο άλλα ήταν κριτήρια και άλλα χαρακτηριστικά και τα και τα έκαναν όλα κριτήρια. Εδώ πήγαμε στο άλλο άκρο και τα έγιναν όλα χαρακτηριστικά, ακόμα και τα κριτήρια. Ούτε αυτό είναι σωστό.
Κατά τον Knuth η περατότητα και η καθοριστικότητα είναι κριτήρια ενώ τα υπόλοιπα είναι χαρακτηριστικά. Αν δεν τερματίσεις δεν έχεις λύσει το πρόβλημα, άρα παραβιάζεις τον ορισμό του αλγορίθμου ("πεπερασμένη σειρά ενεργειών[...] που στοχεύουν στην επίλυση ενός προβλήματος»). Αν δεν τερματίζεις δεν έχεις αλγόριθμο. Η περατότητα είναι κριτήριο. 
Συμφωνώ λοιπόν με την ένσταση του eara. Το σωστό είναι αντί για «τμήματα αλγορίθμων» να λέει «τμήματα κώδικα» ή κάτι τέτοιο.
Γιώργος Παπαργύρης

Αθανάσιος Πέρδος

Παράθεση από: gpapargi στις 15 Δεκ 2014, 10:42:10 ΠΜ
Συμφωνώ με τον eara.

Άρα συμφωνείς και μαζί μου γιατί και εγώ το ίδιο λέω. Με βάση τον γενικό ορισμό που υπάρχει στο βιβλίο δεν είναι αλγόριθμος ή τμήμα αλγορίθμου το συγκεκριμένο.
Εγώ αυτό που προτείνω στον eara είναι να μην συμβουλεύεται το βιβλίο της ΑΕΠΠ αλλά το βιβλίο της Β Λυκείου. Δεν αντιμετωπίζονται όλες οι έννοιες με τον ίδιο τρόπο.

Παράθεση από: gpapargi στις 15 Δεκ 2014, 10:42:10 ΠΜ
Το πρόβλημα είναι ότι στο συγκεκριμένο σημείο το βιβλίο κάνει λάθος. Όχι επειδή έτσι το λέει το βιβλίο της ΑΕΠΠ, αλλά επειδή έτσι το λέει η βιβλιογραφία και συγκεκριμένα το βιβλίο του Knuth το οποία αντέγραψαν οι συγγραφείς του βιβλίου της ΑΕΠΠ.
Αυτό που συνέβη είναι ότι οι συγγραφείς της ΑΕΠΠ δεν μετέφεραν σωστά τα νοήματα από το βιβλίο του Knuth στο οποίο άλλα ήταν κριτήρια και άλλα χαρακτηριστικά και τα και τα έκαναν όλα κριτήρια. Εδώ πήγαμε στο άλλο άκρο και τα έγιναν όλα χαρακτηριστικά, ακόμα και τα κριτήρια. Ούτε αυτό είναι σωστό.
Κατά τον Knuth η περατότητα και η καθοριστικότητα είναι κριτήρια ενώ τα υπόλοιπα είναι χαρακτηριστικά. Αν δεν τερματίσεις δεν έχεις λύσει το πρόβλημα, άρα παραβιάζεις τον ορισμό του αλγορίθμου ("πεπερασμένη σειρά ενεργειών[...] που στοχεύουν στην επίλυση ενός προβλήματος»). Αν δεν τερματίζεις δεν έχεις αλγόριθμο. Η περατότητα είναι κριτήριο. 

Εδώ παραθέτω τις αντίστοιχες σελίδες από το βιβλίο του Knuth. Αυτά που λες εσύ εγώ δεν τα βλέπω μέσα σε αυτήν την παράθεση. Εκτός αν τα λέει κάπου αλλού οπότε αν σου ήταν εύκολο να μας τα παραθέσεις. Επίσης δεν μπορώ να διακρίνω τι διαφορετικό έχει το βιβλίο σε σχέση με αυτά που γράφει ο Knuth και λες ότι το βιβλίο έχει λάθος. Ο Knuth χρησιμοποιεί τη λέξη feature.

   feature n (characteristic) χαρακτηριστικό ουσ.ουδ. γνώρισμα ουσ.ουδ.

gpapargi

Οι λέξεις «χαρακτηριστικό» και «κριτήριο» έχουν άλλη έννοια, άλλη βαρύτητα αν θέλεις. Το κριτήριο είναι κάτι σημαντικό που αν ο κώδικας δεν το έχει δεν είναι αλγόριθμος. (Πχ δες τα κριτήρια ισότητας τριγώνων, αν πληρείται κάποιο έχουμε ισότητα). Το χαρακτηριστικό είναι κάτι πιο ήπιο. Μπορεί να το έχει ή να μην το έχει ο κώδικας χωρίς αυτό να σημαίνει ότι δεν είναι αλγόριθμος.

Πάμε στον Knuth. (Δεν έχω πρόχειρο scanner, θα ψάξω όμως, για την ώρα αντιγράφω)

Στην επόμενη σελίδα από αυτή που στέλνεις ορίζει την υπολογιστική διαδικασία:
«Let us formally define a computational method to be [...]»
Στην επόμενη σελίδα το δένει με τον αλγόριθμο:
«Some computational sequences may never terminate; an algorithm is a computational method which terminates in finitely many steps for all x in I». Εδώ φαίνεται ξεκάθαρα ότι αν δεν τερματίζει δεν είναι αλγόριθμος.

Στην παράθεση που στέλνεις γράφει "An algorithm must always terminate[...]"  και πιο κάτω «A procedure which has all the characteristics of an algorithm except that it possibly lacks finiteness may be called a computational method»
Εδώ το must δίνει τη βαρύτητα που λέω. Φαίνεται ότι δεν είναι αλγόριθμος αν δεν τερματίζει, κάτι που είναι λογικό αφού ούτε το πρόβλημα έχει λύσει αλλά και έρχεται σε αντίθεση με την έννοια του  πεπερασμένου πλήθους βημάτων που υπάρχει στον ορισμό.

Αν δεις και στο definiteness χρησιμοποιεί τη λέξη criterion 2-3 φορές. Και η έννοια του αυστηρά καθορισμένου υπάρχει στον ορισμό του αλγορίθμου.
Αντίθετα τα υπόλοιπα πχ είσοδος, τα αναφέρει μόνο σα χαρακτηριστικά. Αν ο κώδικας δεν έχει είσοδο δε σημαίνει ότι δεν είναι αλγόριθμος. Πχ να ελέγξουμε αν ο αριθμός  13649 είναι πρώτος. Δεν υπάρχει είσοδος αλλά είναι αλγόριθμος.

Δηλαδή ενώ στον Knuth φαίνεται να υπάρχει διαχωρισμός, στο σχολικό βιβλίο τα λέει όλα χαρακτηριστικά χωρίς πουθενά να γίνεται διαχωρισμός.
Με βάση το σχολικό βιβλίο τι ισχύει; Αν ο κώδικας δεν τερματίζει είναι αλγόριθμος; Αν ο κώδικας δεν έχει είσοδο είναι αλγόριθμος;

Η πχ η φράση που έγραψες πριν με μπερδεύει:

Παράθεση από: aperdos στις 14 Δεκ 2014, 11:47:54 ΜΜ
Που ακριβώς αναφέρει ότι "αν παραβιάζεται το κριτήριο της περατότητας δεν είναι αλγόριθμος";

edit
Δες και αυτό:
Παράθεση από: aperdos στις 15 Δεκ 2014, 03:03:30 ΜΜ
Με βάση τον γενικό ορισμό που υπάρχει στο βιβλίο δεν είναι αλγόριθμος ή τμήμα αλγορίθμου το συγκεκριμένο.

Τι ισχύει με βάση το σχολικό βιβλίο;
Γιώργος Παπαργύρης

Αθανάσιος Πέρδος

Σε ότι αφορά την τράπεζα θεμάτων λέω να μην χρησιμοποιηθεί ας πούμε η πρόταση "αν παραβιάζεται το κριτήριο της περατότητας δεν είναι αλγόριθμος" γιατί πολύ απλά δεν υπάρχει στο σχολικό εγχειρίδιο. Αν θέλουμε να γράψουμε ένα ερώτημα σωστού λάθους ας χρησιμοποιηθεί μια φράση όπως "ένας αλγόριθμος για είναι πλήρης πρέπει να ικανοποιεί και το χαρακτηριστικό της περατότητας".
Επίσης για μένα δεν αποτελούν επιχείρημα για την ορθότητα ή όχι θεμάτων της τράπεζας  εκφράσεις από άλλο βιβλίο. Επίσης όπως σχολιάσαμε αρχικά τα θέματα της τράπεζας, δεν συμφωνούσαμε με τη χρήση του Αρχή_επανάληψης γιατί πολύ απλά δεν υπήρχε στο βιβλίο.

Νομίζω ότι μέχρι εδώ αφορά την τράπεζα θεμάτων και είμαι σαφής.

Τα υπόλοιπα νομίζω δεν ενδιαφέρουν το συγκεκριμένο thread αλλά μόνο τους δυό μας που κάνουμε αυτή τη συζήτηση.

Το σχολικό βιβλίο λέει ξεκάθαρα ότι ένας αλγόριθμος πρέπει να τελειώνει σε πεπερασμένο χρόνο. Τι σε μπερδεύει;
Το σχολικό βιβλίο λέει ξεκάθαρα ότι "Κάθε αλγόριθμος χρειάζεται να δέχεται ένα σύνολο μεταβλητών εισόδου (που μπορεί να είναι και το κενό σύνολο), οι οποίες αποτελούν τα δεδομένα του αλγορίθμου." Τι σε μπερδεύει;

Όσον αφορά τα κριτήρια αρχικά είπες
Παράθεση από: gpapargi στις 15 Δεκ 2014, 10:42:10 ΠΜ
Κατά τον Knuth η περατότητα και η καθοριστικότητα είναι κριτήρια ενώ τα υπόλοιπα είναι χαρακτηριστικά.
Στη συνέχεια το άλλαξες σε
Παράθεση από: gpapargi στις 15 Δεκ 2014, 05:03:20 ΜΜ
Δηλαδή ενώ στον Knuth φαίνεται να υπάρχει διαχωρισμός, στο σχολικό βιβλίο τα λέει όλα χαρακτηριστικά χωρίς πουθενά να γίνεται διαχωρισμός.
Αυτό το φαίνεται, δηλαδή η διάκριση μεταξύ feature και criterion που υπάρχει; Μπορείς να μου παραθέσεις το σημείο που το γράφει ο Knuth; Η μήπως έτσι το ερμηνεύεις εσύ; 
Γιατί εγώ διαβάζω για πέντε features που πρέπει να έχει ένας αλγόριθμος και μία πρόταση μέσα στην παράγραφο της fininiteness που λέει "A procedure that has all of the characteristics of an algorithm except that it possibly lacks finiteness may be called computational method". Το αξιοσημειώτο είναι ότι τα άλλα τέσσερα features τα ορίζει μετά. Που είναι λοιπόν ο διαχωρισμός χαρακτηριστικών και κριτηρίων;
Επίσης αναφέρει την καθοριστικότητα ως ένα feature και μέσα στην παράγραφο που την περιγράφει λέει ότι οι αλγόριθμοι που θα δείξει θα προσπαθήσει να συναντήσουν αυτό το κριτήριο. Αν τώρα εσύ το ερμηνεύεις ως σαφή διαχωρισμό χαρακτηριστικών και κριτηρίων έχει καλώς. 

Κατέθεσες την άποψη σου, σεβαστή αλλά θα μου επιτρέψεις με βάση τα αγγλικά μου να μην την κάνω αποδεκτή και να συνεχίσω να πιστεύω ότι στο συγκεκριμένο εδάφιο το σχολικό βιβλίο δεν έχει λάθος.

sstergou

#188
Το πρώτο κεφάλαιο υπάρχει on-line : http://www.informit.com/articles/article.aspx?p=2221792

edit:
δεν είχα δει το συνημμένο του aperdos. Πάντως αρχικά τα ονομάζει features ενώ την καθοριστικότητα παρακάτω την αποκαλεί και criterion.

gpapargi

Ας τα πιάσουμε ένα ένα για να βγάλουμε άκρη

Παράθεση από: aperdos στις 15 Δεκ 2014, 07:00:15 ΜΜ
Το σχολικό βιβλίο λέει ξεκάθαρα ότι "Κάθε αλγόριθμος χρειάζεται να δέχεται ένα σύνολο μεταβλητών εισόδου (που μπορεί να είναι και το κενό σύνολο), οι οποίες αποτελούν τα δεδομένα του αλγορίθμου." Τι σε μπερδεύει;
Με μπερδεύει το ρήμα "χρειάζεται" που σημαίνει ότι είναι υποχρεωτική η είσοδος σε συνδυασμό με τις λέξεις "κενό σύνολο" που σημαίνει ότι ο αλγόριθμος μπορεί και να μην έχει είσοδο. Θεωρώ ότι αν το σύνολο των μεταβλητών εισόδου είναι το κενό σύνολο, αυτό είναι ισοδύναμο νοηματικά με το "δεν έχουμε είσοδο". Τότε πως δένει το ρήμα "χρειάζεται";
Γιώργος Παπαργύρης

eara

@aperdos: εγώ δεν καταλαβαίνω τελικά τι υποστηρίζεις ...

Παράθεση από: aperdos στις 14 Δεκ 2014, 11:47:54 ΜΜ
Που ακριβώς αναφέρει ότι "αν παραβιάζεται το κριτήριο της περατότητας δεν είναι αλγόριθμος"

Παράθεση από: aperdos στις 15 Δεκ 2014, 07:00:15 ΜΜ
Το σχολικό βιβλίο λέει ξεκάθαρα ότι ένας αλγόριθμος πρέπει να τελειώνει σε πεπερασμένο χρόνο. Τι σε μπερδεύει;

Τελικά είναι κατά την γνώμη σου κριτήριο ή όχι έτσι όπως το αναγράφει το βιβλίο;

Επίσης

Παράθεση από: aperdos στις 15 Δεκ 2014, 03:03:30 ΜΜ
Με βάση τον γενικό ορισμό που υπάρχει στο βιβλίο δεν είναι αλγόριθμος ή τμήμα αλγορίθμου το συγκεκριμένο.

Στην "κουφή" λύση που έγραψα σε προηγούμενη καταχώρηση (αν δεν σου αρέσει η λέξη κριτήριο, βάλε την δική σου διατύπωση) υποστήριξα πως είναι αλγόριθμος μιας και αφενός έτσι ισχυρίζεται η εκφώνηση αλλά η εκφώνηση παραθέτει μόνο ένα τμήμα του αλγορίθμου (και όχι όλον τον αλγόριθμο). 

Και καταλήγω στο (τραβηγμένο) συμπέρασμα ότι σε κώδικα που τελικά δεν παραθέτει η εκφώνηση (!!!) το επίμαχο τμήμα θα πρέπει να παρακάμπτετε προκειμένου να μην καταλήξει στον ατέρμονα βρόχο που παραθέτει η εκφώνηση. Και όλα αυτά με βάση τον ορισμό και την μέθοδο της απαγωγής σε άτοπο. Οπότε δεν ξεφεύγω από την  "θεωρητικά" δυνητική περίπτωση όπου ένας μαθητής διατυπώσει μια τέτοια απάντηση με βάση το βιβλίο που έχει στα χέρια του. Το αν τελικά αυτό δεν γίνεται στην πράξη από τους μαθητές είναι άλλο θέμα.

Επίσης επαναλαμβάνω: Το ζήτημα που έθιξα εδώ είναι η διατύπωση της εκφώνησης και όχι του βιβλίου. Και το εν λόγο χαρακτηριστικό ή κριτήριο που αναφέρθηκα είναι της περατότητας και όχι της εισόδου.



Αθανάσιος Πέρδος

@ eara

Συνάδελφε δεν αναφέρομαι σε σένα. Τι την ανακατεύεις την είσοδο; Αυτά που βλέπεις είναι απαντήση στον gpapargi. Παρακολούθησε σε παρακαλώ ολόκληρη τη  συζήτηση.

Χθές με βάση τη δική μας συζήτηση μας έγραψα το εξής:
Παράθεση από: aperdos στις 15 Δεκ 2014, 12:14:29 ΠΜ
Κοίταξε πολλά ζητήματα εγείρονται καμία φορά και για κάποιους είναι σημαντικά για άλλους πάλι όχι. Το συγκεκριμένο θέμα λύνεται πολύ εύκολα από ένα μαθητή οπότε δεν θα ασχολιόμουνα. Τώρα αν το δουν οι συνάδελφοι από την τράπεζα και το αλλάξουν έχει καλώς.

Αυτό που λέω είναι ότι συμφωνώ μαζί σου και ότι χρειάζεται επαναδιατύπωση απλά δεν το θεωρώ μείζον.  Η επιχειρηματολογία όμως γιατί χρειάζεται επαναδιατύπωση θα πρέπει να βασίζεται στο σχολικό βιβλίο και όχι στο βιβλίο της ΑΕΠΠ. Η φράση "αν παραβιάζεται το κριτήριο της περατότητας δεν είναι αλγόριθμος" δεν υπάρχει στο σχολικό βιβλίο. Αντίθετα υπάρχει  φράση στον γενικό ορισμό του αλγορίθμου που μιλάει για εκτέλεση σε πεπερασμένο χρόνο που στην ουσία αποδίδει ακριβώς το ίδιο νόημα με αυτό που λές.

Παράθεση από: eara στις 15 Δεκ 2014, 11:21:13 ΜΜ
@aperdos: εγώ δεν καταλαβαίνω τελικά τι υποστηρίζεις ...
Τελικά είναι κατά την γνώμη σου κριτήριο ή όχι έτσι όπως το αναγράφει το βιβλίο;

Στο σχολικό βιβλίο δεν υπάρχει η λέξη κριτήριο. Υπάρχουν χαρακτηριστικά που πρέπει να έχει ένας αλγόριθμος ώστε να είναι πλήρης. Στο συγκεκριμένο θέμα λοιπόν που ξεκίνησε τη συζήτηση λείπει το χαρακτηριστικό της περατότητας.

Vangelis

Για να καταλάβω υποστηρίζουμε ότι αν γραφεί αντί για "Αλγόριθμος" ή έκφραση "Υπολογιστική διαδικασία" θα είναι περισσότερο κατανοήτη ή άσκηση στους  μαθητές;
και για  να το προχωρήσω λίγο
Αν σε μια άσκηση που ζητάμε την ανάπτυξη ενός  αλγορίθμου ο μαθητής κάνει ένα λάθος και κάποιος  βρόχος δεν τερματίζει, σύμφωνα με τη λογική της συζήτησης θα πρέπει να "κόψουμε " όλη την άσκηση γιατί αυτό που έγραψε δεν είναι αλγόριθμος!. 
Για μένα η άσκηση είναι ένας αλγόριθμός που έχει λάθος συνθήκη τερματισμού.

gpapargi

Για όλους το ίδιο είναι. Το να κόψεις όλη την άσκηση για αυτό το λόγο είναι σαν αυτό που έκαναν κάποιο παλιά που αν έβλεπαν πρόγραμμα με συντακτικό λάθος, το έκοβαν όλο γιατί δεν τρέχει.
Γιώργος Παπαργύρης

gpapargi

Παράθεση από: Vangelis στις 16 Δεκ 2014, 10:13:51 ΠΜ
Για να καταλάβω υποστηρίζουμε ότι αν γραφεί αντί για "Αλγόριθμος" ή έκφραση "Υπολογιστική διαδικασία" θα είναι περισσότερο κατανοήτη ή άσκηση στους  μαθητές;
Καλύτερα να λέει κώδικας ή κάτι τέτοιο.
Γιώργος Παπαργύρης