Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Γ΄ Λυκείου => Μήνυμα ξεκίνησε από: gpapargi στις 09 Φεβ 2010, 11:35:14 πμ

Τίτλος: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gpapargi στις 09 Φεβ 2010, 11:35:14 πμ
Το παρόν θέμα ανοίγει με σκοπό να συζητηθεί το ασαφές σημείο των αλγοριθμικών κριτηρίων. Ο στόχος είναι να γίνει μια από κοινού πρόταση για τη διόρθωση του διδακτικού πακέτου.
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: Σπύρος Δουκάκης στις 09 Φεβ 2010, 11:49:38 πμ
Θεωρώ ότι πρέπει να γραφεί η πρόταση που έχει γίνει και επί αυτής να γίνει η συζήτηση...
Τη γράφω στο επόμενο μνμ.

ΣΔ
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: Σπύρος Δουκάκης στις 09 Φεβ 2010, 11:49:58 πμ
Τα αλγοριθμικά κριτήρια θέλουν αναδιατύπωση. Κάποια σχόλια αναφέρονται παρακάτω:

Ο όρος «κριτήρια» είναι αρκετά αυστηρός γιατί σημαίνει ότι αν κάποιο τμήμα κώδικα δεν έχει είσοδο τότε δεν αποτελεί αλγόριθμο. Πχ σε ένα  τμήμα κώδικα που υπολογίζει το άθροισμα 1^3 + 2^3 +3^3 +…100^3 δεν υπάρχει είσοδος αλλά είναι υπερβολικό να λέμε ότι δεν είναι αλγόριθμος.
Επίσης υπάρχουν προγράμματα που δεν έχουν έξοδο αλλά απλώς ξεκινούν άλλα προγράμματα (startup scripts).
Ο Knuth δίνει τον όρο «features» δηλαδή χαρακτηριστικά (για την είσοδο και την έξοδο) και όχι κριτήρια. Αυτό σημαίνει ότι αν κάποιο κομμάτι κώδικα δεν τα πληρεί τότε  δε σημαίνει ότι δεν είναι αλγόριθμος.

Επίσης αυτό που περιγράφει το βιβλίο ως κριτήριο της αποτελεσματικότητας δεν είναι σαφές. Στο βιβλίο του Knuth εννοείται κάτι άλλο από αυτό που φαίνεται στο σχολικό βιβλίο.
Στην αποτελεσματικότητα δεν έχει γίνει σωστή μεταφορά του όρου «effectiveness» από τα αγγλικά. Μεταφράστηκε σαν «αποτελεσματικότητα» αλλά το νόημα είναι κάτι σαν «πραγματοποιησιμότητα». Δηλαδή χρησιμοποιείται η ερμηνεία «πραγματοποιώ» της λέξης effect.

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

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

Πρόταση: Να αναθεωρηθούν τα κριτήρια σύμφωνα με τον Knuth ή να αφαιρεθεί η είσοδος, έξοδος και αποτελεσματικότητα και να παραμείνει η περατότητα και η καθοριστικότητα που είναι «καλώς ορισμένες».
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gpapargi στις 09 Φεβ 2010, 01:13:16 μμ
Εννοείται ότι το παραπάνω κείμενο με εκφράζει απόλυτα και θα ήθελα να προσθέσω κάτι στο σκετικό με το οποίο διατυπώθηκε η πρόταση: Οι συγγραφική ομάδα προσπάθησε να μεταφέρει τα αλγοριθμικά κριτήρια από τον Knuth. Η προσωπική μου άποψη είναι ότι δεν κατάλαβε καλά το νόημα και τη μετέφερε με λάθος τρόπο.
 
Κατά συνέπεια θεωρώ ότι η πιο σωστή κίνηση που μπορούμε να κάνουμε είναι να διαβάσουμε προσεκτικά τον Knuth και να καταλάβουμε τι θέλει να πει. Η πρότασή μας πρέπει να είναι αυτό που εννοεί ο Knuth διότι αυτή ήταν η πρόθεση της συγγραφικής ομάδας.

Διαφορετικά θα πρέπει να δοθούν έγκυρες πηγές από την βιβλιογραφία.
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: Νίκος Αδαμόπουλος στις 09 Φεβ 2010, 02:35:58 μμ
Δόξα σοι ο Θεός (ο Knuth εννοώ  ;) )  :angel:
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: sstergou στις 09 Φεβ 2010, 04:59:19 μμ
Νομίζω το πρόβλημα το έχουμε στην είσοδο και την αποτελεσματικότητα.

Είσοδος : Είναι οι τιμές που δίνονται στον αλγόριθμος από το εξωτερικό του περιβάλλον. Δεν αποτελεί κριτήριο αλλά "χαρακτηριστικό". Ένας αλγόριθμος μπορεί να μην έχει είσοδο. Σε αυτή την περίπτωση τα αποτελέσματά του είναι τα ίδια για όλες τις φορές που θα εκτελεστεί.

Αποτελεσματικότητα : Συμφωνώ με την "πραγματοποιησιμότητα". Μία εντολή είναι αποτελεσματική αν υπάρχει μία τυποποιημένη διαδικασία εκτέλεσής της. Ένας άνθρωπος θα πρέπει να είναι ικανός να την εκτελέσει σε πεπερασμένο χρόνο χρησιμοποιώντας χαρτί και μολύβι. Αποτελεί κριτήριο και ορίζεται σε επίπεδο εντολής.
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: pgrontas στις 09 Φεβ 2010, 05:18:41 μμ
Για την πραγματοποιησιμότητα συμφωνώ.
Για την είσοδο μια συζήτηση είχε γίνει εδώ (https://alkisg.mysch.gr/steki/index.php?topic=1569.0) με ένα εύστοχο σχόλιο από τον Γιώργο τον Νικολακάκη προς το τέλος.
Προσωπικά νομίζω ότι δεν έχει σχέση με τα αποτελέσματα. Πχ. αν έχεις μια συνάρτηση που πάντα επιστρέφει την τιμή 1 δεν μπορούμε να πούμε πως το 1 είναι η είσοδος;
Ή αν έχεις έναν αλγόριθμο που ξεκινάει ένα script δεν μπορούμε να πούμε πως ο προσδιορισμός του script είναι η είσοδος (έστω και αν είναι hardcoded).
Θεωρώ ότι η είσοδος πρέπει να αποτελεί κριτήριο (έστω και ενσωματωμένη) και μπορεί να συνδυαστεί με το σχήμα που έχουν οι μαθητές στο μυαλό τους Δεδομένα->Επεξεργασία->Πληροφορία.

Το ίδιο ισχύει και για την έξοδο. Νομίζω ότι δεν πρέπει να την περιορίσουμε σε μια τιμή, αλλά ευρύτερα σε κάποιο γεγονός. Το ότι μετά από έναν αλγόριθμο ξεκινάει κάποιο script είναι μια αλλαγή στον 'εξω από τον αλγόριθμο' κόσμο, άρα έξοδος.
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: sstergou στις 09 Φεβ 2010, 08:09:49 μμ
Τη θυμάμαι την κουβέντα.

Ως είσοδο εννοώ και τους τυχαίους αριθμούς και γενικά οποιαδήποτε τιμή επιλέγεται κατά την διάρκεια της εκτέλεσης από ένα σύνολο τιμών. Η τιμή αυτή όμως δεν θα πρέπει να είναι γνωστή πριν την εκτέλεση.

Αν ο αλγόριθμος ξεκινάει ένα script και αυτό είναι hardcoded τότε όσες φορές και αν εκτελεστεί θα ξεκινήσει αυτό το συγκεκριμένο script (δηλαδή θα έχει το ίδιο αποτέλεσμα).

Αν όμως έχει είσοδο τότε η τιμή του script θα πρέπει να επιλεγεί-δοθεί την στιγμή της εκτέλεσης από κάποιον άλλο αλγόριθμο ή με κάποιον άλλο τρόπο.

Για την έξοδο συμφωνώ, δεν είναι απαραίτητα τιμή.
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: ntzios kostas στις 09 Φεβ 2010, 09:42:44 μμ
Πολύ σωστά αυτά που γράφονται, απλά για τα κριτήρια ενός αλγόριθμου να μην έχουμε στο μυαλό μας μόνο αυτόν που γίνεται πρόγραμμα και εκτελείται από υπολογιστή αλλά οποιονδήποτε αλγόριθμο που εκτελείται από οποιονδήποτε. Τότε ίσως βγάλουμε πιο εύκολα άκρη. Τι θέλω να πω, όταν δίνουμε για παράδειγμα τα βήματα για την παρασκευή  μιας μακαρονάδας (παράδειγμα που έχει για αλγόριθμο το σχολικό του Γυμνασίου), είναι ή δεν είναι αλγόριθμος; Τηρεί όλα τα κριτήρια;  Μάλλον αυτό που σημείωσε ο Σπύρος είναι απόλυτα σωστό:

Παράθεση
Ο όρος «κριτήρια» είναι αρκετά αυστηρός γιατί σημαίνει ότι αν κάποιο τμήμα κώδικα δεν έχει είσοδο τότε δεν αποτελεί αλγόριθμο. Πχ σε ένα  τμήμα κώδικα που υπολογίζει το άθροισμα 1^3 + 2^3 +3^3 +…100^3 δεν υπάρχει είσοδος αλλά είναι υπερβολικό να λέμε ότι δεν είναι αλγόριθμος.
Επίσης υπάρχουν προγράμματα που δεν έχουν έξοδο αλλά απλώς ξεκινούν άλλα προγράμματα (startup scripts).
Ο Knuth δίνει τον όρο «features» δηλαδή χαρακτηριστικά (για την είσοδο και την έξοδο) και όχι κριτήρια. Αυτό σημαίνει ότι αν κάποιο κομμάτι κώδικα δεν τα πληροί τότε  δε σημαίνει ότι δεν είναι αλγόριθμος.
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: sstergou στις 09 Φεβ 2010, 11:17:39 μμ
Επειδή πιστεύω ότι στη βράση κολλάει το σίδερο, ας μην το πάμε μακρυά με αυτές τις ασάφειες. Καλό είναι οι προτάσεις να σταλούν το συντομότερο δυνατό και μιας και που τα περισσότερα είναι θέματα που έχουν συζητηθεί αρκετά, ας καταλήξουμε με κάποιο τρόπο σε αυτές.

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

 
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: Σπύρος Δουκάκης στις 10 Φεβ 2010, 12:45:22 πμ
Προτείνω, λοιπόν, πρώτα από όλα η λέξη κριτήρια να αντικατασταθεί με τη λέξη χαρακτηριστικά.

Κριτήρια που πρέπει να ικανοποιεί ένας αλγόριθμος

να γίνει

Χαρακτηριστικά που πρέπει να έχει ένας αλγόριθμος.

Για την είσοδο.

Έχουμε κοιτάξει ορισμό του Knuth που λέει An algorithm has zero or more inputs, i.e., quantities which are given to it initially before the algorithm begins. Προσπάθησα να εντοπίσω ένα ΔΙΚΟ του παράδειγμα με zero input αλλά δεν βρήκα... Μήπως να του τηλεφωνήσουμε;;

Πάντως στο άρθρο The Interactive Nature of Computing: Refuting the Strong Church–Turing Thesis των Dina Goldin and Peter Wegner (2008) λέει

In his definition of algorithms, Knuth was consistent with the mathematical function based foundations of the theory of computation. He explicitly specified that algorithms are closed; no new input is accepted once the computation has begun: ‘‘An algorithm has zero or more inputs, i.e., quantities which are given to it initially before the algorithm begins.’’ Knuth distinguished algorithms from arbitrary computation that may involve I/O.

το οποίο νομίζω ότι μας απαντάει και σε άλλο ανοικτό θέμα...

Με τον ορισμό του Στάθη συμφωνούμε;

Είσοδος : Είναι οι τιμές που δίνονται στον αλγόριθμος από το εξωτερικό του περιβάλλον. Δεν αποτελεί κριτήριο αλλά "χαρακτηριστικό". Ένας αλγόριθμος μπορεί να μην έχει είσοδο. Σε αυτή την περίπτωση τα αποτελέσματά του είναι τα ίδια για όλες τις φορές που θα εκτελεστεί.

ΣΔ
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gpapargi στις 11 Φεβ 2010, 02:26:51 μμ
Με τον ορισμό του Στάθη συμφωνούμε;

Εγώ συμφωνώ αρκεί να μη λέμε τη λέξη ορισμός. Είναι βαριά λέξη και κρίνεται πιο αυστηρά. Δεν υπάρχει λόγος να το αποκαλέσουμε ορισμό και να εισάγουμε περιττή αυστηρότητα. Και για μένα για να είναι κάτι είσοδος πρέπει να είναι αρχικά έξω από τον αλγόριθμο και στη συνέχει να μπει μέσα. Η εντολή χ<-2 δεν είναι είσοδος.
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: pgrontas στις 11 Φεβ 2010, 02:32:00 μμ
Εγώ συμφωνώ αρκεί να μη λέμε τη λέξη ορισμός. Είναι βαριά λέξη και κρίνεται πιο αυστηρά. Δεν υπάρχει λόγος να το αποκαλέσουμε ορισμό και να εισάγουμε περιττή αυστηρότητα. Και για μένα για να είναι κάτι είσοδος πρέπει να είναι αρχικά έξω από τον αλγόριθμο και στη συνέχει να μπει μέσα. Η εντολή χ<-2 δεν είναι είσοδος.
Εγώ προσωπικά διαφωνώ. Θεωρώ είσοδο οποιαδήποτε δεδομένα πάνω στα οποία ενεργούν οι εντολές, είτε αυτά έρχονται από μέσα είτε από έξω από τον αλγόριθμο.
Δεν επιμένω όμως. Βρίσκω διδακτική αξία και στις δύο προσεγγίσεις.
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gpapargi στις 11 Φεβ 2010, 02:39:47 μμ
Πάντως στο άρθρο The Interactive Nature of Computing: Refuting the Strong Church–Turing Thesis των Dina Goldin and Peter Wegner (2008) λέει

In his definition of algorithms, Knuth was consistent with the mathematical function based foundations of the theory of computation. He explicitly specified that algorithms are closed; no new input is accepted once the computation has begun: ‘‘An algorithm has zero or more inputs, i.e., quantities which are given to it initially before the algorithm begins.’’ Knuth distinguished algorithms from arbitrary computation that may involve I/O.


Η παράγραφος αυτή θίγει ένα ζήτημα που το είχαμε εντοπίσει και τότε αλλά δε σταθήκαμε πολύ. Ο Knuth είχε στο νου του μαθηματικές εφαρμογές. Τότε το είχαμε εντοπίσει αυτό το θέμα με αφορμή το κριτήριο της περατότητας. Πχ ένας mail server δουλεύει συνεχώς χωρίς να τερματίζει.  Ειναι πρώτης τάξεως πρόγραμμα. Γιατί να μην είναι αλγόριθμος;

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

Ίσως να πρέπει να μιλήσουμε απλώς για χαρακτηριστικά και να αποφύγουμε την πιο σκληρή λέξη  κριτήρια. Τότε απλώς θα βλέπουμε αν ο αλγόριθμος έχει ή όχι κάποιο χαρακτηριστικό. 
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gpapargi στις 11 Φεβ 2010, 02:51:49 μμ
Μια άλλη λέξη που μου ήρθε για το effectiveness είναι η «εφικτότητα». Δεν ξέρω αν υπάρχει κοινή ρίζα στο εφικτό και το effect. Είδα κάτι τέτοιο στο λεξικό αλλά καλό είναι να πει τη γνώμη του κάποιος φιλόλογος/γλωσσολόγος.

Το ουσιαστικό ερώτημα που θέλω να θέσω για να είμαστε σίγουροι ότι εννοούμε το ίδιο πράγμα είναι το εξής:  Η εντολή «Λύσε τη δευτεροβάθμια» ή «ταξινόμησε τον πίνακα» ικανοποιεί το effectiveness  ή όχι;

Για μένα Ναι. Για να παραβιάζεται το effectiveness θα πρέπει να μην μπορεί να εκτελεστεί η εντολή με το χέρι. Πρέπει να υπάρχει κάτι το ανέφικτο. Αφού η δευτεροβάθμια λύνεται με το χέρι και ο πίνακας ταξινομείται με το χέρι με  χαρτί και μολύβι τότε η εντολή είναι effective.
Το ότι δεν μπορεί να εκτελεστεί από τον υπολογιστή οφείλεται στο ότι αυτός που εκτελεί τον αλγόριθμο δεν ξέρει τι να κάνει σε αυτή την περίπτωση. Άρα λέω καθοριστικότητα. Η εντολή είναι άγνωστο σύμβολο. Κάθε άγνωστο σύμβολο θα έλεγα ότι παραβιάζει την καθοριστικότητα. Αν αντικατασταθεί με υποπρόγραμμα θα εκτελεστεί κανονικά. Ενώ κατά τη δική μου κατανόηση, κάτι που παραβιάζει το effectiveness δεν μπορεί να εκτελεστεί ούτε αν αντικατασταθεί με υποπρόγραμμα. Υπάρχει κάτι το ανέφικτο.

Δηλαδή δίνω έμφαση στο αν μπορεί να εκτελεστεί με χαρτί και μολύβι δηλαδή με το χέρι. 
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gthal στις 11 Φεβ 2010, 04:50:40 μμ
Πολύ σωστά αυτά που γράφονται, απλά για τα κριτήρια ενός αλγόριθμου να μην έχουμε στο μυαλό μας μόνο αυτόν που γίνεται πρόγραμμα και εκτελείται από υπολογιστή αλλά οποιονδήποτε αλγόριθμο που εκτελείται από οποιονδήποτε.
Συμφωνώ, αυτό ίσως μας ξεμπλοκάρει σε κάποια σημεία.

Προτείνω, λοιπόν, πρώτα από όλα η λέξη κριτήρια να αντικατασταθεί με τη λέξη χαρακτηριστικά.
Συμφωνώ

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

Πχ ένας mail server δουλεύει συνεχώς χωρίς να τερματίζει.  Ειναι πρώτης τάξεως πρόγραμμα. Γιατί να μην είναι αλγόριθμος;
Γιώργο με πρόλαβες. Έψαχνα κι εγώ ένα καλό παράδειγμα. Αυτή η περατότητα (αν και σημαντική και την δέχομαι σε κάποιες περιπτώσεις) δε μου κολλάει καλά και αυτό το "υπολογιστική διαδικασία" μου έχει κάτσει στο λαιμό από όταν το πρωτοδιάβασα. Δεν μπορεί ένας αλγόριθμος εσκεμμένα να μην τερματίζει; Και τότε θα λέγεται "υπολογιστική διαδικασία" ; Κάτι δε μου πάει καλά.

Μια άλλη λέξη που μου ήρθε για το effectiveness είναι η «εφικτότητα».
Μου αρέσει !  :)

Το ουσιαστικό ερώτημα που θέλω να θέσω για να είμαστε σίγουροι ότι εννοούμε το ίδιο πράγμα είναι το εξής:  Η εντολή «Λύσε τη δευτεροβάθμια» ή «ταξινόμησε τον πίνακα» ικανοποιεί το effectiveness  ή όχι;
Ναι.

Για να παραβιάζεται το effectiveness θα πρέπει να μην μπορεί να εκτελεστεί η εντολή με το χέρι. Πρέπει να υπάρχει κάτι το ανέφικτο. Αφού η δευτεροβάθμια λύνεται με το χέρι και ο πίνακας ταξινομείται με το χέρι με  χαρτί και μολύβι τότε η εντολή είναι effective.
Εδώ διαφωνώ μερικώς: δεν έχει να κάνει με χέρι, χαρτί και μολύβι.
Για να παραβιάζεται το effectiveness θα πρέπει η εντολή να μην είναι εκτελέσιμη (να είναι ανέφικτη) από αυτόν που τη δέχεται, ακόμα κι αν την καθορίσω πλήρως (καθοριστικότητα). πχ η εντολή "βγες από το δωμάτιο" είναι ανέφικτη για το PC μου (τυχαίνει να μην μπορεί να κουνηθεί), ενώ είναι εφικτή για ένα ρομπότ (αν έχει καθοριστεί το πώς εκτελείται), για έναν άνθρωπο, ακόμα και για το σκύλο μου :)
Η λύση της δευτεροβάθμιας είναι εφικτή για τον υπολογιστή μου, γιατί αν καθορίσω πλήρως τις ενέργειες, μπορεί να την κάνει.
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gthal στις 11 Φεβ 2010, 05:07:24 μμ
Α, κι ένα σημείο που ξέχασα:
εγώ, από τα πανάρχαια φοιτητικά μου χρόνια, θυμάμαι κι ένα άλλο χαρακτηριστικό των αλγορίθμων που δεν αναφέρεται ούτε στο βιβλίο, ούτε από κανέναν ως τώρα, τόσο που φοβάμαι ότι ίσως το θυμάμαι εκ του μη όντως.
(θα έψαχνα τα βιβλία μου αλλά αυτό είναι "ανέφικτο" μετά από την τελευταία μου μετακόμιση  :( )

Το χαρακτηριστικό της Γενικότητας. Ότι δηλ. δεν έχει νόημα να γράψω αλγόριθμο που λύνει την εξίσωση 2χ+6=0
αλλά να γράψω έναν αλγόριθμο που θα λύνει κάθε εξίσωση αυτής της μορφής.
Δεν υπήρχε κάτι τέτοιο ?  (ή μόνος μου το έφτιαξα?  ;D)
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: sstergou στις 11 Φεβ 2010, 07:03:55 μμ
 Δεν ξέρω αν υπάρχει αλλά κάλλιστα μπορεί να προστεθεί σαν χαρακτηριστικό των "καλών" αλγορίθμων. Λέξεις που ταιριάζουν είναι generalness και abstraction. Πιστεύω συνδέεται και με την είσοδο.

Δεν θα πρότεινα να το πάμε τόσο μακρυά, δηλαδή να ορίσουμε και νέα κριτήρια. Ας διορθώσουμε αυτά που υπάρχουν.

Μάλλον συμφωνούμε ως προς τα "χαρακτηριστικά" αλλά και την αποτελεσματικότητα, την είσοδο και την περατότητα.

Η μόνη διαφωνία είναι για το αν η εκχώρηση αποτελεί είσοδο. Προτείνω να ψηφίσουμε.
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: tom στις 11 Φεβ 2010, 08:10:12 μμ
Δεν ξέρω αν υπάρχει αλλά κάλλιστα μπορεί να προστεθεί σαν χαρακτηριστικό των "καλών" αλγορίθμων. Λέξεις που ταιριάζουν είναι generalness και abstraction.
Μάλλον συμφωνούμε ως προς τα "χαρακτηριστικά" αλλά και την αποτελεσματικότητα, την είσοδο και την περατότητα.
Η μόνη διαφωνία είναι για το αν η εκχώρηση αποτελεί είσοδο. Προτείνω να ψηφίσουμε.
Στάθη πιο δόκιμος είναι ο όρος "generality" και όχι "abstraction" που σημαίνει την παρουσίαση μιας έννοιας με κρυμμένες λεπτομέρειες. Βέβαια εδώ υπάρχει ένας κίνδυνος. Το generality (ή Γενικότητα που λέει ο gthal) συνδέεται και με την έννοια της ασάφειας-αοριστίας-γενικολογίας που είναι άσχημα χαρακτηριστικά για έναν αλγόριθμο. Γι ΄αυτό θα έλεγα ή να αποφύγουμε να το συμπεριλάβουμε ως χαρακτηριστικό ή να το διορθώσουμε.

Η παράγραφος αυτή θίγει ένα ζήτημα που το είχαμε εντοπίσει και τότε αλλά δε σταθήκαμε πολύ. Ο Knuth είχε στο νου του μαθηματικές εφαρμογές. Τότε το είχαμε εντοπίσει αυτό το θέμα με αφορμή το κριτήριο της περατότητας. Πχ ένας mail server δουλεύει συνεχώς χωρίς να τερματίζει.  Ειναι πρώτης τάξεως πρόγραμμα. Γιατί να μην είναι αλγόριθμος;
Ένας mail server που δουλεύει συνεχώς είναι ένα process (deamon), ενός λογισμικού (π.χ. Postfix, Mailtraq...), που βασίζεται σε ένα πρόγραμμα (γραμμένο σε C, C++), που υλοποιεί έναν/περισσότερους αλγορίθμους. Για μένα ένας αλγόριθμος θα πρέπει να χαρακτηρίζεται από περατότητα υποχρεωτικά.

Εγώ προσωπικά διαφωνώ. Θεωρώ είσοδο οποιαδήποτε δεδομένα πάνω στα οποία ενεργούν οι εντολές, είτε αυτά έρχονται από μέσα είτε από έξω από τον αλγόριθμο.
Δεν επιμένω όμως. Βρίσκω διδακτική αξία και στις δύο προσεγγίσεις.

Μήπως έχει δίκιο βρε παιδιά; Δεν είμαι σίγουρος...

Για την είσοδο.

Έχουμε κοιτάξει ορισμό του Knuth που λέει An algorithm has zero or more inputs, i.e., quantities which are given to it initially before the algorithm begins. Προσπάθησα να εντοπίσω ένα ΔΙΚΟ του παράδειγμα με zero input αλλά δεν βρήκα... Μήπως να του τηλεφωνήσουμε;;
Μήπως ο Knuth εννοεί zero-input την περίπτωση όπου ο αλγόριθμος επεξεργάζεται δεδομένα από εκχώρηση ή κάποια συνάρτηση random(), ενώ more input όταν υπάρχει και αλληλεπίδραση με χρήστη; Σε αυτή την περίπτωση όλοι δίκιο έχουμε . Ακόμα και το παράδειγμα του pgrontas είναι κατηγορίας zero-input  :)


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

Για το καθοριστικότητα δε με χαλάει ο ορισμός του βιβλίου.

Τέλος συμφωνώ με το "χαρακτηριστικά" και όχι κριτήρια.


Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: sstergou στις 11 Φεβ 2010, 08:23:52 μμ

Ένας mail server που δουλεύει συνεχώς είναι ένα process (deamon), ενός λογισμικού (π.χ. Postfix, Mailtraq...), που βασίζεται σε ένα πρόγραμμα (γραμμένο σε C, C++), που υλοποιεί έναν/περισσότερους αλγορίθμους. Για μένα ένας αλγόριθμος θα πρέπει να χαρακτηρίζεται από περατότητα υποχρεωτικά.

Συμφωνώ, ο knuth μάλιστα διαχωρίζει τον αλγόριθμο από μια διαδικασία που συνεχώς επικοινωνεί με το περιβάλλον της (reactive process την ονομάζει). Νομίζω ότι στο νου του είχε συγκεκριμένα πράγματα και μάλλον αυτά δεν συμπεριλαμβάνουν γενικά όλες τις εκτελέσιμες διαδικασίες.

Στάθη πιο δόκιμος είναι ο όρος "generality" και όχι "abstraction"...
μάλλον σωστό είναι αυτό που λες.
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: sstergou στις 11 Φεβ 2010, 08:30:38 μμ
Μήπως ο Knuth εννοεί zero-input την περίπτωση όπου ο αλγόριθμος επεξεργάζεται δεδομένα από εκχώρηση ή κάποια συνάρτηση random(), ενώ more input όταν υπάρχει και αλληλεπίδραση με χρήστη

Η random σίγουρα είναι είσοδος. Με αυτήν επιλέγεται μία τιμή από ένα σύνολο κατά την διάρκεια της εκτέλεσης. Με την εκχώρηση δεν συμβαίνει κάτι τέτοιο. Η είσοδος κατά την γνώμη μου δεν πρέπει να είναι γνωστή στον αλγόριθμο πριν την εκτέλεσή του.
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: tom στις 11 Φεβ 2010, 08:55:53 μμ
Η random σίγουρα είναι είσοδος. Με αυτήν επιλέγεται μία τιμή από ένα σύνολο κατά την διάρκεια της εκτέλεσης. Με την εκχώρηση δεν συμβαίνει κάτι τέτοιο. Η είσοδος κατά την γνώμη μου δεν πρέπει να είναι γνωστή στον αλγόριθμο πριν την εκτέλεσή του.
Έστω το παρακάτω τμήμα αλγορίθμου:

...
3. α<-10
...
8. β<-α+20
...
15. Εμφάνισε β

Αν σκεφτείς το τρίπτυχο είσοδος->επεξεργασία-> έξοδος,  πριν ο αλγόριθμος (θεωρώ πως η "καρδιά του" είναι το κομμάτι της επεξεργασίας) μπει στη φάση επεξεργασίας (εντολή 8 ) δε γνωρίζει τι έχει το α (πρωτογενές δεδομένο). Μόνο ο compiler το γνωρίζει. Άντε και το Λ.Σ. ;-)

Δε ξέρω δεν είμαι απόλυτος. Ας δούμε τι θα πουν και άλλοι συνάδελφοι.
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: sstergou στις 11 Φεβ 2010, 09:05:38 μμ
Έστω το παρακάτω τμήμα αλγορίθμου:

...
3. α<-10
...
8. β<-α+20
...
15. Εμφάνισε β


Υπάρχουν τα εξής προβλήματα
1) Ποιες εκχωρήσεις είναι είσοδος και ποιες όχι και με ποια κριτήρια; Η α<- α + 1 είναι;
2) Σε μια μεταβλητή μπορεί να αποδοθεί αρχικά τιμή και με άλλο τρόπο : π.χ. Για ι από 1 μέχρι... είναι και αυτό είσοδος;

Στο παράδειγμά σου υπάρχουν δύο ενδεχόμενα
1) Στις εντολές που λείπουν να υπάρχουν κάποιες που αλλάζουν τα α, β . Αυτές είναι είσοδος ή μόνο η αρχικές; Η μήπως δεξιά της εκχώρησης μπορεί να υπάρχει μόνο μία τιμή; Και αν ναι , μπορεί να υπάρχει κλήση συνάρτησης;
2) Δεν υπάρχουν εντολές που αλλάζουν τα α, β. Σε αυτή την περίπτωση μπορείς να σβήσεις όλες τις εντολές που έγραψες και να αφήσεις ένα Εμφάνισε 30 στο τέλος.

Αισθάνομαι ότι πάλι κάνω κύκλους...
https://alkisg.mysch.gr/steki/index.php?topic=1569.0
Πιστεύω ότι η συζήτηση στο παραπάνω θέμα είναι κατατοπιστική
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: tom στις 11 Φεβ 2010, 09:35:18 μμ
Υπάρχουν τα εξής προβλήματα
1) Ποιες εκχωρήσεις είναι είσοδος και ποιες όχι και με ποια κριτήρια; Η α<- α + 1 είναι;
2) Σε μια μεταβλητή μπορεί να αποδοθεί αρχικά τιμή και με άλλο τρόπο : π.χ. Για ι από 1 μέχρι... είναι και αυτό είσοδος;

Στο παράδειγμά σου υπάρχουν δύο ενδεχόμενα
1) Στις εντολές που λείπουν να υπάρχουν κάποιες που αλλάζουν τα α, β . Αυτές είναι είσοδος ή μόνο η αρχικές; Η μήπως δεξιά της εκχώρησης μπορεί να υπάρχει μόνο μία τιμή; Και αν ναι , μπορεί να υπάρχει κλήση συνάρτησης;
2) Δεν υπάρχουν εντολές που αλλάζουν τα α, β. Σε αυτή την περίπτωση μπορείς να σβήσεις όλες τις εντολές που έγραψες και να αφήσεις ένα Εμφάνισε 30 στο τέλος.

Αισθάνομαι ότι πάλι κάνω κύκλους...
https://alkisg.mysch.gr/steki/index.php?topic=1569.0
Πιστεύω ότι η συζήτηση στο παραπάνω θέμα είναι κατατοπιστική

Μιλάω για την πρώτη φορά που εκχωρείται τιμή σε μια μεταβλητή. Γι αυτό αν δεις το μήνυμα μου είπα ότι το "3. α<-10" δημιουργεί πρωτογενές δεδομένο (πρώτη γέννηση) ως είσοδο.
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: evry στις 11 Φεβ 2010, 10:34:13 μμ
  Φοβάμαι ότι το κριτήριο της εισόδου μπάζει λίγο, δηλαδή και είσοδο να μην έχει μια υπολογιστική διαδικασία δε σημαίνει ότι δεν είναι αλγόριθμος. Για παράδειγμα ο υπολογισμός του e. Το ίδιο πράγμα υπολογίζει αλλά είναι αλγόριθμος. Ποια είσοδο έχει?
  Επίσης αυτό με τις εκχωρήσεις, δεν ξέρω αν μπορούμε να θεωρήσουμε όλες τις εκχωρήσεις σαν είσοδο ακόμα και αν πρόκειται για πρωτογενείς τιμές όπως πολύ εύστοχα είπε ο Tom. Εδώ όμως θέλει πολύ προσοχή γιατί υπάρχουν εκχωρήσεις σε πρωτογενείς τιμές που δεν αποτελούν είσοδο. Αυτό το κριτήριο δεν ξέρω αν θα έπρεπε να υπάρχει καν, για αυτό και δεν ξέρω αν θα έπρεπε να διατυπώσουμε κάποια γνώμη πάνω σε αυτό.

Για παράδειγμα ο παρακάτω αλγόριθμος υπολογίζει τον μέσο όρο των βαθμών 100 μαθητών και πόσοι από αυτούς έχουν βαθμό πάνω από τον μέσο όρο

Κώδικας: [Επιλογή]
Δεδομένα // Βαθμός //

Ν <-- 100                    ! Σταθερά
Σ<--0                          ! Αθροιστής
ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ Ν
       Σ <-- Σ + Βαθμός[ι]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΜΟ <-- Σ / Ν
πλήθος<--0                          ! μετρητής
ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ Ν
       ΑΝ Βαθμός[ι] > ΜΟ ΤΟΤΕ
           πλήθος <- πλήθος + 1
       ΤΕΛΟΣ_ΑΝ       
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Αποτέλεσματα // ΜΟ, πληθος //
Είναι φανερό ότι τα Ν, Σ, πλήθος δεν αποτελούν είσοδο του αλγορίθμου, ίσως μόνο το Ν σε μια γενικότερη μορφή του αλλά όχι εδώ

Επίσης η περατότητα είναι πολύ σημαντικό κριτήριο. Το παράδειγμα που έδωσε ο Γιώργος με τον server που δεν τερματίζει έχει την εξής ιδιαιτερότητα. Δεν πρόκειται για αλγόριθμο ο οποίος έχει έναν συγκεκριμένο σκοπό. Απλά περιμένει σε μια κατάσταση stand by και εκτελεί αλγορίθμους οι οποίοι όμως τερματίζουν. Αν μπορούσαμε να έχουμε τον server κλειστό και κάθε φορά που θα είχαμε μια αίτηση να "ξύπναγε" και να την εξυπηρετούσε τότε θα ήταν όλα μια χαρά.
   Η ιδέα είναι "να τερματίζει ο αλγόριθμος που έχει γίνει για έναν συγκεκριμένο σκοπό, και πρέπει να βγάλει αποτέλεσμα". Όταν ο server περιμένει δεν έχει ούτε δεδομένα ούτε αποτελέσματα. Δεν πρόκειται δηλαδή για αλγόριθμο από τον οποίο περιμένουμε από στιγμή σε στιγμή κάποιο αποτέλεσμα, ώστε να ελέγξουμε αν πληροί και τα υπόλοιπα κριτήρια.
  Είναι σαν να περιμένει ένα πρόγραμμα μια εντολή Διάβασε και ο χρήστης να μην την δίνει. Παραβιάζεται η περατότητα?
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: sstergou στις 12 Φεβ 2010, 01:44:44 μμ
Σκεφτείτε και τα διαγράμματα ροής. Εκεί η εκχώρηση έχει διαφορετικό σύμβολο από την Διάβασε.
Οπότε ρωτάω εγώ : Αν κάποιες από τις εκχωρήσεις είναι εντολές εισόδου τότε θα πρέπει να τις βάζουμε και σε πλάγιο παραλληλόγραμμο;

