Εργασία 1 - Facility Game [2014-15]

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό andrsymi » 19 Νοέμ 2014, 15:38

Αν κάνουμε κάποια αλλαγή στον κώδικα πρέπέι να ξανατρέξουμε όλες τι παρτίδες και πάρουμε καινούργια proofs?

Επισης σε κάποιες παρτίδες ο παίχτης μου καταλαμβάνει τον κόμβο -1 (location of FClient:-1). Πώς γίνετια αυτο ενω εχ την εντολή
if (node < 0) {
node += n;
}
andrsymi
Newbie
 
Δημοσιεύσεις: 4
Εγγραφή: 02 Νοέμ 2012, 17:16

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό sgyftopo » 19 Νοέμ 2014, 20:19

Σχετικά με τα προηγούμενα posts:
1)Η μέγιστη τιμή κόμβου είναι 50 (καθορίζεται από τη μεταβλητή στο αρχείο Finals.java που έχετε στο project σας).

2)Μερικές παρατηρήσεις σχετικά με τον κώδικα:

public int [][] sort(FacilityGameAPI game){ <-- Ορίζεις την συνάρτηση sort που δέχεται ως όρισμα ένα FacilityGameAPI game
int[] a= game.getValue();
int[][] b=new int[1][n-1]; <-- Στον ορισμό πίνακα δίνουμε τις πραγματικές διαστάσεις, όχι τις μέγιστες τιμές. Μάλλον εννοείς int[2][n]
int swap ;
for (int i=0;i<n ; i++){
b[0][i]=a[i];
b[1][i]=i;
}


for ( int c = 0; c < ( n - 1 ); c++) {
for ( int d = 0; d < n - c - 1; d++) {
if (b[0][d] <b[0][d+1])
{
swap = b[0][d];
b[0][d] = b[0][d+1];
b[0][d+1] = swap;
swap = b[1][d];
b[1][d] = b[1][d+1];
b[1][d+1] = swap;
}
}
}
return b ;
}


public int nextMove(FacilityGameAPI game) {
int move = -1;



// Select which free location (move = location) to occupy

// Trivial choice: Select the first free location
for (int i = 0; i< n; i++) {
int[][] b=sort(i); <-- Καλείς την sort αλλά αντί να της περάσεις ένα FacilityGameAPI της περνάς έναν ακέραιο
if (game.getStatus(b[1][i]) == EnumFacilityStatus.FREE) {
// Select location/node i
move = b[1][i];
// The values of the locations are stored in the array
// game.value
// int locationValue = game.value[i];

break; // Abandon the loop
}
--Επίσης δεν κάνεις return το move --
}

3) Τα proofs πρέπει να έχουν βγει με τον κώδικα που θα υποβάλετε.

4)Σχετικά με τον κώδικα
Κώδικας: Επιλογή όλων
if (node < 0) {
node += n;
}


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

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό mitsukobass » 20 Νοέμ 2014, 16:21

προσπαθώ να τρέξω την εφαρμογή στον server και έχω αυτό το πρόβλημα :http://postimg.org/image/6sveymebl/
mitsukobass
Newbie
 
Δημοσιεύσεις: 1
Εγγραφή: 23 Ιαν 2013, 17:08

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό sgyftopo » 20 Νοέμ 2014, 17:31

Στο screenshot σου εμφανίζεται ότι χρησιμοποιείς την έκδοση 0.72 (4η σειρά). Οι εκδόσεις που είναι συμβατές με τον server είναι οι 0.80 και 0.81. Μπορείς να εγκαταστήσεις μια από τις νέες εκδόσεις και να μεταφέρεις τους παίκτες σου σε αυτές.
sgyftopo
Full Member
 
Δημοσιεύσεις: 127
Εγγραφή: 17 Οκτ 2013, 11:30

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό Κωστας Τζιμ » 20 Νοέμ 2014, 18:49

1) Αμα στην συνάστηση initialize βαλω μέσα έναν πίνακα..και μεσα στην nextMove μεταβαλω την τιμη του πινακα τι θα γινει?

2) Πως μπορω να χρησιμοποιησω εναν πινακα ο οποιος να λειτουργει σαν ενα ορισμα της nextMove ? δηλαδη να μεταβαλω της τιμες του πινακα μεσα στην nextMove αλλα και στην επομενη κλιση της συναρτισης nextMove ο πινακας να ειναι οπως τον αφισαμε στην πρωτη κλιση της συναρτισης nextMove
Κωστας Τζιμ
Newbie
 
Δημοσιεύσεις: 2
Εγγραφή: 04 Μαρ 2013, 20:36

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό sgyftopo » 20 Νοέμ 2014, 19:36

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

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό dimitrif » 20 Νοέμ 2014, 21:39

FClient: Usagejava -cp <jarfile.jar> facilityGame.FClient <player type> <verbose> <server-host> <server-port> <n> <seed> <player A>
FClient: FacilityClient v0.62
FClient: FacilityClient is starting ...
FClient: FacilityClient is trying to connect to 192.168.1.3 at port 4458
Could not connect to host:192.168.1.3, port:4458
Are you sure that the server is up and running at this address and port?
java.net.ConnectException: Connection timed out: connect

Μου βγάζει αυτό από κάτω, ποιο είναι το πρόβλημα και πώς μπορώ να το λύσω??
Τελευταία επεξεργασία από Seitjo90 και 20 Νοέμ 2014, 22:37, έχει επεξεργασθεί 1 φορά/ες συνολικά
Αιτία: Μετατροπή greeklish σε πεζά ελληνικά
dimitrif
Newbie
 
Δημοσιεύσεις: 2
Εγγραφή: 21 Ιαν 2013, 06:04

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό sgyftopo » 20 Νοέμ 2014, 23:21

Σχετικά με το προηγούμενο post:
1) Χρησιμοποιείς προηγούμενη έκδοση του project. Μπορείς να κατεβάσεις την τελευταία έκδοση από το eclass.
2) Το μήνυμα που σου βγάζει σημαίνει ότι δε συνδέεται με τον τοπικό σου server. Πρέπει πρώτα να καλέσεις τον server και στη συνέχεια να εκτελέσεις τον παίκτη.
sgyftopo
Full Member
 
Δημοσιεύσεις: 127
Εγγραφή: 17 Οκτ 2013, 11:30

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό petris » 21 Νοέμ 2014, 00:51

Όταν παίζω με τους πρωταθλητές με βγάζει πάντα ως player b?
Γιατί γίνεται αυτό?
μπορώ να το αλλάξω?
petris
Newbie
 
Δημοσιεύσεις: 7
Εγγραφή: 10 Δεκ 2012, 20:32

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό akalyptos » 21 Νοέμ 2014, 16:30

καλησπέρα,
όσον αφορά το παιχνίδι σε normal mode, έχω γράψει μια απλή συνάρτηση που βρίσκει τον ελεύθερο κόμβο με τη max τιμή. νικάω σε όλες τισ περιπτώσεις εκτός από τις περιπτώσεις n=40 seed=3157 με τον FPLAYER_SIMPLE_1, και n=40 seed=3158 FPLAYER_SIMPLE_2. όταν παίζω πρώτος (ως player_A) νικάω.. είναι αναμενόμενο αυτό; πρέπει να αλλάξω στρατηγική;
akalyptos
Newbie
 
Δημοσιεύσεις: 1
Εγγραφή: 21 Αύγ 2013, 02:27

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό ThanksForStoppingBy! » 21 Νοέμ 2014, 16:40

akalyptos έγραψε:καλησπέρα,
όσον αφορά το παιχνίδι σε normal mode, έχω γράψει μια απλή συνάρτηση που βρίσκει τον ελεύθερο κόμβο με τη max τιμή. νικάω σε όλες τισ περιπτώσεις εκτός από τις περιπτώσεις n=40 seed=3157 με τον FPLAYER_SIMPLE_1, και n=40 seed=3158 FPLAYER_SIMPLE_2. όταν παίζω πρώτος (ως player_A) νικάω.. είναι αναμενόμενο αυτό; πρέπει να αλλάξω στρατηγική;

Πρέπει να νικάς σε όλες τις περιπτώσεις, και τις 5 για κάθε Simple_Player, ως Player B.
ThanksForStoppingBy!
Jr. Member
 
Δημοσιεύσεις: 82
Εγγραφή: 22 Ιαν 2013, 13:53

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό sgyftopo » 21 Νοέμ 2014, 17:18

