Seite 1 von 1

Kombinatorik: Dienstags-Team einer Bücherei festlegen

Verfasst: 25.02.2013 13:02
von DrShrek
Folgende Aufgabe habe ich für Euch (Wer mag kann es ja mal versuchen):

Nehme wir mal an wir haben eine Bücherei, die jeden Dienstag öffnet.
Es sollten 2 Biblothekare pro Dienstag anwesend sein.
In Summe gibt es 5 gemeinnützige Frauen die hier zur Verfügung stehen.
Nennen wir Sie doch mal beim Namen: Michaela, Gudrun, Maria, Kerstin und Rita.
Die Bücherei ist 52 Wochen im Jahr geöffnet, also auch an den Feiertagen.

Nun die Aufgabe:
Wie müssen die 5 Frauen über die 52 Wochen verteilt werden das jeder mit jeden und von der Häufigkeit höchsten 1mal mehr als manch andere dran kommt?

Wie ist die Verteilung wenn statt 2 Frauen, noch eine Dritte erforderlich ist (auch hier jeder mit jeden, gleich oft und nicht mehr als 1x mehr als der Rest).

Bitte als PureBasic Program lösen.

Re: Kombinatorik: Dienstags-Team einer Bücherei festlegen

Verfasst: 25.02.2013 15:13
von STARGÅTE
Wozu in PB ?
Die möglichen Kombinationen sind:
12, 13, 14, 15, 23, 24, 25, 34, 35, 45 (also 10 Möglichkeiten, 5 über 2)
Dieses "Muster" wiederholt sich nun alle 10 Wochen, sodass in der 51. und 52. die einzigen "1mal mehr" Termine sind.
Bei drei Frauen das selbe: 5 über 3 also ebenfalls 10 Möglichkeiten:
123, 124, 125, 134, 135, 145, 234, 235, 245, 345
Auch hier gibt es 5 mal diese 10 Wochen und dann 2 Wochen extra.

Hier mal ein PB-Code für eine Kombinationsliste:

Code: Alles auswählen

Procedure BinomialList(n.i, k.i, List Combination.s(), n0.i=1, String.s="")
	Protected i
	If k = 0
		ProcedureReturn #False
	ElseIf k = 1
		For i = n0 To n
			AddElement(Combination())
			Combination() = String+Chr(i+'A'-1)
		Next
	Else
		For i = n0 To n
			BinomialList(n, k-1, Combination(), i+1, String+Chr(i+'A'-1))
		Next
	EndIf
EndProcedure


NewList Combination.s()
BinomialList(5, 2, Combination())
ForEach Combination()
	Debug Combination()
Next

Re: Kombinatorik: Dienstags-Team einer Bücherei festlegen

Verfasst: 25.02.2013 16:09
von matbal
Alle 10 Wochen wiederholt sich das zwar, aber in der 52. Woche (entspricht der 2. Woche) hat A 2 Tage mehr gearbeitet als D und E.
_____

Wie man die Teams gleichmäßig beschäftigt, kann man sich bildlich gut vorstellen.

Die 5 Frauen stellen sich im Kreis auf.

Variante 1: Immer 2 Nebeneinanderstehende arbeiten zusammen in der Reihenfolge, wie sie im Kreis stehen:
AB, CD, EA, BC, DE

Variante 2: Es wird immer einer übersprungen.
AC, BD, CE, DA, EB

Variante 1 und 2 müssen sich abwechseln, damit die Bedingungen der Aufgabe erfüllt sind.

(2 überspringen ist wie Variante 2 rückwärts, 3 überspringen ist wie Variante 1 rückwärts)