Πιστεύω ότι αν δεχτούμε την εκχώρηση ως είσοδο, δημιουργούμε περισσότερα προβλήματα από όσα λύνουμε...
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gpapargi στις 12 Φεβ 2010, 02:25:25 μμ
Για μένα η εκχώρηση δεν μπορεί να είναι είσοδος. Ένας κώδικας μπορεί να έχει πολλές εντολές εκχώρησης. Πως θα ξεχωρίσουμε ποιες είναι είσοδος και ποιες όχι;
Εννοείται ότι κοιτώντας απλώς ένα κώδικα θα πρέπει να μπορούμε να καταλάβουμε αν μια εντολή είναι ή όχι είσοδος. Η γνώμη είναι ότι αν δεχτούμε ως εισόδους τις εκχωρήσεις θα μπλέξουμε με ασάφειες πάλι. Τα οράγματα μπορούν να είναι απλά και σαφή: Αν είναι κάτι έξω και στη συνέχεια μπάινει μέσα τότε είναι είσοδος. Δηλαδή εντολή Διάβασε.
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gpapargi στις 12 Φεβ 2010, 02:29:30 μμ
Να πω επίσης κάτι σημαντικό. ΔΕΝ θέλουμε να ξεμακρύνουμε από το βιβλίο. Δεν μπορούμε να βάλουμε άλλα κριτήρια μέσα στα υπάρχοντα επειδή μας φαίνεται λογικό.
Αν αρχίσουμε και λέμε "και αυτό θα ήταν ωραίο", "και το άλλο θα ήταν ωραίο" στο τέλος θα πάμε σε καινούργιο βιβλίο πράγμα π[ου δεν θα γίνει ποτέ.
Θέλουμε απλώς αλλαγές στα ήδη υπάρχοντα πράγματα ώστε να αποσαφηνιστούν οι ασάφειες. Μόνο έτσι έχουμε ελπίδα να κάνουμε σύντομα κάποια αλλαγή. Όχι σε φιλοσοφικές συζητήσεις σχετικά με τι άλλο θα ήταν ωραία. Πάρα πολλά θα ήταν ωραία, αλλά απομακρυνόμαστε από το βιβλίο. Το ζήτημα είναι να δουν τις ασάφειες οι συγγραφείς και να αποφανθούν τελεσίδικα.
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gpapargi στις 12 Φεβ 2010, 02:53:33 μμ
Για το θέμα του mail server... αν είναι πολλοί αλγόριθμοι μέσα, τότε μπορούμε να θεωρήσουμε οποιδήποτε daemon τρέχει στο background και κάνει κάτι πολύ απλό. Ας φανταστούμε ένα daemon ο οποίος ακούει σε μια πόρτα και κάποιο άλλο process του στέλνει ένα αριθμό για να τον ελέγξει αν είναι πρώτος.
Θέλω να πω ... ας μην τα χαλάσουμε εκεί. Το θέμα είναι το κριτήριο της περατότητας το θέλουμε σφικτό ή όχι;
Από τη μια μπορούμε να τα πούμε όλα "χαρακτηριστικά" αποφεύγοντας αυστηρότητες και από την άλλη πάμε για κατά γράμμα ερμηνεία του Knuth. Με βάση αυτό όμως, τι θα πούμε για το daemon που ακούει μια TCP port και κάνει έλεγχο πρώτου παράγοντα ως προς την περατότητα;
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: tom στις 12 Φεβ 2010, 03:51:35 μμ
Με βάση αυτό όμως, τι θα πούμε για το daemon που ακούει μια TCP port και κάνει έλεγχο πρώτου παράγοντα ως προς την περατότητα;

Μα ο αλγόριθμος που υλοποιεί τον deamon δεν θα έχει κάποιον handler που θα χειρίζεται τη συνθήκη τερματισμού;
Όταν λάβει σήμα τερματισμού από το Λ.Σ. θα τερματίσει. Άρα πάλι μιλάμε για αυστηρή περατότητα, άσχετα αν αυτό γίνεται μια φορά το χρόνο η ποτέ. Θέλω να πω, θεωρητικά ο deamon μπορεί να μην τερματίσει ποτέ, αλλά ο αλγόριθμος που τον υλοποιεί το προβλέπει.

παραθέτω σημειώσεις από το μάθημα "Network Technology & Programming" που είχα παρακολουθήσει στο πλαίσιο του μεταπτυχιακού μου παλιότερα.  :'( (Συγκινήθηκα)

http://www.csd.uoc.gr/~hy435/sockets.ppt (http://www.csd.uoc.gr/~hy435/sockets.ppt)
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: pgrontas στις 12 Φεβ 2010, 04:03:29 μμ
Στο θέμα του daemon συμφωνώ με τον Ευρυπίδη. Θεωρώ ότι ο αλγόριθμος του daemon τερματίζει αφού δεχτεί την αίτηση και την προωθήσει κάπου αλλού ή υπολογίσει κάτι ή κάνει κάτι. Η διεργασία μπορεί να μην τερματίζει ο αλγόριθμος τερματίζει.

Για το θέμα της εκχώρησης:
Σαφώς και οποιαδήποτε εντολή εκχώρησης δεν είναι είσοδος. Όμως κάποιες μπορεί να είναι, αφού όπως προαναφέρθηκε μπορούν να αντικαταστήσουν κάποιες Διάβασε ή τα δεδομένα.
Το θέμα για μένα είναι αλλού: Πώς δικαιολογούμε ότι υπάρχει αλγόριθμος χωρίς είσοδο;
Η σύγχυση (και η δική μου) οφείλεται στο εξής: Ως είσοδο εννοούμε την αλληλεπίδραση με το χρήστη  ή με άλλο αλγόριθμο, ή εννοούμε τα δεδομένα πάνω στα οποία δουλεύει ο αλγόριθμος. Στην πρώτη περίπτωση ασφαλώς και μπορεί να μην υπάρχει είσοδος, ενώ στην δεύτερη υποχρεωτικά πρέπει να υπάρχει.
Δεν είμαι βέβαιος για το ποιο είναι το σωστό.
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: pgrontas στις 12 Φεβ 2010, 09:54:41 μμ
Κάθισα και διάβασα τι λέει ο Knuth :angel: για την είσοδο:
Αντιγράφω:

Παράθεση
"Input. An algorithm has zero or more inputs: quantities that are given to it
initially before the algorithm begins, or dynamically as the algorithm runs. These
inputs are taken from specified sets of objects. In Algorithm E, for example, there
are two inputs, namely m and n, both taken from the set of positive integers. "

Ο αλγόριθμος Ε είναι ο αλγόριθμος του Ευκλείδη, ο οποίος περιγράφεται ως εξής νωρίτερα:

Παράθεση
Algorithm E (Euclid's algorithm). Given two positive integers m and n, find
their greatest common divisor, that is, the largest positive integer that evenly
divides both m and n.
El. [Find remainder.] Divide m by n and let r be the remainder. (We will have
0<r <n.)
E2. [Is it zero?] If r = 0, the algorithm terminates; n is the answer.
E3. [Reduce.] Set m <- n, n <- r, and go back to step El.
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: sstergou στις 12 Φεβ 2010, 10:18:57 μμ
initially before the algorithm begins --> παράμετροι - εντολή δεδομένα

dynamically as the algorithm runs --> από το ρεπερτόριο της ψευδογλώσσας νομίζω ότι ταιριάζει μόνο η διάβασε

Η εκχώρηση δεν θεωρώ ότι έχει κάτι το δυναμικό.
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: sstergou στις 12 Φεβ 2010, 10:30:34 μμ
χεχε, δεν βλέπω να βγάζουμε άκρη... Μήπως να τον πάρουμε κανένα τηλέφωνο;
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gthal στις 13 Φεβ 2010, 11:36:40 πμ
Θα τρελαθώ ... θα πηδηχτώ απ' το παράθυρο    :D
8 στους 12 ψηφίζουν ότι η εκχώρηση είναι είσοδος !!!???

Έστω το παρακάτω τμήμα αλγορίθμου:

...
3. α<-10
...
8. β<-α+20
...
15. Εμφάνισε β

Αν σκεφτείς το τρίπτυχο είσοδος->επεξεργασία-> έξοδος,  πριν ο αλγόριθμος (θεωρώ πως η "καρδιά του" είναι το κομμάτι της επεξεργασίας) μπει στη φάση επεξεργασίας (εντολή 8 ) δε γνωρίζει τι έχει το α (πρωτογενές δεδομένο). Μόνο ο compiler το γνωρίζει. Άντε και το Λ.Σ. ;-)
Διαφωνώ κάθετα  !!!
ο αλγόριθμος αυτός γνωρίζει τι τιμή έχει το α. (εδώ βρε την γνωρίζει και ο προγραμματιστής του!)
Αν θέλαμε να γράψουμε την "καρδιά" του αλγορίθμου που δεν την αφορά και δεν ξέρει τι τιμή έχει το α, θα γράφαμε
// Δεδομένα α //
...
β<-α+20
...
Εμφάνισε β

(χα χα, μου φαίνεται τόσο αστείο όταν σκέφτομαι ποιο πρόβλημα λύνει ο αλγόριθμος αυτός : "Να γραφεί αλγόριθμος που δέχεται ως είσοδο την τιμή 10, της προσθέτει 20 και εμφανίζει το αποτέλεσμα   :o ;D :D    Οικτρό !!!!   :)   )

Στα σοβαρά τώρα, ένας λιγότερο "φλύαρος" προγραμματιστής θα είχε γράψει τον εντελώς ισοδύναμο αλγόριθμο:
β <- 10+20
Εμφάνισε β
(όπου ποια είναι η είσοδος?)

Και ένας προγραμματιστής που είναι "στα καλά του" ( >:D  sorry δεν μπορώ να κρατηθώ, νομίζω ότι ξεφεύγουμε σε παραλογισμούς :) )  θα έγραφε τον εντελώς ισοδύναμο "αλγόριθμο" :
Εμφάνισε 30
(ωραίος αλγόριθμος !   :D )
και έχει βέβαια είσοδο το 30, έ;   :D    α, όχι ξέχασα : το 10 ! γιατί υπολόγισε το 10+20 :D  ή μήπως το -460 γιατί υπολογίζει το -460+490  ;   :o

Με τίποτα, μα ΜΕ ΤΙΠΟΤΑ, δεν δέχομαι ότι οι hardcoded τιμές αποτελούν είσοδο του αλγορίθμου.
Η είσοδος, για μένα, πρέπει εξ' ορισμού να είναι τιμές άγνωστες στον αλγόριθμο (στον προγραμματιστή ουσιαστικά) την ώρα που γράφεται ο αλγόριθμος (θέμα που όπως ξαναειπώθηκε από κάποιον, άπτεται του χαρακτηριστικού της  γενικότητας)
Από την άλλη πάλι, αν το λέει η πλειοψηφία κάτι θα ξέρει παραπάνω και το σέβομαι.
Συγχωρήστε μου τα "αστειάκια" πιο πάνω. Δεν εννοώ να γελοιοποιήσω καμιά άποψη.  :angel:
Απλά έχω κέφια λόγω των ημερών (αποκριάτικα πάρτυ κλπ) και μου βγήκε να διαφωνήσω με χιούμορ  :)
Πάντως διαφωνώ  !    :laugh:
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: evry στις 13 Φεβ 2010, 11:51:58 πμ
Νομίζω ότι οι ψηφοφορίες είναι ενδεικτικές. Άλλωστε το να υπερψηφιστεί μια άποψη δε σημαίνει ότι είναι σωστή, άσε που το δείγμα (12) είναι πολύ λιγότεροι από τους χιλιάδες καθηγητές πληροφορικής που κάνουν το μάθημα. Απλά φαίνεται ενδεικτικά αυτοί που διαβάζουν το thread τι άποψη έχουν. Μπορούμε να διαφωνούμε ή να συμφωνούμε. Μπορεί επίσης κάποιοι να ψήφισαν τις εντολές εκχώρησης έχοντας στο μυαλό αυτό που ειπώθηκε, περί πρωτογενών τιμών εκχώρησης.
Δηλαδή δε νομίζω ότι κανείς πιστεύει πως όλες οι εντολές εκχώρησης είναι είσοδοι του αλγορίθμου αλλά φαντάζομαι ότι λίγο πολύ συμφωνούμε πως υπάρχουν εντολές εκχώρησης που θα μπορούσαν να θεωρηθούν είσοδοι στον αλγόριθμο
   Επίσης να θυμίσω ότι γενικότερα οι ψηφοφορίες ή έρευνες μέσω διαδικτύου, δηλαδή αυτές στις οποίες δεν βλέπεις ποιος ψηφίζει και δεν γνωρίζεις το background που έχει δεν θεωρούνται αξιόπιστες. Μπορούν να χρησιμοποιηθούν για να δείξουν κατευθύνσεις αλλά σίγουρα δεν μπορείς να τεκμηριώσεις αξιόπιστα αποτελέσματα. Για να το κάνεις αυτό θα πρέπει να ξέρεις ακριβώς το προφίλ αυτών που απάντησαν.
   Πάντως εγώ προσωπικά δεν έχω ψηφίσει ακόμα γιατί πιστεύω ότι το θέμα αυτό δεν είναι απλά μια ασάφεια του βιβλίου αλλά κάτι παραπάνω και δεν είναι άσπρο-μαύρο.
  Μήπως αν η ψηφοφορία γινόταν : Θα μπορούσε μια εντολή εκχώρησης να αποτελεί είσοδο ή έξοδο σε έναν αλγόριθμο;
  Μου φαίνεται ότι αυτό το κριτήριο μάλλον πρέπει να το αφήσουμε στην ησυχία του... :(
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: Νίκος Αδαμόπουλος στις 13 Φεβ 2010, 12:07:35 μμ
Και εγώ είμαι από τους μειοψηφήσαντες!

Το να γράψει κάποιος:

α<-13
β<-15
γ<-16
μο<-(α+β+γ)/3
Εμφάνισε μο

...για τεστάρει τον κώδικά του, ναι μπορεί να το κάνει. Όμως αν το αφήσει τελικά έτσι, τότε έχει φτιάξει κάτι άχρηστο! Θα έπρεπε μετά να το κάνει:

Διάβασε α, β, γ
μο<-(α+β+γ)/3
Εμφάνισε μο

ή

Δεδομένα // α, β, γ //
μο<-(α+β+γ)/3
Εμφάνισε μο

Έτσι λοιπόν ο αλγόριθμος θα έχει 3 εισόδους και μία έξοδο.
Αν παρόλα αυτά κρατήσει τον αρχικό αλγόριθμο, τότε ναι έχει 0 εισόδους, αφού θα εμφανίζει πάντα το ίδιο αποτέλεσμα!!!

Αν και μπορεί να φαίνεται αιρετικό αφού ο θεός Knuth έχει γράψει κάποια πράγματα... Όμως μην καταλήξουμε σε ένα συμπέρασμα που όταν κάποιος το διαβάζει αρχικά δεν θα του κάθεται καλά, και θα πρέπει στη συνέχεια να διαβάζει μία επεξήγηση 2 σελίδων με κάμποσες παραπομπές για να μπορεί να το δεχτεί...!
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: alkisg στις 13 Φεβ 2010, 02:36:06 μμ
Δηλαδή δε νομίζω ότι κανείς πιστεύει πως όλες οι εντολές εκχώρησης είναι είσοδοι του αλγορίθμου αλλά φαντάζομαι ότι λίγο πολύ συμφωνούμε πως υπάρχουν εντολές εκχώρησης που θα μπορούσαν να θεωρηθούν είσοδοι στον αλγόριθμο
Εγώ πάλι διαφωνώ κάθετα. Θεωρώ ότι καμία εντολή εκχώρησης δεν μπορεί να θεωρηθεί ως εντολή εισόδου.
(εκτός αν έχουμε memory mapped IO ή συσκευές - άλλη συζήτηση... :-))

Για μένα υπάρχουν δύο τύποι εισόδου:

Με μια πρόταση: είσοδος είναι ό,τι μπορεί να μεταβάλλει τα αποτελέσματα ενός αλγορίθμου.

Επειδή τα είχαμε πει πολύ αναλυτικά και παλιότερα, δεν πολυσυμμετέχω στις νέες ψηφοφορίες, αλλά το συγκεκριμένο τράβηξε το μάτι μου... ξανααποσύρομαι στο Ubuntu και την ανάπτυξη των sch-scripts, ώστε να μπορούμε να εγκαθιστούμε ένα εργαστήριο με ελάχιστα κλικ και να μας μένει χρόνος στη συνέχεια να αφοσιωθούμε στις ασάφειες του διδακτικού πακέτου... :angel:
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: sstergou στις 13 Φεβ 2010, 02:45:39 μμ
  Μήπως αν η ψηφοφορία γινόταν : Θα μπορούσε μια εντολή εκχώρησης να αποτελεί είσοδο ή έξοδο σε έναν αλγόριθμο;
 

Σωστά, αν μπορεί μια εντολή εκχώρησης να είναι είσοδος γιατί να μην μπορεί να είναι και έξοδος...

Δηλαδή
 α <- 10
 β <- 20
 αποτέλεσμα <- α + β


Και στις δύο περιπτώσεις έχουμε ένα πρόβλημα... Για να κρίνουμε αν η εκχώρηση είναι είσοδος-έξοδος θα πρέπει να ξέρουμε το πρόβλημα (την εκφώνηση)... Σας φαίνεται αυτό λογικό;

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

Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gthal στις 13 Φεβ 2010, 03:34:52 μμ
Εγώ πάλι διαφωνώ κάθετα. Θεωρώ ότι καμία εντολή εκχώρησης δεν μπορεί να θεωρηθεί ως εντολή εισόδου.
μαζί σου !
Αν και καταλήγω όλο και περισσότερο ότι δεν είναι η εκχώρηση το πρόβλημα αλλά οι hardcoded (εκ των προτέρων γνωστές) τιμές.
Το ίδιο υποστηρίζω (αλλά λιγότερο εμφατικά) και για την έξοδο:
ένας αλγόριθμος που μονοσήμαντα καταλήγει στην εντολή αποτέλεσμα<-30 , μάλλον δεν χρειάζεται να τρέξει αφού ξέρω εκ των προτέρων το αποτέλεσμά του (εντάξει, ίσως να χρειάζεται και δικαίωμά του να επιστρέφει πάντα το 30)
Όμως ποτέ δε θα αμφισβητούσα το αποτέλεσμα<-έκφραση , όπου το αποτέλεσμα της έκφρασης δεν είναι εκ των προτέρων γνωστό.  Άρα το παράδειγμα του Στάθη έχει μια έξοδο χωρίς αξία (μήπως γιατί δεν έχει είσοδο?)

