Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)

Ξεκίνησε από gpapargi, 09 Φεβ 2010, 11:35:14 ΠΜ

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

Αποτελούν οι εντολές εκχώρησης είσοδο για έναν αλγόριθμο;

Ναι
Όχι

tom

Παράθεση από: gthal στις 16 Φεβ 2010, 01:15:18 ΠΜ
Από την άλλη πλευρά, με αυτό που ονομάζετε "είσοδο" μέχρι τώρα οι διαφωνούντες, νομίζω ότι εννοείτε τις  "αρχικοποιήσεις" (γιαυτό και το διαχωρίζετε συνέχεια από την επεξεργασία, αν και είναι στο εσωτερικό του αλγόριθμου) .  Αυτές όμως, (που αναμφίβολα είναι καθοριστικές για την περεταίρω επεξεργασία και το αποτέλεσμα του αλγορίθμου), προτείνω να μην τις λέμε είσοδο  (αν οι αρχικές τιμές δεν έρχονται απ' έξω). Μήπως καταλαβαινόμαστε λίγο περισσότερο τώρα ?

Ναι. Προτείνω "πρωτογενή δεδομένα" ή "initial data set" ή κάτι που θα πει κάποιος άλλος, θα μου αρέσει και φυσικά θα αναφέρεται στην περίπτωση "καμία-είσοδος" (zero-input) κατά Knuth.

Θωμάς Σκυλογιάννης

- Ζήσε σα να' ταν να πεθάνεις αύριο. Μάθε σα να' ταν να ζεις για πάντα.
                                                                                     Μαχάτμα Γκάντι

gthal

Φιλικά,
Γιώργος Θαλασσινός

gthal

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

Γιαυτό κάπου παραπάνω σε δυο σημεία επιμένω ότι μιλάμε για τις hardcoded τιμές, αν είναι είσοδος ή όχι.
(και ισχυρίζομαι βέβαια ότι δεν είναι)
Φιλικά,
Γιώργος Θαλασσινός

tom

Παράθεση από: gthal στις 16 Φεβ 2010, 01:35:10 ΠΜ
Επίσης, ελπίζω να κάνω λάθος, αλλά ανησυχώ ότι ίσως πάει να γεννηθεί άλλη μια μικρή παρανόηση.
Αν θέλετε, επιβεβαιώστε ότι εννοούμε όλοι το ίδιο και στο παρακάτω:
η έννοια είσοδος αφορά δεδομένα (τιμές)
καμιά εντολή δεν είναι είσοδος!
άρα το να εξετάζουμε αν οι εντολές εκχώρησης είναι ή δεν είναι είσοδος, είναι μια ελαφρώς ανακριβής διατύπωση.
Εννοούμε τις τιμές που δίνονται από εντολές εκχώρησης. Συμφωνούμε ;
Συμφωνώ ότι η έννοια είσοδος αφορά δεδομένα (τιμές).
Καμία εντολή δεν είναι είσοδος ούτε η εντολή εκχώρησης (<-) αλλά ούτε η εντολή εισόδου (Διάβασε).

Είπαμε ας ονομάσουμε είσοδο τα δεδομένα από την εντολή εισόδου (μία είσοδος (τιμή) ή περισσότερες είσοδοι (τιμές))
και πρωτογενή δεδομένα, τα δεδομένα από εντολές εκχώρησης ή γεννήτριες τυχαίων αριθμών (όταν δεν υπάρχει καμία είσοδος (τιμή) από έξω αλλά υπάρχουν δεδομένα προς επεξεργασία εσωτερικά του αλγορίθμου).

Οι άλλοι συμφωνούν;

Υ.Γ.  Για να αλλάξω την ψήφο μου, πρέπει να αλλάξει και η ερώτηση  8)
Θωμάς Σκυλογιάννης

- Ζήσε σα να' ταν να πεθάνεις αύριο. Μάθε σα να' ταν να ζεις για πάντα.
                                                                                     Μαχάτμα Γκάντι

