Springen naar inhoud

Schaakstory


  • Log in om te kunnen reageren

#1

*_gast_PeterPan_*

  • Gast

Geplaatst op 02 april 2010 - 11:23

Je speelt in totaal 17 schaakpartijen, om en om tegen speler S (die sterker is dan jij) en speler Z (die zwakker is dan jij).
Als je het voor elkaar krijgt om 2 maal achtereen een partij te winnen, dan krijg je een abonnement op de Story (wie zou dat niet willen).
Je hebt de keuze, wil je de eerste partij tegen S spelen of tegen Z.
Wat is de beste keuze om dat abonnement te winnen en waarom?

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

EvilBro

    EvilBro


  • >5k berichten
  • 6703 berichten
  • VIP

Geplaatst op 02 april 2010 - 13:30

Ik zou tegen S beginnen, want dat levert de grootste winkans op (volgens mijn berekening).

#3

*_gast_PeterPan_*

  • Gast

Geplaatst op 02 april 2010 - 13:43

Kun je het beredeneren, zonder berekeningen?

#4

jazzer

    jazzer


  • >25 berichten
  • 32 berichten
  • Gebruiker

Geplaatst op 02 april 2010 - 16:14

Ik zou ook tegen S willen beginnen. Stel dat je slechts 3 partijen zou mogen spelen, dan zijn de mogelijkheden SZS en ZSZ. Omdat je ervan mag uitgaan dat winnen tegen Z een zeer haalbare kaart is, moet je zoveel mogelijk partijen tegen S spelen om zo uiteindelijk jouw globale winstkans tegen S te maximaliseren. Bij 17 partijen worden er dat dan 9 tegen S en 8 tegen Z.

#5

physicalattraction

    physicalattraction


  • >1k berichten
  • 3101 berichten
  • Moderator

Geplaatst op 02 april 2010 - 16:39

Hmmm, de vraag is lastiger dan hij in eerste instantie uitziet. Mijn intu´tie vertelt me dat je beter eerst tegen de zwakke speler kan spelen.

Omdat ik het niet direct kon oplossen, heb ik de situatie gesimuleerd. Ik heb steeds een p en q bepaald, waarbij p de kans is dat je van de speler waartegen je begint wint en q de kans is dat je van de andere speler wint. Vervolgens heb ik een overzichtje gemaakt van de kans dat je het abonnement wint.
Geplaatste afbeelding

Je kunt zien dat er een klein beetje asymmetrie in het plaatje zit. De kans is groter als je eerst tegen de zwakke speelt en dan tegen de sterke, te zien aan het feit dat je in de regio rond p~1 en q~0 meer kans hebt om te winnen dan in de regio rond p~0 en q~1. Dit is nog eens duidelijker te zien in het verschil tussen de matrix en zijn getransponeerde.
Geplaatste afbeelding

Je ziet dat in het meest gunstige geval je 2% meer kans hebt om te winnen door eerst tegen de zwakkere speler te spelen, maar dat dit sterk afhangt van hoe veel sterker de sterke en hoeveel zwakker de zwakke speler is.

#6

*_gast_PeterPan_*

  • Gast

Geplaatst op 02 april 2010 - 17:06

Ik ben het eens met de beredenering van jazzer. Voor 3 partijen is het eenvoudig na te rekenen. Voor 3 partijen kun je het beste als eerste tegen S spelen.
De plaatjes van physicalattraction zien er fraai uit, maar ik weet niet of ie ergens een foutje in de berekening heeft zitten.
Ik houd het vooralsnog bij: eerst tegen S spelen.

#7

EvilBro

    EvilBro


  • >5k berichten
  • 6703 berichten
  • VIP

Geplaatst op 02 april 2010 - 18:20

Er zijn 5 toestanden:
T1 = je speelt tegen S en je hebt al 0 partijen gewonnen.
T2 = je speelt tegen Z en je hebt al 0 partijen gewonnen.
T3 = je speelt tegen S en je hebt al 1 partij gewonnen.
T4 = je speelt tegen Z en je hebt al 1 partij gewonnen.
T5 = je hebt 2 partijen gewonnen.

s noem ik de kans dat S wint (en s > 0.5).
z noem ik de kans dat Z wint (en z < 0.5).

Transistiematrix opstellen:
LaTeX

