Dominion Strategy Forum

Please login or register.

Login with username, password and session length

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - DStu

Filter to certain boards:

Pages: 1 [2] 3 4 ... 98
26
General Discussion / Re: Maths thread.
« on: October 02, 2015, 02:04:10 pm »
The fixed win-rate FOR YOU.  And yes, it's due to playstyle fit. 

I still don't understand how it's even possible to model games as having different importance with a fixed winrate, but I'd love if I'm missing a detail and you could help me see it!

Of course depends on how you model the whole stuff, if you do it the Bayesian way I think you can
a) assume there is a "true" fixed win-rate for you, but also assume that your win-rate in the first games is worse (or more reverted to 1/2) than the true one. Kind of cheated as it's not fixed any more, but the "true" one you want to find is still fixed.
b) If you calculate the posteriori distributions, you probably get something like constant * prior* (product of terms due to observations). You could just arbitrarily weight the terms from the first games lower (which, in this context is probably equivalent to a))

But in the meantime I am thinking, this all might add to much complexity (and more parameters) to the problem, I would first really solve it with "really" constant probabilities.

27
General Discussion / Re: Maths thread.
« on: October 01, 2015, 11:14:37 pm »
I think there's a miscommunication here.

Are you asssuming a fixed winrate for a champion, or are you assuming a fixed winrate for you with that champion? In the sense of how well it fits your playing style, personal skill and whatever.
If you are in the first case you are right and each game will matter the same, if you are in the second you could model it in a way that games are not equally important (but of course don't have to)

28
General Discussion / Re: Maths thread.
« on: October 01, 2015, 02:21:25 pm »
So what are you trying to do?  Doing the experimental games is basically Bayesian statistics, you have some prior distribution of your strength with each champ, and you try to narrow this distributions down by including observations. At the end, you chose one champ.

So the overall goal would be to maximize the expectation value (wrt to the prior distribution (?)) of the real strength of the chosen champ, over all strategies to test these champs.

There are some parameters here that you would have to specify, as the priors and how your observations update the priors. How well you do this influences how good your optimization can be (or you also optimize over these, but that will get really complicated). Given all these I'm not sure if one can analytically solve the problem, but at least one could do simulations.



keep the text below here which is how that post started, is kind of unrelated to the one above but might be interesting, too
---------------------

The problem is interesting, but not specified enough to give a solution, I suggest even the type of the strategy depends on further parameters.
First one that comes to my mind is to fix "how much information do I gather per game".
If that is "everything", you of course just want to test as many champs as possible
If the marginal information is increasing with the number of games you play with a champ (e.g. the second game might give you more information than the first, as you can make more informed tests) the strategy will look significantly different than if it is decreasing (the 1000th game will give you less marginal information than the first probably). 

So you would have to fix that, something like maybe delta information = xe^⁻x .  Or just e^-x is you think the first game is more important than the second.




29
Feedback / Re: Is the forum slow?
« on: September 24, 2015, 12:22:50 pm »
Sorry I missed this thread when you posted it, but yeah, I had been experiencing extreme slowness; to the point of sometimes timing out; off-and-on over the past week or maybe 2. Seems fine at the moment.
Took us even two days to read this post...

30
Goko Dominion Online / Re: Dominion 2.0 Stacks Your Deck
« on: September 22, 2015, 03:50:39 am »
Unless the Making Fun guys have an amazing new technology they're hiding from the world then it's definitely pseudo-random.  ;)

One can generate random numbers.

Prove it. ;)

321321

31
General Discussion / Re: Python editor
« on: September 09, 2015, 02:46:56 pm »
Real coders use plain-old Notepad.
http://xkcd.com/378/

i can't believe I'm post 20 and nobody has posted it yet...

32
Dominion General Discussion / Re: Homage to the Best Card
« on: June 21, 2015, 01:35:11 pm »
Not if there were only 10 such lists.

Including itself?

34
Game Reports / Re: Vineyards are amazing!!
« on: June 21, 2015, 07:57:31 am »
This
loses against straight-up BM-2Witch1Jack 7:3. Just buying one Wich makes it worse If you are playing with Jack, you don't have to escape in the slog, but can just go to Provinces, even when faced with Curses from Witch.
Couldn't replicate. When I used following witch I got:
DoubleJack: 591.5 wins (59.1%) JackWitchwhatever: 409.5 wins (40.9%)