... ξανααποσύρομαι στο Ubuntu και την ανάπτυξη των sch-scripts, ώστε να μπορούμε να εγκαθιστούμε ένα εργαστήριο με ελάχιστα κλικ και να μας μένει χρόνος στη συνέχεια να αφοσιωθούμε στις ασάφειες του διδακτικού πακέτου... :angel:
Μπράβο Άλκη. Όταν ευκαιρήσεις, βρες μου και έναν τρόπο πώς μπορώ να διπλοψηφίσω  ;D ;D ;D
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: pgrontas στις 13 Φεβ 2010, 06:37:33 μμ
Το παράδειγμα του Knuth το ανέφερα πιο πάνω γιατί θεωρώ κάνει σαφές ότι με την είσοδο εννοεί τα δεδομένα του αλγορίθμου.
Προφανώς και δεν πιστεύω ότι όλες οι εκχωρήσεις είναι είσοδος. Νομίζω ότι κάποιες είναι. Επιπλέον   μπορούν και συγκεκριμένες σταθερές μέσα στον αλγόριθμο να είναι είσοδοι.

Για παράδειγμα έστω ένας αλγόριθμος που υπολογίζει τυχαίους αριθμούς (η ιδέα από το άλλο θέμα)
Κώδικας: [Επιλογή]
Αλγόριθμος BlumBlumShub
Δεδομένα //x,m,ν//
Για ι απο 1 μεχρι ν
    χ<-χ*χ mod m
Τέλος_Επανάληψης
Τέλος BlumBlumShub

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

Αν υπάρχει ένας αλγόριθμος που λειτουργεί για συγκεκριμένα x,m (instance?) γιατί να μην θεωρήσουμε τα συγκεκριμένα x,m ως είσοδο;
Κώδικας: [Επιλογή]
Αλγόριθμος BlumBlumShub
χ<-290797
m<-50515093
Για ι απο 1 μεχρι ν
    χ<-χ*χ mod m
Τέλος_Επανάληψης
Τέλος BlumBlumShub

ή ακόμα καλύτερα:

Κώδικας: [Επιλογή]
Αλγόριθμος BlumBlumShub
χ<-290797
Για ι απο 1 μεχρι ν
    χ<-χ*χ mod 50515093
Τέλος_Επανάληψης
Τέλος BlumBlumShub

Προφανώς ο αλγόριθμος αυτός δεν είναι τετριμμένος και έχει αξία και στην γενική περίπτωση και στις ειδικές. Είσοδος είναι οι τιμές πάνω στις οποίες λειτουργεί ανεξάρτητα πώς τις παίρνει.
Επίσης όλα τα χ αποτελούν και έξοδο (θα μπορούσαμε να τα βάλουμε σε πίνακα και στα αποτελέσματα).
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gthal στις 13 Φεβ 2010, 07:54:14 μμ
Οκ, Παναγιώτη. Ο 2ος αλγόριθμος πράγματι μπορεί να έχει αξία και να στέκει, είναι διαφορετικός όμως από τον 1ο
Έχει γραφτεί για να λειτουργήσει μόνο για τις συγκεκριμένες τιμές των x,m,ν (υποθέτω θα έδινες και κάποιο ν)
Ο 2ος αλγόριθμος δεν έχει είσοδο γιατί γράφτηκε για να τρέξει μόνο για αυτές τις τιμές.
Ο 1ος έχει είσοδο γιατί γράφτηκε για να τρέξει για οποιαδήποτε τιμή.
Το "instance" και το "class" δεν είναι ίδια. Απέχουν πάρα πολύ στο concept τους.

Και ένα άλλο επιχείρημα:
λες ότι είσοδος στο 2ο και 3ο αλγόριθμο είναι τα x,m,ν απλά και μόνο γιατί ήξερες ότι αυτά ήταν είσοδος στον αλγόριθμο-πατέρα  ;)
Γιατί εγώ ως "αμερόληπτος παρατηρητής" με το σκεπτικό που παρουσιάζεις, στον 3ο αλγόριθμο θα έλεγα ότι και το 1 (αρχική τιμή του ι) είναι επίσης είσοδος. Όπως επίσης και οποιαδήποτε άλλη σταθερή τιμή θα υπήρχε εκεί μέσα. Όλες ίδιες θα μου φαίνονταν αν δεν ήξερα ποια ήταν η πραγματική είσοδος του αρχικού :)
Και το πάω και λίγο πιο πέρα:  θα έλεγα ότι και το mod είναι είσοδος αφού μπορώ να φανταστώ ένα γενικότερο class αλγορίθμων από το οποίο "παράχθηκε" ο 3ος:
Κώδικας: [Επιλογή]
Αλγόριθμος BlumBlumShub
Δεδομένα //x,m,ν, function//
Για ι απο 1 μεχρι ν
    χ<-function(χ*χ , m)
Τέλος_Επανάληψης
Τέλος BlumBlumShub
και πάει λέγοντας ....
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: pgrontas στις 13 Φεβ 2010, 08:02:41 μμ
Προσωπικά συμφωνώ ότι όλα τα παραπάνω που ανέφερες είναι είσοδος (και το 1) γιατί σε μια περίπτωση μπορεί να θέλαμε και τις ν τιμές ενώ σε άλλη μπορεί να θέλαμε τις 10 τελευταίες. Τροποποιείται η συμπεριφορά του αλγορίθμου.
Είναι όντως διαφορετικοί αλγόριθμοι, αλλά για μένα διαφορετικοί αλγόριθμοι με είσοδο.
Και αντί για function θα μπορούσαμε να είχαμε ένα πίνακα με τυχαίες τιμές που έχουμε μαζέψει από την φύση και σε κάθε περίπτωση να επιστρέφαμε άλλη.
Όλα είσοδοι. Οι δομές ελέγχου από την άλλη δεν είναι είσοδος (μέχρι αποδείξεως του εναντίον...) ;D
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gthal στις 13 Φεβ 2010, 08:09:53 μμ
Μα αυτό εννοούσα με το "και πάει λέγοντας"
Και οι δομές ελέγχου θα μπορούσαν να δίνονται ως είσοδος...
...μέχρι να φτάσουμε στον πατέρα όλων των αλγορίθμων: το λευκό χαρτί   ;D
μόνο αυτός δεν έχει είσοδο (σύμφωνα πάντα με το σκεπτικό που δεν ασπάζομαι)
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: pgrontas στις 13 Φεβ 2010, 08:14:00 μμ
Μα αυτό εννοούσα με το "και πάει λέγοντας"
Και οι δομές ελέγχου θα μπορούσαν να δίνονται ως είσοδος...
...μέχρι να φτάσουμε στον πατέρα όλων των αλγορίθμων: το λευκό χαρτί   ;D
μόνο αυτός δεν έχει είσοδο (σύμφωνα πάντα με το σκεπτικό που δεν ασπάζομαι)
Ξέχασες το χρώμα μπορεί να είναι κίτρινο ή μπορεί να μην είναι χαρτί ;D
Μάλλον δίκιο έχει ο Ευριπίδης ότι καλύτερα να το αφήσουμε αυτό το κριτήριο.
Δεν μπορείς να τα βάλεις με τον  :angel:
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: evry στις 13 Φεβ 2010, 08:15:35 μμ
Κώδικας: [Επιλογή]
ΠΡΟΓΡΑΜΜΑ Υπολογισμός_Ε
ΣΤΑΘΕΡΕΣ
    Ν=100
ΜΕΤΑΒΛΗΤΕΣ
    ΑΚΕΡΑΙΕΣ:
   ΠΡΑΓΜΑΤΙΚΕΣ:
ΑΡΧΗ
    Ε <-- 0
    ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν
         Ε <-- Ε + 1/Παραγοντικό(i)
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ Ε
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Ποια είναι η είσοδος? Θα μπορούσε να θεωρηθεί σαν είσοδος του αλγορίθμου το Ν? Δεν είναι η παράμετρος εκείνη από την οποία εξαρτάται το αποτέλεσμα?
Δεν έχω πρόβλημα να υιοθετήσουμε αυτό που λέει ο Άλκης ότι καμία εντολή εκχώρησης δεν αποτελεί είσοδο. Το δικό μου πρόβλημα είναι πως αν το δεχτούμε αυτό τότε το παραπάνω πρόγραμμα θα αποτελεί αλγόριθμο? Δηλαδή την είσοδο την θεωρούμε σαν χαρακτηριστικό ή σαν προαπαιτούμενο για να είναι μια υπολογιστική διαδικασία αλγόριθμος?

  • Η εκχώρηση τιμής όπως την λέτε θα ήταν μια τρίτη κατηγορία, «Είσοδος από τον προγραμματιστή».
    Δεν θεωρώ ότι υπάρχει τέτοια κατηγορία εισόδου, ο προγραμματιστής βάζει τον αλγόριθμο, όχι τα δεδομένα... :police:
Με μια πρόταση: είσοδος είναι ό,τι μπορεί να μεταβάλλει τα αποτελέσματα ενός αλγορίθμου.

Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: pgrontas στις 13 Φεβ 2010, 08:21:01 μμ
Δηλαδή την είσοδο την θεωρούμε σαν χαρακτηριστικό ή σαν προαπαιτούμενο για να είναι μια υπολογιστική διαδικασία αλγόριθμος?
Νομίζω ότι αν την ορίσουμε σαν χαρακτηριστικό το ελαφραίνουμε λίγο και (προσωπικά) μου είναι πιο ευκολοχώνευτο.
Δεν είναι όμως μεγάλη αλλαγή;

ΥΓ: Όπως προαναφέρθηκε ο Knuth αυτό που λέμε εμείς κριτήρια τα ονομάζει (features) χαρακτηριστικά, αλλά αναφέρει και το important.
Παράθεση

Besides merely being a finite set of rules that gives a sequence of operations for solving
a specific type of problem, an algorithm has five important features:
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gthal στις 13 Φεβ 2010, 10:01:39 μμ
Το δικό μου πρόβλημα είναι πως αν το δεχτούμε αυτό τότε το παραπάνω πρόγραμμα θα αποτελεί αλγόριθμο?
Στην τελική του μορφή, θα αποτελεί αλγόριθμο. Στα ενδιάμεσα στάδια της κατασκευής του, γιατί να σε απασχολεί αυτό το ερώτημα;
Ένα εμπορικό κέντρο, πριν τελειώσει η κατασκευή του, είναι εμπορικό κέντρο; Όχι, αλλά το ερώτημα δεν έχει καν νόημα.

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

Να ρωτήσω κάτι:
Η όλη συζήτηση γίνεται γιατί δεν μπορούμε να δεχτούμε ότι "ένας αλγόριθμος μπορεί να έχει είσοδο και μπορεί και να μην έχει";
(γιαυτό αναγκαζόμαστε να θεωρούμε ότι και οι εκχωρήσεις είναι είσοδος, ώστε να υπάρχει είσοδος πάση θυσία; )
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: alkisg στις 13 Φεβ 2010, 11:16:28 μμ
Ποια είναι η είσοδος? Θα μπορούσε να θεωρηθεί σαν είσοδος του αλγορίθμου το Ν? Δεν είναι η παράμετρος εκείνη από την οποία εξαρτάται το αποτέλεσμα?
Όχι. Όταν μιλάμε για είσοδο και έξοδο αλγορίθμου, θα πρέπει να τον σκεφτούμε σαν ένα μαύρο κουτί, που του δίνουμε είσοδο, κάνει επεξεργασία, και μας δίνει έξοδο.
Την είσοδο του αλγορίθμου την βλέπουμε έξω από το κουτί. Το εσωτερικό του κουτιού δεν το βλέπουμε καν, τον κώδικα τον έχει κρατήσει επτασφράγιστο μυστικό ο προγραμματιστής στα υπόγεια της Microsoft, και εμείς έχουμε μόνο το .exe ή το .dll.

Ο αλγόριθμος (κουτί) που έγραψες παραπάνω μας δίνει πάντα το e, χωρίς να περιμένει είσοδο από εμάς. Άρα δεν έχει είσοδο.

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

Ουσιαστικά αυτό που κάνεις είναι να λες στον χρήστη, «άνοιξε το μαύρο κουτί, πήγαινε στην τάδε γραμμή, και πείραξέ τη, και έτσι θα μεταβάλλεις την έξοδο».
Όμως έτσι ο χρήστης αλλάζει τον αλγόριθμο, το ίδιο το κουτί, όχι την είσοδο του κουτιού.
Είναι το ίδιο με το να του λες να αλλάξει κάποιον τελεστή ή κάποιον τελεστέο ή ακόμα και κάποια εντολή του αλγορίθμου. Θα αλλάξει μεν το αποτέλεσμα, αλλά η μεταβολή του ίδιου του κουτιού δεν μπορεί να θεωρηθεί είσοδος...
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gthal στις 14 Φεβ 2010, 10:16:21 πμ
Ωραίο το ανάλογο με το κουτί. Δίνει πολύ καλά την εικόνα.
Και μια ακόμα ερώτηση, Άλκη:
το γεγονός ότι ο εν λόγω αλγόριθμος δεν έχει είσοδο, τον καθιστά "μη αλγόριθμο"; (υπολογιστική διαδικασία... ή ό,τι άλλο..) ;
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: evry στις 14 Φεβ 2010, 10:32:19 πμ
Ναι αλλά εμείς πρέπει να μαθαίνουμε στα παιδιά τη φιλοσοφία του ανοικτού κώδικα, αφού θα χρησιμοποιούν και ubuntu οπότε δεν θα υπάρχουν μαύρα κουτιά. ;)
Επίσης να σημειωθεί ότι ο Άλκης χρησιμοποίησε τη λέξη "Microsoft" για να στηρίξει ένα από τα επιχειρήματά του. >:D

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

Πάντως ξαναλέω ότι κατά τη γνώμη μου το πρόβλημα δεν είναι τι θα θεωρούμε είσοδο του αλγορίιθμου και τι όχι, αλλά αν το παράδειγμα που έδωσα προηγουμένως θα θεωρούμε ότι είναι αλγόριθμος. Δηλαδή αν είναι ένα μαύρο κουτί που δεν έχει είσοδο αλλά υπολογίζει συνεχώς το ίδιο αποτέλεσμα είναι αλγόριθμος;
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gthal στις 14 Φεβ 2010, 10:41:49 πμ
Εσύ τι λες evry ?
Ομολογώ ότι δεν έχω ξεκάθαρα διαμορφωμένη άποψη.

(ΥΓ. κι εγώ νομίζω πως αυτό το ερώτημα πρέπει να απαντήσουμε)
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: pgrontas στις 14 Φεβ 2010, 10:46:15 πμ
Η όλη συζήτηση γίνεται γιατί δεν μπορούμε να δεχτούμε ότι "ένας αλγόριθμος μπορεί να έχει είσοδο και μπορεί και να μην έχει";
(γιαυτό αναγκαζόμαστε να θεωρούμε ότι και οι εκχωρήσεις είναι είσοδος, ώστε να υπάρχει είσοδος πάση θυσία; )
Εμένα αυτό που δε μου αρέσει είναι ότι σε λειτουργικά ισοδύναμες μεταβλητές για έναν αλγόριθμο τη μια φορά  τις θεωρούμε είσοδο την άλλη όχι. Αν υπάρχει στα δεδομένα δηλαδή είναι είσοδος, αν υπάρχει σε εκχώρηση δεν είναι, ενώ για την λειτουργία του αλγορίθμου έχει ακριβώς τον ίδιο ρόλο.
Είναι λογικό αυτό που λέει ο Άλκης για το μαύρο κουτί, αλλά νομίζω είναι πιο σημαντικό να δούμε τον αλγόριθμο από μέσα. Τι ρόλο δηλαδή παίζουν συγκεκριμένες μεταβλητές/σταθερές για την λειτουργία του.
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gthal στις 14 Φεβ 2010, 10:55:12 πμ
Παναγιώτη, θα σου απαντήσω τα ίδια με χθες.
Όλες οι μεταβλητές και όλες οι σταθερές που εμφανίζονται μέσα στον αλγόριθμο παίζουν σημαντικό ρόλο στο αποτέλεσμά του και αν αλλάξουμε μία, θα αλλάξει (λογικά) και το αποτέλεσμα. Δεν μπορεί να τα θεωρούμε όλα εισόδους.
Είναι λάθος η αντίληψη "είσοδος είναι οτιδήποτε μπορεί να αλλάξει το αποτέλεσμά του".
Πρέπει να συμπληρωθεί με το "και έρχεται απ' έξω".

Είσοδος = από έξω προς τα μέσα
input = in και put   :)
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: pgrontas στις 14 Φεβ 2010, 11:01:22 πμ
Εγώ νομίζω ότι μπορούμε να τα θεωρούμε όλα εισόδους. Εκεί είναι η διαφωνία μας.
Η είσοδος έχει ουσιαστική σημασία για μένα δεν αφορά μόνο το interface.

