Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Elf unbekannte Aufgaben

378 views
Skip to first unread message

Rainer Rosenthal

unread,
Sep 23, 2021, 4:28:03 AM9/23/21
to
Ich habe hier eine Liste mit elf Fragen, die mit ja oder nein zu
beantworten sind, DIE ICH ABER NIEMANDEM ZEIGE. Wer wenigstens acht
davon richtig beantwortet, bekommt einen Preis.

Welche Mathelehrerin kann es schaffen, dass jemand aus ihrer Klasse
sicher einen Preis gewinnt? Wie groß muss die Klasse mindestens sein,
und welche Lösungsvorschläge führen zum Ziel?

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Formalisierung:
Lösungsvorschläge sind Listen mit Einträgen 0 oder 1 (für nein/ja).

Beispiele:
A = [0,1,0,0,0,0,1,0,1,0,0]
B = [0,1,0,1,0,0,1,0,1,0,0]

Sollte meine geheime Liste die Lösung L = [1,0,1,0,0,0,1,0,1,0,0]
erfordern, dann bekäme A einen Preis, weil nur die ersten drei Fragen
falsch beantwortet sind, also immerhin acht Antworten korrekt sind.

Gruß,
Rainer Rosenthal
r.ros...@web.de

Gus Gassmann

unread,
Sep 23, 2021, 7:54:31 AM9/23/21
to
Müssen alle Lösungsvorschläge gleichzeitig abgegeben werden, oder darf die Mathelehrerin Informationen sammeln?

Fritz Feldhase

unread,
Sep 23, 2021, 9:33:37 AM9/23/21
to
On Thursday, September 23, 2021 at 10:28:03 AM UTC+2, Rainer Rosenthal wrote:

> Welche Mathelehrerin kann es schaffen, <usw.>

Ein Mathelehrer kann es nicht schaffen?

Jens Kallup

unread,
Sep 23, 2021, 10:51:04 AM9/23/21
to
A hat genau die gleiche Changen wie B, also:

Die 2 ergibt sich aus der Tatsache, das nur 0 - falsch und
1 - richtig, also 2 Möglichkeiten entstehen können.
Da Deine Liste, oder die Anzahl der Fragen 11 beträgt, so
ergibt sich für:

A = B:
A = 2 hoch 11, und
B = 2 hoch 11

A > B ->
A = 2 hoch 11
B = 2 hoch 11 minus 1

B > A ->
A = 2 hoch 11 minus 1
B = 2 hoch 11

beide gleich stark:
A = 2 hoch 11 = 2048 Möglichkeiten
B = 2 hich 11 = 2048 Möglichkeiten

A schwächer als B:
A = 2 hoch 11 minus 1 = 2047

B schwächer als A:
B = 2 hoch 11 minus 1 = 2047

Jens

Brigitta Jennen

unread,
Sep 23, 2021, 12:32:33 PM9/23/21
to
Hallo,
die Schüler raten bei jeder Frage zufällig, welches die richtige
Lösung ist.
Die Einzelwahrscheinlichkeit p, die richtige Antwort bei einer der
11 Fragen zufällig richtig zu erraten beträgt p = 0.5
Damit liegt ein Bernoulli-Prozess der Länge n = 11 mit p = 0.5 vor.

Gefordert ist, dass mindestens 8 Fragen richtig beantwortet werden.
Dies ist gleichbedeutend mit dem Gegenereignis, nicht mehr als drei
Fragen falsch zu beantworten.

Berechnung der Einzelwahrscheinlichkeiten mittels Binomialverteilung
B(n;p;k):

p_0 (keine Frage falsch beantwortet) = 0.5^11 = 0.000488
p_1 (eine Frage falsch beantwortet) = 0.5^11*11 = 0.005371
p_2 (zwei Fragen falsch beantwortet) = 0.5^11 * 55 = 0.026855
p_3 (drei Fragen falsch beantwortet) = 0.5^11 * 165 = 0.080566

Zusammen ergibt sich als kumulative Wahrscheinlichkeit bei zufälligem Raten
höchstens drei Fragen falsch zu beantworten als Summe
p_0123 = 0.1132812
und damit als Gegenwahrscheinlichkeit, zufällig 8 Fragen aus 11 zufällig richtig
zu erraten mit
p = 1 - p_0123 = 0.8867188

Dies sind die Chancen für einen einzelnen Schüler.

Wenn die Klasse nur aus einem einzigen Schüler besteht, liegt die Wahrscheinlichkeit,
dass er den Preis für 8 Richtige gewinnt, also bei rund 88%.
Bestünde die Klasse aus zwei Schülern, würde die Wahrscheinlichkeit dafür, dass
mindestens einer den Preis gewinnt auf p = 0.9871674 ansteigen.

Deine Forderung, dass mindestens 1 Schüler den Preis "sicher gewinnen" soll,
interpretiere ich jetzt mal so, dass die
Wahrscheinlichkeit für "sicher" mehr als 0.999 betragen soll.

Hierfür sind 4 Schüler erforderlich.
Wenn die Klasse aus mindestens vier Schülern besteht steigt die Wahrscheinlichkeit,
dass mindestens einer acht Richtige rät auf über 99.9 % an.

Deine Frage:
"Welche Mathelehrerin kann es schaffen, dass jemand aus ihrer Klasse
sicher einen Preis gewinnt?"
kann ich aus dem Stehgreif leider nicht beantworten :-))

Interessant an der Aufgabe finde ich, dass hier zwei Bernoulli-Prozesse
quasi "verschränkt" sind.

Grüße
Brigitta

> Gruß,
> Rainer Rosenthal
> r.ros...@web.de

Rainer Rosenthal

unread,
Sep 23, 2021, 1:03:05 PM9/23/21
to
Am 23.09.2021 um 13:54 schrieb Gus Gassmann:
> On Thursday, 23 September 2021 at 05:28:03 UTC-3, Rainer Rosenthal wrote:

# Ich habe hier eine Liste mit elf Fragen, die mit ja oder nein zu
# beantworten sind, DIE ICH ABER NIEMANDEM ZEIGE. Wer wenigstens acht
# davon richtig beantwortet, bekommt einen Preis.
#
# Welche Mathelehrerin kann es schaffen, dass jemand aus ihrer Klasse
# sicher einen Preis gewinnt? Wie groß muss die Klasse mindestens sein,
# und welche Lösungsvorschläge führen zum Ziel?
#

>
> Müssen alle Lösungsvorschläge gleichzeitig abgegeben werden, oder darf die Mathelehrerin Informationen sammeln?
>

#
# Zusatzfrage:
# Ist es hilfreich, wenn die Lösungsvorschläge
# nacheinander abgegeben werden dürfen?
#

Fritz Feldhase

unread,
Sep 23, 2021, 2:06:10 PM9/23/21
to
On Thursday, September 23, 2021 at 6:32:33 PM UTC+2, Brigitta Jennen wrote:
> Rainer Rosenthal schrieb am Donnerstag, 23. September 2021 um 10:28:03 UTC+2:
>
> Deine Forderung, dass mindestens 1 Schüler den Preis "sicher gewinnen" soll,
> interpretiere ich jetzt mal so, dass die
> Wahrscheinlichkeit für "sicher" mehr als 0.999 betragen soll.

Also dafür würde ich eher die Bezeichnung "mit an Sicherheit grenzender Wahrscheinlichkeit" verwenden. :-P

Konkretes Beispiel: Wenn eine Bremse nur in 999 von 1000 Fällen (der Betätigung) funktioniert, würde ich das auch nicht als "(funktioniert) sicher" ansehen wollen. :-P

Von dem her würde ich dann doch eher einen "kombinatorischen" Ansatz bevorzugen (der -von Fällen der höheren Gewalt abgesehen- eine "absolute Sicherheit" gewährleistet).

Rainer Rosenthal

unread,
Sep 23, 2021, 2:07:34 PM9/23/21
to
Am 23.09.2021 um 18:32 schrieb Brigitta Jennen:

> Zusammen ergibt sich als kumulative Wahrscheinlichkeit bei zufälligem Raten
> höchstens drei Fragen falsch zu beantworten als Summe
> p_0123 = 0.1132812
> und damit als Gegenwahrscheinlichkeit, zufällig 8 Fragen aus 11 zufällig richtig
> zu erraten mit
> p = 1 - p_0123 = 0.8867188
>
"höchstens drei falsch" ist das selbe wie "mindestens acht richtig".

Die Gegenwahrscheinlichkeit von über 88 % gilt für das Ereignis "mehr
als drei Fragen falsch beantwortet".

Lieben Gruß,
Rainer

Martin Vaeth

unread,
Sep 23, 2021, 2:34:25 PM9/23/21
to
Rainer Rosenthal <r.ros...@web.de> schrieb:
> Ich habe hier eine Liste mit elf Fragen, die mit ja oder nein zu
> beantworten sind, DIE ICH ABER NIEMANDEM ZEIGE. Wer wenigstens acht
> davon richtig beantwortet, bekommt einen Preis.
>
> Welche Mathelehrerin kann es schaffen, dass jemand aus ihrer Klasse
> sicher einen Preis gewinnt? Wie groß muss die Klasse mindestens sein,
> und welche Lösungsvorschläge führen zum Ziel?

Ich denke Du willst eher darauf hinaus: Die Schüler dürfen sich
absprechen, und ihr Ziel ist es, dass mindestens einer den Preis
bekommt. Wie groß muss die Klasse mindestens sein, dass ihnen
das *mit Sicherheit* gelingt, und welche Antworten müssen die
Schüler dabei geben?

Rainer Rosenthal

unread,
Sep 23, 2021, 2:57:03 PM9/23/21
to
Ich will darauf hinaus, dass die Mathelehrerin ihre Schüler und
Schülerinnen dazu anregt, einen Plan zu machen.
Ich hätte also besser geschrieben:
"Wie schafft es die Mathelehrerin, dass jemand aus ihrer Klasse sicher
einen Preis gewinnt." Dabei ist "sicher" genau so zu verstehen, dass das
*mit Sicherheit* gelingt. Auch Wahrscheinlichkeits-Ansätze sind als
Diskussionsbeiträge willkommen, aber wie an anderer Stelle schon öfter
betont wurde: 0.999... < 1. Und für endlich viele 9-en stimme ich dem zu.

Ich möchte nochmal die Formalisierung zitieren:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Formalisierung:
Lösungsvorschläge sind Listen mit Einträgen 0 oder 1 (für nein/ja).

Beispiele:
A = [0,1,0,0,0,0,1,0,1,0,0]
B = [0,1,0,1,0,0,1,0,1,0,0]

Sollte meine geheime Liste die Lösung L = [1,0,1,0,0,0,1,0,1,0,0]
erfordern, dann bekäme A einen Preis, weil nur die ersten drei Fragen
falsch beantwortet sind, also immerhin acht Antworten korrekt sind.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Für eine richtige Lösung erwarte ich
1. Die Angabe einer Klassengröße K
2. K elfstellige Listen mit Einträgen 0 oder 1 (für nein/ja).

Eine Klasse mit K = 2^11 Schülern schafft es bestimmt, aber wie klein
darf K werden?

Gruß,
Rainer


Gus Gassmann

unread,
Sep 23, 2021, 3:20:02 PM9/23/21
to
Ohne Lernmöglichkeit sicher nicht allzuviel kleiner.











(spoiler)












Nur ein Listeneintrag trifft alle 11, 11 treffen zehn richtige, 55 treffen 9 und 165 treffen 8. Die übrigen 1816 treffen nie mehr als sieben richtige. Also brauchst du schon eine Aula, um die ganze Klasse von 1817 Schülern zu versammeln.

Rainer Rosenthal

unread,
Sep 23, 2021, 3:32:15 PM9/23/21
to
Am 23.09.2021 um 21:20 schrieb Gus Gassmann:
> Also brauchst du schon eine Aula, um die ganze Klasse von 1817 Schülern zu versammeln.
>
Ich notiere K = 1817 und brauche nun nur noch die 1817
Lösungsvorschläge, um sie mit meiner Geheim-Lösung zu vergleichen(*).

Ich danke für den ersten Ansatz, aber es geht mit K << 50.

Gruß,
Rainer

(*) Ich behalte mir natürlich Schummeln vor, d.h. wenn es eine
Geheim-Lösung geben könnte, die von allen 1817 Lösungsvorschlägen an
mehr als drei Stellen abweicht, dann werde ich behaupten, das sei die zu
Erratende gewesen.



Rainer Rosenthal

unread,
Sep 23, 2021, 3:33:26 PM9/23/21
to
Am 23.09.2021 um 16:51 schrieb Jens Kallup:
> Am 23.09.2021 um 10:28 schrieb Rainer Rosenthal:
>> Lösungsvorschläge sind Listen mit Einträgen 0 oder 1 (für nein/ja).
>>
>> Beispiele:
>> A = [0,1,0,0,0,0,1,0,1,0,0]
>> B = [0,1,0,1,0,0,1,0,1,0,0]>
>>
> A hat genau die gleiche Changen wie B, also:
>

Hallo Jens,

nach den "Chancen" von A oder B ist nicht gefragt.
A und B sind lediglich Beispiele für zwei Lösungsvorschläge, die
vielleicht von der Klasse mitgeteilt werden.
Dabei hat A hat 3 falsche Antworten und B hat 4 falsche Antworten, wenn
die Liste der korrekten Antworten so aussieht: [1,0,1,0,0,0,1,0,1,0,0].

Gruß,
Rainer

Brigitta Jennen

unread,
Sep 23, 2021, 3:38:07 PM9/23/21
to
Stimmt!
Deshalb neuer Ansatz, bei gleicher Binomial-Denkweise:

Den Preis gewinnt, wer 8, 9, 10 oder 11 Fragen richtig beantwortet.

Die Wahrscheinlichkeit hiefür beträgt
p = 0.1132812
[In R: sum(dbinom(8:11, 11, 1/2)) = 0.1132812]

Ein einzelner Schüler, der einfach nur rät, hat eine Erfolgswahrscheinlichkeit von
11.3%

Wenn die Klasse aus nur einem einzigen Schüler besteht, liegt die Wahrscheinlichkeit,
dass er den Preis für 8 Richtige gewinnt, also bei rund 11.3%.
Bestünde die Klasse aus zwei Schülern, würde die Wahrscheinlichkeit dafür, dass
mindestens einer den Preis gewinnt auf p = 0.2137298 ansteigen.
[In R: sum(dbinom(1:2, 2, 0.1132812))]

Die Frage, die jetzt zu beantworten ist, lautet:
Wie groß muss die Schülerzahl n sein, dass bei einer Bernoulli-Kette der Länge n
die Wahrscheinlichkeit für "mindestens 1 Schüler hat acht Richtige"
auf über 0.999 steigt?

Die Antwort ist: n = 58

Mit R:
sum(dbinom(1:58, 58, 0.1132812)) = 0.9990633

Wenn die Klasse aus 58 Schülern besteht, liegt die Wahrscheinlichkeit für das
Ereignis "mindestens einer hat 8 Richtige" bei 99.9%

>
> Lieben Gruß,
> Rainer

Martin Vaeth

unread,
Sep 23, 2021, 3:38:37 PM9/23/21
to
Gus Gassmann <horand....@gmail.com> schrieb:
> On Thursday, 23 September 2021 at 15:57:03 UTC-3, Rainer Rosenthal wrote:
>>
>> Ich möchte nochmal die Formalisierung zitieren:
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> Formalisierung:
>> Lösungsvorschläge sind Listen mit Einträgen 0 oder 1 (für nein/ja).
>>
>> Beispiele:
>> A = [0,1,0,0,0,0,1,0,1,0,0]
>> B = [0,1,0,1,0,0,1,0,1,0,0]
>>
>> Sollte meine geheime Liste die Lösung L = [1,0,1,0,0,0,1,0,1,0,0]
>> erfordern, dann bekäme A einen Preis, weil nur die ersten drei Fragen
>> falsch beantwortet sind, also immerhin acht Antworten korrekt sind
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>
>> Für eine richtige Lösung erwarte ich
>> 1. Die Angabe einer Klassengröße K
>> 2. K elfstellige Listen mit Einträgen 0 oder 1 (für nein/ja).
>>
>> Eine Klasse mit K = 2^11 Schülern schafft es bestimmt, aber wie klein
>> darf K werden?
>
> Ohne Lernmöglichkeit sicher nicht allzuviel kleiner.
>
>
>
>
>
>
>
>
>
>
>
>
> (spoiler)
>
>
>
>
>
>
>
>
>
>
>
>





(spoiler)









Du liegst falsch.











(spoiler)



















Lies Dir einmal einen anderen kürzlichen Thread von Rainer durch.

Rainer Rosenthal

unread,
Sep 23, 2021, 3:46:20 PM9/23/21
to
Am 23.09.2021 um 21:38 schrieb Brigitta Jennen:
>
> Die Antwort ist: n = 58
>
> Wenn die Klasse aus 58 Schülern besteht, liegt die Wahrscheinlichkeit für das
> Ereignis "mindestens einer hat 8 Richtige" bei 99.9%
>

K = 58 ist schon deutlich kleiner als diee vorgeschlagenen 1817, leider
aber ist der 'Sicherheits'-Aspekt vernachlässigt(*).

Es gibt eine Lösung mit K deutlich unter 50 und garantiertem Erfolg.

Gruß,
Rainer

(*) ... schaffen, dass jemand aus ihrer Klasse *sicher* einen Preis gewinnt?

Jens Kallup

unread,
Sep 23, 2021, 4:38:41 PM9/23/21
to
mich würde mal interessieren, wie und womit man diesen
Kooifizienten berechnet bekommt.

Jens

Rainer Rosenthal

unread,
Sep 23, 2021, 4:48:57 PM9/23/21
to
Am 23.09.2021 um 22:38 schrieb Jens Kallup:
> mich würde mal interessieren, wie und womit man diesen
> Kooifizienten berechnet bekommt.
>

Hallo Jens, jetzt sei doch mal so gut, das zu zitieren, wonach Du
fragst. Woher soll ich wissen, was Du meinst?

Von welchem Koeffizienten sprichst Du?

Gruß,
Rainer


Jens Kallup

unread,
Sep 23, 2021, 4:53:02 PM9/23/21
to
also ich denke mal, das dies mit Modulus
3 = 1, und
4 = 2

rückwärts berechnet werden könnte.
wobei dann
mod 3 = 1 <--- diese 1, und
mod 4 = 2 <--- diese 2

die möglichen 3 Varianten sein dürften.

wobei sich das ja eigentlich wiederholen
sollte und eine Liste wie:

11 = 3 für den stärksten, und der Rest
10 = 2

ergeben sollte.
In der Bandbreite von 11 Aufgaben:
00000000011 für 3, und
00000000010 für 2

man könnte natürlich die 3 als dritten,
und die 2 als zweiten Platz betrachten.

Aber fairerweise, damit kein Schüler aussen
vorn gehalten wird, und somit alle ein gutes
Ergebnis erhalten, könnte man die beiden
Gruppen 3 und 2 zusammen würfeln und man
erhält dadurch einen Overflow, aber mit
positiver Wirkung.

Also so:

00000000011 3
und 00000000010 2
----------------
= 00000000100 4

man kann am Ergebnis oben eine kleine Anglizmen
erkennen - die führenden Nullen braucht man ja
nicht, übrig bleibt 100 - in Prozent gesehen,
also 100 % - Alle bestanden :-)

Jens

Jens Kallup

unread,
Sep 23, 2021, 4:55:49 PM9/23/21
to
    00000000011   3
und 00000000010   2
----------------
=    00000000100   4

natürlich ergibt 3+2 = 5.
Aber die Lehrerinn ist ja auch noch im Spiel.
Die darf ja eigentlich nicht mitberechnet werden.

Somit ergibt sich 3+2 = 5 - eine Lehrerinn = 4

Jens

Jens Kallup

unread,
Sep 23, 2021, 4:58:25 PM9/23/21
to
naja, wie ich das so gesehen habe, in Brigittas Post,
wurden 0 Komma Zahl Objekte verwendet.
Und es kam die Frage nach binominalkoofizienten auf.
Daher meine Frage:
inwiefern haben solche Koofizienten eine Rolle, und
wie berechnet man diese.

Jens

Fritz Feldhase

unread,
Sep 23, 2021, 10:22:33 PM9/23/21
to
On Thursday, September 23, 2021 at 10:28:03 AM UTC+2, Rainer Rosenthal wrote:
>
> Ich habe hier eine Liste mit elf Fragen, die mit ja oder nein zu
> beantworten sind, DIE ICH ABER NIEMANDEM ZEIGE. Wer wenigstens acht
> davon richtig beantwortet, bekommt einen Preis.
>
> Welche Mathelehrerin kann es schaffen, dass jemand aus ihrer Klasse
> sicher einen Preis gewinnt?