gthal

Παράθεση από: tom στις 16 Φεβ 2010, 01:52:49 ΠΜ
και πρωτογενή δεδομένα, τα δεδομένα από εντολές εκχώρησης ή γεννήτριες τυχαίων αριθμών
προσοχή... η γεννήτρια τυχαίων αριθμών θα είναι άλλος αλγόριθμος; τότε οι τιμές που θα πάρουμε από αυτή είναι είσοδος (μη μου το χαλάς τελευταία στιγμή  ;)  ) 
οτιδήποτε έρχεται απ' έξω απ' τον αλγόριθμο (από άλλον αλγόριθμο, από script, από το δίσκο, το δίκτυο, το scanner, το σύστημα, δαίμονες και διαβόλους  >:D  ) είναι είσοδος.

Παράθεση από: tom στις 16 Φεβ 2010, 01:52:49 ΠΜ
Υ.Γ.  Για να αλλάξω την ψήφο μου, πρέπει να αλλάξει και η ερώτηση  8)
ΧΑ ΧΑ ΧΑ
έλα.... αφού είπαμε : είσοδος = είσοδος δεδομένων από το εξωτερικό περιβάλλον.  Εντάξει είναι η ερώτηση
άντε και περιμένω το 7-7 για να πάω για ύπνο ...  :P
Φιλικά,
Γιώργος Θαλασσινός

tom

Παράθεση από: gthal στις 16 Φεβ 2010, 02:03:41 ΠΜ
προσοχή... η γεννήτρια τυχαίων αριθμών θα είναι άλλος αλγόριθμος; τότε οι τιμές που θα πάρουμε από αυτή είναι είσοδος (μη μου το χαλάς τελευταία στιγμή  ;)  ) 
οτιδήποτε έρχεται απ' έξω απ' τον αλγόριθμο (από άλλον αλγόριθμο, από script, από το δίσκο, το δίκτυο, το scanner, το σύστημα, δαίμονες και διαβόλους  >:D  ) είναι είσοδος.
Όχι θα είναι μια συνάρτηση. Ναι είναι είσοδος αλλά αν αντι να βάλω:
α<-5
πω
α<-random(1,100) // τυχαίος ακέραιος από το 1 έωςτο 100
τότε τι γίνεται ;) Γιατί έχουμε και εκχώρηση.
Θωμάς Σκυλογιάννης

- Ζήσε σα να' ταν να πεθάνεις αύριο. Μάθε σα να' ταν να ζεις για πάντα.
                                                                                     Μαχάτμα Γκάντι

gthal

Η συνάρτηση είναι άλλος αλγόριθμος,
διότι η συνάρτηση, βάσει ενός αλγορίθμου (διαφορετικού από τον κυρίως αλγόριθμό σου), θα παράγει μια τιμή/αποτέλεσμα/έξοδο,
η οποία θα δοθεί ως είσοδος στον αλγόριθμό σου

γι αυτό λέω να ξεκολλήσουμε από την εκχώρηση - δεν είναι αυτή το θέμα:
α<-5                                 harcoded τιμή, γνωστή εκ των προτέρων : όχι είσοδος  (αλλά πρωτογενές δεδομένο, όπως το ονόμασες)
α<-random(1,100)           τιμή προερχόμενη από άλλον αλγόριθμο, όχι γνωστή εκ των προτέρων : είσοδος
Φιλικά,
Γιώργος Θαλασσινός

tom

Παράθεση από: gthal στις 16 Φεβ 2010, 03:19:27 ΠΜ
Η συνάρτηση είναι άλλος αλγόριθμος,
διότι η συνάρτηση, βάσει ενός αλγορίθμου (διαφορετικού από τον κυρίως αλγόριθμό σου), θα παράγει μια τιμή/αποτέλεσμα/έξοδο,
η οποία θα δοθεί ως είσοδος στον αλγόριθμό σου

