Προς το περιεχόμενο

KostasKarditsa

Members
  • ΜΗΝΥΜΑΤΑ FORUM

    21
  • ΜΕΛΟΣ

  • ΤΕΛ. ΕΠΙΣΚΕΨΗ

KostasKarditsa's Achievements

Proficient

Proficient (10/15)

  • Πρώτο Μήνυμα
  • Collaborator
  • Εκκίνηση Συζήτησης
  • 1 Εβδομάδα Μετά
  • Ένα Μήνα Μετά

Πρόσφατες Διακρίσεις

0

Φήμη

  1. Alpha version του Leon (mobile για Android) ως freeware! για testing Μετά από κάποια προσπάθεια το Leon τρέχει τώρα και σε περιβάλλον Android! Μπορείτε να κατεβάσετε την εφαρμογή για κινητά ή tablets για Android εδώ: http://www.tournavitis.de/leon/mobile/Leon.apk Αυτή η έκδοση για Android δίνεται δωρεάν! Θα ήθελα να ακούσω την γνώμη σας και προβλήματα συμβατότητας με διάφορα κινητά ή tablets ώστε να γίνει καλύτερη! Η mobile έκδοση του Leon χρησιμοποιεί τον ίδιο κώδικα με την έκδοση για windows οπότε πρόκειται ουσιαστικά για την ίδια εφαμρμογή όπως την ξέρεται και από το περιβάλλον windows.
  2. Γειά σας παιδιά. Μετά από λίγο καιρό το επόμενο update του Leon είναι έτοιμο. Στην καινούργια έκδοση 1.2 υπάρχει πολύ μεγάλη βελτίωση στο πλακωτό. Η παλαιότερη έκδοση του πλακωτού είχε ένα σημαντικό σφάλμα κατά την διαδικασία μάθησης με αποτέλεσμα κάποιες φορές το Leon να μην παίζει καλές κινήσεις στο πλακωτό. Ιδιαίτερα δε να αφήνει τη μάνα του ανοιχτή... Με την καινούργια έκδοση το πλακωτό είναι περίπου 0.45(!) πόντους ανά παιχνίδι ισχυρότερο, μια πραγματικά πολύ σημαντική βελτίωση. Επίσης υπήρχουν κάποιες βελτιώσεις στη μηχανή αναζήτησης. Το Leon μπορείτε να το κατεβάσετε εδώ: www.leon.tournavitis.de Καλές ζαριές!
  3. Μπορείς να μου στείλεις με email το Install Code σου? Ένα global Array που έπρεπε να αντιγραφεί σε local array κατά τη διάρκεια του searching. Η πλάκα είναι ότι το έκανα αντιγραφή, αλλά χρησιμοποίησα κατά λάθος το global array.. Οπότε η διόρθωση ήταν απλώς θέμα ενός δευτερολέπτου... Δεν ξέρω πόση εμπειρία έχεις σ' αυτό αλλά δεν είναι τόσο απλό. Επειδή έχω παίξει εκατοντάδες εάν όχι χιλιάδες παρτίδες με αυτά τα προγράμματα στο GGS η διαφορά είναι όπως την περιέγραψα. Απλά στο σκάκι χρειάζεται μια πολύ γρήγορη μηχανή αναζήτησης. Δεν είναι κατά τη γνώμη μου το σκάκι δυσκολότερο από το τάβλι. Σε προκαλώ να το δοκιμάσεις Ένα πολύ βασικό πρόβλημα είναι το generalization όπως και το overfitting. Συμφωνώ με το παράδειγμά σου, αλλά μην ξεχνάς ότι παίχτηκαν 5000 διπλές παρτίδες. Σκέτο expectimax!? Ξέχνα το... Δεν μπορώ να σου πω με ακρίβεια το χρόνο γιατί εξαρτάται από τις θέσεις, αλλά τουλάχιστον 10 με 100 φορές περισσότερο...
  4. Σ' ευχαριστώ! Αυτά που έγραψες με βοήθησαν πολύ!. Το βασικότερο είναι ότι εντόπισα ένα σημαντικό bug που προστέθηκε στην μηχανή αναζήτησης του Leon με το τελευταίο update. Μικρό από προγραμματιστικής πλευράς αλλά μεγάλο από πλευράς προγράμματος.. Τώρα το Leon είναι σαφώς πολύ πιο ισχυρό. Θα σε παρακαλούσα να το ξαναδείς. Στείλε μου ένα email για να σου πω λεπτομέρειες. Μην υποτιμάς το χρόνο που χρειάζεσαι για να φτιάξεις μόνος σου ένα καλό πρόγραμμα τάβλι. Υπολόγισε τουλάχιστον 2 με 3 χρόνια, ανάλογα βέβαια και με την εμπειρία που έχεις. Ναι, εγώ είμαι. Καταρχάς όλα τα καλά προγράμματα Othello/Reversi είναι ελεύθερα. Δεν υπάρχει σοβαρό πρόγραμμα που να μπορείς να το αγοράσεις. Στην εποχή που ήμουν ακόμη ενεργός στο Othello, το Νtest ήταν ελαφρώς ισχυρότερο του Herakles στα στάνταρντ παιχνίδια αλλά αρκετά χειρότερο σε παιχνίδια που ξεκινούσαν με τυχαία αρχική θέση. Το Edax ήταν παρόμοια ισχυρό αλλά σαφώς όχι ισχυρότερο. Το Zebra ήταν πιο αδύναμο. Το Herakles παίζει 3 παραλλαγές Othello. Το 8x8, το 10x10 και το Octagon. Μέχρι και που έβγαλα το 10x10 οι άνθρωποι πίστευαν ότι δύσκολα οι υπολογιστές θα καταφέρουν να κερδίζουν τους ανθρώπους στο 10x10. Αλλά τελικά αποδείχτηκε το αντίθετο... Ακόμη και σήμερα όσο γνωρίζω το Herakles εξακολουθεί να είναι το ισχυρότερο πρόγραμμα σε 10χ10 στον κόσμο. Σε ότι αφορά τις αναλύσεις στα παιχνίδια, θα σε παρακαλούσα να το ξαναδείς μετά τη διόρθωση του Bug. Οπότε δεν θα μπω προς το παρόν σε τέτοιες λεπτομέρειες. Επικοινώνησε μαζί μου για να σου πω πως. α) Παρότι δεν συμφωνώ θεωρητικά με την έννοια του unsupervised, με βάση τον τρόπο που χρησιμοποιείται τότε ναι είναι unsupervised. Το κάθε παιχνίδι είναι ένα τεράστιο νευρωνικό δίκτυο που ξεκίνησε με μηδενική γνώση, δηλαδή μόνο τους κανόνες, και έμαθε παίζοντας εκατομμύρια παρτίδες εναντίων του εαυτού του. β) Χρησιμοποίησα αρκετές παραλλαγές του TD(λ) αλγόριθμου, καταλήγοντας στο τέλος στον TD(0) αλλά με αρκετές μικρές διαφοροποιήσεις ώστε να δουλέψει καλά. γ) Τα inputs είναι διαφορετικά από αυτά που έχουν χρησιμοποιηθεί στα σημερινά προγράμματα backgammon. Καταρχάς δεν έβαλα καθόλου λογική(!). Στις πόρτες π.χ τα inputs είναι κάποιες εκατομμύρια(!) boolean συναρτήσεις που δημιουργήθηκαν αυτόματα. Αυτό κάνει το Leon και ξεχωριστό σε σχέση με άλλα προγράμματα στον τρόπο που παίζει. Επίσης στις πόρτες υπάρχει ένα μεσαίο layer με 64 neurons. Οπότε όπως καταλαβαίνεις υπάρχουν αρκετά ακόμη περιθώρια να γίνει η μηχανή ακόμη πιο ισχυρή. δ)Παίχτηκαν πολλά(!) εκατομμύρια παρτίδες. Δεν θυμάμαι ακριβώς πόσες αλλά στις πόρτες πρέπει να ξεπέρασαν τα 80 εκατομμύρια. Ίσως και κοντά στα 100... Δυστυχώς δεν έχω πια το χρόνο να γράψω κάποιο άρθρο για τον τρόπο που έμαθε το Leon. Πάντως λόγω της ιδιαιτερότητας της τοπολογίας του νευρωνικού δικτύου που χρησιμοποίησα, πολλές ιδέες που παρουσίασα τότε στην δημοσίευση αυτή, χρησιμοποιήθηκαν και στο Leon. Το απλό TD(0) απλά δεν φτάνει.. Μην υποτιμάς τη δυσκολία που έχει το τάβλι σε σχέση με το σκάκι (έχω γράψει και μηχανή που παίζει σκάκι) καθώς και το θέμα της μάθησης. Δεν είναι απαραίτητα θέμα αριθμού παιχνιδιών! Και για να είμαι ειλικρινής από ένα σημείο και μετά όσο περισσότερα παιχνίδια παίζει για να μάθει το πιθανότερο είναι να γίνεται χειρότερο.. Καταρχάς για να βάλουμε τη συζήτηση στη σωστή βάση τα 10000 παιχνίδια ήταν ουσιαστικά 5000 διπλά παιχνίδια. Με διπλό παιχνίδι εννοώ ότι το πρώτο παιχνίδι παίζεται με τυχαίο ζάρι ενώ στο δεύτερο παίζονται οι ίδιες ζαριές αλλά αλλάζοντας τη σειρά των παιχτών. Δηλαδή στο δεύτερο παιχνίδι το Leon έπαιζε τις ζαριές που έπαιζε το GNUBg στο πρώτο παιχνίδι και το GNUBg αυτές που έπαιζε το Leon στο πρώτο. Με αυτό τον τρόπο προσπάθησα όσο φυσικά εφικτό να μειώσω τον παράγοντα τύχη. Θα μου επιτρέψεις να διαφωνήσω (τουλάχιστον προς το παρόν) ότι με rollouts και αναλύσεις θα πάρεις καλύτερα αποτελέσματα από τον τρόπο που χρησιμοποίησα εγώ. Και στα rollouts και στις αναλύσεις η λογική του κάθε προγράμματος που τις κάνει παίζει σημαντικό ρόλο. Σκέψου ένα πρόγραμμα που παίζει τελείως τυχαία. Πόσο θα εμπιστευόσουνα τα rollouts ή τις αναλύσεις αυτού του προγράμματος? Καταρχάς στο βάθος αναζήτησης και δεύτερον στο aggresiveness των selective search extensions. To expert π.χ ψάχνει σε βάθος 2 plies χωρίς(!) selective search extensions. Το professional ψάχνει σε βάθος 3 plies με πολύ agressive selective search extensions. To υψηλότερο επίπεδο ψάχνει επίσης σε βάθος 3 plies αλλά με λιγότερο aggressive selective search extensions. Χαχα. Όντως ότι χειρότερο. Όπως είπα η έκδοση του Leon που δοκίμασες είχε ένα σημαντικό bug στην μηχανή αναζήτησης και σ' ευχαριστώ που ήσουν αυτός που με έδωσε να καταλάβω που βρίσκεται και να το διορθώσω. Λειτουργίες ανάλυσης είναι στο todo list. Πίστεψέ με ότι δεν θα σε απογοητεύσω.. Εδώ κατάλαβα που βρίσκεται το bug στην μηχανή αναζήτησης. Σ' ευχαριστώ!!! Το Leon δεν έχει randomizer στις κινήσεις. Θα σε παρακαλούσα να ξανακατεβάσεις το Leon με το διορθωμένο bug και να ξανακάνεις τις δοκιμές σου. Επικοινώνησε μαζί μου! Όχι minimax αλλά τον λεγόμενο expectimax αλλά με κάποιες διαφοροποιήσεις. Επίσης χρησιμοποείται και ο STAR2 με τον οποίο είχα καλά αποτελέσματα. Ναι όλα αυτά είναι στο todo list.
  5. Μπορείς να μου πεις ποιες είναι αυτές? Σ' ευχαριστώ! Με την υποστήριξή σας ελπίζω το Leon να γίνεται κάθε μέρα καλύτερο
  6. Το πρώτο update του Leon είναι έτοιμο με πολύ σημαντικές βελτιώσεις και διορθώσεις κάποιων μικρών bug. 1. Με την νέα έκδοση υποστηρίζονται πολυπύρηνοι επεξεργαστές. Αυτό έχει ως αποτέλεσμα το Leon να είναι πολύ πιο γρήγορο στις απαντήσεις του κάτι που είναι ιδιαίτερα σημαντικό στα 2 τελευταία επίπεδα δυσκολίας. Στο μενού των Ρυθμίσεων (Options) μπορεί κάποιος να ρυθμίσει τον αριθμό των πυρήνων που θα χρησιμοποιούνται. Προεπιλογή είναι να χρησιμοποιούνται όλοι οι πυρήνες. Ο χρόνος π.χ με τη χρήση 2 πυρήνων για μία κίνηση μειώνεται σχεδόν στο μισό. 2. Βελτίωση του χρόνου αναζήτησης των καλύτερων κινήσεων (πέρα από την χρήση όλων των πυρήνων του επεξεργαστή) χωρίς μείωση του επιπέδου δυσκολίας. Συνολικά με το (1) και (2) υπάρχει μεγάλη βελτίωση της ταχύτητας ιδιαίτερα στα 2 καλύτερα τελευταία επίπεδα. 3. Οι γεννήτριες (ψευδο)τυχαίων αριθμών (που ρίχνουν το ζάρι) βρίσκονται πια εκτός προγράμματος (σε μορφή script) και κάποιος που έχει λίγο γνώση προγραμματισμού μπορεί να πειραματιστεί μαζί τους να προσθέσει καινούργιες ή να τις τροποποιήσει. Το βασικό όμως πλεονέκτημα είναι ότι αποδεικνύουν 100% ότι το Leon δεν κλέβει στη ζαριά. Έχω φτιάξει και μία ειδική γεννήτρια η οποία το αποδεικνύει αυτό πέρα από κάθε αμφιβολία. Εάν χρειαστεί κάποιος λεπτομέρειες μου λέει. Υπάρχουν 4 γεννήτριες. Μπορεί κανείς να αλλάξει την γεννήτρια στις ρυθμίσεις. Προεπιλογή είναι το "Marsenne Twister". 4. Προστέθηκε η δυνατότητα οι ζαριές να έρχονται από το www.random.org. Δηλαδή σ' αυτή την περίπτωση οι ζαριές είναι πραγματικά τυχαίες και το Leon τις παίρνει από την υπηρεσία random.org. Η υπηρεσία αυτή παράγει εδώ και χρόνια με ειδικό hardware πραγματικούς τυχαίους αριθμούς χρησιμοποιώντας τον θόρυβο της ατμόσφαιρας. Για να μπορέσει κάποιος να χρησιμοποιήσει αυτή τη δυνατότητα στο Leon πρέπει να επιλέξει στις ρυθμίσεις την γεννήτρια αριθμών "Random.org" και να έχει φυσικά σύνδεση στο internet. Επειδή η χρήση του random.org δίνει πραγματικά τυχαίους αριθμούς δεν είναι εφικτό να επαναληφθούν οι ζαριές με τη χρήση του Seed. 5. Βελτίωση του προγράμματος εγκατάστασης, ώστε να δημιουργείται ομάδα με το όνομα "Leon" στην "'Εναρξη"/"Όλα τα προγράμματα" καθώς και εικονίδιο στην επιφάνεια εργασίας. 6. Κάποιες μικρότερες αλλαγές/βελτιώσεις συνολικότερα στο πρόγραμμα. 7. Διόρθωση κάποιων μικρών bugs που υπάρχαν στην πρώτη έκδοση. Επίσης σε κάποια συστήματα με Windows 7 δεν λειτουργεί σωστά το αυτόματο update. Σε αυτή την έκδοση διορθώθηκε. Εάν έχετε ήδη κατεβάσει το πρόγραμμα τότε το Leon θα κάνει αυτόματα update στην νέα έκδοση (1.1.0) την επόμενη φορά που θα ξεκινήσει το πρόγραμμα. Σε περίπτωση που υπάρξει κάποιο πρόβλημα με το αυτόματο update απλά κατεβάστε την νέα έκδοση από τη σελίδα www.leon.tournavitis.de (στο κουμπί που λέει download) και κάντε εγκατάσταση. Για να μπορέσετε να ελέγξετε τις νέες λειτουργίες της εφαρμογής δίνω κλειδί που την ξεκλειδώνει για 7 ημέρες! Πάτε στο μενού Register δώστε ένα όνομα και ένα email που ισχύει (!) και πατήστε το button "Try all features of Leon for 7 days" Καλές ζαριές!
  7. To extreme gammon είναι ένα πάρα πολύ καλό πρόγραμμα. Αλλά παίζει μόνο την παραλλαγή Backgammon, δηλαδή τις πόρτες όπως παίζονται στη δύση (με βίδο). Έχει και άλλα πολύ καλά προγράμματα για Backgammon. Δεν ήθελα με το Leon να φτιάξω ακόμη ένα από αυτά. Ο σκοπός του Leon είναι να είναι ένα πολύ καλό πρόγραμμα για το ελληνικό(!) τάβλι. Παίζει δηλαδή όλα τα παιχνίδια σε ένα πολύ καλό επίπεδο δυσκολίας. Πόρτες, πλακωτό και φεύγα. Εάν υπάρξει όμως ενδιαφέρον θα προσθέσω κάποια στιγμή και την παραλλαγή Backgammon με βίδο. Σε ότι αφορά το θέμα της φιλικότητας προς το χρήστη πολύ ευχαρίστως να ακούσω τις προτάσεις σου για βελτίωση. Φιλικά Κώστας
  8. Πρόσθεσα σελίδα του Leon στο facebook. Εάν σας αρέσει το Leon, ψάξτε για Leon King of Tavli στο facebook και γίνεται φίλοι ή κάντε like. Εκεί θα δημοσιεύω τα νέα και άλλες πληροφορίες για την εφαρμογή, θα ακούω προτάσεις για βελτίωση και θα απαντώ σε ερωτήματα. Stay tuned. Φιλικά Κώστας PS. Είναι η πρώτη φορά που κάνω κάτι τέτοιο στο facebook οπότε εάν έχετε κάποιες συμβουλές θα ήθελα να τις ακούσω.
  9. Τελικά απ' ότι φαίνεται μάλλον ήταν λάθος μου να βάλω στην παρούσα φάση τα τελευταία δύο επίπεδα στο πρόγραμμα καθώς στο ίδιο αναφέρθηκαν και άλλοι. Το πρόβλημα είναι κυρίως στο πλακωτό και στο φεύγα ενώ στις πόρτες δεν είναι τόσο έντονο. Υπόσχομαι στην επόμενη έκδοση να το βελτιώσω σημαντικά. Πάντως όπως ξαναέγραψα ανάμεσα στο expert και στο τελευταίο η διαφορά είναι ελάχιστη και ούτε καν θα την καταλάβεις. Σε περίπτωση που έχεις αγγλικά στο gui: Πήγαινε στo μενού Options και ξεκλικάρισε το "Leon plays forced moves". Σε περίπτωση που έχεις ελληνικά στο gui: Πήγαινε στο μενού Ρυθμίσεις και ξεκλικάρισε το "Αυτόματο παίξιμο μοναδικής κίνησης" Έτσι θα κάνει αυτό που ζητάς. Ναι είναι αρκετοί που το προτιμούν έτσι. Είναι στο todo list. Σ' ευχαριστώ! Και υπόσχομαι ότι θα γίνεται συνεχώς καλύτερο.
  10. Δεν θα μπω καν στον κόπο να απαντήσω σε μία τέτοια προσωπική επίθεση γιατί δεν θα μας οδηγήσει πουθενά και είναι εκτός θέματος. Σ' ευχαριστώ!
  11. Δεν ξέρω πως το θέτεις, αλλά έχω την εντύπωση ότι δεν κατάλαβες τι είπα. Πιθανώς να φταίω και εγώ. Επαναλαμβάνω απλά και μόνο για να μην μείνει διάχυτο στον αέρα το θέμα της ποιότητας της γεννήτριας ψευδοτυχαίων αριθμών: Ακόμη και το πιο απλό random μιας γλώσσας προγραμματισμού είναι υπεραρκετό για την ποιοτική όπως αναφέρεις ζαριά! Το πρόβλημα ξεκινά στον τρόπο που οι άνθρωποι αντιλαμβανόμαστε την τύχη μας. Στο κανονικό τάβλι όταν ο αντίπαλος μας φαίνεται πιο τυχερός τον λέμε κω...ρδο, κι αυτό γιατί όλοι γνωρίζουμε ότι ποτέ δεν μπορεί κάποιος να προκαθορίσει το ζάρι όταν το ρίχνει. Δύσκολα όμως τον λέει όμως κανείς καλύτερο! (ειδικά δε τότε που συστηματικά είναι πιο "τυχερός"!). Παίζοντας εναντίον ενός προγράμματος το θέμα είναι ακόμη πιο περίπλοκο!. Εδώ δεν θέτουμε καν θέμα τύχης ή ικανότητας του υπολογιστή αλλά θέμα αξιοπιστίας του προγράμματος. Είτε νομίζουμε δηλαδή ότι ο υπολογιστής μας "κλέβει" στη ζαριά είτε ότι η παραγωγή των τυχαίων αριθμών δεν είναι αρκετά καλή κτλ.. Άρα το ουσιαστικό θέμα δεν είναι η ποιότητα της παραγωγής των τυχαίων αριθμών (αυτή είναι πάντα υπεραρκετά καλή για μια τέτοια εφαρμογή), αλλά η αξιοπιστία του προγράμματος!. Έτσι λοιπόν είναι σύνηθες σε καλά και σοβαρά προγράμματα backgammon να γίνεται πολλή δουλειά στο θέμα της αξιοπιστίας! 1. Μέσω του seed όπως απάντησα στο προηγούμενο πόστ μου! 2. Χρησιμοποιώντας περισσότερους από έναν αλγόριθμους όπως π.χ τον Mersenne Twister που αποδεδειγμένα είναι καλύτεροι από τους standard random, στην παραγωγή ψευδοτυχαίων αριθμών. Ουσιαστικά όμως γίνεται μόνο για το θέμα της αξιοπιστίας. 3. Δίνοντας τη δυνατότητα να μπορεί ο χρήστης να εισάγει την ζαριά που θέλει. 4. Χρησιμοποιώντας σελίδες στο internet που παράγουν πραγματικούς τυχαίους αριθμούς όπως το random.org . Πάλι μόνο για θέμα αξιοπιστίας. Στο Leon αυτή τη στιγμή καλύπτει τα σημεία 1, 2 και 3. Το 4 είναι στα todo list. Και εάν μην ξεχνάμε ότι δεν κάνουμε ούτε αλγόριθμους κρυπτογράφησης σε ερευνητικό επίπεδο ούτε online casino!. Ένα παιχνίδι είναι για να περνά κάποιος που του αρέσει ευχάριστα την ώρα του, έχοντας έναν αντίπαλο που παίζει σε ένα επίπεδο πολύ καλύτερο από αυτό που ξέραμε ίσως μέχρι σήμερα. Γι' αυτό και απάντησα. Παρότι δεν σου αρέσει το τάβλι χαίρομαι όταν μπορώ να απαντήσω και σε τεχνικά θέματα. Καταρχάς ποτέ δεν είπα ότι το Leon είναι "ουάου". Αυτό είναι δικιά σου έκφραση. Και εάν το θέμα σου ήταν αυτό τότε είναι κατά τη γνώμη μου λάθος ο τρόπος που προσπάθησες να αποδείξεις ή να ελέγξεις το αντίθετο. Υπάρχουν σαφώς πολύ καλύτεροι τρόποι. 1. Θα μπορούσες π.χ να δεις με ένα απλό search στο google ή στο wikipedia ποιος είμαι και πιο είναι το background μου σε τέτοια θέματα. 2. Θα μπορούσες να κάνεις αναλύσεις από παρτίδες που έπαιξε το Leon εναντίων άλλων ισχυρών προγραμμάτων καθώς και τη βαθμολογία που πήρε στις αναλύσεις αυτές. Αυτό είναι και το βασικό!. Αυτό βέβαια προϋποθέτει να σου αρέσει το τάβλι και για να είμαι ειλικρινής σε τέτοιους χρήστες απευθύνομαι. (Τέτοια παραδείγματα έχω στη σελίδα του Leon και μπορεί κάποιος να τα δει) 3. Εάν είχες θεωρητική και πρακτική γνώση επί του θέματος να με ρωτήσεις θέματα που πραγματικά είναι δύσκολο να απαντηθούν, αλλά και θα ήταν ακόμη πιο ουσιαστικά για την βελτίωση του προγράμματος. Τίποτα δεν είναι τέλειο. Δεν "πιάστηκα" πουθενά. Δεν την απάντησή μου επάνω. Χαίρομαι να απαντώ πάντα σε καλοπροαίρετες ερωτήσεις, όσο δύσκολες και να είναι και ελπίζω να σε ικανοποίησα με τις απαντήσεις μου. Και εάν κάποιο θέμα σε ενδιαφέρει πραγματικά (και όποιον άλλο φίλο επίσης) θα νιώσω ευτυχής να το συζητήσουμε. Ναι είναι το auto update. Και μια και υπάρχουν σίγουρα θέματα που πιθανώς να τα γνωρίζεις καλύτερα από μένα, περιμένω ακόμη την απάντησή σου στο θέμα του packer/protector που σου έθεσα σε προηγούμενο πόστ μου. Φιλικά Κώστας
  12. Απάντησα στο προηγούμενο ποστ μου. Ποτέ δεν είπα ότι στο επίπεδο "Expert" ή "Πολύ δυνατός παίχτης" (στα Ελληνικά) δεν είναι ποιοτικό ΑΙ!. Είπα προηγουμένως "πέραν ίσως" για τους πολυπύρηνους επεξεργαστές.. Το παράδειγμα 100 με 98 αναφερόταν σε βελτιστοποίηση με κώδικα μηχανής. Παρόλα αυτά επιμένω ότι είναι πιο ουσιαστικοί οι αλγόριθμοι. Πάντως η υποστήριξη πολυπύρηνων επεξεργαστών είναι στο todo list! Ή δεν κατάλαβα τι λες ή έχουμε διαφορετική αντίληψη για τη στατιστική. Θα μπορούσες να μου το εξηγήσεις αυτό μαθηματικά ή να μου δώσεις κάποιο link που να λέει κάποιος εμπεριστατωμένα το ίδιο? Και για να μην συζητάμε άσκοπα στο todo list του Leon είναι και η υποστήριξη του random.org. Πιστεύεις ότι αυτό θα βοηθούσε? Εδώ είναι μάλλον το ουσιαστικό σου θέμα και είναι κατανοητό όπως και φυσικά σε αντιλήφθηκα από την αρχή. Να το πω ξεκάθαρα: Το Leon δεν κλέβει στη ζαριά!!!! Εάν δεν εμπιστεύεσαι αυτό που λέω, στο κάτω δεξιό μέρος της εφαρμογής μπορείς να διαβάσεις το seed. Μπορείς στη συνέχεια να πας στα options και να γράψεις αυτό τον αριθμό ή έναν οποιονδήποτε άλλο. Θα δεις ότι για τον ίδιο αρχικό αριθμό seed οι ζαριές που ρίχνονται είναι ίδιες και αδιάφορες από την θέση που έχουν τα πούλια στο τάβλι. Εάν δεν σε καλύπτει αυτό, το Leon δίνει και τη δυνατότητα να δώσεις manual τις ζαριές. Πάρε ρίξε τα ζάρια στο πραγματικό σου τάβλι και πέρασέ τες στην εφαρμογή. Είπα και προηγουμένως ως απάντηση και ίσως να μην το κατάλαβες, ότι στην αμέσως επόμενη έκδοση του Leon οι ζαριές θα έρχονται από εξωτερικό script. Μπορείς δηλαδή να πειράξεις ακόμη και τον κώδικα και να ελέγξεις ότι θέλεις. Πραγματικά δεν ξέρω τι άλλο θα μπορούσα να κάνω και εάν έχεις κάποια καλή ιδέα ευχαρίστως να την συζητήσουμε. Πάντως και αυτό ισχύει για όλες τις καλές εφαρμογές backgammon όταν νιώθεις ότι το πρόγραμμα είναι πολύ τυχερό ή σε κλέβει, χρειάζεται συνήθως να κατεβάσεις το επίπεδο δυσκολίας που παίζεις...
  13. Δεν είναι σωστό κατά τη γνώμη μου το επιχείρημά σου. 1. Τα δύο τελευταία επίπεδα είναι μεν αρκετά πιο αργά, δηλαδή δεν έχεις άμεση απόκριση στις κινήσεις του υπολογιστή αλλά παρόλα αυτά πιστεύω ότι ο χρόνος αυτός είναι ακόμη στα επιτρεπτά όρια, για το λόγο που υπάρχουν πάντα αυτά τα επίπεδα. 2. Τα επίπεδα αυτά έρχονται να καλύψουν και ανάγκες κάποιων που θα ήθελαν να μελετήσουν ένα παιχνίδι και όχι απλά να παίξουν μια γρήγορη παρτίδα. Και σε προγράμματα σκάκι π.χ μπαίνουν πολύ υψηλά επίπεδα με πολύ αργούς χρόνους απόκρισης. Δεν θα έπρεπε να υπάρχουν? Η δεν έχει νόημα να παίζεις τα άλλα επίπεδα? 3. Το επίπεδο "expert" (στο αγγλικό gui) είναι κατά τη γνώμη μου το καλύτερο επίπεδο για να παίξει ένας πολύ δυνατός παίχτης γρήγορες παρτίδες. Η διαφορά στο επίπεδο που παίζει σε σχέση με το world master είναι μικρή και το ζάρι παίζει έτσι κι αλλιώς ένα τόσο σημαντικό ρόλο που η διαφορά αυτή ουσιαστικά κατά τη διάρκεια της παρτίδας δεν παίζει κανένα ρόλο. Επίσης ο χρόνος απόκρισης είναι πολύ μικρός. 4. Θα μπορούσα αυτό που ονομάζω επίπεδο "expert" να το είχα ονομάσει "world master". Θα ήταν καλύτερα? Θέλω να πω ότι καμιά φορά το μυαλό μας παίζει περίεργα παιχνίδια. Επαναλαμβάνω ότι οι διαφορές είναι πολύ μικρές και αμφιβάλλω ότι το 99% των ανθρώπων θα δει κάποια διαφορά. Όπως παρόμοια είναι και στο σκάκι... Ναι θα μπορούσα να είχα γράψει κάποια κομμάτια σε π.χ 64Bit assembly, για 4πύρηνους επεξεργαστές, ειδικές functions για κάθε είδος επεξεργαστή κτλ. Πέραν ίσως από τη χρήση περισσοτέρων πυρήνων δεν θα έβλεπες κάποια ουσιαστική διαφορά. Εάν έκανε π.χ 100 δευτερόλεπτα και τώρα κάνει 98 δεν αλλάζει κάτι. Πάλι αργό θα ήταν... Και επειδή σε τέτοιους αλγόριθμους είναι εύκολο να μπουν, χωρίς να το καταλάβεις μπαγκάκια, άντε να διορθώσεις ένα τέτοιο κατεβατό. Η ουσιαστική διαφορά σε τέτοιου είδους εφαρμογές έρχεται από τους αλγόριθμους και ένα από τα βασικότερα είναι τα selective search extensions. Η ταχύτητα απόκρισης έρχεται, ως επί το πλείστον, από το πόσο agressive είναι τα extensions αυτά. Θα μπορούσα δηλαδή να κάνω το επίπεδο "world master" απίστευτα γρήγορο. Το θέμα είναι κατά πόσο θα έπαιζε καλύτερα... Το να βρεις πόσο agressive πρέπει να κάνεις ένα επίπεδο, ώστε από τη μία να είναι δυνατότερο του προηγουμένου και από την άλλη όσο το δυνατόν πιο γρήγορο, είναι μια αρκετά επίπονη δουλειά και ο βασικός τρόπος είναι μόνο η στατιστική. Μην με καταλάβετε λάθος. Ποτέ τίποτα δεν είναι τέλειο και πάντα υπάρχουν περιθώρια βελτίωσης. Είμαι σε συνεχές ψάξιμο! Εάν δεν ήμουν από αυτούς που πραγματικά παλεύουν για τη βελτιστοποίηση της λεπτομέρειας (..της λεπτομέρειας...), μία τέτοια εφαρμογή δεν θα είχε γίνει πραγματικότητα! Δεν θα βοηθούσε περισσότερο για τα simulations το να τρέχει το Leon σε περισσότερους από ένα πυρήνες. 1. Γιατί δεν η ταχύτητα δεν θα ήταν ανάλογη των αριθμών των πυρήνων 2. Γιατί τώρα μπορώ σε έναν 4πύρηνο να τρέξω 4 simulations ταυτόχρονα, έχοντας μεγαλύτερο κέρδος. Εδώ ίσως να μην κατάλαβα τι θέλεις να πεις. Το ζάρι και η ποιότητα που της ρίψης δεν έχει σχέση με το ΑΙ, ούτε την κάνει χειρότερη ούτε καλύτερη. Για μια συγκεκριμένη ζαριά, άσχετα εάν είναι "ποιοτική" ή όχι όπως λες, η ΑΙ οφείλει να βρει την καλύτερη κίνηση!. Ο αλγόριθμος που χρησιμοποιεί το Leon για να ρίχνει το ζάρι είναι ο Mersenne twister και όσο γνωρίζω είναι ότι καλύτερο μπορεί να χρησιμοποιήσεις κάποιος για γεννήτρια "ψευδο"-τυχαίων αριθμών. Και φυσικά το απλό random του Delphi είναι υπεραρκετό για την "ποιότητα" της ρίψης. Στην επόμενη έκδοση του Leon η γεννήτρια τυχαίων αριθμών θα είναι γραμμένη σε script εκτός της εφαρμογής ώστε ο καθένας που έχει κάποια γνώση να μπορεί να γράψει ότι θέλει. Αυτό δεν το ξαναάκουσα από κάποιον. Γενικά η αντίδραση των γραφικών και του μενού όπου είδα το Leon να τρέχει είναι γρήγορη!. Τι επεξεργαστή έχεις? Μήπως έκανε κάτι στο background? Μήπως αύξησες την ποιότητα των γραφικών πολύ? Τι εννοείς με "glue code"?? Φιλικά Κώστας
  14. Χαίρομαι που παίζει σε linux με wine!! Είναι κάτι που δεν μπορούσα να το δοκιμάσω.. Σ' ευχαριστώ φίλε! Τι πρόβλημα έχεις με το register? Όταν δεν μπορεί για οποιοδήποτε λόγο να κάνει register τότε σου βγάζει ένα μήνυμα με το πρόβλημα που είχε. Εσένα τι σου λέει? Είχε κάποιος άλλος πρόβλημα με το κλειδί?
  • Δημιουργία νέου...