Keine Ahnung. Leider kenne ich nicht genügend Mathelehrerinnen, um diese Frage zu beantworten.

Daher mache ich mal mit den folgenden Fragen weiter:

> Wie groß muss die Klasse mindestens sein,

Achselzuck, 32 Schüler genügen jedenfalls, um sicher zu stellen, dass jemand aus der Menge dieser Schüler den Preis gewinnt.

Ich gehe nicht davon aus, dass dies die "optimale" Lösung ist, aber immerhin habe ich damit eine obere Grenze für die Anzahl der benötigten Schüler angegeben.

> und welche Lösungsvorschläge führen zum Ziel?

Mein Lösung funktioniert wie folgt:

Die Klasse umfasst 32 Schüler. Je zwei Schüler beantworten die ersten 4 Fragen gleich. Und zwar nach dem "binären Schema":

Also:

nein, nein, nein, nein
nein, nein, nein, ja
nein, nein, ja, nein
nein, nein, ja, ja
usw.

Da damit alle Antwortmöglichkeiten für die ersten 4 Fragen ausgeschöpft werden, beantworten genau 2 Schüler die erste 4 Fragen korrekt. Bei den weiteren Fragen, folgen die Schüler einem simplen Schema, das -wie eine einfache Überlegung zeigt- garantiert, dass einer der beiden, die die ersten 4 Fragen gleich beantwortet haben, mindestens 4 der verbleibenden 7 Fragen korrekt beantwortet: Jeweils einer der beiden beantwortet die restlichen Fragen allesamt mit ja, und der andere mit nein.

Fritz Feldhase

unread,
Sep 23, 2021, 10:27:58 PM9/23/21
to
On Thursday, September 23, 2021 at 8:57:03 PM UTC+2, Rainer Rosenthal wrote:

> aber wie an anderer Stelle schon öfter betont wurde: 0.999... < 1.
> Und für endlich viele 9-en stimme ich dem zu.

Daher das besser so hinschreiben: 0,9...9 < 1
Denn: 0,999... = 1.

Siehe: https://de.wikipedia.org/wiki/0,999%E2%80%A6

> Eine Klasse mit K = 2^11 Schülern schafft es bestimmt, aber wie klein
> darf K werden?

K = 32 genügt jedenfalls schon.
Message has been deleted

Fritz Feldhase

unread,
Sep 24, 2021, 12:23:37 AM9/24/21
to
On Thursday, September 23, 2021 at 9:38:07 PM UTC+2, Brigitta Jennen wrote:

> Wenn die Klasse aus 58 Schülern besteht, liegt die Wahrscheinlichkeit für das
> Ereignis "mindestens einer hat 8 Richtige" bei 99.9%

Wenn die Klasse aus 32 Schülern besteht, die sich abgesprochen und auf eine gewisse Strategie geeinigt haben bzw. von der Klassenlehrerin oder dem Klassenlehrer entsprechend instruiert wurden (und die Fragen auch entsprechend der Strategie beantworten), dann liegt die Wahrscheinlichkeit für das Ereignis "mindestens einer hat 8 Fragen richtig beantwortet" (Fälle höherer Gewalt einmal außen vor gelassen) bei 100%.

Interessant würde Dein auf Wahrscheinlichkeit basierender Ansatz wohl werden/sein, wenn damit die Anzahl der Schüler, die man benötigt, um auf die 99,9% zu kommen, (deutlich) unter 32 gedrückt werden könnte.

Vgl. https://de.wikipedia.org/wiki/Quicksort

Alfred Flaßhaar

unread,
Sep 24, 2021, 3:41:19 AM9/24/21
to
Am 23.09.2021 um 20:57 schrieb Rainer Rosenthal:
> Am 23.09.2021 um 20:34 schrieb Martin Vaeth:
>> Rainer Rosenthal <r.ros...@web.de> schrieb:
(...)
>>
> Ich will darauf hinaus, dass die Mathelehrerin ihre Schüler und
> Schülerinnen dazu anregt, einen Plan zu machen.
> Ich hätte also besser geschrieben:
> "Wie schafft es die Mathelehrerin, dass jemand aus ihrer Klasse sicher
> einen Preis gewinnt." Dabei ist "sicher" genau so zu verstehen, dass das
> *mit Sicherheit* gelingt.

(...)


Spoiler



































Darf der vom führenden Schülerstrategen beabsichtigte Planungserfolg
etappenweise vom Lehrer beurteilt werden? Wenn ja, dann wäre ein
Abstiegsverfahren zielführend.

Also:

Die Hälfte der Klasse tippt irgendwie auf genau acht Richtige. Wenn dann
der Lehrer sich freut, ist das Spiel zuende. Wenn kein Treffer dabei
ist, dann tippt die Hälfte der Restschüler auf genau neun Richtige usw.
Das bricht dann nach vier Schritten ab und erinnert an die
Reiskornaufgabe auf dem Schachbrett.

jvr

unread,
Sep 24, 2021, 4:29:52 AM9/24/21
to
On Thursday, September 23, 2021 at 10:28:03 AM UTC+2, Rainer Rosenthal wrote:
> Ich habe hier eine Liste mit elf Fragen, die mit ja oder nein zu
> beantworten sind, DIE ICH ABER NIEMANDEM ZEIGE. Wer wenigstens acht
> davon richtig beantwortet, bekommt einen Preis.
>
> Welche Mathelehrerin kann es schaffen, dass jemand aus ihrer Klasse
> sicher einen Preis gewinnt? Wie groß muss die Klasse mindestens sein,
> und welche Lösungsvorschläge führen zum Ziel?
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Formalisierung:
> Lösungsvorschläge sind Listen mit Einträgen 0 oder 1 (für nein/ja).
>
> Beispiele:
> A = [0,1,0,0,0,0,1,0,1,0,0]
> B = [0,1,0,1,0,0,1,0,1,0,0]
>
> Sollte meine geheime Liste die Lösung L = [1,0,1,0,0,0,1,0,1,0,0]
> erfordern, dann bekäme A einen Preis, weil nur die ersten drei Fragen
> falsch beantwortet sind, also immerhin acht Antworten korrekt sind.
>
> Gruß,
> Rainer Rosenthal
> r.ros...@web.de

Hamming bound, Hamming codes, perfect codes nachlesen.
Das Thema ist nicht völlig trivial; die Raterei ziemlich sinnlos.

Rainer Rosenthal

unread,
Sep 24, 2021, 6:35:51 AM9/24/21
to
Am 24.09.2021 um 09:41 schrieb Alfred Flaßhaar:
>
> ... dann wäre ein Abstiegsverfahren zielführend.
>
> ... Wenn dann der Lehrer sich freut, ...

Der Lehrer oder die Lehrerin kennen doch meine Geheim-Lösung nicht.
Sie sollen lediglich ihren K Kindern in der Klasse helfen, einen Plan zu
schmieden, so dass die Lösungsvorschläge V_1, V_2, ..., V_K mit
Sicherheit einen Vorschlag enthalten, der mindestens 8 richtige
Antworten hat.

Ich bedanke mich für die rege Diskussionsbeteiligung, insbesondere für
die erste Einreichung (von Fritz Feldhase) zum Beweis, dass K <= 32 ist:
[0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,1,1,1,1,1,1,1],
[0,0,0,1,0,0,0,0,0,0,0],
[0,0,0,1,1,1,1,1,1,1,1],
[0,0,1,0,0,0,0,0,0,0,0],
[0,0,1,0,1,1,1,1,1,1,1],
[0,0,1,1,0,0,0,0,0,0,0],
[0,0,1,1,1,1,1,1,1,1,1],
[0,1,0,0,0,0,0,0,0,0,0],
[0,1,0,0,1,1,1,1,1,1,1],
[0,1,0,1,0,0,0,0,0,0,0],
[0,1,0,1,1,1,1,1,1,1,1],
[0,1,1,0,0,0,0,0,0,0,0],
[0,1,1,0,1,1,1,1,1,1,1],
[0,1,1,1,0,0,0,0,0,0,0],
[0,1,1,1,1,1,1,1,1,1,1],
[1,0,0,0,0,0,0,0,0,0,0],
[1,0,0,0,1,1,1,1,1,1,1],
[1,0,0,1,0,0,0,0,0,0,0],
[1,0,0,1,1,1,1,1,1,1,1],
[1,0,1,0,0,0,0,0,0,0,0],
[1,0,1,0,1,1,1,1,1,1,1],
[1,0,1,1,0,0,0,0,0,0,0],
[1,0,1,1,1,1,1,1,1,1,1],
[1,1,0,0,0,0,0,0,0,0,0],
[1,1,0,0,1,1,1,1,1,1,1],
[1,1,0,1,0,0,0,0,0,0,0],
[1,1,0,1,1,1,1,1,1,1,1],
[1,1,1,0,0,0,0,0,0,0,0],
[1,1,1,0,1,1,1,1,1,1,1],
[1,1,1,1,0,0,0,0,0,0,0],
[1,1,1,1,1,1,1,1,1,1,1]

Gruß,
Rainer

Rainer Rosenthal

unread,
Sep 24, 2021, 6:49:39 AM9/24/21
to
Am 24.09.2021 um 04:22 schrieb Fritz Feldhase:
> On Thursday, September 23, 2021 at 10:28:03 AM UTC+2, Rainer Rosenthal wrote:
>>
>> Ich habe hier eine Liste mit elf Fragen, die mit ja oder nein zu
>> beantworten sind, DIE ICH ABER NIEMANDEM ZEIGE. Wer wenigstens acht
>> davon richtig beantwortet, bekommt einen Preis.
>>
>> Welche Mathelehrerin kann es schaffen, dass jemand aus ihrer Klasse
>> sicher einen Preis gewinnt?
>

>
> Mein Lösung funktioniert wie folgt:
>
> Die Klasse umfasst 32 Schüler. Je zwei Schüler beantworten die ersten 4 Fragen gleich. Und zwar nach dem "binären Schema":
>
> Also:
>
> nein, nein, nein, nein
> nein, nein, nein, ja
> nein, nein, ja, nein
> nein, nein, ja, ja
> usw.
>
> Da damit alle Antwortmöglichkeiten für die ersten 4 Fragen ausgeschöpft werden, beantworten genau 2 Schüler die erste 4 Fragen korrekt. Bei den weiteren Fragen, folgen die Schüler einem simplen Schema, das -wie eine einfache Überlegung zeigt- garantiert, dass einer der beiden, die die ersten 4 Fragen gleich beantwortet haben, mindestens 4 der verbleibenden 7 Fragen korrekt beantwortet: Jeweils einer der beiden beantwortet die restlichen Fragen allesamt mit ja, und der andere mit nein.
>

Ausgeschrieben sehen die 32 Lösungsvorschläge so aus:
Das ist eine sehr schön strukturierte Einreichung, die für Klassen mit
mindestens 32 Schülern funktioniert. Die Lehrerin wird sich über den
Tipp freuen und ihren Schülern und Schülerinnen helfen, ihn vielleicht
sogar selbst zu entwickeln durch geeignete Tipps.

Ich bin sogar ein bisschen neidisch auf den klaren Ansatz. Auf meiner
Suche nach möglichst kleinen Klassen bin ich zwar erfolgreich gewesen,
aber da ich mich dem blinden Zufall überlassen habe, habe ich diesen
einfachen ersten Zugang nicht gesehen.
Ich denke, dass er geeignet ist, das Thema noch verständlicher zu
machen. Wenn es Dir egal ist, nach kleineren Klassengrößen zu forschen,
dann wirst Du sicher Deinen Grund haben. Es gibt ja noch viele wichtige
Dinge zu erledigen :-)

Gruß,
Rainer

Fritz Feldhase

unread,
Sep 24, 2021, 6:54:08 AM9/24/21
to
On Friday, September 24, 2021 at 10:29:52 AM UTC+2, jvr wrote:

> Hamming bound, Hamming codes, perfect codes nachlesen.
> Das Thema ist nicht völlig trivial; die Raterei ziemlich sinnlos.

Na dann sag doch einfach, wie klein das minimale K ist und gib eine konkrete Menge von Schüler-Lösungen V_1, V_2, ..., V_K an, die zum Ziel führen an.

Rainer Rosenthal

unread,
Sep 24, 2021, 6:59:52 AM9/24/21
to
Am 24.09.2021 um 10:29 schrieb jvr:
>
> Hamming bound, Hamming codes, perfect codes nachlesen.
> Das Thema ist nicht völlig trivial; die Raterei ziemlich sinnlos.
>
Im Chor zu singen, ist zum Beispiel auch ziemlich sinnlos.
Aber es macht Spaß.

Für die Raterei spricht auch, dass sich bei der Beschäftigung mit dem
Thema das Verständnis für dies "nicht völlig triviale" Thema bildet und
erweitert, so dass Nachlesen eine sinnvolle Option wird.

Ich fühle mich jedenfalls gerade ein wenig "im Zaubergarten der
Mathematik", weil heute Nacht bei parallelen Suchläufen zwei neue 24-er
erblüht sind. Die werde ich mir natürlich noch genauer anschauen und
analog zu http://rwro.de/Demonstrationen/Code24A_dsm.jpg analysieren.
(s. "benachbart"-Relation: eine Quasi-Äquivalenz, 18.09.2021, 23:56)

Gruß,
Rainer Rosenthal
r.ros...@web.de



Fritz Feldhase

unread,
Sep 24, 2021, 7:07:00 AM9/24/21
to
On Friday, September 24, 2021 at 12:49:39 PM UTC+2, Rainer Rosenthal wrote:
> Am 24.09.2021 um 04:22 schrieb Fritz Feldhase:
> >
> > Mein Lösung funktioniert wie folgt:
> >
> > Die Klasse umfasst 32 Schüler. [usw.]
> >
> Das ist eine sehr schön strukturierte Einreichung, die für Klassen mit
> mindestens 32 Schülern funktioniert. Die Lehrerin wird sich über den
> Tipp freuen und ihren Schülern und Schülerinnen helfen, ihn vielleicht
> sogar selbst zu entwickeln durch geeignete Tipps.
>
> Ich bin sogar ein bisschen neidisch auf den klaren Ansatz. Auf meiner
> Suche nach möglichst kleinen Klassen bin ich zwar erfolgreich gewesen,
> aber da ich mich dem blinden Zufall überlassen habe, habe ich diesen
> einfachen ersten Zugang nicht gesehen.

Naja, mein "erster Zugang" hat ja zu eine Lösung für "6 Richtige aus 11 Aufgaben" geführt. Dafür genügen 2 Schüler. :-P

Um zumindest zu einer halbwegs brauchbaren Lösung zu kommen, bin ich dann (nach etwas Überlegung) auf diese "gemischte" Strategie verfallen. Wo die ersten 4 Fragen "systematisch" "abgefrühstückt" werden und der Rest dann mit der "schlauen Strategie" angegangen wird - aber reduziert auf "4 Richtige aus 7 Aufgaben" (wofür ebenfalls 2 Schüler ausreichen).

Dass das nicht "optimal" ist, habe ich mir schon gedacht.

> Ich denke, dass er geeignet ist, das Thema noch verständlicher zu
> machen. Wenn es Dir egal ist, nach kleineren Klassengrößen zu forschen,
> dann wirst Du sicher Deinen Grund haben. Es gibt ja noch viele wichtige
> Dinge zu erledigen :-)

Ja, besonders um 4 Uhr morgens. :-)

Rainer Rosenthal

unread,
Sep 24, 2021, 3:14:50 PM9/24/21
to
Am 24.09.2021 um 12:59 schrieb Rainer Rosenthal:
>
> Ich fühle mich jedenfalls gerade ein wenig "im Zaubergarten der
> Mathematik", weil heute Nacht bei parallelen Suchläufen zwei neue 24-er
> erblüht sind.
>
Jetzt habe ich weiter gegärtnert und züchte aus den ziemlich vielen
inzwischen gefundenen Paketen mit 25 Lösungsvorschlägen neue 24-er!

Der Trick lautet: zwei zurück, eins vor.
Das bedeutet, ich nehme aus einem Paket mit 25 Lösungsvorschlägen zwei
weg und schaue dann, ob ein weiterer Lösungsvorschlag das aus nunmehr 24
0-1-Folgen bestehende Paket vollständig macht.

Und wenn ich dann genügend 24 beisammen habe, will ich schauen, ob der
Trick vielleicht sogar ein 23-er-Paket liefert. Denn die Minimalgröße K
muss keineswegs 24 sein. Durch dummes Suchen habe ich halt nur noch
nichts Besseres finden können. (Direkte dumme Suche hat mir in den
letzten drei Tagen gerade mal 3 Pakete mit K = 24 beschert.)

Aber soeben habe ich bereits aus dem ersten 25-er-Paket neun(!) neue
24-er gezüchtet!

Das könnte einen ergiebigen Nachtlauf geben, denn ich habe elf
25-er-Pakete, d.h. noch 10 weitere, um sie aufzuhübschen.

Gruß,
RR

P.S. Formeln werden gerne entgegengenommen, für Pakete mit K < 24
gibt es noch immer das bereits versprochene Bier, siehe
"benachbart"-Relation: eine Quasi-Äquivalenz, 16.09.2021, 17:11.
Zitat:
(*) Ich spendiere ein Bier für ein Repräsentantensystem mit *weniger*
als 24 Elementen. Und ich spende Beifall für jedes System mit 24
Elementen. Für 26 Elemente gibt es ein anerkennendes Kopfnicken.

Für 32 Elemente gab es Sonderapplaus wegen der schönen Systematik.


Fritz Feldhase

unread,
Sep 24, 2021, 4:28:54 PM9/24/21
to
On Friday, September 24, 2021 at 9:14:50 PM UTC+2, Rainer Rosenthal wrote:

> Für 32 Elemente gab es Sonderapplaus wegen der schönen Systematik.

Naja, schön vielleicht, aber nicht gut genug. :-P

Jens Kallup

unread,
Sep 24, 2021, 6:33:05 PM9/24/21
to
Hallo,

Versuch durch Irrtum?
hehe.

Probiere doch mal Pumation:

(n) n!
( ) = -------------
(k) k! (n - k)!

Also 11 aus 4:

(11) 11!
( ) = --------------
( 4) 4! (11 - 4)!


Voila:

n = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11
= 39.916.800

k = 1 * 2 * 3 * 4 * (1 * 2 * 3 * 4 * 6 * 7)
= 24

(11) 39.916.800
( ) = ------------ = 24 <--- Ergebnis
( 4) 120.960


Gruß, Jens

Jens Kallup

unread,
Sep 24, 2021, 6:35:42 PM9/24/21
to
Am 25.09.2021 um 00:33 schrieb Jens Kallup:
> k = 1 * 2 * 3 * 4 * (1 * 2 * 3 * 4 * 6 * 7)
> = 24
>

das natürlich Quatsch.
richtigerweise:

k = 1 * 2 * 3 * 4 * (1 * 2 * 3 * 4 * 6 * 7)
= 120.960

Jens

Rainer Rosenthal

unread,
Sep 25, 2021, 7:17:35 AM9/25/21
to
Was hat das mit dem Thema "Elf unbekannte Aufgaben" zu tun?

Gruß,
RR

Fritz Feldhase

unread,
Sep 25, 2021, 7:32:59 PM9/25/21
to
On Saturday, September 25, 2021 at 12:33:05 AM UTC+2, kallu...@web.de wrote:


> k = 1 * 2 * 3 * 4 * (1 * 2 * 3 * 4 * 6 * 7)

... * 4 * 6 * ... --- fehlt da nicht was?

Jens Kallup

unread,
Sep 25, 2021, 11:01:44 PM9/25/21
to
Am 26.09.2021 um 01:32 schrieb Fritz Feldhase:
>> k = 1 * 2 * 3 * 4 * (1 * 2 * 3 * 4 * 6 * 7)
> ... * 4 * 6 * ... --- fehlt da nicht was?

was sollte da fehlen?
die Formula ist:

(n) n!
= -------------
(k) k! (n - k)!

das ist Faktorisierung - also dieses n! und k!

n := 11 mögliche ja
k := x richtige ja's

wenn x := 8 ist, also 8 Fragen = ja, dann:

n := 11!
n := 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11
n := 39.916.800

k := 8!
k := 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8
k := 40.320

(n - k)! := n! - k!
:= 39.916.800 - 40.320
:= 39.876.480

k! * (n - k)! := 40.320 * 39.876.480
:= 1.607.819.673.600

39.916.800 / 1.607.819.673.600 := 0,24826 (8 richtige)

tabelarisch:
Aufgaben dividiert durch Schüler mit resultierende Wahrsch-
einlichkeit:

