Monday, November 29, 2010

11/29 Class Notes

Daniel: If there's something really valuable out there, and getting of the boat may give you some minor penalty, you shouldn't just stay on the boat

We ran on Lochness:

G6 - We have each player explore, left to right, then get stuck on the right. (6000, then -3000 after penalties)
G4: We are using the isnork, but not acting upon it. (3000)
G5: (Neha) - We have some big bugs with handling messages (-71000)
G1: 9000 points. They used the isnork to send messages, but not listen
DFed: Our snorkelers return home after they see everything
Dan: Actually, might be wise to stay out to help spot things
Lauren: But if there's a very high risk of danger, and not much to track, you should go home
G2: (John) - We go home early also. Sending out junk messages for the seaweed, shouldn't be bothering. 11,000 pts
G3: (David) - We use the isnork right, and we do a spiral exploration
G7: We are not using the isnork either. -13,000


G5 Happy trials:
G1: 3050. Mostly random wandering
G2: 3850.
G3: 4300
G4: 2645
G5: -(a lot). Still stuck in random pairs
G6: Still stuck on the right. -9150
G7: 3065

What have we learned?

John: There's a really steep penalty for not making it back on the time. Should we raise it?

We're changing it completely so that if you don't make it back to the boat, your entire score is DSQ'ed

Dan: Is there a "par" for each map?
Yes... 3 of every creature happiness

Eva: We are using huffman coding
Blake: We are sending this as numbers in base 26. 4 or fewer creatures fit in 2 chars, more fit in 3
DFed: You don't need to send the position if you know that the player is always following

EPK: How many divers you have is a very important variable when determining what to follow
Flavio: You need to follow at a distance to make sure you don't get hurt

Nitin: It can be really difficult to handle very dangerous creatures.
John: We should focus on board coverage
Daniel:

For Weds:
Send AND receive messages (and act on them ;))
Everyone gets back to the boat
Feel free to come up with t-shirt ideas. For $8 shirts, we will need to use only 1 color. Full color gets much more expensive (towards $20) and the quality goes down (you end up with iron-on transfers instead of silk-screening)

Wednesday, November 24, 2010

11/28

DFed will augment the simulator so that snorkelers will see the direction that observed things are facing.

G1 & 4 errored.

G5 had a bad danger avoidance code
g6 had some big bugs too

What have we observed so far?
PK: Avoid the danger
Nitin: Is there some complexity in avoiding dangerous creatures?
EPK: The best way to avoid a creature is to swim perpendicular to it (Blake's idea)

Can you compute an expected score?
Is it worthwhile to do a complete simulation on each turn?
Daniel: You could do this probabalistically
Should we jump in the water for short periods of time and come back, ever?
Daniel: Note that if there are a lot of static creatures, it's essentially a maze solving problem

Blake: Players might want to keep track of a map (particularly of static) creatures to help them return

Eva: We need to have some way of interrupting a full message to deliver something super important
Neerja: You could just follow what's so important for 1-2 moves while sending what you were already, and then send the important one
DFed: We have no problem fitting everything that we need in 3 chars.
Blake: We encode different things depending on how big R is
Jesse: If there are a lot of things, it's not useful to broadcast this

DFed: We're sending (species)(location)(etc)
Daniel: This is good because then you know what you are looking for, and it can be interrupted better.
DFed: Even if you send stale messages, we can infer when it was sent and from where
Arcahna: Snorkelers should permute themselves around the board to see different things

Daniel: The isnork is really only useful for things that are rare and/or high value

For monday:
Make it better. G1 and g4 certainly shouldn't crash again :)
Have thoughts about the iSnork vocabulary

Monday, November 22, 2010

11/22: Class Notes

G2 submitted a fairly sparse board, benchmark, which has a few high scoring items
Daniel: This is interesting because it forces you to have to spread out
Lauren: Boards with few creatures are "easy" in that you have less creatures to find to maximize your score.

We computed that the maximum ideal dimension is 80, after which point you'll get stuck at the edges
Blake: Bigger R's shrink the board
Daniel: R=D is a sanity check
Lauren: Why not use 2 way communication with the isnork?
DFed: How do you do that without interference? Maybe you have some sync time where everyone agrees to give some sort of state update.
Daniel: We don't need to have people tell us what they need if they are instead telling us what they have seen
Flavio: But we may need to know the ID of the creature too, not just what it is
John: In a dangerous environment, a conga line makes sure that you know a safe path back to the boat
What happens if your conga line is interrupted?

Did we miss discussing anything?
John: Whether creatures are helpful or just provide a minimal benefit

We'll make a map with 5-10 of each creature, filling at least half of the cells (all benign, same happiness)

Zach: Use something like huffman coding to make important messages come out faster, and less important ones take longer

What features would we want to encode in the isnork?
John: Add a 27th letter, the null character
DFed: We need to know the radius at which you saw something

For Weds:
Some players that respond to the boards we saw today.
Be ready to talk about how you are going to use the isnork.

Wednesday, November 17, 2010

11/17: Class Notes

Today we are starting project 4. Hooray!

Group assignments:
Group 1: DFed, Daniel & Flavio
Group 2: Lauren, Nitin & John
Group 3: Jesse, David & Eva
Group 4: Zach, Blake & Elba
Group 5: Yang, Neha & Archana
Group 6: Pilunchana, Neerja & Neetha
Group 7: Andrew, Dan & Elizabeth

DFed: We should use a 2 character message instead of a 1 character message
Lauren: If you have a buddy, then you can have 2 people sending out messages from the same observation.
DFed: Would it be smart for all of the snorkelers to go in the same direction?
Zach: It's high risk
Neha: We should be sophisticated with our coding to show the different kinds of sealife
Eva: We should come up with a good way to do path finding?
Daniel: Each player should have a long term goal of where they want to explore
Archana: We can pre-determine different roles for each snorkeler
Should one stand still?
Lauren: It may be more useful to hang out in the middle than get stuck in a corner
Zach: Depends on how many players you have.
DFed: Fanning out in all different directions isn't great because when you actually want to backtrack to see what someone else said, you have to go all the way over there

For Monday:
An interesting configuration for an ocean.
An initial player attempt.

Wednesday, November 10, 2010

11/10: Class Notes

Lauren: As piles get condensed, we become somewhat more eratic.
Daniel: Once there are no more single moves that can help you, it's really hard to tell who remains your partner
Lauren: You also have to make sure that if a player has only one move left, you don't hold it against them if they hurt you (or don't help) (or help)
Daniel: Many groups don't seem to have an endgame strategy implemented yet