Πάντως ξαναλέω ότι κατά τη γνώμη μου το πρόβλημα δεν είναι τι θα θεωρούμε είσοδο του αλγορίιθμου και τι όχι, αλλά αν το παράδειγμα που έδωσα προηγουμένως θα θεωρούμε ότι είναι αλγόριθμος. Δηλαδή αν είναι ένα μαύρο κουτί που δεν έχει είσοδο αλλά υπολογίζει συνεχώς το ίδιο αποτέλεσμα είναι αλγόριθμος;
Στο ερώτημα του Ευριπίδη πάντως εγώ νομίζω ότι δεν πρέπει να είμαστε τόσο αυστηροί δηλ. μπορούμε να πούμε ότι είναι αλγόριθμος
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gthal στις 14 Φεβ 2010, 11:29:10 πμ
Εντάξει, αν από το κουτί του Άλκη και μετά δεν έχεις πειστεί, θα πάω πάσο.
Αλλά αλήθεια, σε ένα πρόγραμμα με 2000 μεταβλητές και καμιά 400000 εκχωρήσεις πρωτογενών τιμών θα έλεγες ότι οοολα αυτά είναι είσοδος; (γιατί οποιοδήποτε και να πειράξεις, θα αλλάξει το αποτέλεσμα, δεν υπάρχει περίπτωση - αν δεν κρασάρει  :laugh: )

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

Επίσης, σε μια διαδικασία, όπως τις ξέρουμε στη ΓΛΩΣΣΑ
τι θεωρείς είσοδο; τα πάντα; ό,τι μεταβλητή και ότι εκχώρηση χρησιμοποιείται στον κώδικά της;  Οι παράμετροί της δεν έχουν ειδική σημασία;
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: Νίκος Αδαμόπουλος στις 14 Φεβ 2010, 11:37:53 πμ
Η όλη συζήτηση γίνεται γιατί δεν μπορούμε να δεχτούμε ότι "ένας αλγόριθμος μπορεί να έχει είσοδο και μπορεί και να μην έχει";
(γιαυτό αναγκαζόμαστε να θεωρούμε ότι και οι εκχωρήσεις είναι είσοδος, ώστε να υπάρχει είσοδος πάση θυσία; )

Κι εγώ με αυτή την αίσθηση μένω...

Προφανώς ή θα δεχτούμε ότι οι εκχωρήσεις δεν είναι είσοδος οπότε ένας αλγόριθμος μπορεί να μην έχει και καθόλου εισόδους, ή θα δεχτούμε ότι αποτελούν είσοδο οπότε ένας αλγόριθμος θα έχει τουλάχιστον μία είσοδο. Το θέμα είναι να δούμε αν λύνουμε κάποια προβλήματα ή δημιουργούμε περισσότερα με τη μία ή την άλλη θεώρηση...
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: pgrontas στις 14 Φεβ 2010, 11:45:33 πμ
Αλλά αλήθεια, σε ένα πρόγραμμα με 2000 μεταβλητές και καμιά 400000 εκχωρήσεις πρωτογενών τιμών θα έλεγες ότι οοολα αυτά είναι είσοδος; (γιατί οποιοδήποτε και να πειράξεις, θα αλλάξει το αποτέλεσμα, δεν υπάρχει περίπτωση - αν δεν κρασάρει  :laugh: )
Το θέμα δεν νομίζω να είναι ποσοτικό είναι ποιοτικό.

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

Επίσης, σε μια διαδικασία, όπως τις ξέρουμε στη ΓΛΩΣΣΑ
τι θεωρείς είσοδο; τα πάντα; ό,τι μεταβλητή και ότι εκχώρηση χρησιμοποιείται στον κώδικά της;  Οι παράμετροί της δεν έχουν ειδική σημασία;
Στον αλγόριθμο επικεντρωνόμαστε στην επίλυση ενός προβλήματος. Στην διαδικασία επικεντρωνόμαστε και στο interface της, δηλαδή στην επικοινωνία με τα υπόλοιπα μέρη του προγράμματος. Άλλο το ένα, άλλο το άλλο.

Επειδή η συζήτηση κάνει κύκλους δεν χρειάζεται να συμφωνούμε σε όλα.
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gthal στις 14 Φεβ 2010, 11:52:25 πμ
Ναι, πάσο.
(απλά νόμιζα ότι αυτό είναι τόσο θεμελιώδες που έπρεπε να συμφωνούμε   :( )
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: pgrontas στις 14 Φεβ 2010, 12:02:43 μμ
Θεωρώ ότι δεν είναι κακό να υπάρχουν διαφωνίες. Τα θεμελιώδη για μένα είναι τα πιο δύσκολα.

Ας δούμε όμως και κάτι άλλο:
Ο Γιώργος ο Παπαργύρης ρώτησε νωρίτερα: Είναι ο daemon που συνεχώς ακούει αιτήσεις αλγόριθμος;
Αναφέρθηκαν διάφορα επιχειρήματα γι' αυτό.
Ο Knuth όμως έχει σαφή και ξεκάθαρη θέση (το ανέφερε και ο Στάθης νωρίτερα)
Παράθεση
(A procedure that has all of the characteristics of an algorithm except that it
possibly lacks finiteness may be called a computational method. Euclid originally
presented not only an algorithm for the greatest common divisor of numbers, but
also a very similar geometrical construction for the "greatest common measure"
of the lengths of two line segments; this is a computational method that does
not terminate if the given lengths are incommensurable. Another example of a
nonterminating computational method is a reactive process, which continually
interacts with its environment.)

Μήπως η πραγματική ασάφεια είναι:
Πόσο αυστηροί πρέπει να είμαστε με τα κριτήρια / χαρακτηριστικά ενός αλγορίθμου;
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: evry στις 14 Φεβ 2010, 12:26:08 μμ
Και ακόμα δεν έχουμε μιλήσει για αποτελεσματικότητα ε?
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: alkisg στις 14 Φεβ 2010, 07:01:52 μμ
Εμένα αυτό που δε μου αρέσει είναι ότι σε λειτουργικά ισοδύναμες μεταβλητές για έναν αλγόριθμο τη μια φορά τις θεωρούμε είσοδο την άλλη όχι. Αν υπάρχει στα δεδομένα δηλαδή είναι είσοδος, αν υπάρχει σε εκχώρηση δεν είναι, ενώ για την λειτουργία του αλγορίθμου έχει ακριβώς τον ίδιο ρόλο.
Όχι. Η διαφορά είναι ότι η εκχώρηση είναι μέσα στο .exe, ενώ η είσοδος είναι έξω από το .exe. Το λέει και η λέξη, αν είναι μέσα στον αλγόριθμο δεν μπορεί να είναι είσοδος. Είσοδος σημαίνει κάτι που είναι απ' έξω και μπαίνει μέσα.

Παράδειγμα.
Ποια είναι η είσοδος της εντολής type, που τυπώνει ένα αρχείο;
Το όνομα του αρχείου και το περιεχόμενο του αρχείου.

Αυτό που λες είναι ότι θα μπορούσες να βάλεις το ίδιο περιεχόμενο σε μια εντολή εκχώρησης, και να έχεις το ίδιο αποτέλεσμα.
Αυτό που λέω είναι ότι:
1) Ως χρήστης, μπορείς να δώσεις αρχεία σαν είσοδο, αλλά δεν έχεις καν τον κώδικα της type και ούτε compiler για να πειράξεις το εκτελέσιμο (μην κολλάμε στα τεχνικά, αυτό που εννοώ είναι ότι ο αλγόριθμος είναι μαύρο κουτί για τον χρήστη).
2) Αν επικοινωνούσες με τον προγραμματιστή και το έκανε για σένα, τότε θα έφτιαχνε ένα πρόγραμμα που θα λεγόταν "type_a_specific_book" και ΔΕΝ θα ήταν ο αλγόριθμος "type" αλλά ένα συγκεκριμένο instance του.
Πόσο χρήσιμος είναι ο αλγόριθμος "Τυπώνω_τα_άπαντα_του_Κρυστάλλη";
Μήπως για instances δεν χρειάζονται αλγόριθμοι, αλλά σταθερές;

Προφανώς ή θα δεχτούμε ότι οι εκχωρήσεις δεν είναι είσοδος οπότε ένας αλγόριθμος μπορεί να μην έχει και καθόλου εισόδους, ή θα δεχτούμε ότι αποτελούν είσοδο οπότε ένας αλγόριθμος θα έχει τουλάχιστον μία είσοδο.
Το να θεωρηθούν οι εκχωρήσεις ως είσοδοι δεν βοηθάει κάπου. Παράδειγμα, ο αλγόριθμος «Hello world».
(για το αν ονομάζεται αλγόριθμος ή υπολογιστική διαδικασία ή οτιδήποτε άλλο,  είναι φιλοσοφική η συζήτηση και δεν με πολυενδιαφέρει, ενώ την έννοια και τη χρησιμότητα της εισόδου τις θεωρώ πιο σημαντικές).
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: pgrontas στις 14 Φεβ 2010, 07:19:18 μμ
Αυτό που λες είναι ότι θα μπορούσες να βάλεις το ίδιο περιεχόμενο σε μια εντολή εκχώρησης, και να έχεις το ίδιο
Λέω και αυτό και το ανάποδο: Μπορώ να 'βγάλω' το περιεχόμενο από μια εντολή εκχώρησης, βάζοντας την μεταβλητή στα δεδομένα ή σε μια Διάβασε. Τότε δεν αποτελεί είσοδο;

Πόσο χρήσιμος είναι ο αλγόριθμος "Τυπώνω_τα_άπαντα_του_Κρυστάλλη";
Ο αλγόριθμος με τους τυχαίους αριθμούς που παρέθεσα νωρίτερα όμως είναι χρησιμος, και ας έχει την είσοδο με εκχώρηση. Εξαρτάται τι θες.

Επίσης δεν ξέρω κατά πόσο πρέπει να επιμένουμε στην μέλετη του αλγορίθμου ως μαύρο κουτί. Έχει νόημα όταν μας ενδιαφέρει το interface του, αλλά όχι όταν αναλύουμε τις εντολές του. Τελικά εξετάζουμε τους αλγορίθμους απ' έξω ή από μέσα; Μπορούμε να αποφανθούμε για περατότητα/καθοριστικότητα εξετάζοντας τον αλγόριθμο απ' έξω;

Μήπως ο όρος ενδεχόμενη είσοδος, μας βρει όλους σύμφωνους; (Μακάρι γιατί τα έχω δει όλα ;D)
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: Νίκος Αδαμόπουλος στις 14 Φεβ 2010, 09:48:12 μμ
Το να θεωρηθούν οι εκχωρήσεις ως είσοδοι δεν βοηθάει κάπου. Παράδειγμα, ο αλγόριθμος «Hello world».
(για το αν ονομάζεται αλγόριθμος ή υπολογιστική διαδικασία ή οτιδήποτε άλλο,  είναι φιλοσοφική η συζήτηση και δεν με πολυενδιαφέρει, ενώ την έννοια και τη χρησιμότητα της εισόδου τις θεωρώ πιο σημαντικές).

...Ναι! Κι εγώ δεν βλέπω να βοηθάει κάπου... Αφού κι ο Knuth δέχεται τις 0 εισόδους εμείς γιατί δεν θέλουμε;
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: alkisg στις 15 Φεβ 2010, 01:48:49 πμ
Λέω και αυτό και το ανάποδο: Μπορώ να 'βγάλω' το περιεχόμενο από μια εντολή εκχώρησης, βάζοντας την μεταβλητή στα δεδομένα ή σε μια Διάβασε. Τότε δεν αποτελεί είσοδο;
Έχω μια αρχαία οθόνη CRT, η οποία έχει πίσω της ένα ποτενσιόμετρο με το οποίο μπορώ να ρυθμίσω το ύψος της εικόνας. Αυτό είναι μια είσοδος. Όμως, δεν έχει ρύθμιση για το πλάτος.
Αν ανοίξω την οθόνη και αλλάξω κάποια αντίσταση, θα μπορώ να ρυθμίσω το πλάτος. Δεν ξέρω όμως από ηλεκτρονικά και δεν έχω κολλητήρι και δεν μπορώ να το κάνω, όπως και ο χρήστης δεν ξέρει από κώδικα και δεν έχει IDE και δεν μπορεί να πειράξει το εσωτερικό του αλγορίθμου. Οι αντιστάσεις λοιπόν δεν είναι είσοδος της οθόνης.
Εκεί είναι η διαφορά. Αν είναι μέσα στον κώδικα, μέσα στο κουτί, δεν είναι είσοδος.

Σύμφωνοι, δεν θέλουμε σε όλα τα κριτήρια να αντιμετωπίζουμε τον αλγόριθμο ως μαύρο κουτί.

Την είσοδο την καθορίζει ο χρήστης. Για τον χρήστη, ο αλγόριθμος είναι ένα μαύρο κουτί.
Την καθοριστικότητα την ελέγχει ο εκτελεστής. Ο εκτελεστής δεν ενδιαφέρεται καν για τον αλγόριθμο, απλά απαντάει για κάθε μεμονωμένη εντολή που του δίνουν.
Την περατότητα την ελέγχει ο προγραμματιστής (όσο μπορεί). Υποθέτω μάλιστα ότι υπάρχει και η περίπτωση σε εξεζητημένα μαθηματικά προβλήματα να μην μπορέσει καν να απαντήσει θετικά ή αρνητικά. Edit - σκέφτηκα και ένα παράδειγμα: να γίνει αλγόριθμος που να υπολογίζει τα ψηφία του π και να σταματάει όταν βρει Ν συνεχόμενα εννιάρια. Εδώ για να αποφασίσουμε για την περατότητα δεν μας ενδιαφέρει καθόλου ο κώδικας του αλγορίθμου, παρά μόνο οι ιδιότητες του π από τα μαθηματικά, και δεν ξέρω αν οι μαθηματικοί γνωρίζουν αν ο π έχει 999 συνεχόμενα εννιάρια ή όχι.

Anyway δε νομίζω ότι έχω να συνεισφέρω κάτι άλλο στη συζήτηση, οπότε σταματάω κι εγώ για να μην κάνουμε κύκλους. :)
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gpapargi στις 15 Φεβ 2010, 08:22:02 μμ
Για είσοδο
Μια εντολή πρέπει να μπορούμε να καταλάβουμε αν είναι εντολή εισόδου εντελώς μηχανικά.  Ας φανταστούμε ότι βάζουμε μια μηχανή να ελέγξει τον κώδικα ενός αλγορίθμου και να αποφανθεί ποιες είναι οι είσοδοι του. Η μηχανή δεν καταλαβαίνει ποιος είναι  σκοπός ενός αλγορίθμου. Πως θα καταλάβει η μηχανή αν μια εντολή εκχώρησης είναι είσοδος η όχι;
Θέλω να πω πως είναι εντελώς ασαφές το να πρέπει να δεις το ευρύτερο ρόλο που έχει στον αλγόριθμο μια μεταβλητή που συμμετέχει σε μια εντολή εκχώρησης για να αποφανθείς αν είναι είσοδος η όχι. Ο αλγόριθμος είναι γεμάτος από εντολές εκχώρησης σε μεταβλητές που χρησιμοποιούνται όλες παρακάτω. Πως θα ξεχωρίσουμε με ξεκάθαρο τρόπο ποιες είναι και ποιες δεν είναι είσοδοι; Πως θα το ορίσουμε σε τρόπο σαφή ώστε να μπορείς να βάλεις μια μηχανή να το ελέγξει;

Μην ξεχνάμε ότι το αν μια εντολή είναι εισόδου έχει να κάνει με τη λειτουργία που επιτελεί η εντολή αυτή καθαυτή από μονή της. Δεν μπορεί να είναι αναγκαίο το να κοιτάξεις παρακάτω για να καταλάβεις αν μια εντολή είναι εισοδου η όχι.


Το πράγμα το βλέπεις από την οπτική γωνία του αλγορίθμου. «Αν μου παρέχεται κάτι από το εξωτερικό περιβάλλον και δεν το παράγω μόνος μου τότε είναι είσοδος».

Μπορείς και να τα δεις από την οπτική γωνία κάποιου που είναι έξω από τον αλγόριθμο. «Αν δίνω στον αλγόριθμο κάτι τότε είναι είσοδος».

Δεν συμφωνώ ότι κάτι πρέπει να μπορεί να αλλάξει την έξοδο του αλγορίθμου για να είναι είσοδος. Μπορεί πχ να είναι dummy είσοδος, δηλαδή να μη χρησιμοποιείται που πουθενά. Σε ένα πιο μαθηματικό παράδειγμα μπορεί ο αλγόριθμος να υλοποιεί μια συνάρτηση που δέχεται σαν είσοδο την τιμή του x και εκτυπώνει το f(x). Αν η συνάρτηση είναι σταθερή τότε η είσοδος δεν επηρεάζει την έξοδο.

Νομίζω ότι το μπλέξιμο γίνεται στο ποια είναι τα όρια του αλγορίθμου (που αρχίζει και που τελειώνει). Ότι είναι μετά το Αρχή και πριν Τελος_προγραμματος είναι εντος του προγράμματος και άρα εντος του αλγορίθμου που υλοποιείται από το πρόγραμμα. Μια εντολή εκχώρησης είναι ήδη μέσα. Δεν μπαίνει. Δεν είναι είσοδος. Η Διάβασε απαιτεί να εισαχθει εντος του αλγορίθμου πληροφορία από το εξωτερικό περιβάλλον. Αυτό είναι είσοδος.

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

Δεν καταλαβαίνω γιατί έχουμε μπλεχτεί τόσο πολύ σε ένα τόσο απλό θέμα.

ΥΓ
Αλκη δεν ξέρω αν ο π έχει 3 συνεχόμενα εννιάρια. Αλλά αν επιλεγείς συνεχώς τυχαίους αριθμούς τότε η πιθανότητα να σκάσουν 3 συνεχόμενα εννιάρια είναι μη μηδενική. Αν οι αριθμοί συνεχίζονται επ’ άπειρο κάποια στιγμή θα δεις 3 συνεχόμενα εννιάρια αρκεί να περιμένεις αρκετά. Οποιοδήποτε pattern θα έλεγα πως έχει πιθανότητα 100% να εμφανιστεί κάποια στιγμή αν περιμένεις αρκετά (ανάλογα με την πιθανότητα που έχει το pattern να εμφανιστεί). Δεν το σκέφτηκα και πολύ αλλά μου φαίνεται μια από τις ιδιαιτερότητες του άπειρου
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: alkisg στις 15 Φεβ 2010, 08:37:01 μμ
Όχι 3 συνεχόμενα εννιάρια. 999 συνεχόμενα εννιάρια :).

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