(bei einer Aufgabe und einen Schüler, besteht eine
50 zu 50 (1:2) also fifty fifty Wahrscheinlichkeit,
bedingt durch die -1 (da -1 bei den gestellten Bediningen
(also 0 - nein, 1 - ja) ein Unterlauf ergibt, resultiert
hier die 2).

1 / 2 := 0,5000000000000000000000000
2 / 79.833.596 := 0,0000000250521096406580507
3 / 239.500.764 := 0,0000000125260560755455460
4 / 958.002.624 := 0,0000000041753539080076674
5 / 4.790.001.600 := 0,0000000010438409874435115
6 / 28.739.577.600 := 0,0000000002087713355954125
7 / 201.155.270.400 := 0,0000000000347989887914962
8 / 1.607.819.673.600 := 0,0000000000049756823674682
9 / 14.354.052.249.600 := 0,0000000000006270006436858
10 / 131.681.894.400.000 := 0,0000000000000759405842812
11 / 1.593.350.922.240.000 := 0,0000000000000069036894801

Fazit:
Je größer die Aufgaben werden, desto größer muss die Klassen-
stärke werden, wobei der Erfolg (also *eine* richtige Aufgabe
zu erfüllen, die Warscheinlichkeit unter Null (0) sinkt).
Das heißt: je mehr Aufgaben, und je mehr Schüler, desto geringer
wird die Warscheinlichkeit *ALLE* Aufgaben zu lösen.

in Prozent gerechnet:

11 := 1.593.350.922.240.000 := 100,000 %
10 := 131.681.894.400.000 := 8,264 %
9 := 14.354.052.249.600 := 0,901 %
8 := 1.607.819.673.600 := 0,101 %
7 := 201.155.270.400 := 0,013 %
6 := 28.739.577.600 := ...

Fazit:
wie oben schon beschrieben;
je weniger Aufgaben, desto weniger wird die Wahrscheinlichkeit
bzw. die Preis-Ausschüttung.

Hoffe gedient zu Haben
Euer Schreiberling, Jens

Rainer Rosenthal

unread,
Sep 26, 2021, 2:19:08 AM9/26/21
to
Die sinnlose Raterei zusammen mit dem sinnvollen Turbo "2 rück, 1 vor"
ergibt K <= 23. Ich kann dazu momentan 58 Lösungen bieten, und die Zahl
kann in den nächsten Stunden noch anwachsen. Dass bei den 58 Lösungen
viele isomorphe sind, ist sehr wahrscheinlich.

Der "Turbo" hat aus elf Rohlingen mit K = 25 zweiunddreißig mit K = 24
gemacht, und die letzten sieben davon werden noch ein Weilchen
bearbeitet, um noch mehr mit K = 23 zu finden.

Natürlich kann mich danach nur ein plötzlicher Stromausfall oder
Herzinfarkt stoppen, auch auf Suche nach K = 22 zu gehen :-)

Schönen Sonntag,
Gruß,
RR

Dieter Heidorn

unread,
Sep 26, 2021, 7:36:45 AM9/26/21
to
Jens Kallup schrieb:
> Am 26.09.2021 um 01:32 schrieb Fritz Feldhase:
>>> k = 1 * 2 * 3 * 4 * (1 * 2 * 3 * 4 * 6 * 7)
>> ... * 4 * 6 * ... --- fehlt da nicht was?
>
> die Formula ist:
>
> (n) n!
> ( ) = -------------
> (k) k! (n - k)!
>
> das ist Faktorisierung - also dieses n! und k!
>

Das "n!" bzw. "k!" nennt sich "Fakultät":

n! = 1*2*3*...*n

k! = 1*2*3*...*k

Der Term

(n) n!
( ) = -----------
(k) k! (n - k)!

heißt "Binomialkoeffizient".

> n := 11 mögliche ja
> k := x richtige ja's
>
> wenn x := 8 ist, also 8 Fragen = ja, dann:
>
> n := 11!

Nein, sondern

n! = 11!

> n! = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11
-
(mit "=" statt ":=" - das bedeutet etwas anderes)

> n! := 39.916.800
-
>
> k := 8!

Nein, sondern

k! = 8!

> k! = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8
> k! = 40.320
>
> (n - k)! := n! - k!

Unsinn.

(n - k)! = 1*2*3*...*(n-k)

Hier:

(n-k)! = (11 - 8)!

= 3!

= 6

Also:

(11) 11!
( ) = -------------- = 165
(8 ) 8! * (11 - 8)!


> Hoffe gedient zu Haben

Wobei?

Dieter Heidorn

Rainer Rosenthal

unread,
Sep 26, 2021, 11:06:32 AM9/26/21
to
Am 26.09.2021 um 08:19 schrieb Rainer Rosenthal:
>
> Der "Turbo" hat aus elf Rohlingen mit K = 25 zweiunddreißig mit K = 24
> gemacht, und die letzten sieben davon werden noch ein Weilchen
> bearbeitet, um noch mehr mit K = 23 zu finden.
>
> Natürlich kann mich danach nur ein plötzlicher Stromausfall oder
> Herzinfarkt stoppen, auch auf Suche nach K = 22 zu gehen :-)
>
> Schönen Sonntag,

Und was für ein schöner Sonntag! Kein Stromausfall, kein Herzinfarkt,
aber ...

Eine Klasse mit K = 22 Schülern bekommt sicher einen Preis, wenn sie das
hier einreicht:

Schüler 1: [0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0]
Schüler 2: [0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1]
Schüler 3: [0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1]
Schüler 4: [0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1]
Schüler 5: [0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0]
Schüler 6: [0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1]
Schüler 7: [0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0]
Schüler 8: [0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1]
Schüler 9: [0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0]
Schüler 10: [0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0]
Schüler 11: [1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0]
Schüler 12: [1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1]
Schüler 13: [1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0]
Schüler 14: [1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0]
Schüler 15: [1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1]
Schüler 16: [1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1]
Schüler 17: [1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0]
Schüler 18: [1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1]
Schüler 19: [1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1]
Schüler 20: [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0]
Schüler 21: [1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1]
Schüler 22: [1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0]

Fragt mich nicht, warum, aber es ist einfach so, dass jede 0-1-Folge der
Länge 11 an mindestens 8 Positionen mit einer der obigen Schüler-Folgen
übereinstimmt. Wer's nicht glaubt, zahlt 'nen (Rosen-)Taler.
Somit kann meine "geheime Liste" aussehen, wie sie will: einer kriegt
den Preis.

Als Beispiel nehme ich die "geheime Liste" aus meinem ersten Posting:
"Sollte meine geheime Liste die Lösung L = [1,0,1,0,0,0,1,0,1,0,0]
erfordern, ..."
In dem Fall würde Schüler 3 einen Preis bekommen (und nur er):

[1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0] // geheime Lösung
[0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1] // Schüler 3
----------------------------------------------------
= = = = = = = = // 8 Übereinstimmungen

Gruß,
Rainer Rosenthal
r.ros...@web.de

Nachtrag:

Ich habe bereits 4 weitere Lösungspakete für K = 22, und dabei habe ich
erst die ersten 11 der 62 heute gefundenen 23-er destilliert.

Da kommt vielleicht noch einiges Schöne zutage. An K = 21 kann ich nicht
mehr so recht glauben, aber wer weiß ...

Martin Vaeth

unread,
Sep 26, 2021, 12:58:59 PM9/26/21
to
^ ^

Die markierten Spalten fallen mir auf: Während alle anderen Spalten 10 oder 11
Nullen haben (falls ich mich nicht verzählt habe), haben diese Spalten 12 bzw.
9 Nullen was deutlich von der Hälfte von 22 abweicht. Intuitiv hätte ich
erwartet, dass in einer "optimalen" Lösung alle Spalten 11 Nullen haben.
Diese aufsummierte Asymmetrie scheint mir deshalb Potential für Verbesserungen
zu bieten.
Ob das natürlich ausreicht, einen ganzen weiteren Eintrag einzusparen, ist
schwer abzuschätzen: Schließlich hat das Problem von vornherein eine gewisse
Asymmetrie, denn 3 ist kein Teiler von 11.
Trotzdem würde ich bei einer systematischen Suche (mit Deiner 2-Zurück-1-vor
Taktik), zuerst mal versuchen, die Lösung zu "optimieren", indem ich schauen
würde, ob man das nicht symmetrischer hinbekommt.

Rainer Rosenthal

unread,
Sep 26, 2021, 1:40:58 PM9/26/21
to
Am 26.09.2021 um 18:58 schrieb Martin Vaeth:
>
> Die markierten Spalten fallen mir auf: Während alle anderen Spalten 10 oder 11
> Nullen haben (falls ich mich nicht verzählt habe), haben diese Spalten 12 bzw.
> 9 Nullen was deutlich von der Hälfte von 22 abweicht. Intuitiv hätte ich
> erwartet, dass in einer "optimalen" Lösung alle Spalten 11 Nullen haben.
> Diese aufsummierte Asymmetrie scheint mir deshalb Potential für Verbesserungen
> zu bieten.
> Ob das natürlich ausreicht, einen ganzen weiteren Eintrag einzusparen, ist
> schwer abzuschätzen: Schließlich hat das Problem von vornherein eine gewisse
> Asymmetrie, denn 3 ist kein Teiler von 11.
> Trotzdem würde ich bei einer systematischen Suche (mit Deiner 2-Zurück-1-vor
> Taktik), zuerst mal versuchen, die Lösung zu "optimieren", indem ich schauen
> würde, ob man das nicht symmetrischer hinbekommt.
>
Hallo Martin,

es freut mich natürlich sehr, wenn meine Ergebnisse auch von anderen
angeschaut und analysiert werden, danke!

Ich habe im Moment bereits neun(!) 22-er-Lösungen und dabei wurde erst
ein Drittel der zweiundsechzig 23-er-Lösungen systematisch abgeklopft
mit der 2z1v-Methode.

Noch setze ich auf die brutalo-blöd-Suche, weil sie einen Reichtum an
Mustern produziert. Sobald der Ergebnis-Strom versiegt, muss ich mir
natürlich was Schlaueres einfallen lassen. Dafür sind solche Hinweise
zur Symmetrie sicher hilfreich (inklusive der Vorbehalte, dass 3 kein
Teiler von 11 ist, d.h. Asymmetrie vorprogrammiert ist.)

Ich weiß es zu schätzen, dass Du neulich (*) schriebst:
"Ich wundere mich schon, wie Du überhaupt eine so kleine Zahl gefunden
hast." Das ist jetzt eine Woche her, und es macht immer noch viel Spaß.

Gruß,
Rainer




(*)
Thema / "benachbart"-Relation: eine Quasi-Äquivalenz
Datum / 19.09.2021, 08:36

Fritz Feldhase

unread,
Sep 26, 2021, 3:46:00 PM9/26/21
to
On Sunday, September 26, 2021 at 7:40:58 PM UTC+2, Rainer Rosenthal wrote:

Hallo Rainer,

wenn Du so weiter machst, setz' ich mich auch noch mal hin und schreibe einen Python-Code für die Suche nach solchen Lösungen. :-P

Feldhase

Rainer Rosenthal

unread,
Sep 26, 2021, 3:52:55 PM9/26/21
to
Am 26.09.2021 um 21:45 schrieb Fritz Feldhase:
> On Sunday, September 26, 2021 at 7:40:58 PM UTC+2, Rainer Rosenthal wrote:
>
> Hallo Rainer,
>
> wenn Du so weiter machst, setz' ich mich auch noch mal hin und schreibe einen Python-Code für die Suche nach solchen Lösungen. :-P
>
Eigentlich wollte ich ja gerade aufhören, aber wenn Du sowas sagst ...
mach ich halt in Gottes Namen weiter :-)

Es wird natürlich zäh und zäher: aber die elfte Lösung zu K = 22 hat
sich gerade blicken lassen, und es ist erst die Hälfte der
zweiundsechzig 23-er abgeklopft worden.

Frech wie ich bin, warte ich geduldig ab, bis das 22-er-Geschwader
komplett ist. Ich rechne damit, dass ich dann morgen Mittag etwa 20
solche Dinger zur Verfügung habe, um damit das Abenteuer "K = 21" zu
starten.

(Mit dem Schlachtruf "Sinnlos, aber nicht ganz trivial!")

Gruß,
Rainer

Fritz Feldhase

unread,
Sep 26, 2021, 4:16:52 PM9/26/21
to
On Sunday, September 26, 2021 at 9:52:55 PM UTC+2, Rainer Rosenthal wrote:

> (Mit dem Schlachtruf "Sinnlos, aber nicht ganz trivial!")

Ganz im Sinne von Loriot: "Ein Leben ohne Mops ist möglich, aber sinnlos." - oder so. :-P

Carlo XYZ

unread,
Sep 26, 2021, 4:20:53 PM9/26/21
to
Rainer Rosenthal schrieb am 23.09.21 um 10:28:

> Ich habe hier eine Liste mit elf Fragen, die mit ja oder nein zu
> beantworten sind, DIE ICH ABER NIEMANDEM ZEIGE. Wer wenigstens acht
> davon richtig beantwortet, bekommt einen Preis.
>
> Welche Mathelehrerin kann es schaffen, dass jemand aus ihrer Klasse
> sicher einen Preis gewinnt? Wie groß muss die Klasse mindestens sein,
> und welche Lösungsvorschläge führen zum Ziel?

Zur Klassen-Mindestgröße: M=\ceil{(2^L)/(\binom{L}{d})}
dürfte eine untere Schranke sein, wobei L die Länge
der Wörter (hier L=11) und d der Hamming-Abstand
(hier d=3) sind. Hier wäre M=13; bei weniger als
M bleiben immer mögliche Klausurergebnisse übrig,
die niemand mit 8 Richtigen beantwortet.

Die Frage ist natürlich, ob M ausreicht; das ist eher
unwahrscheinlich, gegeben die Differenz zwischen 13
und deinem bisherigen Minimum 22 im Beispiel. Ein
schrittweises Verfahren bietet sich naiv an:

Im 1. Schritt starte mit einem Wort v_1 in {0,1}^L
und nenne dies Schüler 1. Der deckt schon mal sich
selbst und alle Wörter ab, die Hamming-Abstand <=d
zu ihm haben. (Das sind genau \binom{L}{d}-1 viele.)

In Schritt i>=2 wählt man "geschickt" ein Wort v_i,
das bisher noch nicht abgedeckt ist, das wäre dann
Schüler i. Der deckt alle Wörter ab, die <=d von
ihm entfernt sind. Irgendwann bricht das Verfahren
ab, und wir haben die Klasse beieinander. Fragt
sich nur, was "geschickt" heißt. In erster Näherung
sollte der Hamming-Abstand zwischen v_i und allen
bislang schon abgedeckten Wörtern maximal sein. Es
ist mir jedoch nicht gelungen, daraus eine obere
Schranke abzuleiten, und um das Verfahren bei L=11
und d=3 anzuwenden, würde ich programmieren wollen.

Carlo XYZ

unread,
Sep 26, 2021, 4:55:31 PM9/26/21
to
Carlo XYZ schrieb am 26.09.21 um 22:20:

> (Das sind genau \binom{L}{d}-1 viele.)

Bitte streichen.
Der Satz stammt aus einer früheren Version des Postings.

Rainer Rosenthal

unread,
Sep 26, 2021, 5:02:01 PM9/26/21
to
Am 26.09.2021 um 22:20 schrieb Carlo XYZ:
>
> Ein schrittweises Verfahren bietet sich naiv an:
>
> Im 1. Schritt starte mit einem Wort v_1 in {0,1}^L
> und nenne dies Schüler 1. Der deckt schon mal sich
> selbst und alle Wörter ab, die Hamming-Abstand <=d
> zu ihm haben. (Das sind genau \binom{L}{d}-1 viele.)
>
> In Schritt i>=2 wählt man "geschickt" ein Wort v_i,
> das bisher noch nicht abgedeckt ist, das wäre dann
> Schüler i. Der deckt alle Wörter ab, die <=d von
> ihm entfernt sind. Irgendwann bricht das Verfahren
> ab, und wir haben die Klasse beieinander. Fragt
> sich nur, was "geschickt" heißt.

Du beschreibst exakt mein naives Verfahren, wobei ich mangels guter
Ideen für "geschickt" einfach den Zufall habe walten lassen.

Zu meiner Freude hat aber die Nachbesserung mit 2z1v-Methode
aus dem Pool von gerade mal elf 25-ern eine erkleckliche Menge von
24-ern geliefert. Daraus wurden zweiundsechzig 23-er, und momentan habe
ich etwas mehr als die Hälfte von diesen in immerhin bereits dreizehn
22-er verwandeln können. Der Appetit auf K = 21 wächst.

Hinweis: ich bin null stolz auf meine Programmierkunst oder das
eingesetzte Gehirnschmalz. Ich freue mich aber wie Bolle über die
Überraschungen aus dem "Zaubergarten der Mathematik" :-)
Auch das Bild von der einsatzfreudigen Mathe-Lehrerin und ihrer Klasse
gefällt mir sehr, weil die Anzahl um die 20 gut zu dem Bild passt.
Wie im "benachbart"-Thread geschrieben, hat eine Aufgabe aus dem Bereich
"Zwerge raten ihre Hutfarbe" mich zu meinen Untersuchungen inspiriert.

Und jetzt habe ich auch eine entsprechende Modifikation meiner aktuellen
Aufgabenstellung parat. Die werde ich aber vorläufig nicht näher
anschauen. Aber es kann nicht schaden, sie hier schon mal zu präsentieren:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
11 Aufgaben, 11 Kinder, Fehlertoleranz x
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Nehmen wir an, die Klasse hätte 11 Schüler, und die Lehrerin soll den
Kindern wieder helfen, eine "geheime Liste" zu erraten. Wenn sie nur 3
Fehler machen dürfen, wird es wohl nicht klappen.
Darum die Frage: wie viele Fehler müssen erlaubt sein, damit ein Plan
entwickelt werden kann, der ganz sicher funktioniert?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Im verwandten Thread //"benachbart"-Relation: eine Quasi-Äquivalenz//
steht: "Ausblick: ich steuere auf Folgen mit L = unendlich hin".
Das entspricht dann der genannten Aufgaben-Variante
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Aufgaben 1,2,..., Kinder 1,2,..., Fehlertoleranz < oo
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Und die ist mittels Auswahlaxion lösbar. Na ja, vielleicht auch nur
potentiell lösbar und nicht aktual, *har* *har*.


Gruß,
RR


Carlo XYZ

unread,
Sep 26, 2021, 5:44:12 PM9/26/21
to
Rainer Rosenthal schrieb am 26.09.21 um 23:02:

> Du beschreibst exakt mein naives Verfahren, wobei ich mangels guter
> Ideen für "geschickt" einfach den Zufall habe walten lassen.

Das dürfte ungünstig sein. Wie gesagt, "In erster
Näherung sollte der Hamming-Abstand zwischen v_i
und allen bislang schon abgedeckten Wörtern maximal
sein". Diese Heuristik beruht natürlich auf der Idee,
den Schnitt zwischen der Menge der neu abgedeckten
Wörter und der Menge der vorher abgedeckten klein
zu halten.

Rainer Rosenthal

unread,
Sep 27, 2021, 3:30:43 AM9/27/21
to
Am 26.09.2021 um 21:52 schrieb Rainer Rosenthal:
>
> ... um damit das Abenteuer "K = 21" zu starten.
>
> (Mit dem Schlachtruf "Sinnlos, aber nicht ganz trivial!")
>

Hier die erste Lösung zu K = 21:

Schüler 1: [0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0]
Schüler 2: [0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1]
Schüler 3: [0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1]
Schüler 4: [0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1]
Schüler 5: [0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1]
Schüler 6: [0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0]
Schüler 7: [0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1]
Schüler 8: [0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0]
Schüler 9: [0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1]
Schüler 10: [0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0]
Schüler 11: [0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1]
Schüler 12: [1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0]
Schüler 13: [1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0]
Schüler 14: [1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0]
Schüler 15: [1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1]
Schüler 16: [1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1]
Schüler 17: [1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1]
Schüler 18: [1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1]
Schüler 19: [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0]
Schüler 20: [1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1]
Schüler 21: [1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0]

Gruß,
Rainer Rosenthal
r.ros...@web.de

Martin Vaeth

unread,
Sep 27, 2021, 5:39:19 PM9/27/21
to
Rainer Rosenthal <r.ros...@web.de> schrieb:
>
> Im verwandten Thread //"benachbart"-Relation: eine Quasi-Äquivalenz//
> steht: "Ausblick: ich steuere auf Folgen mit L = unendlich hin".
> Das entspricht dann der genannten Aufgaben-Variante
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Aufgaben 1,2,..., Kinder 1,2,..., Fehlertoleranz < oo
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Und die ist mittels Auswahlaxion lösbar.