Invoeren in Octave (Matlab), en voor het gebied uitrekenen (ik reken de twee kansen uit en trek de kans om te winnen als je bij Z start af van de kans dat je wint als je bij Z start -> positief = beter om bij S te beginnen):
N = 100;

	for x = 1:1:N,
		s = 0.5 + 0.5*(x/N);
		for y = 0:1:(N-1),
			z = 0.5*(y/N);
			
			A = [0	,	 z,	 z,	 0, 0; 
				 s	,	 0,	 0,	 s, 0;
				 (1-s),	 0,	 0,	 0, 0;
				 0	, (1-z),	 0,	 0, 0;
				 0	,	 0, (1-z), (1-s), 1];

			S = A^17 * [1,0,0,0,0]';
			Z = A^17 * [0,1,0,0,0]';

			result(x,y+1) = S(5) - Z(5);
		end
	end

	y = 0.5*(0:1:(N-1))/N;
	x = 0.5 + 0.5*(1:1:N)/N;
	surf(y, x, result);

	min(min(result))
Als laatste stap reken ik het minimum uit. Dit is 0. Omdat er geen negatief getal is, is er dus geen enkele waarde waarbij het zinniger is om bij Z te beginnen dan om bij S te beginnen.

Ik zou ook wel zo'n mooi kleurenplaatje willen maken, maar daar ken ik het commando niet voor... :eusa_whistle:

#8

physicalattraction

    physicalattraction


  • >1k berichten
  • 3101 berichten
  • Moderator

Geplaatst op 03 april 2010 - 21:45

Goede methode EvilBro, maar heb je niet een foutje in je matrix zitten? Volgens mij is de correcte matrix:

LaTeX

Als je het dan uitrekent, is het minimum wel nog steeds 0. Het plaatje kun je visualiseren met het commando imagesc(y, x, result).

Geplaatste afbeelding

Toch maar eens gaan kijken wat er mis was met mijn eerdere code. Voor de liefhebber:

function [p,q,PWmatrix] = simul()

	PWmatrix = zeros(21,21); 
	p = zeros(size(PWmatrix,2),1); q = zeros(size(PWmatrix,2),1);
	for ip = 1:size(PWmatrix,1)
		p(ip) = (ip-1)/(size(PWmatrix,1)-1);
		for iq = 1:size(PWmatrix,1)
			q(iq) = (iq-1)/(size(PWmatrix,1)-1);
			PWmatrix(ip,iq) = simulonce(p(ip),q(iq));
		end
	end

	close all
	
	hfigure1 = figure();
	haxes1 = axes('Parent',hfigure1);
	imagesc(p,q,PWmatrix);
	set(get(haxes1,'XLabel'),'String','p (first)')
	set(get(haxes1,'YLabel'),'String','q (second)')

	hfigure2 = figure();
	haxes2 = axes('Parent',hfigure2);
	imagesc(p,q,0.5*(PWmatrix-transpose(PWmatrix)));
	set(get(haxes2,'XLabel'),'String','p (first)')
	set(get(haxes2,'YLabel'),'String','q (second)')
	colorbar
	
	%%%%%%%%%%%%%%%%%%%%%%%%%%%%

	function PW = simulonce(p,q)
		PWtable = zeros(1,5000);
		for j = 1:size(PWtable,2)
			PWtable(j) = playonce(p,q);
		end
		PW = mean(PWtable);
	end

	%%%%%%%%%%%%%%%%%%%%%%%%%%%%
	
	function PO = playonce(p,q)
		PO = 0;
		uitslag = [ceil(p-rand(1)) zeros(1,16)];
		for i = 2:17
			if ceil(i/2) == floor(i/2)
				uitslag(i) = ceil(q-rand(1));
			else
				uitslag(i) = ceil(p-rand(1));
			end
			if uitslag(i) == 1 && uitslag(i-1) == 1
				PO = 1;
			end
		end
	end

end

#9

EvilBro

    EvilBro


  • >5k berichten
  • 6703 berichten
  • VIP

Geplaatst op 04 april 2010 - 08:14

Goede methode EvilBro, maar heb je niet een foutje in je matrix zitten?

Ik zie dat ik bij T3 en T4 de speler waar tegen je speelt heb verwisseld (t.o.v. mijn kladblaadje). Je kunt dus of de matrix aanpassen of gewoon zeggen:
T3 = je speelt tegen Z en je hebt al 1 partij gewonnen.
T4 = je speelt tegen S en je hebt al 1 partij gewonnen

#10

wijsneus

    wijsneus


  • >250 berichten
  • 389 berichten
  • Ervaren gebruiker

Geplaatst op 08 augustus 2011 - 20:00

PeterPan Geplaatst 2 April 2010, 11:23
Je speelt ....tegen Z.
Wat is de beste keuze om dat abonnement te winnen en waarom?

Kun je het beredeneren, zonder berekeningen?


Keuze: Z

Beredenering:Als je een goede leerling bent is Z de juiste keuze; S versla je iedere keer en Z in het 17e spel.





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures