Δομές Δεδομένων - Εργασία 2 [2017-18]

Re: Δομές Δεδομένων - Εργασία 2 [2017-18]

Δημοσίευσηαπό sgyftopo » 05 Δεκ 2017, 22:02

Η στρατηγική του παίκτη σας θα πρέπει να είναι ανεξάρτητη από την εκάστοτε αρένα. Όντως, χρησιμοποιώντας την getSeed() μπορείς να αναπτύξεις "εσωτερικά" διαφορετική στρατηγική για κάθε αρένα, ωστόσο δεν θεωρείται επιτυχημένη λύση.
Μια παρτίδα θεωρείται επιτυχημένη αν στο τελικό μήνυμα υπάρχει η ένδειξη success:1 ανεξάρτητα από προβλήματα που μπορεί να εμφανιστούν κατά την εκτέλεση.
sgyftopo
Full Member
 
Δημοσιεύσεις: 127
Εγγραφή: 17 Οκτ 2013, 11:30

Re: Δομές Δεδομένων - Εργασία 2 [2017-18]

Δημοσίευσηαπό Xristos97 » 05 Δεκ 2017, 22:17

Γιατι για καθε seed η " εσωτερικη " προσεγγιση ειναι λαθος αλλα αν υπαρχει error και το success ειναι 1 μετραει για σωστο ; θα ελεγχεται ο κωδικας αν για καθε seed υπαρχει διαφορετικη προσεγγιση ;
Xristos97
Newbie
 
Δημοσιεύσεις: 13
Εγγραφή: 05 Ιαν 2016, 02:43

Re: Δομές Δεδομένων - Εργασία 2 [2017-18]

Δημοσίευσηαπό sgyftopo » 05 Δεκ 2017, 22:42

Το ζητούμενο της άσκησης είναι να αναπτύξετε μια στρατηγική η οποία νικά έναν απλό παίκτη. Αν μελετήσετε τις κινήσεις του αντιπάλου σας σε συγκεκριμένη αρένα και προκαθορίσετε τις κινήσεις του παίκτη σας δεν αναπτύσετε στρατηγική. Προφανώς και ο κώδικας που δημιουργεί σφάλματα δεν είναι θεμιτός και πιθανόν να μην τερματίζει νικηφόρα σε όλες τις παρτίδες.
sgyftopo
Full Member
 
Δημοσιεύσεις: 127
Εγγραφή: 17 Οκτ 2013, 11:30

Re: Δομές Δεδομένων - Εργασία 2 [2017-18]

Δημοσίευσηαπό thompros1 » 06 Δεκ 2017, 18:45

Εχω γραψει κωδικα που νικα επιτυχημενα (proof=1) για n=50 και ολες τις παραμετρους για το seed (1026,1048,1092), αλλα οταν παω να τρεξω τον ιδιο κωδικα για n=1500 και τα αντιστοιχα seeds εκει που τρεχει το προγραμμα βγαζει "game time:16010,Monitor info:Game in round 570'' συνεχιζει να τρεχει και βγαζει σκορ πως εχω νικησει αλλα μετα χανεται και το σκορ και δν μ εμφανιζει καν το proof of participation.
thompros1
Newbie
 
Δημοσιεύσεις: 1
Εγγραφή: 09 Ιουν 2016, 16:02

Re: Δομές Δεδομένων - Εργασία 2 [2017-18]

Δημοσίευσηαπό angepapa18 » 06 Δεκ 2017, 19:23

Μπορειτε να μου πειτε πως ακριβως χρησιμοποιουνται οι παρακατω συναρτησεις
// Which player made each move?
public Vector<EnumPlayer> getMoveByPlayer();

// Which location/node was chosen at each move?
public Vector<Integer> getMoveLocation();

για να μαθουμε την τελευταια κινηση του αντιπαλου ?
angepapa18
Newbie
 
Δημοσιεύσεις: 7
Εγγραφή: 14 Ιαν 2016, 21:54

Re: Δομές Δεδομένων - Εργασία 2 [2017-18]

Δημοσίευσηαπό sgyftopo » 06 Δεκ 2017, 23:42

thompros1 έγραψε:Εχω γραψει κωδικα που νικα επιτυχημενα (proof=1) για n=50 και ολες τις παραμετρους για το seed (1026,1048,1092), αλλα οταν παω να τρεξω τον ιδιο κωδικα για n=1500 και τα αντιστοιχα seeds εκει που τρεχει το προγραμμα βγαζει "game time:16010,Monitor info:Game in round 570'' συνεχιζει να τρεχει και βγαζει σκορ πως εχω νικησει αλλα μετα χανεται και το σκορ και δν μ εμφανιζει καν το proof of participation.


Δεν είναι κάποιο πρόβλημα το μήνυμα που σου εμφανίζει, ωστόσο στο τέλος θα έπρεπε να εμφανίζεται το αποτέλεσμα.
sgyftopo
Full Member
 
Δημοσιεύσεις: 127
Εγγραφή: 17 Οκτ 2013, 11:30

Re: Δομές Δεδομένων - Εργασία 2 [2017-18]

Δημοσίευσηαπό sgyftopo » 06 Δεκ 2017, 23:48

angepapa18 έγραψε:Μπορειτε να μου πειτε πως ακριβως χρησιμοποιουνται οι παρακατω συναρτησεις
// Which player made each move?
public Vector<EnumPlayer> getMoveByPlayer();

// Which location/node was chosen at each move?
public Vector<Integer> getMoveLocation();

για να μαθουμε την τελευταια κινηση του αντιπαλου ?


Στα έγγραφα του eclass υπάρχει το tutorial που είχε δημιουργήσει κάποιος συνάδελφός σας από προηγούμενο έτος. Σε αυτό υπάρχει αναλυτική περιγραφή κάθε συνάρτησης στις τελευταίες σελίδες. Οι δύο συναρτήσεις αυτές επιστρέφουν ένα αντικείμενο Vector και χρησιμοποιώντας τις συναρτήσεις του αντικειμένου (https://docs.oracle.com/javase/7/docs/a ... ector.html) μπορείς εύκολα να πάρεις το τελευταίο στοιχείο τους.
sgyftopo
Full Member
 
Δημοσιεύσεις: 127
Εγγραφή: 17 Οκτ 2013, 11:30

Re: Δομές Δεδομένων - Εργασία 2 [2017-18]

Δημοσίευσηαπό pefraimi » 06 Δεκ 2017, 23:53

Xristos97 έγραψε:Γιατι για καθε seed η " εσωτερικη " προσεγγιση ειναι λαθος αλλα αν υπαρχει error και το success ειναι 1 μετραει για σωστο ; θα ελεγχεται ο κωδικας αν για καθε seed υπαρχει διαφορετικη προσεγγιση ;


Ο σκοπός της εργασίας είναι να σχεδιάσετε και να υλοποιήσετε αλγορίθμους που θα νικάνε σε κάθε παρτίδα, ανεξάρτητα από το seed. Η getSeed() έχει ενσωματωθεί για άλλο σκοπό και δεν έχει νόημα να τη χρησιμοποιήσετε εδώ. Μπορείτε για παράδειγμα να μεταβάλετε τη συμπεριφορά του αλγορίθμου σας ανάλογο με το μέγεθος του προβλήματος (δηλαδή το n) αλλά δεν έχει νόημα να γράψετε κώδικα ειδικά για κάθε συγκεκριμένο seed.
pefraimi
Sr. Member
 
Δημοσιεύσεις: 333
Εγγραφή: 01 Νοέμ 2008, 14:59

Re: Δομές Δεδομένων - Εργασία 2 [2017-18]

Δημοσίευσηαπό Occlet » 07 Δεκ 2017, 16:52

Μπορούμε για την εργασία να χρησιμοποιήσουμε βιβλιοθήκες της Java?
Play fool to catch wise
Άβαταρ μέλους
Occlet
Newbie
 
Δημοσιεύσεις: 10
Εγγραφή: 06 Ιούλ 2015, 21:22
Τοποθεσία: Somewhere nearby...
Φοιτητής ΗΜΜΥ: Ναι

Re: Δομές Δεδομένων - Εργασία 2 [2017-18]

Δημοσίευσηαπό Aedes Sollicitans » 07 Δεκ 2017, 16:55

Το να επιτρέπουμε στον αντίπαλο να δημιουργεί τριάδες στο noquadraples mode πως ακριβώς ελέγχεται; Δηλαδή αν τυχόν ο αλγόριθμος μου τον μπλοκάρει από δύο πλευρές σε δυάδα του σημαίνει πως είναι λάθος; Ή απλώς απαγορεύεται το σκόπιμο συνεχές μπλοκάρισμα δυάδων; Γενικά αν ο αλγόριθμός μου λειτουργεί εκτός του κανόνα (να επιτρέπει τριάδες) θα πάρω κάποιο προειδοποιητικό μήνυμα;
Άβαταρ μέλους
Aedes Sollicitans
Jr. Member
 
Δημοσιεύσεις: 69
Εγγραφή: 11 Οκτ 2015, 16:51
Φοιτητής ΗΜΜΥ: Ναι

Re: Δομές Δεδομένων - Εργασία 2 [2017-18]

Δημοσίευσηαπό sgyftopo » 07 Δεκ 2017, 19:19

Μπορούμε για την εργασία να χρησιμοποιήσουμε βιβλιοθήκες της Java?

Ναι, μπορείτε να χρησιμοποιήσετε όποια κλάση θέλετε από το API της Java.

Το να επιτρέπουμε στον αντίπαλο να δημιουργεί τριάδες στο noquadraples mode πως ακριβώς ελέγχεται; Δηλαδή αν τυχόν ο αλγόριθμος μου τον μπλοκάρει από δύο πλευρές σε δυάδα του σημαίνει πως είναι λάθος; Ή απλώς απαγορεύεται το σκόπιμο συνεχές μπλοκάρισμα δυάδων; Γενικά αν ο αλγόριθμός μου λειτουργεί εκτός του κανόνα (να επιτρέπει τριάδες) θα πάρω κάποιο προειδοποιητικό μήνυμα;

Απαγορεύεται το σκόπιμο μπλοκάρισμα δυάδων. Ούτως ή άλλιως, κάποια στιγμή προς το τέλος του παιχνιδιού, όταν λιγοστεύουν οι ελεύθερες θέσεις, αναγκαστικά θα μπλοκάρετε τις τριάδες αλλά αυτό δεν είναι λάθος.
sgyftopo
Full Member
 
Δημοσιεύσεις: 127
Εγγραφή: 17 Οκτ 2013, 11:30

Re: Δομές Δεδομένων - Εργασία 2 [2017-18]

Δημοσίευσηαπό Xristos97 » 08 Δεκ 2017, 02:08

Για τους παιχτες των μεγαλυτερων ετων πως αλλαζουμε το ρολο απο A σε B ; Δοκιμασα να αλλαξω στο fclient αλλα και παλι ημουνα ο PLAYER_B.
Xristos97
Newbie
 
Δημοσιεύσεις: 13
Εγγραφή: 05 Ιαν 2016, 02:43

Re: Δομές Δεδομένων - Εργασία 2 [2017-18]

Δημοσίευσηαπό christos99 » 08 Δεκ 2017, 13:19

μπορειτε να γραψετε λιγο αναλυτικα πως γινεται η υποβολη? οταν συνδεθουμε στο https://euclid.ee.duth.gr:5000/ και στη συνεχεια στη σελιδα του facility game δεν υπαρχει καποια φορμα για να καταχωρησουμε τους κωδικες μας
christos99
Newbie
 
Δημοσιεύσεις: 12
Εγγραφή: 28 Νοέμ 2013, 15:17

Re: Δομές Δεδομένων - Εργασία 2 [2017-18]

Δημοσίευσηαπό sgyftopo » 08 Δεκ 2017, 16:09

Για τους παιχτες των μεγαλυτερων ετων πως αλλαζουμε το ρολο απο A σε B ; Δοκιμασα να αλλαξω στο fclient αλλα και παλι ημουνα ο PLAYER_B.

Στο eclass υπάρχει το pdf Εργασία για το Facility Game.pdf στο οποίο αναφέρονται ενδεικτικά οι παράμετροι που πρέπει να δώσετε στο FClient για να εκτελέσετε την στρατηγική σας ως Player_A. Ενδεικτικά ένα παράδειγμα:
FPLAYER_MY5 false euclid.ee.duth.gr 4474 1500 1048 NORMAL PLAYER_A
μπορειτε να γραψετε λιγο αναλυτικα πως γινεται η υποβολη? οταν συνδεθουμε στο https://euclid.ee.duth.gr:5000/ και στη συνεχεια στη σελιδα του facility game δεν υπαρχει καποια φορμα για να καταχωρησουμε τους κωδικες μας

Στη σελίδα υποβολής υπάρχουν τα αντίστοιχα πεδία τα οποία εμφανίζονται μόνο όταν έχετε εκτελέσει επιτυχημένα τις παρτίδες σας στον server. Στα πεδία αυτά επιλέγετε τα δύο αρχεία με τις στρατηγικές σας (ένα για NORMAL mode και ένα για NOQUADRUPLES mode) και τα υποβάλετε. Αναλυτικά οι οδηγίες υπάρχουν στο αρχείο Τρόπος υποβολής 2ης Εργασίας.pdf στο eclass.
sgyftopo
Full Member
 
Δημοσιεύσεις: 127
Εγγραφή: 17 Οκτ 2013, 11:30

Re: Δομές Δεδομένων - Εργασία 2 [2017-18]

Δημοσίευσηαπό Occlet » 08 Δεκ 2017, 18:33

1)Θα πρεπει να εχουμε 1 (εναν) κωδικα που να νικαει ολους τους αντιπαλους ή μπορουμε να εχουμε διαφορετικο για τον καθενα?
2)Θα πρεπει να εχουμε 1 (εναν) κωδικα που να νικαει και το normal mode και το NOQUADRUPLES ή μπορουμε να εχουμε διαφορετικο για το καθε mode?
2)Πως θα αποδειξουμε οτι νικησαμε τους αντιπαλους 11-12 12-13 κτλ?
Play fool to catch wise
Άβαταρ μέλους
Occlet
Newbie
 
Δημοσιεύσεις: 10
Εγγραφή: 06 Ιούλ 2015, 21:22
Τοποθεσία: Somewhere nearby...
Φοιτητής ΗΜΜΥ: Ναι

ΠροηγούμενηΕπόμενο

Μέλη σε σύνδεση

Μέλη σε αυτή την Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 2 επισκέπτες