Nein, ist sie nicht: Die Vorgabe hat die Mächtigkeit des Kontinuums,
aber nur abzählbar viele Aufgaben dürfen abgegeben werden.
Beachte: Die Variante mit den abzählbar vielen Hüten, auf die Du Dich
beziehst, geht anders: Da *sehen* irgendwann fast alle Kandidaten fast
alle Lösungen, was natürlich viel "leichter" ist.

Rainer Rosenthal

unread,
Sep 27, 2021, 6:04:12 PM9/27/21
to
Oh, danke, da habe ich bös was durcheinander gebracht.

Mal schauen, wo ich da falsch abgebogen war.

Gruß,
Rainer



Ulrich Diez

unread,
Sep 28, 2021, 5:23:20 PM9/28/21
to
Es sind ja 2^11 = 2048 verschiedene Antwort-Listen möglich.

Bevor ich mich verkopfe, eine Verständnisfrage:

Ist die Aufgabe so zu verstehen? :

Von denjenigen Teilmengen der Menge an möglichen Antwort-Listen,
bei denen 100%-ig sicher ist, dass sie für jedes Element der Menge an
möglichen Antwort-Listen mindestens ein Element enthalten, welches
sich in maximal drei Stellen von diesem Element der Menge an
möglichen Antwort-Listen unterscheidet, sind diejenigen mit der
kleinsten Anzahl an Elementen gesucht.

Mit freundlichem Gruß

Ulrich (, der die Aufgabe eben erst gelesen hat und noch dabei ist,
sie überhaupt zu verstehen, und, sofern er sie richtig verstanden
hat, wahrscheinlich kapitulieren wird)

Andreas Leitgeb

unread,
Sep 28, 2021, 7:12:07 PM9/28/21
to
Ulrich Diez <ud.usenetco...@web.de> wrote:
> Es sind ja 2^11 = 2048 verschiedene Antwort-Listen möglich.
> Bevor ich mich verkopfe, eine Verständnisfrage:
> Ist die Aufgabe so zu verstehen? :
>
> Von denjenigen Teilmengen der Menge an möglichen Antwort-Listen,
> bei denen 100%-ig sicher ist, dass sie für jedes Element der Menge an
> möglichen Antwort-Listen mindestens ein Element enthalten, welches
> sich in maximal drei Stellen von diesem Element der Menge an
> möglichen Antwort-Listen unterscheidet, sind diejenigen mit der
> kleinsten Anzahl an Elementen gesucht.

Richtig.

Ich hätte lediglich an zwei Stellen statt "Element der Menge an möglichen
Antwort-Listen" einfach "mögliche Antwortliste" geschrieben.

Rainer Rosenthal

unread,
Sep 28, 2021, 7:22:54 PM9/28/21
to
Am 28.09.2021 um 23:23 schrieb Ulrich Diez:
> Es sind ja 2^11 = 2048 verschiedene Antwort-Listen möglich.
>
> Bevor ich mich verkopfe, eine Verständnisfrage:
>
> Ist die Aufgabe so zu verstehen? :
>
> Von denjenigen Teilmengen der Menge an möglichen Antwort-Listen,
> bei denen 100%-ig sicher ist, dass sie für jedes Element der Menge an
> möglichen Antwort-Listen mindestens ein Element enthalten, welches
> sich in maximal drei Stellen von diesem Element der Menge an
> möglichen Antwort-Listen unterscheidet, sind diejenigen mit der
> kleinsten Anzahl an Elementen gesucht.
>

Willkommen im Club.
Stimmt: eine Klasse bekommt den Preis, wenn wenigstens ein Schüler
ausreichend genau geantwortet hat. Um 100%-ig sicher den Preis zu
bekommen, muss sie (wenn sie nicht gerade 2048 Schüler hat) sich etwas
Cleveres einfallen lassen.
Wie klein kann eine Klasse sein, die einen cleveren Plan aufstellen kann?

Schau Dir dazu bitte meine Tapete von 27.09.2021, 09:30 an.
Da hat eine Klasse mit 21 Schülern so clever geantwortet, dass jede der
2048 möglichen 0-1-Listen an höchsten 3 Stellen Unterschiede aufweist.

Ich setze sie der Einfachheit halber nochmal hierher:

Schüler 1: [0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0]
Schüler 2: [0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1]
Schüler 3: [0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1]
Schüler 4: [0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1]
Schüler 5: [0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1]
Schüler 6: [0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0]
Schüler 7: [0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1]
Schüler 8: [0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0]
Schüler 9: [0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1]
Schüler 10: [0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0]
Schüler 11: [0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1]
Schüler 12: [1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0]
Schüler 13: [1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0]
Schüler 14: [1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0]
Schüler 15: [1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1]
Schüler 16: [1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1]
Schüler 17: [1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1]
Schüler 18: [1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1]
Schüler 19: [1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0]
Schüler 20: [1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1]
Schüler 21: [1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0]

> Mit freundlichem Gruß
>
> Ulrich (, der die Aufgabe eben erst gelesen hat und noch dabei ist,
> sie überhaupt zu verstehen, und, sofern er sie richtig verstanden
> hat, wahrscheinlich kapitulieren wird)
>
Bevor Du Dich schaudernd abwendest, kannst Du ja mal schauen, ob ich was
übersehen habe (oder in meinem Rechner ein Bit gekippt ist).
Such doch mal den oder die Schüler, die bei dem Muster
[0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0]
sagen können: "hab ich!".

Gruß,
Rainer

Rainer Rosenthal

unread,
Sep 29, 2021, 6:09:59 AM9/29/21
to
Am 29.09.2021 um 01:22 schrieb Rainer Rosenthal:
> Am 28.09.2021 um 23:23 schrieb Ulrich Diez:
>>
>> Ist die Aufgabe so zu verstehen? :
>> [... richtige Interpretation ...]
>>
>
> Schau Dir dazu bitte meine Tapete von 27.09.2021, 09:30 an.
> Da hat eine Klasse mit 21 Schülern so clever geantwortet, dass jede der
> 2048 möglichen 0-1-Listen an höchsten 3 Stellen Unterschiede aufweist.
>
> Ich setze sie der Einfachheit halber nochmal hierher:
>
> Schüler  1: [0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0]
> Schüler  2: [0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1]
> usw. bis
> Schüler 21: [1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0]
>
> Such doch mal den oder die Schüler, die bei dem Muster
> [0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0]
> sagen können: "hab ich!".
>
Das neuronale Netz wird gar nicht schlecht für das Thema trainiert, wenn
es solche konkreten Aufgaben vorgesetzt bekommt. Ich habe nun endlich
auch gedanklich Fortschritte machen können, indem ich mich mit den 330
Positions-Quadrupeln befasst habe, die es bei 11 Positionen gibt:
binomial(11,4) = 330.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Wer einen Preis gewinnen will, muss unbedingt vermeiden, auf irgendeinem
Positions-Quadrupel alles zu vermasseln. Denn dann hat er 4 falsche
Antworten gegeben und ist raus.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Ich glaube, mit diesem Gedanken wirklich weiter zu kommen, um die
minimale Klassengröße K theoretisch herleiten zu können. Schließlich ist
330 schon um Einiges kleiner als 2^11 = 2048. Noch wichtiger aber ist
die neue Perspektive und Begriffsbildung.

Das sind zarte theoretische Pflänzchen.
Die praktische Rumfummelei erzeugt inzwischen Daten-Urwälder.
Die Verarbeitung der 276 gestern berechneten 24-er Lösungspakete
schreitet langsam voran, aber bereits nach der Bearbeitung des 32-ten
Pakets habe ich jede Menge 23-er-Pakete gefunden, genauer: 273.
Mit geduldigem Abwarten werde ich demnächst stolzer Besitzer von über
1000 Lösungspaketen zu K = 23 sein. Nichts spricht dagegen, die bereits
gefundenen 23-er mit der gleichen 2z1v-Methode in 22-er zu wandeln.
Immer getreu dem Motto "Sinnlos - aber nicht trivial!"

Inzwischen werde ich das theoretische Pflänzchen weiter gut versorgen.

Gruß,
RR



jvr

unread,
Sep 29, 2021, 8:28:29 AM9/29/21
to
Vor 52 Jahren hat man von der Mariner-Sonde Bilder kodiert gesendet, und zwar
als 32-bit Worte, derart dass immer 7 Fehler korrigierbar waren. Würde dein Programm
den optimalen Code hierfür in weniger als 50 Jahren bestimmen können?

Nebenbei: Ich glaube, die statistische Methode ist im Prinzip recht gut
anwendbar für diese Art Poblem, wenn man nicht unbedingt das Optimum
braucht, sonder mit einer sehr guten Näherung zufrieden ist. Gefühlsmäßig
würde ich schätzen, dass dein Programm bedeutend schneller zum Ziel käme,
wenn du mehr als 2 Schritte zurückgehen würdest. Probier mal die 3 oder 4
am wenigsten effizienten zu ersetzen, nicht nur 2. (Ich habe nicht alles gelesen,
also ist der Vorschlag vielleicht überholt.)

Rainer Rosenthal

unread,
Sep 29, 2021, 9:37:17 AM9/29/21
to
Am 29.09.2021 um 14:28 schrieb jvr:
> Probier mal die 3 oder 4
> am wenigsten effizienten zu ersetzen, nicht nur 2. (Ich habe nicht alles gelesen,
> also ist der Vorschlag vielleicht überholt.)
>
Allein das Messen der 'Effizienz' dürfte ein großer Aufwand sein.
Um 3 Schritte zurück zu gehen, habe ich begonnen, aber so wie ich das
anpacke, versacke ich in der kombinatorischen Explosion.

Ich habe aber deutliche Beschleunigung für "2 Schritte zurück, 1 vor",
also die Methode 2z1v, und die Verbesserungen kann ich vielleicht für
einen neuen Versuch nutzen, um 3z2v zu realisieren.

Und mit der Betrachtung der Positions-Quadrupel kommt auch Bewegung in
die theoretische Betrachtung. Die anfallenden Datenmassen sollen mich ja
nicht nur zu K = 20 katapultieren (ich habe bereits 5-mal K = 21),
sondern sie sollen auch zeigen, ob es vielleicht gar nicht erreichbar ist.

Die Verteilung der Anzahl von Nullen und Einsen ist übrigens auch sehr
interessant und kann beim Durchblick helfen. Je kleiner die
Klassengrößen K werden, desto deutlicher wird sich - so hoffe ich -
herausstellen, was wichtig ist. Wobei "wichtig" gerne relativ gesehen
werden darf. "Sinnlos - aber nicht trivial!" trifft es ja auch recht gut.

Gruß,
RR




jvr

unread,
Sep 29, 2021, 11:05:22 AM9/29/21
to
Ich weiß nicht, was du da für ein Programm hast - kann mir nicht vorstellen,
dass das mehr als wenige Sekunden Laufzeit braucht. Ich probiere das mal.
Sind doch moderne Zeiten, die wir da haben.

jvr

unread,
Sep 29, 2021, 11:18:15 AM9/29/21
to
Damit ich das nicht nochmal lesen muss: Du suchst also eine minimale Untermenge M von N,
wo N alle 11-stelligen Binärcodes enthält, derart dass jedes n in N Hamming-Abstand <= 3 von einem m in M hat?
Dass also 'Kugeln' mit 'Radius' 3 und Mittelpunkt in M die Menge N überdecken?

Rainer Rosenthal

unread,
Sep 29, 2021, 1:47:29 PM9/29/21
to
Exakt!
Bin gespannt, was Du da erreichen kannst. Insbesonderee im
Sekunden-Bereich. Ich programmiere in Maple und mach's halt so, dass ich
meinen Code noch nach drei Tagen verstehen kann. Effizienz lasse ich
außen vor.
Ich möchte von dem Datenmaterial beim Denken unterstützt werden, und
solange es mit dem Denken hapert, sammle ich.

Gruß,
RR

Ulrich Diez

unread,
Sep 29, 2021, 2:09:35 PM9/29/21
to
Rainer Rosenthal schrieb:

> Bevor Du Dich schaudernd abwendest, kannst Du ja mal schauen, ob ich was
> übersehen habe (oder in meinem Rechner ein Bit gekippt ist).
> Such doch mal den oder die Schüler, die bei dem Muster
> [0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0]
> sagen können: "hab ich!".

Mache ich gerne, aber im Moment sehe ich nicht, wie so eine
Prüfroutine, ob eine "Schülerliste" für jede mögliche Antwortliste
Gewinner enthält, mir zu Erkenntnissen hinsichtlich der kürzest
möglichen Schülerliste verhelfen könnte.

Ich habe ausserdem ein technisches Problem:

Ich kann grade nur Google-Groups als Zugang zum Usenet
nutzen, und das zerstört mir systematisch in meinen
Programmquelltexten alle Einrückungen von links, die durch
mehrere aufeinanderfolgende Leerzeichen erzeugt sind.

Das sollte der Compilierbarkeit keinen Abbruch tun.

Ich kann aber nicht garantieren, dass der Code, den ich
abschicke, in lesbarer Form im Usenet ankommt.




Man kann ja eine mögliche Antwortliste als 11-stellige Binärzahl
mit ggfs führenden Nullen auffassen.

Damit könnte die Sache leicht mit bitweise-Und-Vergleichen
erledigt werden.

Aus Langeweile habe ich mal mit LaTeX ein Progrämmchen geschrieben,
welches in einer Schleife die natürlichen Zahlen von 0 bis 2047 in
Binärnotation mit führenden Nullen umrechnet und überprüft, ob
Deine Schülerliste mit dieser Binärnotation als möglicher
Antwortliste Gewinner enthält. Die Umrechnungsroutine stammt aus
dem binhex-Paket von David Kastrup.

Die Anzahl der maximal erlaubten Falschantworten ist nicht hart
codiert.
Aus Faulheit habe ich aber darauf verzichtet, die Länge der
Antwortliste und damit den nötigen Zahlenbereich aus der
Benutzereingabe ermitteln zu lassen und diese Dinge mit 11 bzw
0 bis 2047 hart codiert.

Das folgende kleine Progrämmlein für LaTeX (eine Engine mit
eTeX-extensions, aber meinetwegen ohne expl3 ist vorausgesetzt)
erzeugt beim Complieren mit LaTeX eine externe Textdatei
"Preisgewinner.txt", die zuerst Deine Frage beantwortet und dann,
abgetrennt davon eine Auflistung aller mit Deiner Schülerliste
möglichen Gewinnerkonstellationen liefert.

Preisgewinner.txt ist von der Form:

With pattern
{0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0}
the following prize-winners are in list:
{0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0}/Schueler 01

////////////////////////////////////////

With pattern
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
the following prize-winners are in list:
{0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0}/Schueler 01
{1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}/Schueler 12

With pattern
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}
the following prize-winners are in list:
{0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1}/Schueler 07
{1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}/Schueler 12

[...]

With pattern
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
the following prize-winners are in list:
{1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1}/Schueler 17
{1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1}/Schueler 20


There seem do be no patterns without prize-winners.

------------------------ Schnippel --------------------------------------------