Πέρα από το παράδειγμα, αυτό που έλεγα είναι ότι υπάρχουν περιπτώσεις αλγορίθμων για τους οποίους δεν μπορούμε να αποφανθουμε σχετικά με την περατότητά τους. Υπάρχει διαφωνία σε αυτό;
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: pgrontas στις 15 Φεβ 2010, 09:14:31 μμ
Παιδιά δεν έχω να προσθέσω κάτι παραπάνω, εκτός από το ό,τι δεν μιλάμε για εντολές εισόδου αλλά για δεδομένα εισόδου.
Επίσης, Γιώργο δεν συμφωνώ με την υπόθεση σου ότι η είσοδος πρέπει να μπορεί να επαληθευθεί μηχανικά.
Έχουμε διαφορά φιλοσοφίας μάλλον. Δεν είναι κακό.
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gpapargi στις 15 Φεβ 2010, 09:32:36 μμ
Κάτι που παρέλειψα είναι ότι τα ψηφιά του π δείχνουν ομοιόμορφη κατανομή. Τέλος πάντων αυτό το είπα έτσι για πλάκα. Μπορούμε να πούμε πολλά ενδιαφέροντα πράγματα αλλά θα ξεφύγουμε.
Το ουσιώδες είναι ότι όντως δεν μπορείς αν αποφανθείς   πάντα για την περατότητα ενός αλγορίθμου. Άλλωστε  Turing απέδειξε ότι δεν υπάρχει αλγόριθμος που να λύνει τα πρόβλημα του τερματισμού (halting problem).
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: tom στις 15 Φεβ 2010, 10:04:35 μμ
Το παρόν θέμα ανοίγει με σκοπό να συζητηθεί το ασαφές σημείο των αλγοριθμικών κριτηρίων. Ο στόχος είναι να γίνει μια από κοινού πρόταση για τη διόρθωση του διδακτικού πακέτου.

Σχετικά με την είσοδο...

Σχολικό βιβλίο, σελ. 25:

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

Η δική μου ερμηνεία, σχετικά με τον παραπάνω ορισμό είναι αυτή που διατύπωσα πριν κάποιες μέρες:

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

Αυτό μπορώ να το δω και στον ορισμό του σχ. βιβλίου (βλέπε παραπάνω) και στον ορισμό του knuth λίγο πιο abstract...

"An algorithm has zero or more inputs, i.e., quantities which are given to it initially before the algorithm begins."

Αυτή είναι η ερμηνεία μου και μπορεί να είναι λάθος.

Αυτό που δεν καταλαβαίνω είναι:

1) Γιατί δεν στέλνουμε μια ερώτηση στο Π.Ι. να μας διευκρινίσει τον παραπάνω ορισμό; (αυτό ισχύει για όλες τις ασάφειες). Τι σημαίνει άραγε ..." με τη βοήθεια άλλων απλών εντολών"; Γιατί να πρέπει να συμφωνήσουμε σε μια πρόταση και να μη ζητήσουμε απλά μια διευκρίνηση;

2) Γιατί κάποιοι εδώ μέσα παρουσιάζουν με έντονο ύφος τις θεωρίες τους, ειδικά χωρίς να αναφέρουν τις πηγές τους?

Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gpapargi στις 15 Φεβ 2010, 10:48:04 μμ
Εμένα αυτό που δε μου αρέσει είναι ότι σε λειτουργικά ισοδύναμες μεταβλητές για έναν αλγόριθμο τη μια φορά  τις θεωρούμε είσοδο την άλλη όχι. Αν υπάρχει στα δεδομένα δηλαδή είναι είσοδος, αν υπάρχει σε εκχώρηση δεν είναι, ενώ για την λειτουργία του αλγορίθμου έχει ακριβώς τον ίδιο ρόλο.

Παναγιώτη διάβασα παραπάνω τις απόψεις σου και απομόνωσα τα παραπάνω που πιθανόν είναι η αίτια της παρεξήγησης. Το αν κάποια μεταβλητή είναι μεταβλητή εισόδου δεν έχει να κάνει με το ρόλο που έχει στον αλγόριθμο αλλά με τον τρόπο που παίρνει τη συγκεκριμένη τιμή της όταν έρθει η ώρα να γίνει η εκτέλεση. Με αλλά λόγια η είσοδος δεν αφόρα μεταβλητές αλλά εντολές.

Επίσης αυτό που λέω για μηχανικό έλεγχο δεν είναι μια προσωπική φιλοσοφική άποψη. Είναι μια έννοια που βρίσκεται στην καρδιά των μαθηματικών ορισμών και αποδείξεων. Μπορεί να σκίζουμε τα ρούχα μας ότι μια πρόταση είναι αληθής αλλά αυτό να οφείλεται μόνο και μόνο στο ότι καταλαβαίνουμε σαν άνθρωποι το νόημα της και ξέρουμε ότι είναι αληθές, αλλά να μην αποδεικνύεται με τίποτα από τα αξιώματα. Μάλιστα κάτι τέτοιο έκανε ο Gödel όταν απέδειξε για κάποια συστήματα ότι υπάρχουν προτάσεις αληθείς που δεν αποδεικνύονται. Έφτιαξε μια πρόταση που δεν αποδεικνύεται αλλά ξέρεις ότι είναι αληθής μονό και μονό επειδή καταλαβαίνεις σαν άνθρωπος ποιο είναι το νόημα της.

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

Αν πάμε σε κάποιο ορισμό ο οποίος θα προβλέπει ότι 2 μεταβλητές που έχουν ίδιο ρόλο στον αλγόριθμο πρέπει να είναι και οι 2 (η να μην είναι και οι 2) είσοδοι τότε θα καταλήξουμε στο τι όλες οι μεταβλητές που συμμετέχουν σε ένα αλγόριθμο είναι είσοδοι, αφού για κάθε μια από αυτές θα μπορούσε η τιμή να εισαχθει και με εντολή διάβασε αλλά και με εκχώρηση. Ακόμα και οι αρχικοποιήσεις μετρητών και αθροιστών θα μπορούν να θεωρηθούν είσοδοι. 
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gpapargi στις 15 Φεβ 2010, 10:59:36 μμ
Αυτό που δεν καταλαβαίνω είναι:

1) Γιατί δεν στέλνουμε μια ερώτηση στο Π.Ι. να μας διευκρινίσει τον παραπάνω ορισμό; (αυτό ισχύει για όλες τις ασάφειες). Τι σημαίνει άραγε ..." με τη βοήθεια άλλων απλών εντολών"; Γιατί να πρέπει να συμφωνήσουμε σε μια πρόταση και να μη ζητήσουμε απλά μια διευκρίνηση;


Δυστυχώς Θωμά βρισκόμαστε εδώ αυτή τη στιγμή γιατί οι συγγραφείς δεν κατάλαβαν καλά τον Knuth. Αν ρωτήσεις το ΠΙ δε θα σου απαντήσει κανένας. Νομίζω ότι κάνεις δεν ξέρει κάτι παραπάνω στο θέμα των κριτήριων.

2) Γιατί κάποιοι εδώ μέσα παρουσιάζουν με έντονο ύφος τις θεωρίες τους, ειδικά χωρίς να αναφέρουν τις πηγές τους?


Το πάθος μας καμία φορά μας κάνει να μιλάμε λίγο πιο έντονα. Αλλά μη φοβάσαι. Πολλοί από μας είμαστε φίλοι και τα πίνουμε παρέα που και που   :)
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: tom στις 15 Φεβ 2010, 11:36:52 μμ
Δυστυχώς Θωμά βρισκόμαστε εδώ αυτή τη στιγμή γιατί οι συγγραφείς δεν κατάλαβαν καλά τον Knuth. Αν ρωτήσεις το ΠΙ δε θα σου απαντήσει κανένας. Νομίζω ότι κάνεις δεν ξέρει κάτι παραπάνω στο θέμα των κριτήριων.

Απογοητευτικό!

Το πάθος μας καμία φορά μας κάνει να μιλάμε λίγο πιο έντονα. Αλλά μη φοβάσαι. Πολλοί από μας είμαστε φίλοι και τα πίνουμε παρέα που και που   :)

Θα χαρώ να τα πιούμε και μαζί  8)

Ύστερα από κουβέντα με ένα φίλο με φαινομενικά διαφορετική άποψη, νομίζω ότι η παρανόηση σχετικά με την εκχώρηση πηγάζει από το εξής:

Στο τρίπτυχο:

(Α) είσοδος -> (Β) επεξεργασία ->(Γ) έξοδος

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

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

1) δεδομένα από το χρήστη

ή

2) δεδομένα από την εκφώνηση της άσκησης

Όσον αφορά το 1) έχουμε είσοδο δεδομένων στον αλγόριθμο από "έξω", μία ή περισσότερες είσοδοι

"An algorithm has zero or more inputs, i.e., quantities which are given to it initially before the algorithm begins."

Όσον αφορά το 2) έχουμε μηδέν είσοδο στον αλγόριθμο από "έξω", αλλά έχουμε δεδομένα από άσκηση (ή είσοδο για την επεξεργασία - (Α))

"An algorithm has zero or more inputs, i.e., quantities which are given to it initially before the algorithm begins."

Όταν λέω:


Η δική μου ερμηνεία, σχετικά με τον παραπάνω ορισμό είναι αυτή που διατύπωσα πριν κάποιες μέρες:

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

εννοώ ότι η εντολή εκχώρησης αποτελεί εισαγωγή (είσοδο) δεδομένων για την επεξεργασία που θα ακολουθήσει από τον αλγόριθμο! Όχι είσοδο από το εξωτερικό περιβάλλον!!! Αν αυτό εννοούν και οι άλλοι που ψήφισαν ότι η ενολή εκχώρησης είναι είσοδος νομίζω όλοι λέμε ΟΛΟΙ το ίδιο με άλλα λόγια!!!  ???

Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: tom στις 15 Φεβ 2010, 11:46:44 μμ
Στην ερώτηση της ψηφοφορίας:

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

απάντησα ναι.

Αν γίνει:

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

θα απαντούσα όχι!

Αν γίνει:

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

θα απαντούσα ναι!

Πιστεύω να είμαι πλέον κατανοητός; Ε, gthal ;)

Grant's - "Try a Different Angle".
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gthal στις 16 Φεβ 2010, 01:15:18 πμ
Ναι, tom, έγινες απόλυτα κατανοητός και πιστεύω ότι κατέδειξες την "καρδιά" της διαφωνίας μας:

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

Είσοδος για μένα σημαίνει αυτό και μόνο αυτό: είσοδο δεδομένων από το εξωτερικό περιβάλλον.
Δεν θα μπορούσε να ερμηνεύεται αλλιώς. Απλά, το "από το εξωτερικό περιβάλλον" είναι τόσο αυτονόητο που παραλείπεται.

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

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

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

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

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

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

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

Υ.Γ.  Για να αλλάξω την ψήφο μου, πρέπει να αλλάξει και η ερώτηση  8)
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gthal στις 16 Φεβ 2010, 02:03:41 πμ
και πρωτογενή δεδομένα, τα δεδομένα από εντολές εκχώρησης ή γεννήτριες τυχαίων αριθμών
προσοχή... η γεννήτρια τυχαίων αριθμών θα είναι άλλος αλγόριθμος; τότε οι τιμές που θα πάρουμε από αυτή είναι είσοδος (μη μου το χαλάς τελευταία στιγμή  ;)  ) 
οτιδήποτε έρχεται απ' έξω απ' τον αλγόριθμο (από άλλον αλγόριθμο, από script, από το δίσκο, το δίκτυο, το scanner, το σύστημα, δαίμονες και διαβόλους  >:D  ) είναι είσοδος.

Υ.Γ.  Για να αλλάξω την ψήφο μου, πρέπει να αλλάξει και η ερώτηση  8)
ΧΑ ΧΑ ΧΑ
έλα.... αφού είπαμε : είσοδος = είσοδος δεδομένων από το εξωτερικό περιβάλλον.  Εντάξει είναι η ερώτηση
άντε και περιμένω το 7-7 για να πάω για ύπνο ...  :P
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: tom στις 16 Φεβ 2010, 03:07:04 πμ
προσοχή... η γεννήτρια τυχαίων αριθμών θα είναι άλλος αλγόριθμος; τότε οι τιμές που θα πάρουμε από αυτή είναι είσοδος (μη μου το χαλάς τελευταία στιγμή  ;)  ) 
οτιδήποτε έρχεται απ' έξω απ' τον αλγόριθμο (από άλλον αλγόριθμο, από script, από το δίσκο, το δίκτυο, το scanner, το σύστημα, δαίμονες και διαβόλους  >:D  ) είναι είσοδος.
Όχι θα είναι μια συνάρτηση. Ναι είναι είσοδος αλλά αν αντι να βάλω:
α<-5
πω
α<-random(1,100) // τυχαίος ακέραιος από το 1 έωςτο 100
τότε τι γίνεται ;) Γιατί έχουμε και εκχώρηση.
 
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gthal στις 16 Φεβ 2010, 03:19:27 πμ
Η συνάρτηση είναι άλλος αλγόριθμος,
διότι η συνάρτηση, βάσει ενός αλγορίθμου (διαφορετικού από τον κυρίως αλγόριθμό σου), θα παράγει μια τιμή/αποτέλεσμα/έξοδο,
η οποία θα δοθεί ως είσοδος στον αλγόριθμό σου

γι αυτό λέω να ξεκολλήσουμε από την εκχώρηση - δεν είναι αυτή το θέμα:
α<-5                                 harcoded τιμή, γνωστή εκ των προτέρων : όχι είσοδος  (αλλά πρωτογενές δεδομένο, όπως το ονόμασες)
α<-random(1,100)           τιμή προερχόμενη από άλλον αλγόριθμο, όχι γνωστή εκ των προτέρων : είσοδος
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: tom στις 16 Φεβ 2010, 03:30:31 πμ
Η συνάρτηση είναι άλλος αλγόριθμος,
διότι η συνάρτηση, βάσει ενός αλγορίθμου (διαφορετικού από τον κυρίως αλγόριθμό σου), θα παράγει μια τιμή/αποτέλεσμα/έξοδο,
η οποία θα δοθεί ως είσοδος στον αλγόριθμό σου

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

Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gpapargi στις 17 Φεβ 2010, 04:13:28 μμ
Παιδιά, όσο αφόρα εμένα δεν πιστεύω στις ψηφοφορίες αλλά στα επιχειρήματα. Η πλειοψηφία δεν κάνει σωστή μια άποψη.  Αν ο Γαλιλαίος έθετε σε ψηφοφορία τις απόψεις του θα είχε φάει μαύρο. Για μένα υπάρχουν μόνο επιχειρήματα. Ούτε πλειοψηφίες ούτε αυθεντίες.

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

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

Το S θεωρείται είσοδος; Δηλαδή η αντίθετη άποψη θεωρεί είσοδο όλες τις αρχικοποιήσεις μεταβλητών όπου και να βρίσκονται;
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: tom στις 17 Φεβ 2010, 06:09:40 μμ
Θα ήθελα με ένα παράδειγμα να δω αν κατάλαβα τι λέει η άλλη άποψη. Στον παρακάτω αλγόριθμο

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

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

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

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

Αυτή η ερμηνεία δε σου αρέσει  ;)
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: tom στις 17 Φεβ 2010, 06:11:19 μμ
Αν δεν αλλάξετε την ερώτηση φοβάμαι ότι τα "Ναι" θα συνεχίσουν να αυξάνονται  ;D
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gpapargi στις 17 Φεβ 2010, 08:32:48 μμ
Για μένα πλεόν μετά από τις τελευταίες συζητήσεις, η εντολή "S<-0".

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

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


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

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

Για τις ψηφοφορίες σου είπα… 
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: pgrontas στις 18 Φεβ 2010, 05:26:24 μμ
Στο παράδειγμα του Γιώργου, η αρχική τιμή 0 είναι η μόνη που βγάζει σωστό και το τελικό άθροισμα και τα μερικά αθροίσματα ενδιάμεσα. Είναι δηλαδή μια ιδιαίτερη περίπτωση αρχικοποίησης.

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

Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gpapargi στις 18 Φεβ 2010, 11:16:02 μμ
εννοώ ότι η εντολή εκχώρησης αποτελεί εισαγωγή (είσοδο) δεδομένων για την επεξεργασία που θα ακολουθήσει από τον αλγόριθμο! Όχι είσοδο από το εξωτερικό περιβάλλον!!!

Εγώ νομίζω ότι είχα καταλάβει ότι έλεγες αυτό. Ένας από τους λόγους που διαφωνούσα (περά από το πως αντιλαμβάνομαι την είσοδο) είναι ότι μια τέτοια εντολή αρχικοποίησης μπορεί να είναι υπάρχει σε ένα κώδικα 1000 γραμμών μόλις λίγες γραμμές πριν το τέλος. Τι νόημα έχει να μιλάμε για «επεξεργασία που θα ακολουθήσει από τον αλγόριθμο» αφού  αλγόριθμος έχει σχεδόν τελειώσει. Αυτές οι εντολές μπορεί να υπάρχουν οπουδήποτε. Δεν υπάρχουν ξεκάθαρα όρια πριν από τα οποία υπάρχουν αυτές οι εντολές και μετά από αυτές αρχίζει η επεξεργασία
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gthal στις 18 Φεβ 2010, 11:57:43 μμ
Στο παράδειγμα του Γιώργου, η αρχική τιμή 0 είναι η μόνη που βγάζει σωστό και το τελικό άθροισμα και τα μερικά αθροίσματα ενδιάμεσα. Είναι δηλαδή μια ιδιαίτερη περίπτωση αρχικοποίησης.
Μα βρε Παναγιώτη, δεν υπάρχουν ιδιαίτερες περιπτώσεις αρχικοποίησης. Όλες επηρεάζουν το αποτέλεσμα.
Υπάρχει αρχικοποίηση που δεν το επηρεάζει? (ή τότε όλες είναι ιδιαίτερες περιπτώσεις?)
Βρες μου ένα παράδειγμα όπου η αρχικοποίηση δεν θα επηρεάσει το αποτέλεσμα του αλγόριθμου. Βρες μου δηλ μία αρχικοποίηση που δεν είναι "ιδιαίτερη περίπτωση".
(αν βρεις, θα παραδεχθώ ολόψυχα ότι αυτή είναι ιδιαίτερη περίπτωση - όχι οι νορμάλ  ;)   ;D )
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: tom στις 19 Φεβ 2010, 03:31:02 πμ
Εγώ νομίζω ότι είχα καταλάβει ότι έλεγες αυτό. Ένας από τους λόγους που διαφωνούσα (περά από το πως αντιλαμβάνομαι την είσοδο) είναι ότι μια τέτοια εντολή αρχικοποίησης μπορεί να είναι υπάρχει σε ένα κώδικα 1000 γραμμών μόλις λίγες γραμμές πριν το τέλος. Τι νόημα έχει να μιλάμε για «επεξεργασία που θα ακολουθήσει από τον αλγόριθμο» αφού  αλγόριθμος έχει σχεδόν τελειώσει. Αυτές οι εντολές μπορεί να υπάρχουν οπουδήποτε. Δεν υπάρχουν ξεκάθαρα όρια πριν από τα οποία υπάρχουν αυτές οι εντολές και μετά από αυτές αρχίζει η επεξεργασία

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