γι αυτό λέω να ξεκολλήσουμε από την εκχώρηση - δεν είναι αυτή το θέμα:
α<-5                                 harcoded τιμή, γνωστή εκ των προτέρων : όχι είσοδος  (αλλά πρωτογενές δεδομένο, όπως το ονόμασες)
α<-random(1,100)           τιμή προερχόμενη από άλλον αλγόριθμο, όχι γνωστή εκ των προτέρων : είσοδος
Λογικό. Άρα η ερώτηση της δημοσκόπησης πρέπει να αλλάξει ή να προστεθεί και κάποια ακόμα.
Γιατί σύμφωνα με τις παραπάνω περιπτώσεις, αλλά και όσα είπαμε νωρίτερα, δεν είναι πλήρης ούτε σαφής...
Η συνέχεια αύριο.

Θωμάς Σκυλογιάννης

- Ζήσε σα να' ταν να πεθάνεις αύριο. Μάθε σα να' ταν να ζεις για πάντα.
                                                                                     Μαχάτμα Γκάντι

gpapargi

Παιδιά, όσο αφόρα εμένα δεν πιστεύω στις ψηφοφορίες αλλά στα επιχειρήματα. Η πλειοψηφία δεν κάνει σωστή μια άποψη.  Αν ο Γαλιλαίος έθετε σε ψηφοφορία τις απόψεις του θα είχε φάει μαύρο. Για μένα υπάρχουν μόνο επιχειρήματα. Ούτε πλειοψηφίες ούτε αυθεντίες.

Θα ήθελα με ένα παράδειγμα να δω αν κατάλαβα τι λέει η άλλη άποψη. Στον παρακάτω αλγόριθμο

S<-0
Για ι από 1 μέχρι 10
  S<-S+ι^2
Τελος_επαναληψης
Εμφάνισε S

Το S θεωρείται είσοδος; Δηλαδή η αντίθετη άποψη θεωρεί είσοδο όλες τις αρχικοποιήσεις μεταβλητών όπου και να βρίσκονται;

tom

Παράθεση από: gpapargi στις 17 Φεβ 2010, 04:13:28 ΜΜ
Θα ήθελα με ένα παράδειγμα να δω αν κατάλαβα τι λέει η άλλη άποψη. Στον παρακάτω αλγόριθμο

S<-0
Για ι από 1 μέχρι 10
  S<-S+ι^2
Τελος_επαναληψης
Εμφάνισε S

Το S θεωρείται είσοδος; Δηλαδή η αντίθετη άποψη θεωρεί είσοδο όλες τις αρχικοποιήσεις μεταβλητών όπου και να βρίσκονται;

Για μένα πλεόν μετά από τις τελευταίες συζητήσεις, η εντολή "S<-0".

αποτελεί δημιουργία πρωτογενών δεδομένων για τον αλγόριθμο μέσα του (0-είσοδος ή καμία είσοδος) αλλά όχι είσοδο δεδομένων στον αλγόριθμο από έξω (μία ή περισσότερες είσοδοι). Εννοείται ότι ισχύει το ίδιο για όλες τις αρχικοποιήσεις όπου και να βρίσκονται.

Αυτή η ερμηνεία δε σου αρέσει  ;)
Θωμάς Σκυλογιάννης

- Ζήσε σα να' ταν να πεθάνεις αύριο. Μάθε σα να' ταν να ζεις για πάντα.
                                                                                     Μαχάτμα Γκάντι

tom

Αν δεν αλλάξετε την ερώτηση φοβάμαι ότι τα "Ναι" θα συνεχίσουν να αυξάνονται  ;D
Θωμάς Σκυλογιάννης

- Ζήσε σα να' ταν να πεθάνεις αύριο. Μάθε σα να' ταν να ζεις για πάντα.
                                                                                     Μαχάτμα Γκάντι

gpapargi

Παράθεση από: tom στις 17 Φεβ 2010, 06:09:40 ΜΜ
Για μένα πλεόν μετά από τις τελευταίες συζητήσεις, η εντολή "S<-0".

αποτελεί δημιουργία πρωτογενών δεδομένων για τον αλγόριθμο μέσα του (0-είσοδος ή καμία είσοδος) αλλά όχι είσοδο δεδομένων στον αλγόριθμο από έξω (μία ή περισσότερες είσοδοι). Εννοείται ότι ισχύει το ίδιο για όλες τις αρχικοποιήσεις όπου και να βρίσκονται.

Αυτή η ερμηνεία δε σου αρέσει  ;)


Μια χαρά είναι για μένα αυτή η ερμηνεία. Βασικά δε με ενδιαφέρει το πώς θα τα πούμε αυτά τα δεδομένα. Αρκεί να μην τα πούμε είσοδο. Όπως τα λες καλά μου φαίνεται.

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

Για τις ψηφοφορίες σου είπα... 

pgrontas

Στο παράδειγμα του Γιώργου, η αρχική τιμή 0 είναι η μόνη που βγάζει σωστό και το τελικό άθροισμα και τα μερικά αθροίσματα ενδιάμεσα. Είναι δηλαδή μια ιδιαίτερη περίπτωση αρχικοποίησης.

Παρόλα αυτά συμφωνώ και εγώ με την ερμηνεία του Θωμά.

Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

gpapargi

Παράθεση από: tom στις 15 Φεβ 2010, 11:36:52 ΜΜ
εννοώ ότι η εντολή εκχώρησης αποτελεί εισαγωγή (είσοδο) δεδομένων για την επεξεργασία που θα ακολουθήσει από τον αλγόριθμο! Όχι είσοδο από το εξωτερικό περιβάλλον!!!

Εγώ νομίζω ότι είχα καταλάβει ότι έλεγες αυτό. Ένας από τους λόγους που διαφωνούσα (περά από το πως αντιλαμβάνομαι την είσοδο) είναι ότι μια τέτοια εντολή αρχικοποίησης μπορεί να είναι υπάρχει σε ένα κώδικα 1000 γραμμών μόλις λίγες γραμμές πριν το τέλος. Τι νόημα έχει να μιλάμε για «επεξεργασία που θα ακολουθήσει από τον αλγόριθμο» αφού  αλγόριθμος έχει σχεδόν τελειώσει. Αυτές οι εντολές μπορεί να υπάρχουν οπουδήποτε. Δεν υπάρχουν ξεκάθαρα όρια πριν από τα οποία υπάρχουν αυτές οι εντολές και μετά από αυτές αρχίζει η επεξεργασία

gthal

Παράθεση από: pgrontas στις 18 Φεβ 2010, 05:26:24 ΜΜ
Στο παράδειγμα του Γιώργου, η αρχική τιμή 0 είναι η μόνη που βγάζει σωστό και το τελικό άθροισμα και τα μερικά αθροίσματα ενδιάμεσα. Είναι δηλαδή μια ιδιαίτερη περίπτωση αρχικοποίησης.
Μα βρε Παναγιώτη, δεν υπάρχουν ιδιαίτερες περιπτώσεις αρχικοποίησης. Όλες επηρεάζουν το αποτέλεσμα.
Υπάρχει αρχικοποίηση που δεν το επηρεάζει? (ή τότε όλες είναι ιδιαίτερες περιπτώσεις?)
Βρες μου ένα παράδειγμα όπου η αρχικοποίηση δεν θα επηρεάσει το αποτέλεσμα του αλγόριθμου. Βρες μου δηλ μία αρχικοποίηση που δεν είναι "ιδιαίτερη περίπτωση".
(αν βρεις, θα παραδεχθώ ολόψυχα ότι αυτή είναι ιδιαίτερη περίπτωση - όχι οι νορμάλ  ;)   ;D )
Φιλικά,
Γιώργος Θαλασσινός