\makeatletter
%%=============================================================================
%% PARAPHERNALIA:
%% \UD@firstoftwo, \UD@secondoftwo, \UD@PassFirstToSecond, \UD@Exchange,
%% \UD@stopromannumeral, \UD@CheckWhetherNull,
%%=============================================================================
\newcommand\UD@firstoftwo[2]{#1}%
\newcommand\UD@secondoftwo[2]{#2}%
\newcommand\UD@PassFirstToSecond[2]{#2{#1}}%
\newcommand\UD@Exchange[2]{#2#1}%
\@ifdefinable\UD@stopromannumeral{\chardef\UD@stopromannumeral=`\^^00}%
%%-----------------------------------------------------------------------------
%% Check whether argument is empty:
%%.............................................................................
%% \UD@CheckWhetherNull{<Argument which is to be checked>}%
%% {<Tokens to be delivered in case that argument
%% which is to be checked is empty>}%
%% {<Tokens to be delivered in case that argument
%% which is to be checked is not empty>}%
%%
%% The gist of this macro comes from Robert R. Schneck's \ifempty-macro:
%% <https://groups.google.com/forum/#!original/comp.text.tex/kuOEIQIrElc/lUg37FmhA74J>
\newcommand\UD@CheckWhetherNull[1]{%
\romannumeral\expandafter\UD@secondoftwo\string{\expandafter
\UD@secondoftwo\expandafter{\expandafter{\string#1}\expandafter
\UD@secondoftwo\string}\expandafter\UD@firstoftwo\expandafter{\expandafter
\UD@secondoftwo\string}\expandafter\UD@stopromannumeral\UD@secondoftwo}{%
\expandafter\UD@stopromannumeral\UD@firstoftwo}%
}%
%%=============================================================================
% \nbinary, delivering result after two hits with `\expandafter`,
% derived from \nbinary in David Kastrup's binhex-package,
% see https://www.ctan.org/pkg/binhex
\def\nbinary#1#2{\romannumeral\expandafter\bb@dobinary\number\number#2%
\romannumeral\number\number#1 000+}
\def\bb@dobinary#1#2{\if#10\if m\string#2\else\bb@endbinary\fi\fi
\expandafter\bb@dobinary\number\csname bb@0#1\endcsname#2}
\def\next#1#2#3{\expandafter \def \csname bb@#1\endcsname##1%
{#2\csname bb@#3##1\endcsname}}
\next{00}00 \next{01}01 \next{02}10 \next{03}11
\next{04}20 \next{05}21 \next{06}30 \next{07}31
\next{08}40 \next{09}41 \next{10}50 \next{11}51
\next{12}60 \next{13}61 \next{14}70 \next{15}71
\next{16}80 \next{17}81 \next{18}90 \next{19}91
\expandafter \def \csname bb@0+\endcsname {+0}
\expandafter \def \csname bb@1+\endcsname {+1}
\def\bb@endbinary#1+{\expandafter\expandafter\expandafter\UD@stopromannumeral\fi\fi}
\expandafter \def \csname bb@0-\endcsname {0+-\bb@dobinary}
\expandafter\def\csname bb@0m\endcsname#1+{#1+0}
\expandafter\def\csname bb@1m\endcsname#1+{#1+1}
%%=============================================================================
\@ifdefinable\UD@gobbleToSentinel{%
\long\def\UD@gobbleToSentinel#1\Sentinel{}%
}%
\newcommand\UD@CheckWhetherNotSentinel[1]{%
\expandafter\UD@CheckWhetherNull\expandafter{\UD@gobbleToSentinel#1\Sentinel}%
}%
\newcommand\removecommata[1]{%
\romannumeral\removecommataloop{}#1,\Sentinel,%
}%
\@ifdefinable\removecommataloop{%
\long\def\removecommataloop#1#2,{%
\UD@CheckWhetherNotSentinel{#2}{\removecommataloop{#1#2}}{\UD@stopromannumeral#1}%
}%
}%
%%=============================================================================
\newcommand\CheckIfPrize[3]{%
\romannumeral
\expandafter\CheckIfPrizeLoop\expandafter{\romannumeral\number\number#1 000}#2\Sentinel#3\Sentinel
}%
\@ifdefinable\CheckIfPrizeLoop{%
\long\def\CheckIfPrizeLoop#1#2#3\Sentinel#4#5\Sentinel{%
\if#2#4\expandafter\UD@firstoftwo\else\expandafter\UD@secondoftwo\fi
{%
\expandafter\UD@CheckWhetherNull\expandafter{\UD@firstoftwo#3{}{}}%
{\expandafter\UD@stopromannumeral\UD@firstoftwo}{%
\CheckIfPrizeLoop{#1}#3\Sentinel#5\Sentinel
}%
}{%
\UD@CheckWhetherNull{#1}{%
\expandafter\UD@stopromannumeral\UD@secondoftwo
}{%
\expandafter\UD@CheckWhetherNull\expandafter{\UD@firstoftwo#3{}{}}%
{\expandafter\UD@stopromannumeral\UD@firstoftwo}{%
\expandafter\CheckIfPrizeLoop\expandafter{\UD@firstoftwo{}#1}#3\Sentinel#5\Sentinel
}%
}%
}%
}%
}%
\newcommand\CreatePrizeWinnerList[4]{%
\romannumeral
\expandafter\expandafter\expandafter\UD@PassFirstToSecond
\expandafter\expandafter\expandafter{\removecommata{#3}}{%
\CheckIfPrizeWinnerInListLoop{}{#1}{#4}%
}#2\Sentinel\Sentinel
}%
\newcommand\CheckIfPrizeWinnerInListLoop[6]{%
\expandafter\expandafter\expandafter\UD@PassFirstToSecond
\expandafter\expandafter\expandafter{\removecommata{#6}}{%
\CheckIfPrizeWinnerInListLoopB{#1}{#2}{#3}{#4}{#5}%
}%
}%
\newcommand\CheckIfPrizeWinnerInListLoopB[6]{%
\UD@CheckWhetherNotSentinel{#6}{%
\CheckIfPrize{#2}{#4}{#6}%
{\CheckIfPrizeWinnerInListLoop{#1\Printlist{#6}/#5^^J}}%
{\CheckIfPrizeWinnerInListLoop{#1}}{#2}{#3}{#4}%
}{%
\UD@stopromannumeral#3{#1}{#4}%
}%
}%
\newcommand\PrintPrizeWinnerList[2]{%
% #1 - Prize-Winner-List
% #2 - Pattern
\UD@CheckWhetherNull{#1}%
{%
With pattern^^J\Printlist{#2}^^J%
there are no prize-winners in list.%
}%
{%
With pattern^^J\Printlist{#2}^^J%
the following prize-winners are in list:^^J#1%
}%
}%

\newcommand\Printlist[1]{\romannumeral\Printlistloop{}{}#1\Sentinel}%
\@ifdefinable\Printlistloop{%
\long\def\Printlistloop#1#2#3{%
\UD@CheckWhetherNotSentinel{#3}{%
\expandafter\Printlistloop\expandafter{\UD@Exchange#3{#1#2}}{, }%
}{\UD@stopromannumeral{#1}}%
}%
}%

\newcommand\CreatePrizeWinnerListsForPatterns[4]{%
% #1 - Anzahl an erlaubten Fehlern
% #2 - Schülerliste
% #3 - Untere Grenze
% #4 - Obere Grenze
\CreatePrizeWinnerListsForPatternsLoop{#3}{}{#1}{#2}{#4}%
}%
\newcommand\CreatePrizeWinnerListsForPatternsLoop[5]{%
% #1 - Untere Grenze
% #2 - Liste der Patterns ohne Gewinner
% #3 - Anzahl an erlaubten Fehlern
% #4 - Schülerliste
% #5 - Obere Grenze
\ifnum#1>#5 \expandafter\UD@firstoftwo\else\expandafter\UD@secondoftwo\fi
{%
\immediate\write\Prizewinners{%
^^J%
\UD@CheckWhetherNull{#2}{%
There seem do be no patterns without prize-winners.%
}{%
With the following patterns there are no prize-winners:^^J#2%
}%
}%
}{%
\message{Doing pattens for value #1^^J}%
\expandafter\expandafter\expandafter\UD@PassFirstToSecond
\expandafter\expandafter\expandafter{\nbinary{11}{#1}}{\CreatePrizeWinnerList{#3}{#4}}{%
\expandafter\nextCreatePrizeWinnerListsForPatternsLoop\expandafter{\number\numexpr#1+1\relax}{#2}{#3}{#4}{#5}%
}%
}%
}%
\newcommand\nextCreatePrizeWinnerListsForPatternsLoop[7]{%
% #1 - Untere Grenze
% #2 - Liste der Patterns ohne Gewinner
% #3 - Anzahl an erlaubten Fehlern
% #4 - Schülerliste
% #5 - Obere Grenze
% #6 - This Prize-Winner-List
% #7 - This Pattern
\UD@CheckWhetherNull{#7}{%
\immediate\write\Prizewinners{With pattern^^J\Printlist{#7}^^Jno prize-winners are in list.^^J}%
\CreatePrizeWinnerListsForPatternsLoop{#1}{#2^^J\Printlist{#7}}{#3}{#4}{#5}%
}{%
\immediate\write\Prizewinners{With pattern^^J\Printlist{#7}^^Jthe following prize-winners are in list:^^J#6}%
\CreatePrizeWinnerListsForPatternsLoop{#1}{#2}{#3}{#4}{#5}%
}%
}%

\newwrite\Prizewinners
\immediate\openout\Prizewinners Preisgewinner.txt

\immediate\write\Prizewinners{%
\CreatePrizeWinnerList{3}{
{Schueler 01}{0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0}
{Schueler 02}{0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1}
{Schueler 03}{0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1}
{Schueler 04}{0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1}
{Schueler 05}{0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1}
{Schueler 06}{0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0}
{Schueler 07}{0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1}
{Schueler 08}{0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0}
{Schueler 09}{0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1}
{Schueler 10}{0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0}
{Schueler 11}{0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1}
{Schueler 12}{1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}
{Schueler 13}{1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0}
{Schueler 14}{1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0}
{Schueler 15}{1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1}
{Schueler 16}{1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1}
{Schueler 17}{1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1}
{Schueler 18}{1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1}
{Schueler 19}{1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0}
{Schueler 20}{1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1}
{Schueler 21}{1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0}
}{
0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0
}{\PrintPrizeWinnerList}%
}%

\immediate\write\Prizewinners{////////////////////////////////////////^^J}%

\CreatePrizeWinnerListsForPatterns{3}{
{Schueler 01}{0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0}
{Schueler 02}{0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1}
{Schueler 03}{0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1}
{Schueler 04}{0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1}
{Schueler 05}{0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1}
{Schueler 06}{0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0}
{Schueler 07}{0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1}
{Schueler 08}{0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0}
{Schueler 09}{0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1}
{Schueler 10}{0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0}
{Schueler 11}{0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1}
{Schueler 12}{1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}
{Schueler 13}{1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0}
{Schueler 14}{1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0}
{Schueler 15}{1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1}
{Schueler 16}{1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1}
{Schueler 17}{1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1}
{Schueler 18}{1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1}
{Schueler 19}{1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0}
{Schueler 20}{1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1}
{Schueler 21}{1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0}
}{0}{2047}%


\immediate\closeout\Prizewinners

\stop

------------------------ Schnappel --------------------------------------------




Da das Programm kein Dokument, sonden nur ein paar
Messages für die Konsole und eine externe Textdatei erstellt,
habe ich auf \documentclass und die document-Umgebung
verzichtet, mich aber fröhlich der \romannumeral-Expansion
bedient.



Mit freundlichem Gruß

Ulrich

Rainer Rosenthal

unread,
Sep 29, 2021, 5:04:22 PM9/29/21
to
Am 29.09.2021 um 20:09 schrieb Ulrich Diez:
> Rainer Rosenthal schrieb:
>
>> Such doch mal den oder die Schüler, die bei dem Muster
>> [0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0]
>> sagen können: "hab ich!".
>
> Mache ich gerne, aber im Moment sehe ich nicht, wie so eine
> Prüfroutine, ob eine "Schülerliste" für jede mögliche Antwortliste
> Gewinner enthält, mir zu Erkenntnissen hinsichtlich der kürzest
> möglichen Schülerliste verhelfen könnte.
>
Du wolltest wissen, ob Du das Problem verstanden hast.
Und die kleine Übung sollte dazu dienen, dass Du vielleicht Geschmack an
der Aufgabe bekommst.

Du liebst aber offensichtlich das Machen, und die Übung war Dir zu
einfach? OK, zugegeben, sie war sogar besonders einfach.
Wie wäre es mit diesem zu erratenden Muster?
[0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0]

Gruß,
Rainer

Ulrich Diez

unread,
Sep 29, 2021, 8:51:26 PM9/29/21
to
Rainer Rosenthal schrieb:

> Du wolltest wissen, ob Du das Problem verstanden hast.
> Und die kleine Übung sollte dazu dienen, dass Du vielleicht Geschmack an
> der Aufgabe bekommst.

Der Geschmack an der Aufgabe ist durchaus da, aber mir fehlt
das Hintergrundwissen um wirklich dienlich sein zu können. :-)

Ich meine, eine Prüfroutine, ob eine bestimmte Schülerliste für eine
bestimmte Antwortliste Gewinner enthält, ist eine viel harmlosere
Angelegenheit als die Frage nach einer Vorgehensweise für das Finden
kleinstmöglicher Schülerlisten bei denen es für jede mögliche
Antwortliste mindestens einen Gewinner gibt.

Es gibt vieles was mich fasziniert, zB auch das Collatz-Problem,
oder der Beweis für den Fermat-Wiles'schen Satz, aber alle Faszination
ändert nichts daran:
Es gibt viele Sachen, da muss jemand wie ich kapitulieren. :-)

Ich werde mich also ab jetzt zurückhalten und gespannt
mitlesen. :-)

> Wie wäre es mit diesem zu erratenden Muster?
> [0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0]

Was genau soll erraten werden?

Wäre dies die Antwortliste, hätten aus Deiner Schülerliste (nur) die
Schüler 6 und 14 einen Preis gewonnen.
Sagt zumindest mein TeX-Programm:

With pattern
{0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0}
the following prize-winners are in list:
{0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0}/Schueler 06
{1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0}/Schueler 14

Mit freundlichem Gruß

Ulrich

Rainer Rosenthal

unread,
Sep 30, 2021, 5:10:24 AM9/30/21
to
Am 30.09.2021 um 02:51 schrieb Ulrich Diez:
> Rainer Rosenthal schrieb:
>
>> Du wolltest wissen, ob Du das Problem verstanden hast.
>> Und die kleine Übung sollte dazu dienen, dass Du vielleicht Geschmack an
>> der Aufgabe bekommst.
>
> Der Geschmack an der Aufgabe ist durchaus da, aber mir fehlt
> das Hintergrundwissen um wirklich dienlich sein zu können. :-)
>
> Ich meine, eine Prüfroutine, ob eine bestimmte Schülerliste für eine
> bestimmte Antwortliste Gewinner enthält, ist eine viel harmlosere
> Angelegenheit als die Frage nach einer Vorgehensweise für das Finden
> kleinstmöglicher Schülerlisten bei denen es für jede mögliche
> Antwortliste mindestens einen Gewinner gibt.
>
Mir geht es ja nicht anders.
Ich habe diese Prüfroutine, und mit diesem Taschenmesserchen schlage ich
mich durch den Urwald.
>
>> Wie wäre es mit diesem zu erratenden Muster?
>> [0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0]
>
> Wäre dies die Antwortliste, hätten aus Deiner Schülerliste (nur) die
> Schüler 6 und 14 einen Preis gewonnen.
> Sagt zumindest mein TeX-Programm:
>
> With pattern
> {0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0}
> the following prize-winners are in list:
> {0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0}/Schueler 06
> {1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0}/Schueler 14
>
Korrekt.
Der mögliche Gewinn beim Lösen könnte sein, über das Problem selbst
nachzudenken, und nicht nur über die Programmzeilen, die es lösen sollen.
Zum Beispiel hat "jvr" es so auf den Punkt gebracht (29.09.2021, 17:18):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Du suchst also eine minimale Untermenge M von N, wo N alle 11-stelligen
Binärcodes enthält, derart dass jedes n in N Hamming-Abstand <= 3 von
einem m in M hat? Dass also 'Kugeln' mit 'Radius' 3 und Mittelpunkt in M
die Menge N überdecken?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Das erlaubt Analogien zur Anregung des Denkens.
Nimm ein 11 x 11 Quadrat und als "Kugeln mit Radius 3" verwende 5 x 5
Quadrate. Das sind in der Manhattan-Metrik die Kugeln mit Radius 3.
Wieviele Kugeln werden nun gebraucht für die vollständige Überdeckung?

Gibt es beim Original-Problem evtl. auch "systematische Stapelungen",
wie sie sich hier in der Analogie anbieten? Da legt man die 5 x 5
Quadrate nebeneinander und merkt, dass 4 noch zu wenig sind. Wenn ich es
richtig sehe, ist es so ungünstig, dass insgesamt 9 "Kugeln" gebraucht
werden. Aber das Resultat ist unwichtig. Wichtig ist: gibt es eine
Stapel-Methode für die Hamming-Kugeln?

(Anmerkung: ich habe jetzt insgesamt 13 Lösungen für K = 21, bin weiter
auf Jagd nach 20 ... oder Erleuchtung.)

Gruß,
Rainer Rosenthal
r.ros...@web.de

Jens Kallup

unread,
Sep 30, 2021, 11:11:04 AM9/30/21
to
Am 30.09.2021 um 11:10 schrieb Rainer Rosenthal:
> Das erlaubt Analogien zur Anregung des Denkens.
> Nimm ein 11 x 11 Quadrat und als "Kugeln mit Radius 3" verwende 5 x 5
> Quadrate. Das sind in der Manhattan-Metrik die Kugeln mit Radius 3.
> Wieviele Kugeln werden nun gebraucht für die vollständige Überdeckung?
>
> Gibt es beim Original-Problem evtl. auch "systematische Stapelungen",
> wie sie sich hier in der Analogie anbieten? Da legt man die 5 x 5
> Quadrate nebeneinander und merkt, dass 4 noch zu wenig sind. Wenn ich es
> richtig sehe, ist es so ungünstig, dass insgesamt 9 "Kugeln" gebraucht
> werden. Aber das Resultat ist unwichtig. Wichtig ist: gibt es eine
> Stapel-Methode für die Hamming-Kugeln?

also, wenn der Radius "einer" Kugel 3 beträgt, dann ist der Durchmesser
der Kugel d = r * 2 oder d = r^2.
Das heißt: 3 * 2 = 6.
Somit ist der Durchmesser 6 Einheiten (ich lasse mal die Eingliederung
bzw. die Benennung der Einheit(en) weg).

5 x 5 Quadrate: ich gehe mal davon aus, das die 5 eine Skalierung ist.
Weil, "ein" Quadrat von 5x5 = 25 ergibt, also die Länge und die Breite
ungefähr 2,236 Einheiten beträgt.

Also "ein" Quader der "5" ungefähr 2,236 in der Breite und ungefähr
2,236 in der Länge Einheiten hat.

Das macht dann zwar 4,999 also rund 5 Einheiten für einen Quader.
Ich nehme weiter an, das diese 4,999 Einheiten erstmal egal sind, und
ein ganzzahliger Wert verwendet werden soll.

Nun passt aber "eine" Kugel nicht in "einen" Quader, da der d = 6 ist,
und der Quader in der Dimension mit Einheit 5 begrenzt ist.

Ich nehme weiter an, das die Kugel nicht unter 6 Einheiten einen Cut
erleben soll.
Gleiches für die 5 Quader.

+--+--+--+ Das ist ein Rechteck, aber ein Quader kann ja auch ein
| | | | Rechteck sein; Okay. Mann kann aber dieses Rechteck für die
+--+--+--+ weiteren Schritte nicht verwenden, da sonst das Ergebnis
| | | | verwurschtelt wird. Also überlegen wir uns, wie man aus dem
+--+--+--+ 3 * 2 := 6 => 5 machen können.

Denken wir uns nun dieses obige Rechteck als Karte oder, ich sag mal
naiv: Fehrnrohr - Warum?
Nun, "eine" Kugel würde nicht in "einen" Quader passen - zu groß.
wir überlegen:
- 5 * 5 = 25 Einheiten Fläche der Quader verfügbar
- 3 * 6 = 18 Einheiten Fläche der Kugeln verfügbar

Man kann hier schon leicht erkennen, das die 3 Kugeln 7 Einheiten an
Fläche zur Verfügung haben, in denen sie sich nicht bewegen können.
Das heißt, die 3 Kugeln haben ungefähr 2,646 Längen-
und Breiteneinheiten über.

Ich denke mal man hat hier eine Integralgleichung vorliegen, die
als untere Grenze 4,999, und als obere Grenze 4,999 + 2,646 := 7,645
Einheiten hat.
Zur Einfachheit runde ich auf, auf: 5 und 3 := 8.

Wir Überlegen weiter:
25 QuaderEinheiten (max) * 3 Kugeln (max) := 75 QuaderEinheiten

75 QuaderEinheiten
+ 8 QuaderEinheiten
---------------------
= 83 QuaderEinheiten | 100 - 83 = 17

Wir brauchen also 17 Kugeln, um das 5 x 5 Quadrat zu Überdecken.

Ich sag jetzt einfach mal, das diese 17 Kugeln das Minimum sind,
was da so an Preisen ausgelost werden können.

Mal davon abgesehen, bräuchte man einen Würfel als Behälter, weil
so einfach Kugeln stapeln - ehm, das wird irgendwie nix :-)

Alles ohne Gewähr
Jens

Dieter Heidorn

unread,
Sep 30, 2021, 1:41:53 PM9/30/21
to
Jens Kallup schrieb:
> Am 30.09.2021 um 11:10 schrieb Rainer Rosenthal:
>> Das erlaubt Analogien zur Anregung des Denkens.
>> Nimm ein 11 x 11 Quadrat und als "Kugeln mit Radius 3" verwende 5 x 5
>> Quadrate. Das sind in der Manhattan-Metrik die Kugeln mit Radius 3.
>> Wieviele Kugeln werden nun gebraucht für die vollständige Überdeckung?
>>
>> Gibt es beim Original-Problem evtl. auch "systematische Stapelungen",
>> wie sie sich hier in der Analogie anbieten? Da legt man die 5 x 5
>> Quadrate nebeneinander und merkt, dass 4 noch zu wenig sind. Wenn ich
>> es richtig sehe, ist es so ungünstig, dass insgesamt 9 "Kugeln"
>> gebraucht werden. Aber das Resultat ist unwichtig. Wichtig ist: gibt
>> es eine Stapel-Methode für die Hamming-Kugeln?
>
> also, wenn der Radius "einer" Kugel 3 beträgt, dann ist der
> Durchmesser der Kugel d = r * 2 oder d = r^2.

Du hast übersehen, dass Rainer die Manhattan-Metrik verwendet:

"Nimm ein 11 x 11 Quadrat und als 'Kugeln mit Radius 3' verwende
5 x 5 Quadrate. Das sind in der *Manhattan-Metrik* die Kugeln mit
Radius 3."

Du verwendest dagegen die euklidische Metrik in der Ebene, was nichts
mit Rainers Überlegungen zu tun hat.

Dieter Heidorn

Uwe Weiss

unread,
Sep 30, 2021, 3:28:43 PM9/30/21
to
Am 29.09.2021 um 19:47 schrieb Rainer Rosenthal:

> Bin gespannt, was Du da erreichen kannst. Insbesonderee im
> Sekunden-Bereich. Ich programmiere in Maple und mach's halt so, dass ich
> meinen Code noch nach drei Tagen verstehen kann. Effizienz lasse ich
> außen vor.
> Ich möchte von dem Datenmaterial beim Denken unterstützt werden, und
> solange es mit dem Denken hapert, sammle ich.
>

Hi Rainer,

ich bin mir nicht sicher, ob ich die Aufgabe richtig verstanden habe.
Ich bin kein Mathematiker, sondern Informatiker. Deshalb habe ich auf
das Problem mal ein Java-Programm losgelassen, das einen ganz naiven
Ansatz verfolgt: wähle Schritt für Schritt immer den/einen 11-stelligen
Code, der aus der Rest-Suchmenge maximal viele Einträge rauskegelt.

Damit komme ich auf folgende Lösung - die vermutlich nicht optimal ist:

00000000000
00001111111
00110011001
00111100110
01010101010
01011010101
01100110011
01101001100
10010110100
10011001011
10100101101
10101010010
11000011110
11001100001
11110000111
11111111000

Ok. Da ich den Holzhammer bemüht habe, ist der Gewinn an mathematischen
Erkenntnissen natürlich dürftig.

Gruß

-Uwe-

P.S.: Laufzeit des Programms: ca. 100 msec. Die Programm-Erstellung hat
aber länger gedauert ;)


Carlo XYZ

unread,
Sep 30, 2021, 4:29:06 PM9/30/21
to
Uwe Weiss schrieb am 30.09.21 um 21:28:

> Ansatz verfolgt: wähle Schritt für Schritt immer den/einen 11-stelligen
> Code, der aus der Rest-Suchmenge maximal viele Einträge rauskegelt.

Nicht unähnlich der Heuristik, die ich anderswo vorschlug.

> Damit komme ich auf folgende Lösung - die vermutlich nicht optimal ist:
>
> 00000000000
> 00001111111
> 00110011001
> 00111100110
> 01010101010
> 01011010101
> 01100110011
> 01101001100
> 10010110100
> 10011001011
> 10100101101
> 10101010010
> 11000011110
> 11001100001
> 11110000111
> 11111111000

16. Das theoretische Minimum ist 13. :-)

Martin Vaeth

unread,
Sep 30, 2021, 5:25:56 PM9/30/21
to
Carlo XYZ <carl...@invalid.invalid> wrote:
>
> Zur Klassen-Mindestgröße: M=\ceil{(2^L)/(\binom{L}{d})}
> dürfte eine untere Schranke sein,
> wobei L die Länge der Wörter (hier L=11) und d der Hamming-Abstand
> (hier d=3) sind. Hier wäre M=13.

Das sehe ich nicht. Ich vermute, Du hast einen Fehler gemacht:
Es müssen nicht *genau* d Aufgaben falsch beantwortet sein,
sondern *maximal* d, also 0, 1, 2, ..., d.

Die "Hamming-Kugel" um eine abgegebene Lösungsliste im Hyperwürfel
enthält K = \sum_{j=0}^d \binom{L}{j} Listen; der Hyperwürfel selbst
natürlich 2^L.
Damit ist eine Untergrenze gegeben durch m = \ceil{(2^L)/K}.

Somit ist die triviale Untergrenze für L = 11 und d = 3 nur m = 9.

Carlo XYZ

unread,
Sep 30, 2021, 5:51:21 PM9/30/21
to
Martin Vaeth schrieb am 30.09.21 um 23:25:
Stimmt! Damit hast du leider (für mich)
und zum Glück (für die Optimierer) Recht.

Martin Vaeth

unread,
Sep 30, 2021, 6:09:28 PM9/30/21
to
Carlo XYZ <carl...@invalid.invalid> schrieb.
> Uwe Weiss schrieb am 30.09.21 um 21:28:
>>
>> 00000000000
>> 00001111111
>> 00110011001
>> 00111100110
>> 01010101010
>> 01011010101
>> 01100110011
>> 01101001100
>> 10010110100
>> 10011001011
>> 10100101101
>> 10101010010
>> 11000011110
>> 11001100001
>> 11110000111
>> 11111111000
>
> 16. Das theoretische Minimum ist 13. :-)

Das triviale theoretische Minimum ist m.E. 9 (s. anderen Thread;
ich vermute, bei der 13 ist ein Denkfehler unterlaufen.)

Vielleicht sollte man statt Uwe's Greedy-Algorithmus einen anderen
probieren: Nicht maximale Aussschöpfung, sondern genau zweitmaximale
Ausschöpfung, zumindest zu Beginn. Damit hat man nämlich die Kugeln
halbwegs "tangential" beieinander platziert, so dass man gegen Ende
vielleicht weniger "Lücken" auffüllen muss.

Rainer Rosenthal

unread,
Sep 30, 2021, 6:12:23 PM9/30/21
to
Am 30.09.2021 um 21:28 schrieb Uwe Weiss:
>
> Damit komme ich auf folgende Lösung - die vermutlich nicht optimal ist:
>
> 00000000000
> 00001111111
> 00110011001
> 00111100110
> 01010101010
> 01011010101
> 01100110011
> 01101001100
> 10010110100
> 10011001011
> 10100101101
> 10101010010
> 11000011110
> 11001100001
> 11110000111
> 11111111000
>
Wow! Herzliche Gratulation!
Ich stelle sofort mein Zufalls-Gewurschtel ein.
Ich habe noch nicht mal K = 20 erreicht.

Gruß,
Rainer

Rainer Rosenthal

unread,
Sep 30, 2021, 7:21:15 PM9/30/21
to
Am 23.09.2021 um 10:28 schrieb Rainer Rosenthal:
> Ich habe hier eine Liste mit elf Fragen, die mit ja oder nein zu
> beantworten sind, DIE ICH ABER NIEMANDEM ZEIGE. Wer wenigstens acht
> davon richtig beantwortet, bekommt einen Preis.
>
> Welche Mathelehrerin kann es schaffen, dass jemand aus ihrer Klasse
> sicher einen Preis gewinnt? Wie groß muss die Klasse mindestens sein,
> und welche Lösungsvorschläge führen zum Ziel?
>
> Sollte meine geheime Liste die Lösung L = [1,0,1,0,0,0,1,0,1,0,0]
> erfordern, dann ...

... bekämen die Schüler 9 und 12 einen Preis in der Klasse von
Mathelehrer Uwe Weiss(*), die aus nur 16 Schülern besteht:

Schüler 1: [0,0,0,0,0,0,0,0,0,0,0]
Schüler 2: [0,0,0,0,1,1,1,1,1,1,1]
Schüler 3: [0,0,1,1,0,0,1,1,0,0,1]
Schüler 4: [0,0,1,1,1,1,0,0,1,1,0]
Schüler 5: [0,1,0,1,0,1,0,1,0,1,0]
Schüler 6: [0,1,0,1,1,0,1,0,1,0,1]
Schüler 7: [0,1,1,0,0,1,1,0,0,1,1]
Schüler 8: [0,1,1,0,1,0,0,1,1,0,0]
Schüler 9: [1,0,0,1,0,1,1,0,1,0,0]
Schüler 10: [1,0,0,1,1,0,0,1,0,1,1]
Schüler 11: [1,0,1,0,0,1,0,1,1,0,1]
Schüler 12: [1,0,1,0,1,0,1,0,0,1,0]
Schüler 13: [1,1,0,0,0,0,1,1,1,1,0]
Schüler 14: [1,1,0,0,1,1,0,0,0,0,1]
Schüler 15: [1,1,1,1,0,0,0,0,1,1,1]
Schüler 16: [1,1,1,1,1,1,1,1,0,0,0]

Niemand hat bisher eine Lösung für eine kleinere Klasse bieten können.
Es muss ja auch keine geben, sondern es wurde inzwischen lediglich
klargestellt, dass eine sicher erfolgreiche Klasse mindestens 9 Schüler
haben muss.

Uwe Weiss räumt bescheiden ein, dass seine Lösung nicht minimal sein
müsse, und ein kleines Indiz dafür sind die beiden Schüler 9 und 12,
denn man könnte ja meinen, dass eine super-duper-Klasse sich etwas so
Cleveres ausdenkt, dass die Schüler alle möglichen Lösungsmuster
überschneidungsfrei unter sich aufteilen. Aber - ein bisschen Schwund
ist immer, sagt der Volksmund.
Gesucht: eine Klasse mit K = 15, oder Beweis, dass 15 nicht geht.

Gruß,
Rainer Rosenthal

(*) Uwe hat diese Liste mitgeteilt am 30.09.2021 um 21:28 Uhr.

Jens Kallup

unread,
Oct 1, 2021, 1:23:14 AM10/1/21
to
Am 30.09.2021 um 19:41 schrieb Dieter Heidorn:
> Jens Kallup schrieb:
>> Am 30.09.2021 um 11:10 schrieb Rainer Rosenthal:
>>> Das erlaubt Analogien zur Anregung des Denkens.

>>> gebraucht werden. Aber das Resultat ist unwichtig. Wichtig ist: gibt
>>> es eine Stapel-Methode für die Hamming-Kugeln?

>
> Du hast übersehen, dass Rainer die Manhattan-Metrik verwendet:

> Du verwendest dagegen die euklidische Metrik in der Ebene, was nichts
> mit Rainers Überlegungen zu tun hat.
>
> Dieter Heidorn
>

Du vergisst: Rainer hat nur eine Frage aufgestellt, "ob ese eine
Stapelmethode für 'Hamming'-Kugeln'" gibt.

Und davon abgesehen, sind meine Werte gerundet, und können andere
Resultate bringen als erwartet.

Aber die Lösung scheint schon festzustehen: 16.

Gruß, Jens

Rainer Rosenthal

unread,
Oct 1, 2021, 4:04:53 AM10/1/21
to
Am 01.10.2021 um 07:23 schrieb Jens Kallup:
> Am 30.09.2021 um 19:41 schrieb Dieter Heidorn:
>>
>> Du hast übersehen, dass Rainer die Manhattan-Metrik verwendet:
>
>> Du verwendest dagegen die euklidische Metrik in der Ebene, was nichts
>> mit Rainers Überlegungen zu tun hat.
>>
Hallo Jens,

Wenn Du nicht weißt, was die Manhattan-Metrik ist, dann solltest Du
fragen und nicht einfach weiterlesen und auf irgendwas antworten, was
danach kommt.
Denn das Weitere hat üblicherweise mit dem zu tun, was vorher
geschrieben wurde.

Zur Erklärung (dabei verwende ich 3-stellige Folgen statt 11-stelliger):
Ich betrachte solche 0-1-Folgen wie 101 oder 000 oder 110 als "Punkte"
in einem Fantasie-"Raum". Dieser Raum hat natürlich nur 8 Punkte.
Mit der Manhattan-Metrik haben die Punkte A = 101 und B = 110 den
"Abstand" 2, weil die Abstände an den Positionen 1, 2 und 3
zusammengezählt werden:
Position 1: A hat 1, B hat 1, Abstand an Position 1 ist |1-1| = 0.
Position 2: A hat 0, B hat 1, Abstand an Position 2 ist |0-1| = 1.
Position 3: A hat 1, B hat 0, Abstand an Position 3 ist |1-0| = 1.
Zusammengezählt also 0 + 1 + 1 = 2.

Der Eintrag an Position 1 wird auch als "1. Koordinate" bezeichnet, der
an Position 2 als "2. Koordinate" usw.

Wenn alle Koordinaten den Wert 0 oder 1 haben, muss man nur zählen, an
wie vielen Positionen sie voneinander verschieden sind. Das ist auch
unter dem Namen "Hamming-Distanz" bekannt.
>
> Du vergisst: Rainer hat nur eine Frage aufgestellt, "ob ese eine
> Stapelmethode für 'Hamming'-Kugeln'" gibt.

Ich glaube nicht, dass Dieter Heidorn das vergessen hat, aber er weiß,
was ich mit Hamming-Kugeln gemeint habe. Die Hamming-Kugel um einen
Punkt P mit Radius r besteht aus allen Punkten mit Hamming-Distanz <= r.

Ich glaube Dir gerne, dass Du meinen Gedankensprüngen nicht folgen
konntest, weil ich nämlich von den 11-stelligen Vektoren mit Koordinaten
0 und 1 in einen anderen Raum gesprungen bin.
(Ich sagte ja, dass Analogien das Denken anregen.)

In dem anderen Raum sind die Vektoren zweistellig und es gibt die 11
Koordinatenwerte 0 bis 10. Das kann man sich gut vorstellen als die
Gitter-Punkte eines Quadrats in der Ebene: (0,0), (0,1) usw.
Als Abstand nehme ich aber nicht die euklidische Metrik, sondern die
oben beschriebene Manhattan-Metrik.

Leider habe ich bei der Rechnung allerlei durcheinander gebracht, denn
meine Pflasterung von 11 x 11 durch 5 x 5 Quadrate war eine nette Idee,
aber mit "Manhattan-Metrik" hat das nichts zu tun.

> Und davon abgesehen, sind meine Werte gerundet, und können andere
> Resultate bringen als erwartet.

Deine Werte basieren auf falschen Grundlagen, genau wie meine.
Die genaue Ausführung erfordert Sorgfalt, aber das Denken wurde
hoffentlich angeregt: Die lustigerweise "eckigen" Kugeln der
Manhattan-Metrik (die Hamming-Kugeln) sollte man besser wie
Pflastersteine einen an den anderen legen. Eine Straße oder Terrasse
oder Garageneinfahrt pflastert man ja gewöhnlich auch nicht so, dass man
die Pflastersteine vom Laster runterkippt und mit einer Dampfwalze
plattdrückt.
>
> Aber die Lösung scheint schon festzustehen: 16.
>
Nein, wie kommst Du darauf?
Das steht nirgends, und deer Entdecker der 16-er-Lösung hat selbst ganz
bescheiden davon gesprochen, das könnte evtl. zu verbessern sein. Und
wenn er das schreibt, dann hat das Gewicht, weil er weiß, wie die 16
zustande gekommen sind. Und er sieht Potential für Verbesserung.

Außerdem wurde lediglich ausgeschlossen, dass Lösungen mit weniger als 9
Punkten existieren.

Gruß,
Rainer


Jens Kallup

unread,
Oct 1, 2021, 7:49:33 AM10/1/21
to
Am 01.10.2021 um 10:04 schrieb Rainer Rosenthal:
> Wenn Du nicht weißt, was die Manhattan-Metrik ist, dann solltest Du
> fragen und nicht einfach weiterlesen und auf irgendwas antworten, was
> danach kommt.
> Denn das Weitere hat üblicherweise mit dem zu tun, was vorher
> geschrieben wurde.
>
> Zur Erklärung (dabei verwende ich 3-stellige Folgen statt 11-stelliger):
> Ich betrachte solche 0-1-Folgen wie 101 oder 000 oder 110 als "Punkte"
> in einem Fantasie-"Raum". Dieser Raum hat natürlich nur 8 Punkte.
> Mit der Manhattan-Metrik haben die Punkte A = 101 und B = 110 den
> "Abstand" 2, weil die Abstände an den Positionen 1, 2 und 3
> zusammengezählt werden:
> Position 1: A hat 1, B hat 1, Abstand an Position 1 ist |1-1| = 0.
> Position 2: A hat 0, B hat 1, Abstand an Position 2 ist |0-1| = 1.
> Position 3: A hat 1, B hat 0, Abstand an Position 3 ist |1-0| = 1.
> Zusammengezählt also 0 + 1 + 1 = 2.

Hallo Rainer,

gibts es da keine 4. Position?
Also, wenn A und B die gleiche Position haben wie bei

A=1, B=1, als 1. Position, und
A=0, B=0, als 4. Position

Wird lezters nicht mehr betrachtet, weil |0-0| = 0. ?

Würde da der Abstand nicht wie folgt sein:

9 Möglichkeiten:

000 - 000 <-- doublete
000 - 111
001 - 100
010 - 010 <-- doublete
011 - 011
100 - 001
101 - 101 <-- doublete
110 - 111
111 - 111 <-- doublete

Wenn man nun das durch einen Sieb/Filter gibt, dann
bleiben ja nur 5 übrig.
Sind vielleicht diese 5 Deine 5 LHS x 5 RHS Fläche ?

LHS RHS
---------
000 - 111
001 - 100
011 - 011
100 - 001
110 - 111

Gruß, Jens

Rainer Rosenthal

unread,
Oct 1, 2021, 8:12:53 AM10/1/21
to
Am 01.10.2021 um 13:49 schrieb Jens Kallup:
> Am 01.10.2021 um 10:04 schrieb Rainer Rosenthal:
>>
>> Zur Erklärung (dabei verwende ich 3-stellige Folgen statt 11-stelliger):
>> ...
>
> gibts es da keine 4. Position?
>

Nein, bei 3-stelligen Folgen gibt es keine 4. Position.

>
> Würde da der Abstand nicht wie folgt sein:
>
> 9 Möglichkeiten:
>
> 000 - 000  <-- doublete
> ...

Interessante Frage, aber was soll ich prüfen? Du hast doch gar keinen
Abstand genannt.

Gruß,
Rainer

Jens Kallup

unread,
Oct 1, 2021, 10:40:53 AM10/1/21
to
Am 01.10.2021 um 14:12 schrieb Rainer Rosenthal:
>
> Interessante Frage, aber was soll ich prüfen? Du hast doch gar keinen
> Abstand genannt.

nun, hab ich's vergessen zu schreiben?
dachte so, das es möglich wäre, das die Kugeln - oder Kastenkugeln
auf der gleichen Position liegen.

Okay, geht ja rein physisch nicht.
Aber mathematisch ist doch sowas möglich...
wir hatten hier doch mal solche Besprechnungen.

ok, zurück.
Es macht doch in der Mathematik erstmal nichts,
wenn Objekte "aufeinander" gestapelt liegen?

Wenn man jeder dieser 3 Kugeln - die wie Du schon
geschrieben hast "Quader" sind, dann können die
doch seitlich (links <-> rechts) wie auch von
(oben <-> unten (unten wohl mehr mit UHU Kleber :)

gestappelt werden ?

Dann würden die Kugeln sich gegenseitig bedecken.

Man hat halt dann von den 4 Seiten Ansicht, die
3 Kugeln, was dann für jede Seite 4 Rechtecke und
keine Quader mehr sind ergeben würde.

Und von oben und unten erkennt man nur eine Kugel
- also einen Quader oder besser gesagt eine
quadratische Fläche.

Man hätte dann 4 Rechtecke und 2 Quader, was dann
6 Rechtecke ergeben würde.
Weil, ein Quader kann ja auch ein Rechteck sein.

Das so wie das kleine Männekiken im R2 - also im
2 dimensionalen Raum, der keine Kugel erkennen kann,
höchstens ein Punkt oder Fleck, der sich, wenn die
Kugel(n) sich auf und ab beweegen, aber durch eine
2D-Ebene begrenzt sind, mal kleiner, mal größer aus-
fallen würde.

Und dieser runde Fleck hat dann in der 2-D Ebene
eine größte Ausdehnung von 6 Einheiten (max) und 1
Punkt Einheiten als (min).

So hätte man im Raumwechsel von 3D -> 2D eine obere
Schranke von 6 und eine untere Schranke von 1.

Was ich mir dadurch erklären würde, das die Preise, die
gewonnen werden können, in Deiner Aufgabe/Frage den
Notenspiegel, also die Noten 1 bis 6 entsprechen würde.

Weil es nun ja ein links, und rechts oder ein oben, und
unten geben kann (jetzt 3D Raum mit einbezogen), jeweils
2 Hälften der 3 Kugeln.

Also sowas auch für Aufgabenteilung gelten könnte - wenn
man nun 2 Schüler oder 2 Teams hat, die sich untereinander
die gleiche 3xKlasse (3xKugel) := 3 Aufgaben teilen, um
eine bessere Change zu Haben "gemeinsam" die "gesamten"
Aufgaben zu lösen.
Getreu dem Motto: Gemeinsam kommen wir weiter UND schneller
ans Ziel - oder auch nicht :-)

Auf der anderen Seite kann man nun 2 Kugeln teilen, diese
auf Deinen 5x5 Gitter Pappier kleben - also mit der glaten
Seite nach unten - jeweils vier unten, die "Vorarbeiten"
leisten, und ein "starker" Schüler die Quizshow besucht,
der auf die Arbeiten der Anderen aufbaut und die eventuellen
Lösungen weiß, sich in der Mitte auf der vier "flachen",
"halben" Kugeln stellt/setzt.

Damit haben wir 4 (halbe) Kugelpaare (die die Punkte in dem
Zusammenhang die Klassenstärke sind minus der Chefkugel,
die dann sicherlich die Lehrerinn sinnbildlich manifestiert.
Und 1 ganze Kugel.

Somit hat also die 3. (eine) Kugel einen sicheren Halt, und
kann sich lustiger weise auch um alle Achsen drehen, um dann
von den jeweiligen (ich sag jetzt mal: 4 Klassen) Fragen
und Antworten "erlauschen" kann, die dann von der Lehrerinn
dem Quizmaster, also dem Fragenden zugespielt werden.

Auf der anderen Seite, haben die 4 anderen halben Kugel die
Möglichkeit, in einen - ich habe schon drüber geschrieben -
bestimmten kleinen Rahmen, sich zu Bewegen.
Also damit meine ich die Abmessungen des 5x5 Gitters.
Weil, ja die 4 halben Kugeln ja noch in ihrer Ausmaßen einen
Durchmesser von 6 Flächen Einheiten besitzen.

Mir fällt dazu das Thema Nibbelierung oder Fehlerkorrektur ein.
Was für die obere Chefkugel die 4 Joker, die verwendet werden
können während der Rate-Session, um eine falsche Frage auszu-
gleichen.

Gruß, Jens

Jens Kallup

unread,
Oct 1, 2021, 10:49:56 AM10/1/21
to
Am 01.10.2021 um 16:40 schrieb Jens Kallup:

> Auf der anderen Seite, haben die 4 anderen halben Kugel die
> Möglichkeit, in einen - ich habe schon drüber geschrieben -
> bestimmten kleinen Rahmen, sich zu Bewegen.
> Also damit meine ich die Abmessungen des 5x5 Gitters.
> Weil, ja die 4 halben Kugeln ja noch in ihrer Ausmaßen einen
> Durchmesser von 6 Flächen Einheiten besitzen.

Nachtrag:

5x5 = 25 Quadrat-Einheiten

(2x6 = die Kügelhälften pro Kugel, mit 6 Durchmesser Einheiten):

2x6 = 12 rechts - links vom 5x5 Quadratischen Einheiten
+ 2x6 = 12 oben - unten ...
------------
= 24

25 - 24 = 1 Quadrat Einheiten Spielraum für 4 falsche Fragen.

Also 4 x 1 Joker = 4 möglische falsche Fragen, und das Quiz
ist beendet.

Jens

Ulrich Diez

unread,
Oct 1, 2021, 11:25:22 AM10/1/21
to
Rainer Rosenthal schrieb:

> Ich habe hier eine Liste mit elf Fragen, die mit ja oder nein zu
> beantworten sind, DIE ICH ABER NIEMANDEM ZEIGE. Wer wenigstens acht
> davon richtig beantwortet, bekommt einen Preis.
>
> Welche Mathelehrerin kann es schaffen, dass jemand aus ihrer Klasse
> sicher einen Preis gewinnt? Wie groß muss die Klasse mindestens sein,
> und welche Lösungsvorschläge führen zum Ziel?

Es gibt 2^11=2048 mögliche Antwortkombinationen.

Damit gibt es auch 2^11=2048 mögliche Rateversuche.

Zu jedem Rateversuch gibt es Summe_i=0..3{11 über i} = 232
Antwortkombinationen, mit denen er gewinnen würde.

(Den Rateversuch selbst, und dann kan man sich noch
überlegen, was sich ergibt wenn man beim Rateversuch genau ein
Element herausgreift und abändert, oder genau zwei Elemente
herausgreift und abändert, oder genau drei Elemente herausgreift
und abändert bzw auf wieviele Arten dieses Herausgreifen
und Abändern jeweils geschehen kann.)

Wenn ich nicht so schmerzgeplagt und benommen wäre, würde ich naiv
erstmal etwas in der folgenden Richtung versuchen:

Algorithmus:

Schritt 1:

Erstelle eine "Liste der Rateversuch/Antwortkombinationen",
bestehend aus 2048 Einträgen, so dass jedem möglichen
Rateversuch die Liste der 232 Antwortkombinationen,
bei denen er gewinnen würde, zugeordnet ist.

Erstelle eine "Liste der abgedeckten Antwortkombinationen",
die 2048 Einträge enthält, die allesamt als "noch-nicht-
durch-einen-herausgegriffenen-Rateversuch-abgedeckt"
markiert sind.

Erstelle eine Leere "Ergebnisschülerliste".

Schritt 2:

Greife aus der "Liste der Rateversuch/Antwortkombinationen"
eines derjenigen Elemente heraus, welches bei den meisten
Antwortkombinationen gewinnt und füge dessen Rateversuch
zur "Ergebnisschülerliste" hinzu.

Schritt 3:

Markiere in der "Liste der abgedeckten Antwortenkombinationen"
diejenigen Antwortkombinationen, bei denen der Rateversuch
des herausgegriffenen Elements gewinnen würde, als "abgedeckt".

Schritt 4:

Wenn in der "Liste der abgedeckten Antwortkombinationen"
alle Antwortkombinationen abgedeckt sind, terminiere mit
"Ergebnisschülerliste", ansonsten gehe zu Schritt 5.

Schritt 5:

Entferne das herausgegriffene Element aus der "Liste der
Rateversuch/Antwortkombinationen".
Entferne bei den übrigen Elementen der "Liste der
Rateversuch/Antwortkombinationen" diejeniigen
Antwortkombinationen, bei denen die herausgegriffene
Rateversuche/Antwortkombinationen gewinnen würde, aus
der Liste der Antwortkombinationen mit denen der
entsprechende Rateversuch gewinnen würde.
Entferne diejenigen Rateversuche/Antwortkombinationen aus
der "Liste der Rateversuche/Antwortkombinationen",
bei denen die Liste an Antwortkombinationen mit denen der
entsprechende Rateversuch gewinnen würde leer ist.
Wenn die "Liste der Rateversuche/Antwortkombinationen"
leer ist, terminiere mit einer Fehlermeldung.
Ansonsten gehe zu Schritt 2.

Die "Liste der Rateversuch/Antwortkombinationen" könnte ein Array sein,
dessen Elemente aus einem Record mit sechs Feldern bestehen:
1. Nummer des Rateversuchs
2. Liste an Antworten/Nummern, bei denen der Rateversuch gewinnt;
ihrereseits ein Boolean-Array mit 2048 Elementen.
3. Anzahl an Antworten, bei denen der Rateversuch gewinnt.
4. Boolean-Marker, ob das Element schon herausgegriffen/entfernt ist.
5. Boolean-Marker, ob das Element schon herausgegriffen ist.
6. Boolean-Marker, ob die Nummer des Rateversuchs als
Element der "Liste der abgedeckten Antwortkombinationen" gilt.

Im Fall des Terminierens ohne Fehlermeldung, weil bei allen Elementen
der "Liste der Rateversuch/Antwortkombinationen" das Feld "Boolean-Marker,
ob die Nummer des Rateversuchs als Element der Liste der abgedeckten
Antwortkombinationen gilt" den Wert "true" hat, würde die
"Ergebnisschülerliste" aus den "Nummer des Rateversuchs"-Feldern
derjenigen Einträge in der "Liste der Rateversuch/Antwortkombinationen"
bestehen, bei denen das Feld "Boolean-Marker, ob das Element schon
herausgegriffen ist" den Wert "true" hat.

Man käme insgesamt mit einer einzigen Datenstruktur aus.

Die Sache bezeichne ich unter anderem deshalb als "naiv", weil ich
mir zB noch nicht überlegt habe, ob die Strategie

"Greife sukzessive aus der Liste der Rateversuch/Antwortkombinationen
eines derjenigen Elemente heraus, welches bei den meisten
Antwortkombinationen gewinnt und füge dessen Rateversuch
zur Ergebnisschülerliste hinzu" (Schritt 2)

immer dazu führt, dass alle möglichen Antwortkombinationen abgedeckt
werden können geschweige den mit der kleinsten Anzahl an Rateversuchen
abgedeckt werden können.

Anbetrachts 2048 möglicher Antwortkombinationen, während
ein Rateversuch immer bei 232 Antwortkombinationen zum Gewinn
führt, kann ich nur sagen, dass man _mindestens_
Ceil(2048/232) = 9 Rateversuche/Schüler braucht.

Mit freundlichem Gruß

Ulrich

Dieter Heidorn

unread,
Oct 1, 2021, 11:51:11 AM10/1/21
to
Jens Kallup schrieb:
> Am 01.10.2021 um 14:12 schrieb Rainer Rosenthal:
>>
>> Interessante Frage, aber was soll ich prüfen? Du hast doch gar keinen
>> Abstand genannt.
>
> nun, hab ich's vergessen zu schreiben?
> dachte so, das es möglich wäre, das die Kugeln - oder Kastenkugeln
> auf der gleichen Position liegen.
>

Lies' noch einmal, was Rainer geschrieben hatte:

"Ich betrachte [3-stellige] 0-1-Folgen wie 101 oder 000 oder 110 als
'Punkte' in einem Fantasie-'Raum'. Dieser Raum hat natürlich nur 8
Punkte."

Diese Punkte bilden im drei-dimensionalen Raum die Eckpunkte eines
Würfels der Kantenlänge 1:

(0,1,1) (1,1,1)
*--------------------*
/| /|
/ | / |
/ | / |
*--------------------* |
(0,0,1)| (1,0,1)|
| | | |
| | | |
| |(0,1,0) | |(1,1,0)
| *----------------|---*
| / | /
| / | /
|/ |/
*--------------------*
(0,0,0) (1,0,0)

Weiter schrieb Rainer:

"Mit der Manhattan-Metrik haben die Punkte A = 101 und B = 110 den
'Abstand' 2, weil die Abstände an den Positionen 1, 2 und 3
zusammengezählt werden:
Position 1: A hat 1, B hat 1, Abstand an Position 1 ist |1-1| = 0.
Position 2: A hat 0, B hat 1, Abstand an Position 2 ist |0-1| = 1.
Position 3: A hat 1, B hat 0, Abstand an Position 3 ist |1-0| = 1.
Zusammengezählt also 0 + 1 + 1 = 2."

Zusammengefasst und in der üblichen Schreibweise dargestellt ist der
Abstand zweier Punkte in diesem Raum mit der Manhattan-Metrik:

3
d(A,B) = SUMME |A_i - B_i|
i=1

Eine nicht-leere Menge E, in der eine Metrik d (also ein Abstand
zwischen den Elementen) definiert ist, heißt metrischer Raum.

Eine Kugel in einem metrischen Raum ist allgemein definiert durch die
Menge aller Punkte des Raumes, die von einem festen Punkt P den Abstand
r (= Radius der Kugel) haben:

B(P,r) = {X e E : d(X,P) <= r}

Zur Übung kannst du ja einmal in Rainers Beispiel den Punkt A(0,0,0)
nehmen und alle die von den anderen 7 Punkten suchen, die in der
Manhattan-Metrik den Abstand r = 1 von A haben.

Mit "Kugel" im Sinne der dreidimensionalen Geometrie im euklidischen
Raum hat die sich ergebende Punktmenge nichts zu tun...

> Wenn man jeder dieser 3 Kugeln - die wie Du schon
> geschrieben hast "Quader" sind,

Sind sie nicht.

Der Begriff "Kugel" in einem metrischen Raum ist allgemeiner als der
Begriff "Kugel", wie du ihn aus der dreidimensionalen Geometrie im
euklidischen Raum kennst. Da verwendest du den Raum R^3 und die
euklidische Metrik:

d(A,B) = sqrt( (B_1 - A_1)^2 + (B_2 - A_2)^2 + (B_3 - A_3)^2 )

Kurz gesagt: Wenn du dich mit Rainers Beispielen und Problemen befassen
willst, dann darfst du nicht mit der Vorstellung von einer Kugel im
dreidimensionalen euklidischen Raum vorgehen.

Dieter Heidorn

Jens Kallup

unread,
Oct 1, 2021, 11:52:45 AM10/1/21
to
Am 01.10.2021 um 17:25 schrieb Ulrich Diez:

> Zu jedem Rateversuch gibt es Summe_i=0..3{11 über i} = 232
> Antwortkombinationen, mit denen er gewinnen würde.

das geht sicherlich nicht so einfach, denke ich mal.
Schau mal hier:

Algo ist hier für die Programmiersprache C:
(übersetzt mit GNU C Compiler: gcc -o per.exe per.c)

----%<-- schnipp ------
# include <stdio.h>
# include <string.h>

/*
** Funktion zum Pointer-Tausch:
*/
void swap(char *x, char *y)
{
char temp;
temp = *x;
*x = *y;
*y = temp;
}

/*
** Funktion zum Ausgeben der Zeichketten-Permutation:
** Parameter 1: Zeichenkette
** Parameter 2: Start - Index
** Parameter 3: Ende - Index
*/
void permute(char *a, int l, int r)
{
int i;
if (l == r)
printf("%s\n", a);
else {
for (i = l; i <= r; i++)
{
swap((a+l), (a+i));
permute(a, l+1, r);
swap((a+l), (a+i)); /* backtrack */
}
}
}

/*
** Zeichenkette lateinischer Buchstaben
** anstelle von 0 und 1 ...
*/
int main()
{
char str[] = "ABCDEFGHIJK";
int n = strlen(str);
permute(str, 0, n-1);
return 0;
}
----->%-- schnapp -----


das Gleiche für Python:

----%<-- schnipp ------
def toString(List):
return ''.join(List)

def permute(a, l, r):
if l==r:
print toString(a)
else:
for i in xrange(l,r+1):
a[l], a[i] = a[i], a[l]
permute(a, l+1, r)
a[l], a[i] = a[i], a[l]

string = "ABCDEFGHIJK"
n = len(string)
a = list(string)
permute(a, 0, n-1)
----->%-- schnapp -----


Hinweis:

Bitte *NICHT* per.exe > var.txt

in der Console Eingeben !!!
Verbrät bissl viel Speicherplatz für ALLE Möglichkeiten.

Mit freundlichen Grüßen

Jens

Jens Kallup

unread,
Oct 1, 2021, 1:13:51 PM10/1/21
to
So, ich nochmal:
habe das Ganze ein wenig gepimpt:

https://www.kallup.net/pub/tmp/news/permu.zip

im Archiv, die Quellcode-Datei sowie die mit
dem MinGW übersetzt.
Falls bei dem Einen oder Anderen Zweifel im
Bezug auf die Binärdatei sind (ich habe nicht
vor irgendwem zu Schaden mit irgendwelchen
Viren oder so), daher die C Quelldatei hier im
Posting.
Kann dann jeder selbst für sich kopieren und
dann mit dem C Compiler der Eigenen Wahl übersetzt
werden.

Euer Schreiberling
Jens

---%<--- schnippp -----

/*
** Datei: permutation.c
** Autor: Jens Kallup <kallu...@web.de>
** Lic : non-profit
** (c) 2021 kallup.net - non-profit
** Nur für Schulungszwecke !
*/
# include <stdio.h>
# include <string.h>
# include <stdint.h> /* für uintN_t */
# include <sys/time.h>

/* Windows 64-Bit Compiler (MinGW64) */
#ifdef __MINGW64__
# undef gettimeofday
# define gettimeofday mingw_gettimeofday
# define timersub(a, b, result) \
do { \
(result)->tv_sec = (a)->tv_sec - (b)->tv_sec; \
(result)->tv_usec = (a)->tv_usec - (b)->tv_usec; \
if ((result)->tv_usec < 0) { \
--(result)->tv_sec; \
(result)->tv_usec += 1000000; \
} \
} while (0)
#endif

#ifndef SUCCESS
# define SUCCESS 0
# define FAILURE 1
#endif

/* globale Variablen, die w#hrend der Laufzeit geänder werden */
uint64_t pos = 0; /* checker */
struct timeval time_elapsed; /* verstrichene Zeit */

struct timeval time_before; /* Timer start */
struct timeval time_after ; /* Timer ende */
struct timeval time_result; /* Timer Ergebnis */

/*
** Funktion zum Pointer-Tausch:
*/
void swap(char *x, char *y)
{
char temp;
temp = *x;
*x = *y;
*y = temp;
}

/*
** Funktion zum Ausgeben der Zeichketten-Permutation:
** Parameter 1: Zeichenkette
** Parameter 2: Start - Index
** Parameter 3: Ende - Index
*/
void permute(char *a, uint64_t l, uint64_t r)
{
uint64_t i;
if (l == r) {
gettimeofday(&time_elapsed, NULL);
timersub (&time_elapsed, &time_before, &time_result);
printf("poshex: 0x%016x , posdec: %-16d, str: %s, Zeit:
%ld.%06ld\n",
pos, pos, a,
(uint64_t) time_result.tv_sec,
(uint64_t) time_result.tv_usec);
pos += 1;
}
else
for (i = l; i <= r; i++)
{
swap((a+l), (a+i));
permute(a, l+1, r);
swap((a+l), (a+i));
}
}

/*
** Zeichenkette lateinischer Buchstaben
** anstelle von 0 und 1 ...
*/
int main()
{
/* start */
gettimeofday(&time_before, NULL);

char str[] = "ABCDEFGHIJK";
uint8_t n = strlen(str);
permute(str, 0, n-1);

/* ende */
gettimeofday(&time_after, NULL);

timersub(&time_after, &time_before, &time_result);
printf("Durchlauf dauerte: %ld.%06ld\n",
(uint64_t) time_result.tv_sec,
(uint64_t) time_result.tv_usec);

return SUCCESS;
}

-->%---- schnapp -----


Das Ganze schaut im Schnippsel dann ungefähr so aus:

poshex: 0x00000000000016c8 , posdec: 5832, str: ABCEFDJHIGK, Zeit:
29.941792
poshex: 0x00000000000016c9 , posdec: 5833, str: ABCEFDJHIKG, Zeit:
29.957417

irgendwie bekomme ich mit meinen E-Mail Client - Thunderbird
immer einen Wortumbruch an Stelle 80.
Das hab ich noch nicht heraus gefunden, wie man das ändern kann,
weil das ziemlich doof sein kann - manchmal :-)

Jens

Jens Kallup

unread,
Oct 1, 2021, 3:42:50 PM10/1/21
to
so, hab das jetzt erstmal gestoppt, den Durchgang,
ging schon fast 2 Stunden:

/*
** Randbemerkungen:
** poshex: 0x0000000000100d0b , posdec: 1051915, str: ADKBICFGEHJ,
Zeit: 5823.543970
** poshex: 0x0000000000100d0c , posdec: 1051916, str: ADKBICFGJEH,
Zeit: 5823.559595
**
** hier, bei 1.051.916 Möglichleiten habe ich abgebrochen, da das sonst
Stunden
** gedauert hätte.
** Auf den Testrechner, der über 10 Jahre Alt ist, habe ich bis hier
rund 5824 Sekunden
** benötigt. Dies macht dann: 5824 * 60 = 97 Minuten = 1.6 Stunden = 1
Stunde und 43 Minuten.
**
** Ich glaube, wenn ich das anders programmiert hätte, so auf mehrere
Threads oder Computer,
** wäre es schlauer gewesen. Nun gut, was nicht ist, das kann ja noch
werden; to be continued..
*/

Rainer Rosenthal

unread,
Oct 1, 2021, 5:16:26 PM10/1/21
to
Am 30.09.2021 um 11:10 schrieb Rainer Rosenthal:

> Zum Beispiel hat "jvr" es so auf den Punkt gebracht (29.09.2021, 17:18):
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Du suchst also eine minimale Untermenge M von N, wo N alle 11-stelligen
> Binärcodes enthält, derart dass jedes n in N Hamming-Abstand <= 3 von
> einem m in M hat? Dass also 'Kugeln' mit 'Radius' 3 und Mittelpunkt in M
> die Menge N überdecken?
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> Das erlaubt Analogien zur Anregung des Denkens.
> Nimm ein 11 x 11 Quadrat und als "Kugeln mit Radius 3" verwende 5 x 5
> Quadrate. Das sind in der Manhattan-Metrik die Kugeln mit Radius 3.
> Wieviele Kugeln werden nun gebraucht für die vollständige Überdeckung?
>
O je, hier hatte ich gemurkst und an die Maximum-Metrik gedacht. Bei der
sind allerdings die "Kugeln mit Radius 3" achsenparallele 6 x 6
Quadrate. Vier davon bedecken trivialerweise das 11 x 11 Quadrat.

Die Scharte wollte ich auswetzen und habe festgestellt:
Für das 11 x 11 Quadrat werden mindestens 8 Manhattan-Kugeln mit Radius
3 benötigt.

Zur Erinnerung: der Manhattan-Abstand ist die Summe der Absolutwerte der
Koordinaten-Differenzen. In 2 Dimensionen also der Abstand
zwischen [x1,y1] und [x2,y2] gleich |x1-x2| + |y1-y2|.

Es mag bei dem Originalproblem einfacher abzuschätzen sein, wie viele
Hamming-Kugeln mit Radius 3 zur Überdeckung der 2048 0-1-Folgen benötigt
werden, aber zumindest bei diesem kleinen Problem mit 121 Punkten ist
die grobe Abschätzung
"Gesamtzahl der Gitterpunkte geteilt durch Anzahl der Gitterpunkte in
einer Kugel mit Radius 3"
viel zu grob. Denn die Manhattan-Kugel in der Ebene mit Radius 3 hat 25
Gitterpunkte, wenn das Zentrum ein Gitterpunkt ist.
121 / 25 = 4 Rest 21, d.h. es werden mindestens 5 Kugeln benötigt. Aber
5 ist keine gute Abschätzung für die tatsächlich benötigten 8.

Jetzt habe ich viel Zeit vertrödelt auf diesem "Nebenkriegsschauplatz".
Es geht mir doch jetzt darum, Uwes 16 auf Minimalität zu überprüfen.

Gruß,
RR


Rainer Rosenthal

unread,
Oct 2, 2021, 6:15:03 PM10/2/21
to
Am 01.10.2021 um 23:16 schrieb Rainer Rosenthal:
>
> Die Scharte wollte ich auswetzen und habe festgestellt:
> Für das 11 x 11 Quadrat werden mindestens 8 Manhattan-Kugeln mit Radius
> 3 benötigt.
>
> Zur Erinnerung: der Manhattan-Abstand ist die Summe der Absolutwerte der
> Koordinaten-Differenzen. In 2 Dimensionen also der Abstand
> zwischen [x1,y1] und [x2,y2] gleich |x1-x2| + |y1-y2|.
>
> ... Denn die Manhattan-Kugel in der Ebene mit Radius 3 hat 25
> Gitterpunkte, wenn das Zentrum ein Gitterpunkt ist.

Die "Manhattan-Kugeln mit Radius 3" um einen Gitterpunkt sind um 45 Grad
gedrehte Quadrate mit Diagonalenlänge 6.
Ich habe mir das aufgemalt und fand das Bild so hübsch, dass ich es als
Blickfang zum Kapitel "Mathematisches" auf meiner Homepage(*) gesetzt habe.

Mir fielen dann aber ein paar "Einkerbungen" am Rand auf, und schon war
die Idee zu einem neuen Thread geboren:
"Elf mal elf Gitterpunkte überdecken"

Gruß,
RR

(*) http://www.rwro.de

Rainer Rosenthal

unread,
Oct 3, 2021, 8:23:26 AM10/3/21
to
Am 01.10.2021 um 01:21 schrieb Rainer Rosenthal:

> Lösung von Uwe Weiss, 30.09.2021 um 21:28 Uhr:
>
> Schüler  1: [0,0,0,0,0,0,0,0,0,0,0]
> Schüler  2: [0,0,0,0,1,1,1,1,1,1,1]
> Schüler  3: [0,0,1,1,0,0,1,1,0,0,1]
> Schüler  4: [0,0,1,1,1,1,0,0,1,1,0]
> Schüler  5: [0,1,0,1,0,1,0,1,0,1,0]
> Schüler  6: [0,1,0,1,1,0,1,0,1,0,1]
> Schüler  7: [0,1,1,0,0,1,1,0,0,1,1]
> Schüler  8: [0,1,1,0,1,0,0,1,1,0,0]
> Schüler  9: [1,0,0,1,0,1,1,0,1,0,0]
> Schüler 10: [1,0,0,1,1,0,0,1,0,1,1]
> Schüler 11: [1,0,1,0,0,1,0,1,1,0,1]
> Schüler 12: [1,0,1,0,1,0,1,0,0,1,0]
> Schüler 13: [1,1,0,0,0,0,1,1,1,1,0]
> Schüler 14: [1,1,0,0,1,1,0,0,0,0,1]
> Schüler 15: [1,1,1,1,0,0,0,0,1,1,1]
> Schüler 16: [1,1,1,1,1,1,1,1,0,0,0]
>
> Niemand hat bisher eine Lösung für eine kleinere Klasse bieten können.
>
Es gibt jetzt aber eine neue von Martin Vaeth:

Schüler 1: [0,0,0,0,0,0,0,0,0,0,0]
Schüler 2: [0,0,0,0,1,1,1,1,1,1,1]
Schüler 3: [0,0,1,1,0,0,1,1,0,0,1]
Schüler 4: [0,0,1,1,1,1,0,0,1,1,0]
Schüler 5: [0,1,0,1,0,1,0,1,0,1,0]
Schüler 6: [0,1,0,1,1,0,1,0,1,0,1]
Schüler 7: [0,1,1,0,0,1,1,0,0,1,1]
Schüler 8: [0,1,1,0,1,0,0,1,1,0,0]
Schüler 9: [1,0,0,1,0,1,1,0,1,0,0]
Schüler 10: [1,0,0,1,1,0,0,1,0,1,1]
Schüler 11: [1,0,1,0,0,1,0,1,1,0,1]
Schüler 12: [1,0,1,0,1,0,1,0,0,1,0]
Schüler 13: [1,1,0,0,0,0,1,1,1,1,0]
Schüler 14: [1,1,0,0,1,1,0,0,0,0,1]
Schüler 15: [1,1,1,1,0,0,0,0,1,1,1]
Schüler 16: [1,1,1,1,1,1,1,1,0,0,0]

Sie stammt aus dem Thread "Elf mal elf Gitterpunkte überdecken", den ich
angelegt habe, um Gedanken zum Thema Kugel-Überdeckung zu sammeln.
Martin hat mit Posting vom 03.10.2021, 12:13 Uhr, gleich dort
beschrieben, welche Gedanken er verwendet hat. Die obige Lösung ist nur
eine von 2145 Lösungen! Weitere Lösungen hat er nicht mehr abgewartet.

Jetzt gibt es also bereits zwei Experten, deren Meinung mich sehr
interessiert, ob Potential für 15-er Löungen da ist. Uwe hat das nicht
ausgeschlossen.

Gruß,
Rainer

Rainer Rosenthal

unread,
Oct 4, 2021, 5:36:08 AM10/4/21
to
Am 03.10.2021 um 14:23 schrieb Rainer Rosenthal:
> Am 01.10.2021 um 01:21 schrieb Rainer Rosenthal:
>
>> Lösung von Uwe Weiss, 30.09.2021 um 21:28 Uhr:
>>
>> Schüler  1: [0,0,0,0,0,0,0,0,0,0,0]
>> ...
>> Schüler 16: [1,1,1,1,1,1,1,1,0,0,0]
>>
>> Niemand hat bisher eine Lösung für eine kleinere Klasse bieten können.
> Es gibt jetzt aber eine neue von Martin Vaeth:
>
> Schüler  1: [0,0,0,0,0,0,0,0,0,0,0]
> ...
> Schüler 16: [1,1,1,1,1,1,1,1,0,0,0]
>
> Sie stammt aus dem Thread "Elf mal elf Gitterpunkte überdecken", den ich
> angelegt habe, um Gedanken zum Thema Kugel-Überdeckung zu sammeln.
> Martin hat mit Posting vom 03.10.2021, 12:13 Uhr, gleich dort
> beschrieben, welche Gedanken er verwendet hat. Die obige Lösung ist nur
> eine von 2145 Lösungen! Weitere Lösungen hat er nicht mehr abgewartet.
>

Am 04.10.2021 um 07:52 schrieb Martin Vaeth:
> Die Zahl der 16er-Lösungen
> liegt im Moment bei 3346 und steigt schnell weiter.
> (Der Trick ist, die Berührungsheuristik nach Level 9 auszuschalten,
> weil sie dann mehr Zeit kostet als nützt.)

Hallo Martin,

tolle Sache! Ich habe inzwischen festgestellt, dass die beiden Lösungen
von Uwe und Dir (s.o.) strukturell identisch sind, und dass die Struktur
unglaublich einfach ist.

Bist Du so nett, mir einfach noch drei oder ein paar Lösungen mehr zu
senden? Ich würde gerne sehen, ob die Struktur immer so ist.

Und bitte: verwende nicht den Thread, in dem es um das Überdecken des 11
x 11 Quadrats geht. Der war ja nur als Analogie-Thread angelegt worden
und hat ein eigenes Thema.

Danke und Gruß,
Rainer

Uwe Weiss

unread,
Oct 4, 2021, 1:58:46 PM10/4/21
to
Am 04.10.2021 um 11:36 schrieb Rainer Rosenthal:

> tolle Sache! Ich habe inzwischen festgestellt, dass die beiden Lösungen
> von Uwe und Dir (s.o.) strukturell identisch sind, und dass die Struktur
> unglaublich einfach ist.
>
> Bist Du so nett, mir einfach noch drei oder ein paar Lösungen mehr zu
> senden? Ich würde gerne sehen, ob die Struktur immer so ist.
>

Hallo Rainer,

wenn Du z.B. meine 16er-Lösung nimmst, kannst Du unmittelbar 2047
weitere Lösungskandidaten generieren.

Kandidat-1, indem Du die Elemente der "Mutterlösung" 0 mit 00000000001
XOR-verknüpfst.

Kandidat-42, indem Du ... mit 00000101010 (Binärdarstellung von 42)
XOR-verknüpfst.

usw.

Von den dann insgesamt 2048 Lösungen sind jeweils 16 identisch, Du hast
also auf einen Schlag 128 Lösungen, die zwar unterschiedlich sind, aber
strukturell "irgendwie" gleich.

Gruß

-Uwe-

Martin Vaeth

unread,
Oct 4, 2021, 4:10:33 PM10/4/21
to
Rainer Rosenthal <r.ros...@web.de> schrieb:
>
> tolle Sache! Ich habe inzwischen festgestellt, dass die beiden Lösungen
> von Uwe und Dir (s.o.) strukturell identisch sind, und dass die Struktur
> unglaublich einfach ist
>
> Bist Du so nett, mir einfach noch drei oder ein paar Lösungen mehr zu
> senden? Ich würde gerne sehen, ob die Struktur immer so ist

Ich habe den Quellcode online gestellt: https://github.com/vaeth/hamming
Einfach Hamming.java herunterladen und mit

javac Hamming.java

compilieren. Danach wird Dir

java Hamming 16 2 9 9

massenhaft Lösungen erzeugen. Es läuft jetzt einen Tag bei mir und hat
inzwischen ~68000 Sechzehner-Lösungen gefunden, und findet stetig weitere.
(Falls Du es nicht schaffst, schreib mir per PM und ich sende Dir die
Datei).

Ja, ich vermute auch, dass viele dabei sind, die nur über Symmetrien
entstehen. Wenn man diese gleich beim Generieren aussschließen könnte,
wäre die Laufzeit vielleicht im realistischen Bereich, aber das ist ein
kompliziertes Problem.

Beachte, dass es beim Backtracking-Algorithmus eine weitere Symmetrie
gibt: Die Ausgabe folgt dem Backtracking-Algorithmus und ist
dementsprechend nicht sortiert!
Damit sind also alle Permutationen der 16 Einträge ebenfalls nicht
per Symmetrie gefiltert. Aber das bedeutet nicht, dass der Algorithmus -
falls man ihn bis zum Ende abwarten würde - alle 16! Lösungen findet,
denn die meisten Permutationen werden aufgrund der Heuristik
ausscheiden (die Lösungspunkte sollen ja sukzessive “nebeneinander”
liegen).

Außerdem halten die Lösungen nach 1 Tag ohnehin die Punkte 1-7 fest,
und der 8te wird ebenfalls noch nicht sehr variiert.
Und (16-8)! < 68000. Außerdem hatte ich schon beim erstenmal manuell
verifiziert, dass mindestens ein paar Lösungen nicht nur bis auf die
Reihenfolge voneinander abweichen.

Rainer Rosenthal

unread,
Oct 4, 2021, 6:16:40 PM10/4/21
to
Am 04.10.2021 um 19:58 schrieb Uwe Weiss:
> Am 04.10.2021 um 11:36 schrieb Rainer Rosenthal:
>
>> tolle Sache! Ich habe inzwischen festgestellt, dass die beiden
>> Lösungen von Uwe und Dir (s.o.) strukturell identisch sind, und dass
>> die Struktur unglaublich einfach ist.
>>
>
> [ einige Isomorphien gezeigt ...]
>
> ..., aber strukturell "irgendwie" gleich.
>
Dass es irrsinnig viele isomorphe Exemplare gibt, hatten wir schon
mehrfach erwähnt, danke.
Ich kann aber was zu dem "irgendwie" sagen, denn Deine und die erste
Lösung von Martin sind in folgenden Punkten identisch:

Die einzigen Distanzen sind 5, 6, 7 und 8.
Sortiert man die Lösungen nach Größe (als Binärzahlen) von 1 bis 16,
dann haben 1 und 16, 2 und 15 usw. bis 8 und 9 alle den Abstand 8.
Und das sind auch die einzigen Paare mit Abstand 8.

Die Abstände 7 tauchen in 4 Ringen mit vier Punkten (Codes) auf.
1. Ring: 1 - 2 - 16 - 15
2. Ring: 3 - 4 - 13 - 14
3. Ring: 5 - 6 - 11 - 12
4. Ring: 7 - 8 - 9 - 10

Die Diagonalen in diesen Ringen sind die Paare mit Abstand 8.

Weitere 7-er-Abstände gibt es nicht. Die restlichen Abstände sind also
alle gleich 5 oder gleich 6, und sie erscheinen ebenfalls in Ringen mit
jeweils vier Punkten. Die Diagonalen sind die obigen Paare mit Abstand
7, und die Abstände 5 und 6 wechseln sich ab.

Beispiele:
Ring A: 1 - 3 - 2 - 4 mit den Diagonalen (1,2) und (3,4) mit Abstand 7.
Hier haben (1,3) und (2,4) den Abstand 5, und (2,3) und (1,4) Abstand 6.

Ring B: 1 - 5 - 2 - 6 mit den Diagonalen (1,2) und (5,6) mit Abstand 7.
Hier haben (1,5) und (2,6) den Abstand 5, und (2,5) und (1,6) Abstand 6.

Ich fühlte mich wie im Zauberland, als ich zuerst Martins Lösung in
dieser Weise sich auflösen sah. Und wie vom Donner gerührt war ich, als
ich dann Uwes Lösungen in völlig gleicher Weise betrachten konnte.

Und erst dann kam ich auf den Gedanken, alle paarweise Abstände in
beiden Lösungen zu vergleichen. Und dann war es kein Wunder, dass die
auf den gegenseitigen Abständen beruhende Analyse zum gleichen Ergebnis
kam: Für jedes Indexpaar i, j sind die Abstände zwischen den
entsprechenden Punkten *identisch* in Uwes und Martins Lösung
(wohlgemerkt nach Sortierung, also genau so, wie ich sie mit den
Schülern 1 bis 16 präsentiert habe).

Gruß,
Rainer





Andreas Leitgeb

unread,
Oct 5, 2021, 5:01:06 AM10/5/21
to
Martin Vaeth <mar...@mvath.de> wrote:
> Beachte, dass es beim Backtracking-Algorithmus eine weitere Symmetrie
> gibt: Die Ausgabe folgt dem Backtracking-Algorithmus und ist
> dementsprechend nicht sortiert!

Das ist eigentlich gar nicht kompliziert zu lösen:
Definiere eine "Ordnung", (z.b. indem du die 11 bit strings als
binär-zahl auffasst,) und schreite nur für "größere" hinzukommende
11-bit strings tiefer in die rekursion.

> Aber das bedeutet nicht, dass der Algorithmus -
> falls man ihn bis zum Ende abwarten würde - alle 16! Lösungen findet,
> denn die meisten Permutationen werden aufgrund der Heuristik
> ausscheiden (die Lösungspunkte sollen ja sukzessive “nebeneinander”
> liegen).

Vielleicht kann man dann dafür diese heuristik fallen lassen...
Oder das "nebeneinander" so auffassen, dass es mit der sortierung
kompatibel ist... z.b. es reicht, wenn die neue Antwort "neben"
einer der bisher ausgewählten Antworten ist, statt neben der letzten.

11! (knapp 40 Millionen) ist schon eine recht große Zahl.
Wenn man also schon den Suchraum 11!-eln kann... da muss eine andere
Heuristik erst mithalten können.

Martin Vaeth

unread,
Oct 5, 2021, 1:53:20 PM10/5/21
to
Andreas Leitgeb <a...@logic.at> wrote:
> Martin Vaeth <mar...@mvath.de> wrote:
>> Beachte, dass es beim Backtracking-Algorithmus eine weitere Symmetrie
>> gibt: Die Ausgabe folgt dem Backtracking-Algorithmus und ist
>> dementsprechend nicht sortiert!
>
> Das ist eigentlich gar nicht kompliziert zu lösen:

Für einen "vollen" Backtracking-Algorithmus ohne Heuristiken schon;
aber der hat auch bei Elimination aller Symmetrien keine Chance,
jemals fertig zu werden.

Die richtig schwer zu eleminierenden Symmetrien sind aber die
anderen: Die Permutationen von einer Liste (symmetrisch in der
Gesamtlösung) und das Invertieren von Antworten (symmetrisch in
der Gesamtlösung). Das Problem hier ist der Zusatz in der Klammer:
symmetrisch in der Gesamtlösung.

> Vielleicht kann man dann dafür diese heuristik fallen lassen...

Das sicher nicht - die Heuristik ist viel effizienter als die
Elimination der Symmetrie, s. unten.

> Oder das "nebeneinander" so auffassen, dass es mit der sortierung
> kompatibel ist...

Vielleicht, aber das ist extrem schwar

> z.b. es reicht, wenn die neue Antwort "neben" einer der bisher
> ausgewählten Antworten ist, statt neben der letzten.

Letzteres ist bei der Heuristik in gewissem Sinne der Fall,
wenngleich nicht ganz - weil nur die "besten" Matches betrachtet
werden.

Aber selbst wenn das der Fall wäre, würde es nicht genügen:
Es könnte ja sein, dass A < B < C in der Ordnung ist, und dass
aber nur A "neben" C und B "neben" C liegt; das "neben" bezieht
sich hier eben auf Hamming-Abstände und hat nichts mit der
arithmetischen oder einer anderen "einfachen" Ordnung zu tun.
Vielleicht gibt es eine andere trickreiche kompatible Ordnung,
aber das ist nicht offensichlich.

Ich denke ohnehin, dass schon die Heuristik allein implizit die
meisten der 16! Lösungen herausfiltert - um diese Symmetrie
mache ich mir also am wenigsten Gedanken.

Und die anderen sind extrem schwierig abzufangen.
Wenn, dann wird man mit sehr trickreichem Memomizing arbeiten
müssen und gerät dann möglicherweise in Speicherprobleme.

> 11! (knapp 40 Millionen) ist schon eine recht große Zahl.

Hier geht es sogar um 16! (11! wäre die zweite oben erwähnte
Symmetrie. Und die dritte liefert den Faktor 2^11.)

Aber bei der Komplexitätsgröße dieses Problems sind diese
Faktoren bei dem *vollen* Backtracking-Algorithmus immer
noch lächerlich klein. Mit der Heuristik holt man da
wesentlich mehr heraus (etwa den Faktor x^16 mit x irgendwas
zwischen 10 und 1000: Die meisten "Levels" schrumpften von
2048 auf 10 bis 50). Aber selbst das verbleibende x^16 mit x
zwischen 10 und 50 ist halt noch immens groß.

Martin Vaeth

unread,
Oct 6, 2021, 1:38:58 AM10/6/21
to
Martin Vaeth <mar...@mvath.de> schrieb:
>
> Aber bei der Komplexitätsgröße dieses Problems sind diese
> Faktoren bei dem *vollen* Backtracking-Algorithmus immer
> noch lächerlich klein.

Damit andere auch sehen, auf welche Zahlen ich mich hier berufe:

Ich habe den Algorithmus jetzt ein paar Tage laufen lassen und
dabei im Moment bislang 186190 Lösungen der Länge 16 gefunden.

Bzgl. des Fortschritts des Algorithmus sind die folgenden Ausgaben
relevant:

Level 1: 1|330
Level 2: 1|70
Level 3: 1|1
Level 4: 1|216
Level 5: 1|34
Level 6: 1|18 [...] 15|18

Dies bedeuetet: Alle 16er Lösungen, die ich bislang gefunden habe,
fangen mit den selben 6 Listen an (bis Level 5; die erste Liste ist
per Definition immer 00000000000).

Als 7. Liste (Level 6) wurden bislang 15 verschiedene durchprobiert;
18 gibt es zu probieren, die der Heuristik genügen.

Wie es danach weitergeht, ist schwer abzuschätzen, aber wenn wir
annehmen, dass die Heuristik immer die selbe Anzahl von Löungen
findet (was natürlich nicht der Fall sein wird), müsste der
Algorithmus also noch rund
330 * 70 * 1 * 216 * 34 = 169646400
mal so lange laufen, wie er es jetzt tut, um alles erschöpft zu haben.
So lange werde ich ihn definitiv nicht laufen lassen :)

Übrigens hatte ich bislang *immer*

Level 7: 1|1
Level 8: ...|{32,64}
Level 9: ...|{1,2}
Level 10-15: ...|{meist deutlich kleiner als 10, oft nur 1 oder 2}

Nur dadurch hatte ich eine Chance, so schnell schon zu Änderungen in
Level 6 zu kommen.

Ohne die Heuristik wäre jede dieser Zahlen - bis Level 15 - immer 2048
(bzw. durchläuft sukzessive 0...2048, wenn man die
"Ordnungs"-Elimination benutzt). Man sieht also, dass der Zugang ohne
Heuristik vollkommen indiskutabel selbst zum Finden von
16er-Lösungen ist.

Rainer Rosenthal

unread,
Oct 6, 2021, 7:17:56 AM10/6/21
to
Am 06.10.2021 um 07:38 schrieb Martin Vaeth:
> Martin Vaeth <mar...@mvath.de> schrieb:
> ...
> Damit andere auch sehen, auf welche Zahlen ich mich hier berufe:
> ...
> Bzgl. des Fortschritts des Algorithmus sind die folgenden Ausgaben
> relevant:
>
> Level 1: 1|330
> Level 2: 1|70
> Level 3: 1|1
> Level 4: 1|216
> Level 5: 1|34
> Level 6: 1|18 [...] 15|18
>
> Dies bedeuetet: Alle 16er Lösungen, die ich bislang gefunden habe,
> fangen mit den selben 6 Listen an (bis Level 5; die erste Liste ist
> per Definition immer 00000000000).
> ...
> Übrigens hatte ich bislang *immer*
>
> Level 7: 1|1
> Level 8: ...|{32,64}
> Level 9: ...|{1,2}
> Level 10-15: ...|{meist deutlich kleiner als 10, oft nur 1 oder 2}
>
Sorry, bin etwas langsam im Kapieren:
Was genau bedeutet 1|330?

Ist die 330 die Zahl, die das erste Binärmuster (Liste von 0-en und
1-en) ergibt?
Wohl eher nicht, denn sonst ist 1|18 ... 15|18 nicht sinnvoll.

Erläuterst Du das bitte ein wenig mehr?

Gruß,
Rainer

Rainer Rosenthal

unread,
Oct 6, 2021, 7:30:33 AM10/6/21
to
Am 04.10.2021 um 22:10 schrieb Martin Vaeth:

> (Falls Du es nicht schaffst, schreib mir per PM und ich sende Dir die
> Datei).

Ich hatte eine PM geschrieben (04.10.2021, 23:50), aber die scheint
verloren gegangen zu sein:
"danke für das Angebot.
alles zwischen 3 und 17000 Lösungen nehme ich dankend entgegen."

Gruß,
Rainer


Rainer Rosenthal

unread,
Oct 6, 2021, 7:50:28 AM10/6/21
to
Ups, sorry, habe gerade Deine Antwort gesehen. Danke!


It is loading more messages.
0 new messages