Flavio: Making agreements at the start of the game does not seem appropriate because it's impossible to guarantee that it will be upheld.
Dan: The last move should always be to sabotage someone
John: When should you start sabotaging? Last, second to last?
Neerja: Interpreting moves at a statistics level misses a lot of nuance
Elba: It's really hard to interpret what a move means, so relying upon stats on that is not so great

What issues are still open?
EPK: If you are going to get 0 points, and your only possible move will help someone, maybe you should make an invalid move
We had a significant discussion over whether this is appropriate or not
In the interest of stability, we're not going to change anything. I'll try to get some extra helpful logging for when invalid moves do happen though

Dan: There is a cost of aggression: you're missing out on cooperation!
David: Sometimes it's better to be 2nd best near the end because people will go after the best.

Predictions for the tournament:
Eva: Some good cooperation
John: A lot of variance

Reminder: Players due by noon on Friday
Presentations and reports Monday

Tuesday, November 9, 2010

Expected tournament run times

Based off of a few anecdotal tests with only 1 core running, without overhead of logging the results:

# of roundsexpected run time (sec)
10.35
25.8
501.5
1003

There will be:
8 choose 6 (28) configurations with 1 of each player (counting dumb player)
8 with 6 of each player (1 player playing against itself)
8 choose 2 (28) configurations with 3 of each player (2 players playing 3v3)

That's 62 player combinations and we had 7 round configurations, and assuming we do 1000 runs of each pair of player-round configurations, that's 434,000 executions.

I can conservatively run this across 300 cores, which puts us at 1445 executions per core, and if we round out the average run time to a highly conservative 2 seconds (counting overhead for logging and distributing batches), it should take just over 50 minutes to run the entire tournament.

11/8: Class Notes

We need to set the final code delivery date:
Friday by 12:00 PM

Tournament parameters?


DFed's group isn't observing betrayals and continues to help players that have helped it, ever.

What did we learn from today's simulation?
Co-operating with a player is a good idea, but you need to have a backup strategy
Andrew: Use a short term memory
Archana: When co-operating with a player, don't do the "best" thing, so that you can do something else bette rlater.
Blake: But our player would then ignore you because you're not really helping us as much as someone else who is helping us more

Perhaps we should vary the number of rounds in the tournament?

Run 1,000 runs for each tournament
We will do 8 combinations of players for each configuration of # of rounds [counting dumbplayer] (also, run so that we have 8 more tournaments, each with 6 of one player, also do a set of 3v3's with only 2 players).

10, 25, 26, 50, 51, 99, 100 number of rounds

I'll do a feasibility study before Weds to see how many we can run (I'm expecting to be able to do the above but scale up to 10,000 runs each instead of 1,000).

How much harder is it to form a 3 way partnership over a 2 way?
Zack: Are betrayals a good thing? (for the betrayer)

Wednesday, November 3, 2010

11/3: Class Notes

We ran G1,2,3,4,5,7 on a 100 round sim:

G4 strangely pushed directly away from itself
G7 is trying to co-operate with the player directly opposite from it, for the first 10 minutes

Is it possible to try to cooperate with everyone?
Jesse: This might appear to be non-cooperation for some
Elba: A tit-for-tat strategy will always help (if everyone is)

Can you help two players at the same time?
John: Yes, but it's very small.
Neha: We should try to only give small helping moves first, and then we can move to more later once we're sure that we're cooperating

Flavio: At the end of the game, co-operation can also include a "defense" strategy

When do we degrade how much we are valuing our cooperation 
Nitin: At first it might look like someone is helping you, but they may be actually just pushing through you to make it to another player
 Zack: Don't just keep a history of the past 10 turns, keep a weighted history of everything - both how much X has helped you ,but also how much you have helped X.
Daniel: It's important to keep track of *if* someone can be helping you, because if they aren't helping, and they can't, you shouldn't hold it against them.

What would make a neutral move?

Should we co-operate with immediate neighbors?
Eva: No, because there are fewer number of moves to make to help

Daniel: Opposite players will end up at end-game doing a defensive strategy for each other.
EPK: Breaking an alliance at the end of the game may be risky because it may alienate them
David: If two players team up against 1, that 1 would need to have 2 people protecting it, otherwise it will lose coins

Neha: The game has something of a bias towards randomness because as the game ends you will HAVE to push piles together

For next Monday:
Improve, improve, improve your players (nooo illegal moves)
Encourage: swap your players