Code: [Select]
{
  name: 'DoubleJack'
  author: 'rspeer'
  requires: ["Jack of All Trades"]
  gainPriority: (state, my) -> [
    "Province" if my.getTotalMoney() > 15
    "Witch" if my.countInDeck("Witch") < 2
    "Duchy" if state.gainsToEndGame() <= 5
    "Estate" if state.gainsToEndGame() <= 2
    "Gold"
    "Jack of All Trades" if my.countInDeck("Jack of All Trades") < 1
    "Silver"
  ]
}

Also writing bad bot doesn't prove anything. Just adding province rule beats 2witch1jack.

DoubleJack: 494.5 wins (49.4%) JackWitchwhatever: 506.5 wins (50.6%)

Code: [Select]
{
  name: 'JackWitchwhatever'
  author: 'luser'
  requires: ["Jack of All Trades", "Witch", "Border Village", "Treasury"]
  gainPriority: (state, my) -> [
    "Province"
    "Border Village"
    "Duchy" if state.countInSupply("Border Village") == 0
    "Witch" if my.countInDeck("Witch") < 2
    "Jack of All Trades" if my.countInDeck("Jack of All Trades") < 1
    "Jack of All Trades" if my.countInDeck("Jack of All Trades") < 2 and my.countInDeck("Witch") > 0
    "Treasury" if my.countInDeck("Treasury") < 2
    "Duchy" if state.current.buys == 0
    "Estate" if state.current.buys == 0
    "Silver"
    null
  ]
}

Also what I said was best response to vineyards, without that in getting all provinces jack-witch takes 31 turns. Of course on bm mirror you need to adjust strategy as greening rules there are terrible, like buying first two golds. Treasuries here help a lot as you could repeat bv+duchy until you hit 8.

I can don't see the difference, I took DoubleJack, adjusted #Jack to 1 and added 2 Witches on top. But I can also reproduce your results...
Anyway, I see the trick with Treasuries ->BV/Duchies to guarantee a fast ending, but I doubt that it is necessary here, as the Vineyard can't really gain many points without +buy, and going for Provinces gives you double the points and shouldn't take much longer with a Jack-fueld economy.  Of course, you are even taking away more from them by denying BVs.

All in all I think we agree that Vineyard is a very powerful card on the right board (and it doesn't take much for this), but there should be an easy way to gain actions, and this board is none of it due to the lack of +buy and weak gainers.

:e Edit, and I also agree with the OP that Vineyards are amazing, given you have enough time to build them up.  If that is because you can build up that fast, or hinder your opponent, or suboptimal play of your opponent or just luck in the end doesn't really matter.

35
Game Reports / Re: Vineyards are amazing!!
« on: June 20, 2015, 09:03:41 am »
This
Code: [Select]
# Buys two Jacks of All Trades and otherwise plays a version of Big Money.
#
# This has no Colony rules, because it would be a terrible strategy in
# Colony games.
{
  name: 'JackWitchwhatever'
  author: 'luser'
  requires: ["Jack of All Trades", "Witch", "Border Village", "Treasury"]
  gainPriority: (state, my) -> [
    "Border Village"
    "Duchy" if state.countInSupply("Border Village") == 0
    "Witch" if my.countInDeck("Witch") < 2
    "Jack of All Trades" if my.countInDeck("Jack of All Trades") < 1
    "Jack of All Trades" if my.countInDeck("Jack of All Trades") < 2 and my.countInDeck("Witch") > 0
    "Treasury" if my.countInDeck("Treasury") < 2
    "Duchy" if state.current.buys == 0
    "Estate" if state.current.buys == 0
    "Silver"
    null
  ]
}
loses against straight-up BM-2Witch1Jack 7:3. Just buying one Wich makes it worse If you are playing with Jack, you don't have to escape in the slog, but can just go to Provinces, even when faced with Curses from Witch.

/e but of course the Vineyard is not helped much by the nonexistend +buy in this board. So only support is BV, and maybe Smugglers (which doesn't help much if your opponent plays a BigMoney variant).  So I think I would indeed go for some more direct approach, but aim for Provinces, Witch/Jack/BM, maybe Treasuries with $5, but not over Gold, also no BV.

36
Maybe it's really not that bad in this case (I don't know), but I'm a bit annoyed and bored by people who are not in the security business defending unnecessary deviations from security standards because they can't imagine how that can be exploited.

Krypto/Security is hard and fails in sophisticated ways, and I tend not to be reassured by random (sorry Kirian) people on the internet that can't instantly construct a generic attack out of this.



That said, as in the browser case, the app must in some sense have the "plaintext" password on the hdd in any case, at least I (in my function as random people on the internet) don't see how it can authenticate.  It can store the password encrypted, but then it must save the key.  Somehow it must know what to send to the server to authenticate yourself.  Interested in seeing how you can get around this.

37
Goko Dominion Online / Re: Payment models
« on: June 19, 2015, 09:38:43 am »
yet MF can't even fix their ________ issues (fill in the blank: log-in, lobby capacity, automatch, etc.)

At first, I thought the blank was supposed to be a censored obscenity. Would've been pretty appropriate too.

that's under "etc."

38
Goko Dominion Online / Re: Payment models
« on: June 19, 2015, 02:02:52 am »
Jay regrets allowing isotropic, because of all the people complaining about losing it. He was happy to have people have it for a while, but not at that price. That is why you can't have nice things.

And that is why we only get online versions that no one complains about if we lost them? scnr

39
Dominion General Discussion / Re: Scout is bad, not horrible?
« on: June 05, 2015, 12:12:40 am »
I'm quit curious how this board looks like, where you want to go goons engine via princes scouts without villages, cantrips (you want to Prince them over scout) and kc/tr (don't need no villages)

40
Dominion General Discussion / Re: Scout is bad, not horrible?
« on: May 31, 2015, 09:13:11 am »
Adventurer is probably nice in Masterpiece or maybe Soothsayer games.  It just needs to be able to draw something other than Coppers, and if you've gotten rid of your Coppers, you're usually drawing your entire deck anyway with other draw cards, so it's usually just redundant.  And expensive.  Adventurer has to be the only draw and you need a way to get rid of Coppers, or at least overwhelm them with other Treasures.  Maybe Bank likes Adventurer?

And then, you are already in a position where you get to $8 quite reliably, esp. in the same hand replacing adventurers with gold. So to really profit from the high coin value it produces, you would need a buy, which in the situation you describe is usually difficult to get easily

41
Dominion General Discussion / Re: Scout is bad, not horrible?
« on: May 30, 2015, 10:48:53 pm »
You're just making this stuff up. Thief over Scout? You'd do that probably less than 20% of the time. Talisman? I doubt you want that. The main reason that you would take Silver over Scout is because Silver is a solid card and Scout is a mediocre one. Does that mean Scout is weak? Of course not! You'd get Silver over Chapel after the first 5 turns, but that doesn't mean Chapel is weak.

I don't think you understood what I wanted to say.

The frequency in which you buy cards is not important at all, and I wanted to stress the opposite.  The cards you mentioned have situations where they have a strong influence on how you play this board, and/or are a strong addition to you deck.  Even if it does not happen often, it does happen. Often enough to mattter.

With this likelyhood, Scout is maybe a net positive for your deck, but its influence is still marginal.

42
Dominion General Discussion / Re: Scout is bad, not horrible?
« on: May 30, 2015, 10:28:51 pm »
I've tried it!  It just has never really seemed that amazing to me.
No, no. I'm not saying Scout is amazing, I'm not even saying it's good. I'm just saying it doesn't deserve it's reputation for being in the bottom 5 worst $4 cards, you can make Scout good.

But every card has times when it shines, and most of the situations you list in the OP aren't even valid.  Which $4 cards would you say are worse than Scout?
I can't find anything on this list that seems to be always worse than Scout. I can hardly find anything that is sometimes worse than Scout.

Code: [Select]
Bureaucrat
Feast
Gardens
Militia
Moneylender
Remodel
Smithy
Spy
Thief
Throne Room
Baron
Bridge
Conspirator
Coppersmith
Ironworks
Mining Village
Scout
Caravan
Cutpurse
Island
Navigator
Pirate Ship
Salvager
Sea Hag
Treasure Map
Potion
Bishop
Monument
Quarry
Talisman
Worker's Village
Farming Village
Horse Traders
Remake
Tournament
Young Witch
Jack of all Trades
Noble Brigand
Nomad Camp
Silk Road
Spice Merchant
Trader
Armory
Death Cart
Feodum
Fortress
Ironmonger
Marauder
Procession
Rats
Scavenger
Sir Martin
Wandering Minstrel
Advisor
Herald
Plaza
Taxman
Duplicate
Magpie
Messenger
Miser
Port
Ranger
Transmogrify
Fugitive
Mission
Pilgrimage
Warrior
Envoy
Walled Village

Keeping in mind that at the very least, there need to be ONE $4 card at the bottom of the list.
No, Thief is worse. Taxman and Coppersmith are pretty bad. Nomad Camp is iffy. Talisman? Come on! Scout keeps your engine running and enables a lot of cards on this list. Scout also helps all the ones that draw on this list by controlling what they draw.

Most of the ones you mention, while weak, have relatively common cases (~10%), where they have a strong influence on the board, where ignoring their presence is a big mistake. Scout is maybe marginally usefull in about that range.
- Thief: Completely kills BigMoney vs. engine
- Coppersmith: Can be good money payload for an engine, easily terminal +$4++
- Nomad Camp: It's a +buy after all, often you just need one.  Yeah, you would take any, even a Ruined Market, but they are not on this board
- Talisman: Come on! Cheap components engines exists.  And cost reducers.

Most of these are that if they magically appear in a usual deck, you would prefer Scout over them. But that doesn't happen usually (without Swindlers). But you have to gain them on purpose usually, and as there is always an alternative on what to gain, only helping marginally often is usually worse than helping a lot seldomly.

43
General Discussion / Re: Maths thread.
« on: May 28, 2015, 09:07:59 am »
Oops, yes, bid 1, not 98...

And to the rest of this conversation,  :o

Really though, I haven't done game theory stuff in a while; I forgot about the possibility of mixed strategies.

@Gendo, we're talking Game Theory, so we assume perfectly rational players.  These players are basically computers, capable of perfectly random selection and with no human habits to exploit.
Oops, yes, bid 1, not 98...

And to the rest of this conversation,  :o

Really though, I haven't done game theory stuff in a while; I forgot about the possibility of mixed strategies.

@Gendo, we're talking Game Theory, so we assume perfectly rational players.  These players are basically computers, capable of perfectly random selection and with no human habits to exploit.
Disclaimer: just woke up.

I don't think it is so easy to assume perfectly rational. If there is a Nash equilibrium, sure you can do. But with the 100$, n player who bids highest without tieing wins, I'm not so sure there is one.
Nash equilibrium basically means that if all player behave accordingly to, it does not make sense for a single player to behave differently.
But this one is more prisoners dilemma like (even more extreme as there is no incentive to cooperate at all)as a single player you always have the incentive to bid 100, if you assume that the Nash is not leading to someone else saying 100 with prob >1/2.  ...    ...
Ok forget what I said, this probably us the Nash eq:
Say a random number so that the Total prob that two people say 100 is 1/2, 99 is 1/4, 98 is 1/8 etc.  If you deviate from this, you are hurting yourself as you are more likely to collide.

Edit: ok maybe you also don't want to get to 1/2, but maximize the prob of "you say 100, but n-1 copies of you don't say 100" the other prob you get by recursion anyway

Edit2: also I have ignored that you have to bid, this biases to smaller numbers as higher numbers lower your profit

44
Dominion Strategy Wiki Feedback / Re: Go away, StuBot!
« on: May 27, 2015, 01:19:05 pm »
Is there any way to tell the bot not to change it if a) It's the first link on the page and b) it doesn't have to go through an infobox first?

I'm not the expert in regexes, but I don't think there is a token for "beginning of document" in regular expressions.

45
General Discussion / Re: Maths thread.
« on: May 24, 2015, 01:11:26 pm »
Lime is Latin for limit?  That's interesting.. I wonder how the word came about for the fruit.
Limes

edit: lol
Quote from: wikipedia
Limes
From Wikipedia, the free encyclopedia
For the fruit, see Lime (fruit). For the mathematical concept, see Limit (mathematics).

A limes (/ˈlaɪmiːz/;[1] Latin pl. limites) was a border defence or delimiting system of Ancient Rome. It marked the boundaries of the Roman Empire.

46
Goko Dominion Online / Re: Open beta in May 2015?
« on: May 24, 2015, 11:43:24 am »


47
General Discussion / Re: Maths thread.
« on: May 24, 2015, 09:54:38 am »
... and to explain the lime, it was early, my English was still half asleep and was under the illusion that the latin word used in German can't be so wrong.

48
General Discussion / Re: Maths thread.
« on: May 24, 2015, 02:23:49 am »
If I understand right, the answer would be 1/4, simply the probability both are heads. You are called, so you will get a chance at the coins being flipped, and no other chances.

Yeah this is one answer and I think the right one. So the question is, how do you reconcile this: No matter when the game ends, there are more winners than losers. Say the King flipped all the coins and figured everything out first, and only then started calling people to tell them whether they've won or lost. This seems like exactly the same game, but he calls more people to tell them they've won than he calls people to tell them they've lost.

The difference between both scenarios is that you somewhere in between flip an expectation value and a limes, and you can't do this here.

I can't exactly put the finger on it, because I also think it depends a bit on how you want to put it exactly mathematically. This is already not trivial, as there are some other problems in this, too; like for example the non-existence of a uniform distribution on a countable infinite set (you can't just say you are on a random position).  This would be solveable by e.g. assuming #coin tosses < N, in this scenario you could calculate everything (and get to the conclusion that it is more likely to win than lose) and then letting N->\inf, but there you get your problem with swapping expectation and limes.

Edit:
So in abstract the difference between the two approaches is that you are in a situation where you can either have a straightforeward calculation of you odds (two coins -> 1/4), or go back to the broad situation with subtle mathematical problems like infinities and conditional expectiations and such, and try to get your odds from this picture.

/edit

Quote
This problem reminds me of the common Casino get-rich scheme: after any loss, double the bet, and that way you are guaranteed to eventually get the initial bet. Easy money!

Of course, the problem with that scheme is that you can't keep doubling the bet indefinitely, because your money is finite. As sitnaltax said, the source of the paradox here is that in one case you are assuming a finite number of trials, but not in the other.
Even if you could, this is the same "paradox", as your expected win at each time is 0, but at the end is 1.  Again, you swapped expectation and limes somewhere.

49
Dominion Strategy Wiki Feedback / Go away, StuBot!
« on: May 18, 2015, 01:04:04 pm »
So we had a few occasions where the bot edited something that it shouldn't, mostly it was transforming
[[$Card]] to {{Card|Card}}.

I excluded some generic cases where this is not a good idea, like in <gallery> and in infoboxes, but I think it is a good idea to think about having something in the code that prevents the bot from editing something that it usually would.  Last time we had some [[Chancellor]] in the beginning of the article that wero didn't like to get transformed. Usually I track what the bot edits, and if it looks suspicious I look up the history to see if someone doesn't want the edit. But this doesn't really work well, because if someone will edit the same page somewhere else, the bot will revisit and this time the last edit does not say: "Go away!".

Anyway, there is an --exceptinside:regex option, which I already use a lot, which could be used by this.  I think we could use something like a <noBot> tag for this.  This would just be exceptinside:<noBot>[^<]*<\/noBot>. But new tags does not seem to be easily implemented if I understand the documentation correctly.  One could use comments to emulate tags, but that gets super ugly. Any other ideas?

50
I made the following updates to the code:
  • Fixed the Lookout bug
  • Fixed another bug, this one related to trashing
  • Implemented Forager
I'm new to GitHub and am not sure I submitted the patch the right way, as I can't tell if anyone has seen it. So I'm posting it here as well: https://github.com/rspeer/dominiate/pull/86.

For fun, here's my first Forager result. When running SeaHag vs. a Forager/SeaHag bot, the Forager bot dominates, 89-11 (not surprisingly). Maybe more interesting, the Forager/SeaHag bot wants three Foragers and only one SeaHag. Code for the bots is attached.

Looks fine.

Pages: 1 [2] 3 4 ... 98

Page created in 0.094 seconds with 19 queries.