Thema: Das Schrauben-Mutter-Problem... Algo gesucht!!!

Hey Leutz,

da ich net wusste, wo ich meine Frage reinstellen sollte, stell ich Sie einfach mal hier...

Folgende Aufgabenstellung:

Jeder kennt die Schwierigkeit, in einer Werkbank zu einer Schraube die passende Mutter zu finden. Wir gehen hierbei von n Schrauben unterschiedlicher Größe und von n korrespondierenden Muttern aus. Der Vergleich der Muttern und der Schrauben untereinander bringt keine neue Information ein. Vergleicht man
hingegen eine Schraube mit einer Mutter, so stellt sich heraus, daß die Schraube i) entweder paßt, ii) zu klein, oder iii) zu groß für die ausgewählte Mutter ist.

(a) Zeigen Sie, dass jeder Algorithmus zur Lösung des Problems Omega(n log n) viele Vergleiche benötigt.
(b) Geben Sie einen Algorithmus an, der für die Suche nach der kleinsten Schraube und Ihrer passenden Mutter 2n-2 Vergleiche benötigt!


Ich hoffe einer von Euch kann mir helfen!!! 

Gruß

James

2

Re: Das Schrauben-Mutter-Problem... Algo gesucht!!!

N'abend

"- Jeder kennt die Schwierigkeit, in einer Werkbank zu einer Schraube die passende Mutter zu finden.
    Wir gehen hierbei von n Schrauben unterschiedlicher Größe und von n korrespondierenden Muttern aus. -"

(a) Zeigen Sie, dass jeder Algorithmus zur Lösung des Problems Omega(n log n) viele Vergleiche benötigt.

Naja, knapp vorbei ist auch daneben.
Wenn ein absolut ungeordneter Haufen mit der beschriebenen Eigenschaft vorliegt, braucht's im
allerschlimmsten Fall 2(n-1) Vergleiche, um zu einer Schraube die passende Mutter zu finden.
Etwas anderes ist es, wenn n Schrauben von beliebiger Größe vorkommen können, oder wenn
n Schrauben beliebiger Größe und m Muttern von ebenfalls beliebiger Größe vorkommen können,
oder wenn zu allen Schrauben die passenden Muttern gefunden werden sollen, oder etcppuswusf.

Sollte allerdings eben das gemeint sein, nämlich zu allen Schrauben die passenden Muttern zu
finden, dann kann das durch eine Sortierung erfolgen, und das kann wiederum mit der
geforderten Lösung n log n zu tun haben.
Einen Beweis hierzu findest Du zB. hier - auf Seite 2 (Das Sortierproblem) -:

http://www.stud.uni-karlsruhe.de/~uagg/ … ium_01.pdf
 

(b) Geben Sie einen Algorithmus an, der für die Suche nach der kleinsten Schraube
     und Ihrer passenden Mutter 2n-2 Vergleiche benötigt!

Das ist unter den gegebenen Bedingungen auch keine Hexerei - man müßte sich schon ziemlich
verrenken, wenn man mehr Vergleiche benötigen wollte.
Im Computer liegen die Schrauben und Muttern ja nun nicht als solche vor (sonst wärnse
locker, und das wollen wir nicht hoffen), sondern als irgendwelche Objecte, in diesem
Fall als solche, die jeweils zumindest eine Eigenschaft 'Größe' und eine Eigenschaft
'Männlein oder Weiblein' haben.
Im Fall Aufgabe (b) intressiert von diesen beiden Eigenschaften lediglich die erste, die Größe. 
Man wähle einen beliebigen Gegenstand (Mutter oder Schraube, ist wurscht), und dann den nächsten.
Ist die Größe gleich, hat man das einzig existierende Paar dieser Größe gefunden - aufheben.
Ist die Größe ungleich, nimmt man für den weiteren Fortgang den Gegenstand, der kleiner ist.
Selbst wenn der vorletzte Gegenstand sich im letzten Vergleich (der logischerweise der höchstens
2(n-1)te sein kann) als kleiner als das bisher aufgehobene Paar entpuppt, so ist dieser vorletzte
Gegenstand das Gegenstück zum letzten verbliebenen Gegenstand - gemeinsam sind die also das kleinste Paar.

gruß

matho

3

Re: Das Schrauben-Mutter-Problem... Algo gesucht!!!

Zu a)

das heißt die Lösung erfolgt durch einen Binärbaum?

Gruß James

4

Re: Das Schrauben-Mutter-Problem... Algo gesucht!!!

N'abend,

das heißt, die Lösung, soweit ich das sehen kann,
besteht im Sortieren der Daten, (wobei gar keine
vollständige Sortierung erforderlich ist, weil ein
gefundenes Paar nicht weiter behandelt werden
muß - es ist ja lediglich nach einer gelungenen
Zuordnung gefragt, und nicht nach einer bestimmten
Anordnung dieser gelungenen Zuordnungen im
Endergebnis), und das Sortieren der Daten geschieht
durch Vergleich.
Und der Beweis, daß eine paarweise vergleichsbasierte
Sortierung mindestens n log n ist, wird im angegebenen
Link gezeigt.
Vielleicht kann man sagen, daß die Fragestellung ein wenig
unglücklich formuliert ist.

gruß

matho

Re: Das Schrauben-Mutter-Problem... Algo gesucht!!!

hi james , das hier kommt wahrscheinlich ein wenig spät , aber ein versuch ist ja wert.

a) die untere schranke von omega(n log n). nun da du n schrauben und n muttern hast und auf jeden topf ein deckel passt. muss du beide folgen einmal sortieren und fertig. du brauchr nicht mehr auszuprobieren. wenn beide folgen dortiert vor dir liegen, müssen sie auch in der reihenfolge zusammenpassen.

warum n log n? man kann hier eine einfache lineare reduktion angeben

und zwar

sortieren <n sm-problem

warum

nach dem datz von ben-or gilt, dass für allgemeine sortierverfahren omega(n log n )vergleiche genutzt werden . 2 * (n log n ) bleibt omega(n  log n)


b) nehme hier als äquivalent das tennisproblem, indem man mit möglichst wenig matches den besten und schlechtesten findet. du brauchst n-1 spiele um den besten zu finden (die kleinste schraube) und n-1 spiele um den besten der anderen lige zu finden (die kleinste mutter) per definition müssen die beide zusammenpassen . also 2(n-1). aber es geht dann auch mit 2(log n/2 + (log n/2) -1) vergleichen

ich hoffe ich habe dir nicht den totalen mist erzählt

gruß

der maik big_smile  big_smile  :idea:

früher oder später.......da verlieren die eh alle!!!