Σχετικά με τα προηγούμενα posts:
1)Οι παράμετροι για την εκτέλεση των παιχνιδιών είναι <player type> <verbose> <server-host> <server-port> <n> <seed> <game type> <player A> όπου οι δύο τελευταίες δεν είναι απαραίτητες για τις παρτίδες με τους Simple Players. Για τους πρωταθλητές των προηγούμενων ετών, απαιτείται ο καθορισμός των παραμέτρων. Για παράδειγμα, για να παίξετε με τον περσινό πρωταθλητή και να είστε ο πρώτος που θα κάνει κίνηση, πρέπει να περάσετε τις παραμέτρους: MY_PLAYER false euclid.ee.duth.gr 4470 40 3156 NORMAL PLAYER_A ενώ για να παίξετε δεύτερος θα πρέπει MY_PLAYER false euclid.ee.duth.gr 4470 40 3156 NORMAL PLAYER_Β.

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

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό pefraimi » 21 Νοέμ 2014, 19:23

Προσπαθησα να ανεβασω το προγραμμα μου χωρις να συμπληρωσω τα κενα που δεν μπορω να παρω το proof αλλα δε γινεται.


Θα πρέπει να έχεις επιτυχή εκτέλεση και για τις 15 περιπτώσεις της εκφώνησης και τα αντίστοιχα "proof of participation" για να μπορεί να γίνει η υποβολή.

Αντιμετωπιζω ενα προβλημα με το προγραμμα μου για τις τιμες n=1500 και seed=234-5 και στους 2 παιχτες.Το προβλημα που αντιμετωπιζω ειναι οτι δεν μου εμφανιζει το συνολο των θεσεων και ετσι δεν μπορω να δω εαν κερδιζω και κατα συνεπεια να παρω το proof of participation.Εχω την τελευταια εκδοση του Facillity game και το προγραμμα μου στα n=40 και seed=3156-7-8 νικαει και τους δυο παιχτες.


Όταν τερματίζει το παιχνίδι, εμφανίζει το σκορ κάθε παίκτη. Επιπλέον στο τελικό μήνυμα που λαμβάνει ο FClient από τον FacilityGameServer εμφανίζει success 1 όταν η εκτέλεση είναι επιτυχής.
Τέλος, για λεπτομερείς πληροφορίες για την εκτέλεση μπορείς να εκτελέσεις το παιχνίδι σε "verbose mode" δίνοντας τιμή "true" στη δεύτερη παράμετρο τπυ FClient. Σε verbose mode τυπώνεται μήνυμα για κάθε βήμα παιχνιδιού καθώς και η τελική ανάθεση των κόμβων.
pefraimi
Sr. Member
 
Δημοσιεύσεις: 333
Εγγραφή: 01 Νοέμ 2008, 14:59

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό VR46# » 21 Νοέμ 2014, 21:47

Το προγραμμα μου νικαει σε ολες τις περιπτωσεις εκτος απο τις περιπτωσεις του FPLAYER_SIMPLE_2 n=1500 seed=234-5 .Εαν δε βαλλω n=1501 τοτε νικαει και αυτες.Εχετε καμια ιδεα τι μπορει να φταιει;
VR46#
Newbie
 
Δημοσιεύσεις: 4
Εγγραφή: 23 Ιαν 2013, 16:48

Re: Εργασία 1 - Facility Game [2014-15]

Δημοσίευσηαπό pefraimi » 21 Νοέμ 2014, 22:09

VR46# έγραψε:Το προγραμμα μου νικαει σε ολες τις περιπτωσεις εκτος απο τις περιπτωσεις του FPLAYER_SIMPLE_2 n=1500 seed=234-5 .Εαν δε βαλλω n=1501 τοτε νικαει και αυτες.Εχετε καμια ιδεα τι μπορει να φταιει;


Υπάρχει απλή στρατηγική που κερδίζει τους simple players σε όλες τις περιπτώσεις.
Τη συζητήσαμε στο μάθημα. Αυτό που μπορώ να πω τώρα είναι ότι συνιστώ να
επικεντρώσεις τη στρατηγική σου σε κόμβους μεγάλης αξίας και εάν δε φτάσει
αυτό να προσπαθήσεις επιπλέον να εμποδίσεις τη δημιουργία τριάδων ή τετράδων κτλ.
από τον παίκτη του server.
pefraimi
Sr. Member
 
Δημοσιεύσεις: 333
Εγγραφή: 01 Νοέμ 2008, 14:59

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

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

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

cron