Mathematik online lernen im Mathe-Forum. Nachhilfe online
Startseite » Forum » Funktion für Setzlisten in K.O.-Systemen

Funktion für Setzlisten in K.O.-Systemen

Universität / Fachhochschule

Tags: Funktion

 
Antworten Neue Frage stellen Im Forum suchen
Neue Frage
mattes5

mattes5

01:21 Uhr, 22.04.2015

Antworten
Hallo zusammen,

ich zerbreche mir gerade den Kopf, um eine elegante Funktion zu finden, welche die Position von gesetzten Spielern innerhalb eines K.O.-Systems angibt. Setzlisten, fuer die, die es nicht kennen, sind dazu da, dass Spieler in einem KO-System an bestimmte Stellen gesetzt werden, so dass die Favoriten nicht schon zu Beginn gegeneinander spielen.
Hier ein Beispiel, die erste Zahl ist die Position im K.O.-System, die zweite ist die Setznummer. Ganz oben an Position 1 steht der Spieler mit der Setznummer 1, ganz unten die Setznummer 2. Die Spieler treffen also fruehstens im Finale aufeinandern. Setznummer 3 und 4 treffen auf die Setznummer 2 bzw 1 erst im Halbfinale usw.

Der bestgesetzte spielt also gegen den schlechtestgesetzten, der zweitbeste gegen den zweitschlechtestgesetzten und so weiter und so fort.


8er KO System (Position - Setznummer)

1-1

2-8

3-5

4-4

5-3

6-6

7-7

8-2


Was ich suche, ist eine Funktion f(x,y), die in Abhaengigkeit von der Anzahl der Positionen x und der Setznummer y die Position berechnet, an die der Spieler eingefuegt werden muss.

Eine programmatische Lösung habe ich zwar gefunden, aber ich glaube, dass das noch einiges eleganter und einfacher geht. Hat jemand eine Idee?

VG Mathias

Hierzu passend bei OnlineMathe:
Funktion (Mathematischer Grundbegriff)

Online-Übungen (Übungsaufgaben) bei unterricht.de:
 
Online-Nachhilfe in Mathematik
Antwort
Bummerang

Bummerang

09:32 Uhr, 22.04.2015

Antworten
Hallo,

wenn das korrekt ist:
Setzliste
dann habe ich schon mal eine rekursive Lösung, wobei bei mir x nicht die Anzahl der Teilnehmer ist, sondern die Anzahl der notwendigen Runden!
mattes5

mattes5

15:53 Uhr, 22.04.2015

Antworten
Genau, deine Tabelle ist korrekt fuer ein 32er System.

Meine Lösung ist auch rekursiv, aber programmatisch und sie wirkt recht umständlich. Man erkennt ja so einige Muster dabei, aber das worauf meine Rekursion aufbaut, ist dass die Summe benachbarter Setznummern immer der Anzahl der Teilnehmern +1 entspricht, im simpelsten Fall:

1
4
3
2

1+4=3+2=5

Zu meiner Lösung: bei jeder neuen Rekursion verdoppele ich die Größe des KO Systems, so dass jede Zahl einen freien Nachbarn erhält. Die freie Stelle ist ja nichts anderes als die Anzahl der Teilnehmer +1 abzüglich der benachbarten Zahl. Beispiel für ein 8er KO System

1

X<--9-1=8

X<--9-4=5

4

3

X<--9-3=6

X<--9-2=7

2


Letztlich habe ich eine Lookup Table, anhand welcher ich mir die Position für die jeweilige Setznummer geben lasse.

Wie gesagt, mir kommt's ziemlich unelegant vor.

Antwort
Bummerang

Bummerang

15:59 Uhr, 22.04.2015

Antworten
Hallo,

meine rekursive Funktion sieht so aus:

Definitionsbereich: x,y+ und 1y2x

f(1;1)=1

2x-1<y  :  f(x;y)=f(x;2x+1-y)+(-1)y

x1 und y2x-1  :  f(x;y)=2f(x-1;y)+12((-1)y-1)

Frage beantwortet
mattes5

mattes5

16:56 Uhr, 22.04.2015

Antworten
Ich brauchte etwas, um die Loesung zu verstehen, aber letztlich genau das, wonach ich gefragt habe :-) Als Programmcode auch die schlankere und perfomantere Wahl. Vielen Dank!