Click here to Skip to main content
15,896,606 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.

 
GeneralRe: just thought of kind of a cool idea that's simple but neat (maybe) Pin
honey the codewitch20-Sep-19 5:54
mvahoney the codewitch20-Sep-19 5:54 
GeneralRe: just thought of kind of a cool idea that's simple but neat (maybe) Pin
Sander Rossel21-Sep-19 2:02
professionalSander Rossel21-Sep-19 2:02 
GeneralRe: just thought of kind of a cool idea that's simple but neat (maybe) Pin
honey the codewitch21-Sep-19 3:23
mvahoney the codewitch21-Sep-19 3:23 
GeneralRe: just thought of kind of a cool idea that's simple but neat (maybe) Pin
honey the codewitch21-Sep-19 3:25
mvahoney the codewitch21-Sep-19 3:25 
GeneralRe: just thought of kind of a cool idea that's simple but neat (maybe) Pin
Sander Rossel21-Sep-19 3:27
professionalSander Rossel21-Sep-19 3:27 
GeneralRe: just thought of kind of a cool idea that's simple but neat (maybe) Pin
honey the codewitch21-Sep-19 3:28
mvahoney the codewitch21-Sep-19 3:28 
GeneralRe: just thought of kind of a cool idea that's simple but neat (maybe) Pin
Sander Rossel21-Sep-19 3:39
professionalSander Rossel21-Sep-19 3:39 
GeneralMan vs. Machine Pin
PeejayAdams19-Sep-19 23:57
PeejayAdams19-Sep-19 23:57 
I was looking at this problem which is essentially a game known as Colonel Blotto

Each general must allocate a given number of troops across a given number of platoons which then battle against each other with results being decided on numerical supremacy. To win you need to both win the greatest number of battles and have the highest number of remaining troops.

So what we have is a zero-sum game which has twin objectives (somewhat like hi-lo poker variants but with a requirement to win both hands) with the additional complication of sequencing (a la rock-paper-scissors - e.g. if I set my troops out [19, 1, 19, 1, 19, 1, 19, 1, 19, 1], I might get a very different result than I would be sending out [1, 19, 1, 19, 1, 19, 1, 19, 1, 19] even though I'm using an identical strategy).

All of which gets me wondering - how well could we get a machine to play this game against a human opponent?

For the first element, calculating the optimal troop split, we could simply brute-force every possible combination, play them against each other and see what wins. Given the vast number of combinations involved, it's obviously a huge task but it's clearly do-able. We're essentially going to wind up with a ranked list of possible distributions). Let's assume that the results of these calculations will be revealed/knowable to the human opponent.

Now the human general has an advantage, he knows that the computer knows that the best distribution is distribution X and can easily counter (let's suppose the calculated "optimal" distribution is actually 10 platoons of 10 and the human knows that the computer will play the "best" distribution, the human simply plays 9 platoons of 11 and 1 of 0 and crushes him every time).

So the computer needs to throw a few curve balls - the easiest way to do this is to pick a random distribution from the top n distributions. The computer could further obfuscate by applying random increments and decrements to various pairs within the distribution or whatever.

Similarly when it comes to ordering the platoons, the computer's most effective approach might just be to randomise the whole distribution array, maybe it can work a more intricate algorithm based on previous distributions employed by the human general.

The human of course, has all the same curve balls at his disposal.

Machine learning is definitely on the menu and time is no object. All previous games are stored and available to both players for analysis. The human has all the necessary database skills and tools to view the data as meaningfully as possible.

The human general is so fond of Colonel Blotto and proud to be human that he is happy to play against the machine a million times over if necessary in order to prove that humans are smarter than tin.

Will he win?
Whenever you find yourself on the side of the majority, it is time to pause and reflect. - Mark Twain

AnswerRe: Man vs. Machine Pin
lopatir20-Sep-19 0:10
lopatir20-Sep-19 0:10 
GeneralRe: Man vs. Machine Pin
PeejayAdams20-Sep-19 0:20
PeejayAdams20-Sep-19 0:20 
GeneralRe: Man vs. Machine Pin
Slacker00720-Sep-19 1:28
professionalSlacker00720-Sep-19 1:28 
GeneralRe: Man vs. Machine Pin
CodeWraith20-Sep-19 2:05
CodeWraith20-Sep-19 2:05 
GeneralRe: Man vs. Machine Pin
Slacker00720-Sep-19 2:57
professionalSlacker00720-Sep-19 2:57 
GeneralRe: Man vs. Machine Pin
musefan20-Sep-19 1:06
musefan20-Sep-19 1:06 
GeneralRe: Man vs. Machine Pin
PeejayAdams20-Sep-19 1:17
PeejayAdams20-Sep-19 1:17 
GeneralRe: Man vs. Machine Pin
musefan20-Sep-19 1:45
musefan20-Sep-19 1:45 
GeneralRe: Man vs. Machine Pin
CodeWraith20-Sep-19 2:02
CodeWraith20-Sep-19 2:02 
GeneralRe: Man vs. Machine Pin
PeejayAdams20-Sep-19 2:44
PeejayAdams20-Sep-19 2:44 
GeneralRe: Man vs. Machine Pin
CodeWraith20-Sep-19 2:54
CodeWraith20-Sep-19 2:54 
GeneralRe: Man vs. Machine Pin
PeejayAdams20-Sep-19 3:03
PeejayAdams20-Sep-19 3:03 
GeneralRe: Man vs. Machine Pin
CodeWraith20-Sep-19 4:04
CodeWraith20-Sep-19 4:04 
GeneralRe: Man vs. Machine Pin
Rick York20-Sep-19 5:45
mveRick York20-Sep-19 5:45 
JokeFriday Funny PinPopular
Jacquers19-Sep-19 22:12
Jacquers19-Sep-19 22:12 
GeneralRe: Friday Funny Pin
dan!sh 19-Sep-19 22:16
professional dan!sh 19-Sep-19 22:16 
GeneralRe: Friday Funny Pin
Jacquers19-Sep-19 22:23
Jacquers19-Sep-19 22:23 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.