\documentclass{bschlangaul-aufgabe} \begin{document} \bAufgabenMetadaten{ Titel = {Aufgabe 3}, Thematik = {Bruchsicherheit von Smartphones}, Referenz = 46115-2016-F.T2-A3, RelativerPfad = Examen/46115/2016/03/Thema-2/Aufgabe-3.tex, ZitatSchluessel = examen:46115:2016:03, BearbeitungsStand = mit Lösung, Korrektheit = unbekannt, Ueberprueft = {unbekannt}, Stichwoerter = {Algorithmische Komplexität (O-Notation), Lineare Suche}, EinzelpruefungsNr = 46115, Jahr = 2016, Monat = 03, ThemaNr = 2, AufgabeNr = 3, } Sie sollen mithilfe von Falltests eine neue Serie von Smartphones auf Bruchsicherheit testen.\index{Algorithmische Komplexität (O-Notation)} \footcite{examen:46115:2016:03} Dazu wird eine Leiter mit $n$ Sprossen verwendet; die höchste Sprosse, von der ein Smartphone heruntergeworfen werden kann ohne zu zerbrechen, heiße \emph{„höchste sichere Sprosse“}. Das Ziel ist, die höchste sichere Sprosse zu ermitteln. Man kann davon ausgehen, dass die höchste sichere Sprosse nicht von der Art des Wurfs abhängt und dass alle verwendeten Smartphones sich gleich verhalten. Eine Möglichkeit, die höchste sichere Sprosse zu ermitteln, besteht darin, ein Gerät erst von Sprosse $1$, dann von Sprosse $2$, etc. abzuwerfen, bis es schließlich beim Wurf von Sprosse $k$ beschädigt wird (oder Sie oben angelangt sind). Sprosse $k - 1$ (bzw. $n$) ist dann die höchste sichere Sprosse. Bei diesem Verfahren wird maximal ein Smartphone zerstört, aber der Zeitaufwand ist ungünstig. \begin{enumerate} %% % a) %% \item Bestimmen Sie die Zahl der Würfe bei diesem Verfahren im schlechtesten Fall. \index{Lineare Suche} \begin{bAntwort} Die Zahl der Würfe im schlechtesten Fall ist $\mathcal{O} (k)$, wobei $k$ die Anzahl der Sprossen ist. Geht das Smartphone erst bei der höchsten Sprosse kaputt, muss es $k$ mal heruntergeworfen werden. Die Komplexität entspricht der der linearen Suche. \end{bAntwort} %% % b) %% \item Geben Sie nun ein Verfahren zur Ermittlung der höchsten sicheren Sprosse an, welches nur $\mathcal{O}(\log n)$ Würfe benötigt, dafür aber möglicherweise mehr Smartphones verbraucht. \begin{bAntwort} Man startet bei Sprosse $\frac{n}{2}$. Wenn das Smartphone kaputt geht, macht man weiter mit der Sprosse in der Mitte der unteren Hälfte, ansonsten mit der Sprosse in der Mitte der oberen Hälfte. Das Ganze rekursiv. \end{bAntwort} %% % c) %% \item Es gibt eine Strategie zur Ermittlung der höchsten sicheren Sprosse mit $\mathcal{O}\left(\sqrt{n}\right)$ Würfen, bei dessen Anwendung höchstens zwei Smartphones kaputtgehen. Finden Sie diese Strategie und begründen Sie Ihre Funktionsweise und Wurfzahl. Tipp: der erste Testwurf erfolgt von Sprosse $\left\lceil\sqrt{n}\,\right\rceil$. \begin{bExkurs}[Interpolationssuche] Die Interpolationssuche, auch Intervallsuche genannt, ist ein von der binären Suche abgeleitetes Suchverfahren, das auf Listen und Feldern zum Einsatz kommt. Während der Algorithmus der binären Suche stets das mittlere Element des Suchraums überprüft, versucht der Algorithmus der Interpolationssuche im Suchraum einen günstigeren Teilungspunkt als die Mitte zu erraten. Die Arbeitsweise ist mit der eines Menschen vergleichbar, der ein Wort in einem Wörterbuch sucht: Die Suche nach Zylinder wird üblicherweise am Ende des Wörterbuches begonnen, während die Suche nach Aal im vorderen Bereich begonnen werden dürfte. \bFussnoteUrl{https://de.wikipedia.org/wiki/Quadratische_Binärsuche} \end{bExkurs} \begin{bExkurs}[Quadratische Binärsuche] Quadratische Binärsuche ist ein Suchalgorithmus ähnlich der Binärsuche oder Interpolationssuche. Es versucht durch Reduzierung des Intervalls in jedem Rekursionsschritt die Nachteile der Interpolationssuche zu vermeiden. Nach dem Muster der Interpolationssuche wird zunächst in jedem rekursiven Schritt die vermutete Position $k$ interpoliert. Anschließend wird – um die Nachteile der Interpolationssuche zu vermeiden – das Intervall der Länge $\sqrt{n}$ gesucht, in dem sich der gesuchte Wert befindet. Auf dieses Intervall wird der nächste rekursive Aufruf der Suche angewendet. Auf diese Weise verkleinert sich der Suchraum bei gegebener Liste der Länge $n$ bei jedem rekursiven Schritt auf eine Liste der Länge $n$ $\sqrt n$. \bFussnoteUrl{https://de.wikipedia.org/wiki/Quadratische_Binärsuche} \end{bExkurs} \begin{bAntwort} Das Vorgehen ist folgendermaßen: Man beginnt auf Stufe 0 und falls das Handy nicht kaputt geht, addiert man jeweils Wurzel n. Falls das Handy kaputt geht, geht man linear in Einerschritten das Intervall von der unteren Grenze (\dh von der Stufe vor der letzten Addition) bis zur Kaputtstufe ab. \bFussnoteUrl{http://www.inf.fu-berlin.de/lehre/WS06/HA/skript/vorlesung6.pdf} \end{bAntwort} \end{enumerate} \end{document}