Topic outline

  • General

    Ενδεικτική Βιβλιογραφία
    Βιβλία

    1. Τεχνητή Νοημοσύνη, Βλαχάβας Ιωάννης, Κεφαλάς Πέτρος, Βασιλειάδης Νίκος, Κόκκορας Φώτης, Σακελλαρίου Ηλίας (3η έκδοση)
    2. Artificial Intelligence, Russel, Stuart; Norvig, Peter  (2η έκδοση σε ελληνική μετάφραση)
    3. Multiagent Systems: Algorithmic, Game-Theoretic, and Logical Foundations, Shoham, Yoav; Layton-Brown, Kevin
    4. An Introduction to Multiagent Systems, Wooldridge, Michael
    5. Distributed Computing: A Locality-Sensitive Approach, Peleg, David
    6. Οδηγός της Java, Schildt, Herbert (3η έκδοση μεταφρασμένη)

    Άρθρα

    1. DPOP: A Scalable Method for Multiagent Constraint Optimization; Petcu, Adrian; Faltings, Boi (2005)
  • 1. Αναζήτηση (Τρίτη 19/1/2016)

    Συζητήσαμε για τα ακόλουθα θέματα

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

    Υλικό σχετικό με την συζήτηση υπάρχει
    στο [1] στα κεφάλαια 2, 3, 4
    στο [2] στα κεφάλαια 3 και 4

    Παρακίνηση & συντονισμός συζήτησης: Δήμος Σωτήριος

    • 2. Αναζήτηση σε Παίγνια Δύο Αντιπάλων & Προβλήματα Ικανοποίησης Περιορισμών (Παρασκευή 5/2/2016)

      Συζητήσαμε

      (1) για το πρόβλημα της αναζήτησης μίας "στατηγικής" σε παίγνια δύο αντιπάλων. Δηλαδή πέρνουμε το μέρος του ενός παίκτη και ζητάμε να βρούμε μία στρατηγική (ακολουθία κινήσεων στο παιχνίδι) που θα τον οδηγήσει στην νίκη. Το πρόβλημα είναι πάρα πολύ δύσκολο! (ανήκει σε γενικές γραμμές στην κλάση P-SPACE-hard!).
      Είδαμε τους αλγόριθμους Minimax και Alpa-Beta.

      (2) για τα Προβλήματα Ικανοποίησης Περιορισμών. Ορίσαμε το πρόβλημα, είδαμε ότι αποτελεί ενα πρόβλημα αναζήτησης λύσης και είδαμε τεχνικές όπου σκοπό έχουν να "κουρέψουν" "καταστάσεις" οι οποίες δεν μπορούν να αποτελούν λύσεις και έτσι να οδηγηθούμε σε ένα σαφώς μικρότερο χώρο αναζήτησης. Πιο συγκεκριμένα ορίσαμε το γράφημα περιορισμών (constraing graph), μιλήσαμε για την συνέπεια τόξου και είδαμε τον αλγόριθμο AC-3. Τέλος συγχωνεύσαμε-συνδυάσαμε τις τεχνικές αναζήτησης λύσης με τις τεχνικές συνέπειας τόξου.

      Υλικό σχετικό με την συζήτηση υπάρχει
      στο [1] στα κεφάλαια 5 και 6,
      στο [2] στα κεφάλαια 5 και 6

      Παρακίνηση & συντονισμός συζήτησης: Μάντης Ανδρέας

      • 3. Σχεδιασμός Ενεργειών (Τρίτη 9/2/2016)

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

        Ως παράδειγμα είδαμε την γλώσσα STRIPS (η οποία χρησιμοποιεί κατηγορηματική λογική ως γλώσσα περιγραφής του κόσμου) και κάποιων επεκτάσεων αυτής. Είδαμε τον αλγόριθμο Partial Order Planner, ορίσαμε το γράφημα σχεδιασμού (graph plan) και είδαμε πως να τον περιγράψουμε με CNF (Conjunctive Normal Form) και κατά συνέπεια να αναχθεί το πρόβλημα της εύρεσης πλάνου στο SAT.

        Υλικό σχετικό με την συζήτηση υπάρχει
        στο [1] στα κεφάλαια 15 και 16
        στο [2] στα κεφάλαια 11 και 12

        Παρακίνηση & συντονισμός συζήτησης: Δήμος Σωτήριος

        • 4. Εισαγωγή στα Πολυπρακτορικά Συστήματα (Τρίτη 16/2/2016)

          Συζητήσαμε για το τι είναι πράκτορας. Είδαμε τους διάφορους ορισμούς που υπάρχουν στην βιβλιογραφία. Μιλήσαμε για τα διάφορα περιβάλλοντα εντός των οποίων μπορεί να δρα ένας πράκτορας. Ύστερα είδαμε διάφορες αφηρημένες αρχιτεκτονικές των πρακτόρων.  Διακρίναμε τους πράκτορες με εσωτερική κατάσταση (=εσωτερικό μοντέλο το οποίο αντικατορπτίζει το τι πιστεύει ο πράκτορας για το περιβάλλον του) και τους αντιδραστικούς πράκτορες. Συζητήσαμε για την αρχιτεκτονική BDI (Beliefs - Desires - Intentions).

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

          Υλικό σχετικό με την συζήτηση υπάρχει
          στο [1] στα κεφάλαια 27 και 28
          στο [2] στο κεφάλαιο 2

          Παρακίνηση & συντονισμός συζήτησης: Παπαϊωάννου Ιωάννης

          • 5. Οντολογίες & Σημασιολογικός Ιστός (Τρίτη 23/02/2016)

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

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

            Συζητήσαμε για την έννοια της οντολογίας και είπαμε για δύο γλώσσες σημασιολογικής επισήμανσης, την RDFS και την OWL. Τέλος ειδαμε το πρόβλημα του ontology matching

            Υλικό σχετικό με την συζήτηση υπάρχει
            στο [1] στο κεφάλαιο 29

            Παρακίνηση & συντονισμός συζήτησης: Παπαϊωάννου Ιωάννης

            • 6. Πολυπλοκότητες Κατανεμημένου Αλγορίθμου (Τρίτη 15/03/2016)

              Είδαμε τι είναι κατανεμημένος αλγόριθμος και μιλήσαμε για 3 είδη πολυπλοκότητας

              Local complexity, Message Complexity (πλήθος μηνυμάτων & πλήθος bit), Run Complexity

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

              Υλικό σχετικό με τη συζήτηση υπάρχει:
              στο [5]

              Παρακίνηση & συντονισμός συζήτησης: Σακαβάλας Δημήτριος

              • 7.1. Κατανεμημένη Ικανοποίηση Περιορισμών: Μέρος Α (Τριτη 5/4/2016)

                Θα μιλήσουμε για Κατανεμημένα Προβλήματα Ικανοποίησης Περιορισμών και Καταναμημένη Βελτιστοποίηση.
                Distributed Constraint Satisfaction Problems (DCSP) και Distributed Constraint Optimization Problems (DCOP)
                Παρουσίαση των αλγορίθμων DTREE και DPOP (Dynamic Programming Optimization Protocl)

                Υλικό σχετικό με την συζήτηση υπάρχει:
                στο [3] στο Κεφάλαιο 1
                στο άρθρο [α]

                Παρακίνηση & συντονισμός συζήτησης: Δήμος Σωτήριος

                • 8.1 Επισκόπηση της Java, Μέρος A (Τρίτη 19/4/2016)

                  Επισκόπηση της γλώσσας Προγραμματισμού Java

                  Παρακίνηση & συντονισμός συζήτησης: Μάντης Ανδρέας

                  • 8.2 Επισκόπηση της Java, Μέρος Β (Τρίτη 10/5/2016)

                    Γνωριμία με την Java. Συγγραφή ενός λιγότερου απλού Hello World προγράμματος

                    Παρακίνηση & συντονισμός συζήτησης: Δήμος Σωτήριος

                  • 8.3 Επισκόπηση της Java, Μέρος Γ (Τρίτη 24/5/2016)

                    Επισκόπηση των βασικών στοιχείων της Java μέσω διάφορων κατασκευών του αφηρημένου τύπου δεδομένων της λίστας.

                    Γραμμικές λίστες, υλοποίηση με πινακα, απλά συνδεδεμένη λίστα και διπλά συνδεδεμένη λίστα. Υλοποίηση της λειτοργιάς FIFO και LIFO ουράς.

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

                    Παρακίνηση & συντονισμός συζήτησης: Δήμος Σωτήριος