Οπότε τότε θα είχε νόημα να μιλάμε για δεδομένα και επεξεργασία που θα ακολουθήσει από τον αλγόριθμο...

Η ερώτηση σου είναι θεωρητική/υποθετική άρα και η απάντηση  :)
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: pgrontas στις 19 Φεβ 2010, 01:08:06 μμ
Μα βρε Παναγιώτη, δεν υπάρχουν ιδιαίτερες περιπτώσεις αρχικοποίησης. Όλες επηρεάζουν το αποτέλεσμα.
Υπάρχει αρχικοποίηση που δεν το επηρεάζει? (ή τότε όλες είναι ιδιαίτερες περιπτώσεις?)
Βρες μου ένα παράδειγμα όπου η αρχικοποίηση δεν θα επηρεάσει το αποτέλεσμα του αλγόριθμου. Βρες μου δηλ μία αρχικοποίηση που δεν είναι "ιδιαίτερη περίπτωση".
(αν βρεις, θα παραδεχθώ ολόψυχα ότι αυτή είναι ιδιαίτερη περίπτωση - όχι οι νορμάλ  ;)   ;D )
Αυτό που εννοώ είναι ότι αν θες να υπολογίσεις άθροισμα δεν έχεις πολλές επιλογές για αρχική τιμή. Θα βάλεις είτε 0 είτε τον πρώτο αριθμό. Αυτό εννοώ με το ιδιαίτερη περίπτωση. Αντίθετα, σε άλλους αλγορίθμους μία εκχώρηση μπορεί να έχει πολλές δυνατές αποδεκτές τιμές. Και βέβαια όλες επηρεάζουν το αποτέλεσμα.
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gthal στις 19 Φεβ 2010, 01:36:27 μμ
Δώσε ένα παράδειγμα να καταλάβω ..
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: pgrontas στις 19 Φεβ 2010, 03:21:41 μμ
Δώσε ένα παράδειγμα να καταλάβω ..
Δες το παράδειγμα που έδωσα πιο πάνω με τους τυχαίους αριθμούς.
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: Νίκος Αδαμόπουλος στις 19 Φεβ 2010, 07:09:46 μμ
Δες το παράδειγμα που έδωσα πιο πάνω με τους τυχαίους αριθμούς.

Πώς η γεννήτρια βγάζει κάθε φορά διαφορετικούς αριθμούς; Κάθε φορά που εκτελούμε από την αρχή το πρόγραμμα οι αριθμοί είναι όντως διαφορετικοί;
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gpapargi στις 19 Φεβ 2010, 10:29:52 μμ
Αν υπάρχει εκεί που λες η εντολή αρχικοποίησης, μόλις λίγες γραμμές πριν το τέλος, σημαίνει ότι ο κώδικας  που ακολουθεί χρησιμοποιεί για πρώτη φορά το δεδομένο για να το επεξεργαστεί... και αφού ο κώδικας το χρησιμοποιεί για πρώτη φορά θα μπορούσε να είναι ανεξάρτητος από τoν προηγούμενο κώδικα, που επεξεργάζεται άλλα δεδομένα, ίσως ξεχωριστό υποπρόγραμμα. Εν τέλει θα μπορούσε να είναι και διαφορετικός αλγόριθμος.

Οπότε τότε θα είχε νόημα να μιλάμε για δεδομένα και επεξεργασία που θα ακολουθήσει από τον αλγόριθμο...

Η ερώτηση σου είναι θεωρητική/υποθετική άρα και η απάντηση  :)

Να ρωτήσω κάτι ακόμα: Αν χρησιμοποιώ πολλές φόρες το S<-0 σε πολλά σημεία του κώδικα πχ για να υπολογίσω πολλά αθροίσματα διαφορετικά μεταξύ τους (απλά χρησιμοποιώ σε όλα το ίδιο όνομα για τον αθροιστή) είναι κάθε φορά είσοδος (όπως την εννοεί η άλλη άποψη) η μονό την πρώτη;

Επίσης μια εντολή Για ι από 1 μέχρι 100 εμπεριέχει ι<-1. Ανήκει και αυτό το ι στην ιδία κατηγορία δεδομένων εισόδου; Δε βλέπω λόγο για να μην ισχύει τα ίδιο.

Τέλος αν θέλω να προσθέσω τους 10 μικρότερους περιττούς φυσικούς και γράψω
S<-0
Για ι από 0 μεχρι 9
  S<-S+2*i+1
Τελος_επαναληψης
ΕΜφανισε S

Οι 1, 3, 5… 19 είναι δεδομένα εισόδου;
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: tom στις 19 Φεβ 2010, 11:59:19 μμ
Να ρωτήσω κάτι ακόμα: Αν χρησιμοποιώ πολλές φόρες το S<-0 σε πολλά σημεία του κώδικα πχ για να υπολογίσω πολλά αθροίσματα διαφορετικά μεταξύ τους (απλά χρησιμοποιώ σε όλα το ίδιο όνομα για τον αθροιστή) είναι κάθε φορά είσοδος (όπως την εννοεί η άλλη άποψη) η μονό την πρώτη;

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


Επίσης μια εντολή Για ι από 1 μέχρι 100 εμπεριέχει ι<-1. Ανήκει και αυτό το ι στην ιδία κατηγορία δεδομένων εισόδου; Δε βλέπω λόγο για να μην ισχύει τα ίδιο.

Ε ναι, αν είχες την ισοδύναμη σε Όσο η εντολή ι<-1 θα αποτελούσε δεδομένα εισόδου.

Τέλος αν θέλω να προσθέσω τους 10 μικρότερους περιττούς φυσικούς και γράψω
S<-0
Για ι από 0 μεχρι 9
  S<-S+2*i+1
Τελος_επαναληψης
ΕΜφανισε S
Οι 1, 3, 5… 19 είναι δεδομένα εισόδου;

Ναι γιατί όχι; Στην ουσία έχεις μια εντολή της οποία το αποτέλεσμα (S) συνδυάζεται με νέα δεδομένα  (i) και δίνει ένα
νέο αποτέλεσμα (S). Αυτό περιγράφεται πολύ ωραία στο βιβλίο Α΄ Γυμνασίου ως κύκλος επεξεργασίας δεδομένων.

Ξαναλέω την αποψή μου:

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

Παρ 'όλα αυτά  είπαμε πως το βιβλίο εννοεί την είσοδο ως τιμή/τιμές από το εξωτερικό περιβάλλον του αλγορίθμου και την περίπτωση μηδέν-είσοδο όταν έχουμε αλγορίθμους μόνο με εντολές εκχώρησης και εξόδου (π.χ.υπολογισμός επιτοκίου, κερδών κλπ). Δηλαδή το βιβλίο δε νομίζω να εμβαθύνει τόσο τη φιλοσοφία του όπως εμείς εδώ, με την προβολή της προσέγγισης είσοδος->επεξεργασία->έξοδο σε κάθε απλή επεξεργασία όπως αυτή που έθεσες:

S<-0
Για ι από 0 μεχρι 9
  S<-S+2*i+1
Τελος_επαναληψης
Εμφανισε S

Γιατί δεν πάμε παρακάτω; Αφού ο ένας έχει καταλάβει πως το βλέπει ο άλλος και οι δύο τι εννοεί μάλλον το βιβλίο?
Δεν καταλαβαίνω που διαφωνούμε...  :-\
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: pgrontas στις 20 Φεβ 2010, 09:29:30 πμ
Πώς η γεννήτρια βγάζει κάθε φορά διαφορετικούς αριθμούς; Κάθε φορά που εκτελούμε από την αρχή το πρόγραμμα οι αριθμοί είναι όντως διαφορετικοί;
Νίκο, ίσως δεν εξήγησα καλά αυτό που ήθελα να πω. Δεν λαμβάνεις διαφορετικές τιμές τυχαίων αριθμών κάθε φορά που τρέχεις το πρόγραμμα, αλλά έχεις πολλές διαφορετικές επιλογές για την αρχικοποίηση του seed του αλγορίθμου (https://alkisg.mysch.gr/steki/index.php?topic=2609.msg22792#msg22792) δηλαδή των x,m και όλες είναι σωστές. Κάτι που δεν ισχύει στην περίπτωση της αρχικοποίησης του αθροίσματος, αν θες να είσαι σωστός, οπότε και βάζεις το ουδέτερο στοιχείο της πρόσθεσης.

Επίσης μια εντολή Για ι από 1 μέχρι 100 εμπεριέχει ι<-1. Ανήκει και αυτό το ι στην ιδία κατηγορία δεδομένων εισόδου; Δε βλέπω λόγο για να μην ισχύει τα ίδιο.

Ε ναι, αν είχες την ισοδύναμη σε Όσο η εντολή ι<-1 θα αποτελούσε δεδομένα εισόδου.

Συμφωνώ με το Θωμά, το είχα γράψει και νωρίτερα (https://alkisg.mysch.gr/steki/index.php?topic=2609.msg22797#msg22797)

Είναι φανερό το ότι κάνουμε κύκλους και δεν προχωράμε. Ο σοφός Laertis το είχε προβλέψει από την προηγούμενη φορά που συζητήθηκε το θέμα (https://alkisg.mysch.gr/steki/index.php?topic=1569.msg11208#msg11208).

Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gthal στις 20 Φεβ 2010, 12:02:59 μμ
Δώσε ένα παράδειγμα να καταλάβω ..
Δες το παράδειγμα που έδωσα πιο πάνω με τους τυχαίους αριθμούς.
Ναι, θυμάμαι το παράδειγμα
Λες λοιπόν ότι άλλο η
S<-0
και άλλο οι
χ<-290797
m<-50515093
Ας πούμε ότι διακρίνω τη διαφορά (αν και δε συμφωνώ, χωράει πολλή κουβέντα αλλά όχι για τώρα)
Ας πούμε ότι συμφωνώ.
Ποια είναι λοιπόν "είσοδος" ?  Η πρώτη ή οι δύο επόμενες ?
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: pgrontas στις 20 Φεβ 2010, 01:05:23 μμ
Είναι και τα δύο είσοδος με την έννοια ότι αρχικοποιούν τον αλγόριθμο. Επιπλέον όμως, το δεύτερο είναι περισσότερο είσοδος, αν το θες, γιατί επιτρέπει μεγαλύτερη παραμετροποίηση του αλγορίθμου.

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

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

Όπως προανέφερα και για τις δύο βρίσκω διδακτικά επιχειρήματα. Για παράδειγμα η δεύτερη άποψη διαχωρίζει σαφώς τον αλγόριθμο από το περιβάλλον. Όμως προσωπικά μου αρέσει περισσότερο η πρώτη γιατί θεωρώ ότι επιτρέπει την καλύτερη ανάλυση ενός αλγορίθμου, καθώς καταλαβαίνεις καλύτερο ποιο τμήμα δεδομένων επηρεάζει πού. Από την άλλη παραδέχομαι, ότι αυτό μπορεί να κάποιος να το τραβήξει και να οδηγηθεί σε πράγματα που φαίνονται περίεργα, όπως αυτό που ανέφερε ο gpapargi με τους περιττούς. Δεκτό, αλλά εξακολουθεί να μου αρέσει περισσότερο.   :D
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: tom στις 20 Φεβ 2010, 01:59:29 μμ
Η άλλη άποψη λέει, αν κατάλαβα καλά, ότι είσοδος  είναι ότι ρητώς 'μαρκάρεται' έτσι με μια εντολή Διάβασε ή με μια εντολή Δεδομένα ή παρακολουθώντας την εκτέλεση του αλγορίθμου ως μαύρο κουτί.
Νομίζω δεν διαφωνούμε ότι οτιδήποτε μπορεί να μπει σε διάβασε,δεδομένα κτλ. μπορεί να χρησιμοποιηθεί για την παραμετροποίηση του αλγορίθμου, δηλαδή η δεύτερη άποψη είναι υποσύνολο της πρώτης.
Αυτό λέω και γω. Που διαφωνούμε;
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gthal στις 20 Φεβ 2010, 02:03:28 μμ
.... Επιπλέον όμως, το δεύτερο είναι περισσότερο είσοδος, αν το θες, γιατί ....
Δεν μου αρέσει αυτό, όπως δε μου αρέσει και εκείνο παραπάνω:
....  Ναι γιατί όχι; Στην ουσία έχεις μια εντολή της οποία το αποτέλεσμα (S) συνδυάζεται με νέα δεδομένα  (i) και δίνει ένα
νέο αποτέλεσμα (S). .....
Γιατί μοιάζει να Φιλοσοφούμε ρε παιδιά !
"θα μπορούσε".... "γιατί όχι" ... "αν το θες" ... "περισσότερο ή λιγότερο" ... "αν το δεις έτσι ή αν το δεις αλλιώς" ...
Μα δεν κάνουμε φιλοσοφική συζήτηση ούτε συζητάμε περί των απόψεών μας. Συζητάμε επί του ορισμού της έννοιας "είσοδος".
Υπάρχει ορισμός (απ' όσο νομίζω, τουλάχιστον) που δεν θα τον φτιάξουμε εμείς ούτε θα πούμε τις απόψεις μας, ούτε θα τον τροποποιήσουμε για διδακτικούς ή άλλους λόγους.
(γιαυτό σου έλεγα Παναγιώτη παραπάνω ότι θλίβομαι που διαφωνούμε σε κάτι τόσο θεμελιώδες)
Είναι σαν δύο ομάδες Μαθηματικών, ξαφνικά στον 21ο αιώνα να διαφωνούν για το ποιοι ορίζονται ως "φυσικοί αριθμοί". Δεν χωράνε εδώ απόψεις του στυλ "εγώ νομίζω...", "εμένα θα μου άρεσε...", "εγώ το βλέπω έτσι..."  (εκτός εαν πρόκειται να επαναθεμελιώσουν τα Μαθηματικά από το μηδέν - αλλά δεν είναι η περίπτωσή μας)

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

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

Παρακαλώ, να παραθέσει εδώ ο καθένας ότι ορισμό για την έννοια είσοδος (input) μπορεί να βρει, από βιβλιογραφία, το Net, οπουδήποτε. Εγώ αρχίζω με το ευκολότερο  ;)
τον ορισμό από το wikipedia :
http://en.wikipedia.org/wiki/Input/output
<<In computing, input/output, or I/O, refers to the communication between an information processing system (such as a computer), and the outside world possibly a human, or another information processing system.>>

Άντε, μπας και ξεκολλήσουμε από το τι είναι είσοδος και περάσουμε στο αν μπορεί ένας αλγόριθμος να μην έχει είσοδο, και αν οι εκχωρήσεις είναι είσοδος.
(εδώ που τα λέμε, μπροστά στο 1ο ερώτημα που μας προέκυψε από το πουθενά, τα υπόλοιπα μου φαίνονται αστεία)
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: Νίκος Αδαμόπουλος στις 20 Φεβ 2010, 04:43:00 μμ
Άντε, μπας και ξεκολλήσουμε από το τι είναι είσοδος και περάσουμε στο αν μπορεί ένας αλγόριθμος να μην έχει είσοδο, και αν οι εκχωρήσεις είναι είσοδος.

Χα! Κι εγώ νόμιζα ότι θα έλεγες να περάσουμε στο επόμενο κριτήριο!!!  :D
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gthal στις 20 Φεβ 2010, 05:59:52 μμ
Χα! Κι εγώ νόμιζα ότι θα έλεγες να περάσουμε στο επόμενο κριτήριο!!!  :D
Στο επόμενο κριτήριο ?   :o
Σαν πολύ δεν βιαζόμαστε  ?  :D   :D  :D
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: tom στις 20 Φεβ 2010, 06:12:37 μμ
1) Να γραφεί αλγόριθμος, ο οποίος αρχικά διαβάζει ένα ποσό χρημάτων και στη συνέχεια  υπολογίζει και εμφανίζει τα χρήματα που έχουμε στην τράπεζα μετά από 10 χρόνια. Δίνεται ότι το επιτόκιο της τράπεζας παραμένει σταθερό και ίσο με 4%.

Κώδικας: [Επιλογή]
Αλγόριθμος επιτόκιο
   Διάβασε ποσό
   Για κ από 1 μέχρι 10
      ποσό<-ποσό +ποσό*4/100
   Τέλος_επανάληψης
   Εμφάνισε ποσό
Τέλος επιτόκιο

Δες εικόνα 1...

2) Να γραφεί αλγόριθμος, ο οποίος με δεδομένο αρχικό κεφάλαιο  1500 € υπολογίζει και εμφανίζει τα χρήματα που έχουμε στην τράπεζα μετά από 10 χρόνια. Δίνεται ότι το επιτόκιο της τράπεζας παραμένει σταθερό και ίσο με 4%.

Κώδικας: [Επιλογή]
Αλγόριθμος επιτόκιο
   ποσό<-1500
   Για κ από 1 μέχρι 10
      ποσό<-ποσό +ποσό*4/100
   Τέλος_επανάληψης
   Εμφάνισε ποσό
Τέλος επιτόκιο

Δες εικόνα 2...
 
Αν στο πρώτο παράδειγμα η μπλε ροή λέγεται είσοδος και το 100 δεδομένο εισόδου στο δεύτερο πως λέγεται η μπλε ροή και πως το 1500;
Για μένα οι πορτοκαλί ροές δείχνουν δευτερογενή δεδομένα και ενδιάμεσα αποτελέσματα. Αυτό εννοούσα όταν είπα:

"Ναι γιατί όχι; Στην ουσία έχεις μια εντολή της οποία το αποτέλεσμα (S) συνδυάζεται με νέα δεδομένα  (i) και δίνει ένα νέο αποτέλεσμα (S)".
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gthal στις 20 Φεβ 2010, 07:27:00 μμ
Θωμά, καλά τα λες, αλλά επιμένω ότι χρησιμοποιείς σαν να είναι ταυτόσημες τις έννοιες δεδομένα και είσοδος.
Στο πρώτο διάγραμμα, το βέλος από τη γελαστή φατσούλα μέχρι το Ι/Ο (άντε, μέχρι τη CPU) δεν είναι συνέχεια του υπόλοιπου. Το πρώτο κομμάτι για μένα λέγεται είσοδος και θα μου άρεσε να το φαντάζομαι άλλο χρώμα - ας πούμε πράσινο. Το υπόλοιπο μπλε βέλος δείχνει τη ροή των δεδομένων (άσχετα αν προήλθαν από είσοδο, ή προηγούμενους υπολογισμούς). Στο δεύτερο διάγραμμα, πολύ σωστά, δεν υπάρχει πράσινο βέλος.

Αν είσοδος δεν είναι ότι έρχεται απ' έξω αλλά κάθε εκχώρηση/αρχικοποίηση, τότε θα υποστηρίζετε, φαντάζομαι και αυτό που προκύπτει με συμμετρική λογική:
Έξοδος δεν είναι ότι βγαίνει προς τα έξω. Άρα κάθε αποτέλεσμα, ακόμα και ενδιάμεσο, είναι έξοδος.
Έτσι λοιπόν, στην εντολή S<-S+οτιδήποτε  μέσα στο βρόχο, το S είναι έξοδος ως μερικό αποτέλεσμα, και είναι είσοδος ως ενδιάμεσο δεδομένο για την επόμενη επανάληψη.
Επίσης το S<-0 είναι είσοδος (ως αρχικοποίηση) και έξοδος (ως ενδιάμεσο αποτέλεσμα)  !!!
Και οτιδήποτε μέσα στον αλγόριθμο, θα είναι είσοδος ή έξοδος ή και τα δύο !!! Τίποτα δεν γλιτώνει   :D
Φαύλος κύκλος, και ποιο το νόημα ? ?
Τι κερδίζουμε με αυτό το σκεπτικό ?
Σπαταλάμε τους χαρακτηρισμούς είσοδο και έξοδο.
Και τελικά πώς θα ονομάσουμε τα δεδομένα που πράγματι έρχονται απ' έξω και πως τα αποτελέσματα που θα δοθούν προς τα έξω ? 

Ουφ! Μπήκα πάλι στον πειρασμό να επιχειρηματολογήσω αλλά δεν πιστεύω, αλήθεια, ότι μπορώ να προσφέρω άλλο στην κουβέντα.
Θα παρακολουθώ μόνο για ορισμούς.
Ίσως να είμαι ξεροκέφαλος (  :angel: )  γι αυτό θα περιμένω να δω έναν ορισμό που δε θα συνδέει την είσοδο με το "απ' έξω"  και την έξοδο με το "προς τα έξω"  ώστε να αλλάξω γνώμη   ;)
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gpapargi στις 20 Φεβ 2010, 10:29:52 μμ
Από την άλλη παραδέχομαι, ότι αυτό μπορεί να κάποιος να το τραβήξει και να οδηγηθεί σε πράγματα που φαίνονται περίεργα, όπως αυτό που ανέφερε ο gpapargi με τους περιττούς.

Παναγιώτη κατάλαβες ποιο είναι το πρόβλημα μου. Καταλήγουμε σε περίεργα πράγματα. Δίνω ένα παράδειγμα που δείχνει πιο ακριβώς είναι το πρόβλημα.

Έστω ότι θέλουμε να κατασκευάσουμε ένα αλγόριθμο που διαβάζει ένα φυσικό αριθμό και βρίσκει το άθροισμα των διαιρετών του. Να ο αλγόριθμος:

Διάβασε ν
S<-0
Για ι απο 1 μέχρι ν
  Αν ν mod ι = 0 τότε
    S<-S+ι
  Tέλος_αν
Τελος_επαναληψης
Εμφάνισε S

Το ερώτημα είναι: «Ποια είναι η είσοδος;»

Η μια άποψη λέει ότι είσοδος είναι μόνο το ν. Η άλλη άποψη είναι ότι είσοδος είναι το ν, το S<-0 και το ι<-1.

Οι καλοί ορισμοί περά από την αυστηρότητα τους θα πρέπει να περιγράφουν και αυτό που αντιλαμβανόμαστε διαισθητικά. Στο παραπάνω παράδειγμα νομίζω ότι όλοι θα απαντήσουν ακολουθώντας τη διαίσθηση τους ότι είσοδος είναι μονό το ν. Το παράδειγμα μου είναι τραβηγμένο, «στημένο» θα έλεγα, αλλά μην ξεχνάμε ότι για να τεσταρεις ένα ορισμό τον ελέγχεις σε ακραία σενάρια για να δεις τι αποτελέσματα δίνει. Η άποψη αυτή είναι μακριά από αυτό που καταλαβαίνουμε λέγοντας «είσοδος». Και μην ξεχνάμε ότι δεν μπορούμε να γράψουμε νέες απόψεις σε σχολικό βιβλίο, αλλά μόνο καθιερωμένες.

Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: tom στις 20 Φεβ 2010, 11:33:58 μμ
Η μια άποψη λέει ότι είσοδος είναι μόνο το ν. Η άλλη άποψη είναι ότι είσοδος είναι το ν, το S<-0 και το ι<-1.

Οι καλοί ορισμοί περά από την αυστηρότητα τους θα πρέπει να περιγράφουν και αυτό που αντιλαμβανόμαστε διαισθητικά. Στο παραπάνω παράδειγμα νομίζω ότι όλοι θα απαντήσουν ακολουθώντας τη διαίσθηση τους ότι είσοδος είναι μονό το ν. Το παράδειγμα μου είναι τραβηγμένο, «στημένο» θα έλεγα, αλλά μην ξεχνάμε ότι για να τεσταρεις ένα ορισμό τον ελέγχεις σε ακραία σενάρια για να δεις τι αποτελέσματα δίνει. Η άποψη αυτή είναι μακριά από αυτό που καταλαβαίνουμε λέγοντας «είσοδος». Και μην ξεχνάμε ότι δεν μπορούμε να γράψουμε νέες απόψεις σε σχολικό βιβλίο, αλλά μόνο καθιερωμένες.

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

Κώδικας: [Επιλογή]
Αλγόριθμος επιτόκιο
   ποσό<-1500
   Για κ από 1 μέχρι 10
      ποσό<-ποσό +ποσό*4/100
   Τέλος_επανάληψης
   Εμφάνισε ποσό
Τέλος επιτόκιο

Άντε ας μη μπλέκουμε είσοδο σε cpu κλπ και γενικά εσωτερικές διεργασίες του αλγορίθμου.

Στο πλαίσιο του διδακτικού πακέτου δε χρειάζεται τίποτα άλλο πιο φιλοσοφημένο.
Άντε Σάββατο είναι. Πρέπει να πάμε και για κανένα ποτάκι  ;) Αν βρούμε καμία έγκυρη πηγή που λέει κάτι άλλο το ξαναβλέπουμε...
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: gpapargi στις 24 Φεβ 2010, 11:24:51 πμ
Μια εντολή εκχώρησης αποτελεί  δημιουργία πρωτογενών δεδομένων για τον αλγόριθμο μέσα του (0-είσοδος ή καμία είσοδος) αλλά όχι είσοδο δεδομένων στον αλγόριθμο από έξω (μία ή περισσότερες είσοδοι).

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

Εδώ κάποια θέματα είναι τα εξής:

Τι συμβαίνει ως προς την περατότητα για ένα daemon που τρέχει στο background (σαν το mail server) και ακούει αιτήσεις, τις εξυπηρετεί και γυρίζει σε  listening mode;

Πριν βιαστεί κάποιος να πει ότι τερματίζει ας δει κάτι σχετικό:

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

Διάβασε ν
Όσο 1<2 επανάλαβε
  ! εντολές που ελέγχουν αν ο ν είναι πρώτος
  Διάβασε ν
Τελος_επαναληψης

Εδώ τι γίνεται ως προς την περατότητα; Υπάρχει διάφορα με τον daemon;

Υπάρχει ταύτιση του αλγορίθμου και του process (πρόγραμμα);

Εδώ έχει ενδιαφέρον να δούμε απόψεις
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: sstergou στις 24 Φεβ 2010, 12:05:02 μμ
Νομίζω ότι στο συγκεκριμένο θέμα ο knuth δεν αναφέρεται σε δαίμονες και γενικά διαδικασίες οι οποίες εκτελούνται συνέχεια στο παρασκήνιο επικοινωνώντας με το περιβάλλον αλλά αλγορίθμους που μοιάζουν με συναρτήσεις.

Οπότε κατά την γνώμη μου υπάρχουν δύο πράγματα που μπορούμε να δεχτούμε στο συγκεκριμένο θέμα :
1)Η περατότητα είναι κριτήριο και κάθε αλγόριθμος (έτσι όπως τον εννοεί ο knuth) πρέπει να τερματίζει.
2)Η περατότητα είναι χαρακτηριστικό και υπάρχουν αλγόριθμοι που δεν τερματίζουν (όπως δαίμονες)

Δεν έχω πρόβλημα με κανένα από τα δύο.

Αλλά έχω μια προτίμηση προς το 1ο γιατί προτιμώ να μην αναφέρω λέξεις όπως server, δαίμονας, υπολογιστική διαδικασία κατά την παράδοση του συγκεκριμένου κομματιού. Αν δεχτούμε ότι υπάρχουν αλγόριθμοι που δεν τελειώνουν τότε πρέπει να αλλάξουμε και τον ορισμό. Τέλος πάντων έτσι όπως το βλέπω εγώ η υποβίβαση της περατότητας σε χαρακτηριστικό θα μπερδέψει περισσότερο και το μάθημα αλλά και τους μαθητές.
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: tom στις 24 Φεβ 2010, 03:51:03 μμ
Υπάρχουν αναφορές στη  βιβλιογραφία  για αλγόριθμους που δεν τερματίζουν γιατί δεν θέτουν στη συνθήκη ένα ερώτημα με απάντηση Ναι/Όχι αλλά απαιτούν την δημιουργία αντικειμένου/εμφάνιση μιας κατάστασης (αναφ. 1), οι οποίοι αλγόριθμοι, αργότερα ονομάστηκαν υπολογιστικές διαδικασίες (αναφ. 2).
Επίσης έχει αποδειχτεί ότι δεν μπορεί να υπάρξει γενικός αλγόριθμος που να αποδεικνύει ότι δεδομένου ενός προγράμματος και μιας/περισσότερων εισόδων, ότι κάμια στιγμή το πρόγραμμα θα σταματήσει ή θα εκτελείται για πάντα (αναφ. 3).

Αλλά αυτά ξεφεύγουν πιστεύω από το πλαίσιο του μαθήματος Α.Ε.Π.Π.

οπότε συμφωνώ με το εξής:


1)Η περατότητα είναι κριτήριο και κάθε αλγόριθμος (έτσι όπως τον εννοεί ο knuth) πρέπει να τερματίζει.

1. Kleene, Stephen C. (First Edition 1952). Introduction to Metamathematics (Tenth Edition 1991 ed.). North-Holland Publishing Company. ISBN 0720421039. 
2. Knuth, Donald (1997). Fundamental Algorithms, Third Edition. Reading, Massachusetts: Addison-Wesley. ISBN 0201896834.
3. Alan Turing, On computable numbers, with an application to the Entscheidungsproblem, Proceedings of the London Mathematical Society, Series 2, 42 (1936), pp 230–265.
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: Σπύρος Δουκάκης στις 24 Φεβ 2010, 04:12:44 μμ
Θα πρότεινα να το σπάσουμε το θέμα. Να πάει αλλού η περατότητα. Κάτω από τα αλγοριθμικά αλλά ως υποενότητα.

Επίσης προτείνω να βάλουμε το καταστάλαγμα των απόψεων για την είσοδο ως τελευταία απάντηση και να πάρουμε το ρίσκο και να κλειδώσουμε το θέμα (;;) . Ήταν σε διαβούλευση τόσο καιρό... οπότε... οι απόψεις ειπώθηκαν νομίζω.

Σ
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: Σπύρος Δουκάκης στις 05 Μάρ 2010, 02:28:17 μμ
Για την ιστορία νομίζω ότι είναι χρήσιμο να αναφέρω ότι το Διδακτικό πακέτο Β* που έχει καταργηθεί
1. αναφέρει βιβλιογραφικά τον Knuth.
2. "μιλάει" για εκείνα τα χαρακτηριστικά που θεωρούνται απαραίτητα προκειμένου να θεωρήσουμε έναν αλγόριθμο πλήρη, να μπορεί δηλαδή να επιλύσει ένα πρόβλημα αποτελεσματικά,

Με άλλα λόγια μιλάει για χαρακτηριστικά και πληρότητα αλγορίθμου.

Ας δούμε τώρα πως μετέφρασαν-ερμήνευσαν τα χαρακτηριστικά:

1. Είσοδος: Κάθε αλγοριθμος δέχεται ένα σύνολο μεταβλητών εισόδου (που μπορεί να είναι και το κενό σύνολο), οι οποίες αποτελούν τα δεδομένα του αλγορίθμου.

Αμέσως περιλαμβάνει παράδειγμα που ικανοποιεί το χαρακτηριστικό, αλλά όχι παράδειγμα που δεν το ικανοποιεί.

2. Έξοδος: Από κάθε αλγόριθμο περιμένουμε ένα αποτέλεσμα, δηλαδή με κάθε αλγόριθμο σχετίζονται μία ή περισσότερες μεταβλητές εξόδου ή αποτελέσματα.

Ακολουθεί παράδειγμα ικανοποίησης.

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

Ακολουθεί παράδειγμα μη ικανοποίησης του χαρακτηριστικού.

Άρα λείπει το ζήτημα υπολογιστικής διαδικασίας κ.τ.λ.

4. Καθοριστικότητα: Οι εντολές ενός αλγορίθμου θα πρέπει να είναι επακριβώς και αυστηρώς καθορισμένες, έτσι που η εκτέλεσή τους να γίνεται χωρίς καμία αμφιβολία και να μην απαιτούνται πρόσθετες επεξηγήσεις.

Δεν υπάρχει παράδειγμα. Το χαρακτηρίζει υποκειμενικό...

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

και συνεχίζει...

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

* με πλάγια ό,τι λέει το βιβλίο μαθητή του Διδακτικού Πακέτου Β.
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: evry στις 05 Μάρ 2010, 04:08:07 μμ
Αυτό θα πει "βάζουμε τα χέρια μας και βγάζουμε τα μάτια μας". Αυτό δυστυχώς δείχνει πως αντιλαμβάνονται κάποιοι τα θεμέλια της πληροφορικής ή τι έχουν στο μυαλό τους όταν λένε τη λέξη "πληροφορική"

Το να αποφασίσουμε κατά πόσο μία ακολουθία εντολών αποτελεί αλγόριθμο δεν είναι πάντα εύκολο, ανήκει δε στο ερευνητικό πεδίο της θεωρίας υπολογισμών, που ανήκει στην επιστήμη των Μαθηματικών.
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: Σπύρος Δουκάκης στις 05 Μάρ 2010, 05:23:16 μμ
Εντάξει!

Νομίζω ότι είναι λίγο άκαιρο το σχόλιο για το βιβλίο. Γράφτηκε το 1999... 

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

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

Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: evry στις 05 Μάρ 2010, 05:50:34 μμ
To 1999!!!! ένα έτος πριν το 2000 δεν υπήρχε η επιστήμη της πληροφορικής? Τα τελευταία 10 χρόνια εμφανίστηκε στην πλανήτη? Το βιβλία του Knuth υπάρχουν από το 1973.

δε νομίζω ότι είναι τόσο παλιά ώστε να θεωρούμε ότι η θεωρία υπολογισμού ανήκει στην επιστήμη των μαθηματικών.
 Να ήταν 1979 να το καταλάβω, αλλά όταν εν έτει 2000 γράφεται κάτι τέτοιο σε ένα σχολικό βιβλίο, αυτό λέει πολλά πράγματα γενικότερα για το μάθημα
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: Σπύρος Δουκάκης στις 05 Μάρ 2010, 05:55:50 μμ
Ωραία τα λες. Συμφωνούμε όλοι. Μπράβο που υπερασπίζεσαι την επιστήμη της πληροφορικής.

Πάμε παρακάτω;
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: tom στις 06 Μάρ 2010, 09:26:14 μμ
Κοιτάξτε τι βρήκα και θυμήθηκα μια παλιά κουβέντα μας... :)

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

"Εισαγωγή στη Σύγχρονη Επιστήμη των Υπολογιστών". Les Goldschlager, Andrew Lister, σελ. 85
Τίτλος: Απ: Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)
Αποστολή από: Σπύρος Δουκάκης στις 25 Μάρ 2010, 10:11:07 πμ
Νομίζω τελικά, ότι το ζήτημα των αλγοριθμικών κριτηρίων (καλύτερα χαρακτηριστικών) θα πρέπει να παραμείνει είτε επίσημα, είτε ανεπίσημα εκτός ύλης.

Θα προτιμούσα το δεύτερο διότι υπήρξαν στο παρελθόν θέματα εξετάσεων...