31,991 research outputs found

    Effiziente Algorithmen

    Get PDF
    [no abstract available

    Sublinearly space bounded iterative arrays

    Get PDF
    Iterative arrays (IAs) are a, parallel computational model with a sequential processing of the input. They are one-dimensional arrays of interacting identical deterministic finite automata. In this note, realtime-lAs with sublinear space bounds are used to accept formal languages. The existence of a proper hierarchy of space complexity classes between logarithmic anel linear space bounds is proved. Furthermore, an optimal spacc lower bound for non-regular language recognition is shown. Key words: Iterative arrays, cellular automata, space bounded computations, decidability questions, formal languages, theory of computatio

    Robust Scalable Sorting

    Get PDF
    Sortieren ist eines der wichtigsten algorithmischen Grundlagenprobleme. Es ist daher nicht verwunderlich, dass Sortieralgorithmen in einer Vielzahl von Anwendungen benötigt werden. Diese Anwendungen werden auf den unterschiedlichsten Geräten ausgeführt -- angefangen bei Smartphones mit leistungseffizienten Multi-Core-Prozessoren bis hin zu Supercomputern mit Tausenden von Maschinen, die über ein Hochleistungsnetzwerk miteinander verbunden sind. Spätestens seitdem die Single-Core-Leistung nicht mehr signifikant steigt, sind parallele Anwendungen in unserem Alltag nicht mehr wegzudenken. Daher sind effiziente und skalierbare Algorithmen essentiell, um diese immense Verfügbarkeit von (paralleler) Rechenleistung auszunutzen. Diese Arbeit befasst sich damit, wie sequentielle und parallele Sortieralgorithmen auf möglichst robuste Art maximale Leistung erzielen können. Dabei betrachten wir einen großen Parameterbereich von Eingabegrößen, Eingabeverteilungen, Maschinen sowie Datentypen. Im ersten Teil dieser Arbeit untersuchen wir sowohl sequentielles Sortieren als auch paralleles Sortieren auf Shared-Memory-Maschinen. Wir präsentieren In-place Parallel Super Scalar Samplesort (IPS⁴o), einen neuen vergleichsbasierten Algorithmus, der mit beschränkt viel Zusatzspeicher auskommt (die sogenannte „in-place” Eigenschaft). Eine wesentliche Erkenntnis ist, dass unsere in-place-Technik die Sortiergeschwindigkeit von IPS⁴o im Vergleich zu ähnlichen Algorithmen ohne in-place-Eigenschaft verbessert. Bisher wurde die Eigenschaft, mit beschränkt viel Zusatzspeicher auszukommen, eher mit Leistungseinbußen verbunden. IPS⁴o ist außerdem cache-effizient und führt O(n/tlogn)O(n/t\log n) Arbeitsschritte pro Thread aus, um ein Array der Größe nn mit tt Threads zu sortieren. Zusätzlich berücksichtigt IPS⁴o Speicherlokalität, nutzt einen Entscheidungsbaum ohne Sprungvorhersagen und verwendet spezielle Partitionen für Elemente mit gleichem Schlüssel. Für den Spezialfall, dass ausschließlich ganzzahlige Schlüssel sortiert werden sollen, haben wir das algorithmische Konzept von IPS⁴o wiederverwendet, um In-place Parallel Super Scalar Radix Sort (IPS²Ra) zu implementieren. Wir bestätigen die Performance unserer Algorithmen in einer umfangreichen experimentellen Studie mit 21 State-of-the-Art-Sortieralgorithmen, sechs Datentypen, zehn Eingabeverteilungen, vier Maschinen, vier Speicherzuordnungsstrategien und Eingabegrößen, die über sieben Größenordnungen variieren. Einerseits zeigt die Studie die robuste Leistungsfähigkeit unserer Algorithmen. Andererseits deckt sie auf, dass viele konkurrierende Algorithmen Performance-Probleme haben: Mit IPS⁴o erhalten wir einen robusten vergleichsbasierten Sortieralgorithmus, der andere parallele in-place vergleichsbasierte Sortieralgorithmen fast um den Faktor drei übertrifft. In der überwiegenden Mehrheit der Fälle ist IPS⁴o der schnellste vergleichsbasierte Algorithmus. Dabei ist es nicht von Bedeutung, ob wir IPS⁴o mit Algorithmen vergleichen, die mit beschränkt viel Zusatzspeicher auskommen, Zusatzspeicher in der Größenordnung der Eingabe benötigen, und parallel oder sequentiell ausgeführt werden. IPS⁴o übertrifft in vielen Fällen sogar konkurrierende Implementierungen von Integer-Sortieralgorithmen. Die verbleibenden Fälle umfassen hauptsächlich gleichmäßig verteilte Eingaben und Eingaben mit Schlüsseln, die nur wenige Bits enthalten. Diese Eingaben sind in der Regel „einfach” für Integer-Sortieralgorithmen. Unser Integer-Sorter IPS²Ra übertrifft andere Integer-Sortieralgorithmen für diese Eingaben in der überwiegenden Mehrheit der Fälle. Ausnahmen sind einige sehr kleine Eingaben, für die die meisten Algorithmen sehr ineffizient sind. Allerdings sind Algorithmen, die auf diese Eingabegrößen abzielen, in der Regel für alle anderen Eingaben deutlich langsamer. Im zweiten Teil dieser Arbeit untersuchen wir skalierbare Sortieralgorithmen für verteilte Systeme, welche robust in Hinblick auf die Eingabegröße, häufig vorkommende Sortierschlüssel, die Verteilung der Sortierschlüssel auf die Prozessoren und die Anzahl an Prozessoren sind. Das Resultat unserer Arbeit sind im Wesentlichen vier robuste skalierbare Sortieralgorithmen, mit denen wir den gesamten Bereich an Eingabegrößen abdecken können. Drei dieser vier Algorithmen sind neue, schnelle Algorithmen, welche so implementiert sind, dass sie nur einen geringen Zusatzaufwand benötigen und gleichzeitig unabhängig von „schwierigen” Eingaben robust skalieren. Es handelt sich z.B. um „schwierige” Eingaben, wenn viele gleiche Elemente vorkommen oder die Eingabeelemente in Hinblick auf ihre Sortierschlüssel ungünstig auf die Prozessoren verteilt sind. Bisherige Algorithmen für mittlere und größere Eingabegrößen weisen ein unzumutbar großes Kommunikationsvolumen auf oder tauschen unverhältnismäßig oft Nachrichten aus. Für diese Eingabegrößen beschreiben wir eine robuste, mehrstufige Verallgemeinerung von Samplesort, die einen brauchbaren Kompromiss zwischen dem Kommunikationsvolumen und der Anzahl ausgetauschter Nachrichten darstellt. Wir überwinden diese bisher unvereinbaren Ziele mittels einer skalierbaren approximativen Splitterauswahl sowie eines neuen Datenumverteilungsalgorithmus. Als eine Alternative stellen wir eine Verallgemeinerung von Mergesort vor, welche den Vorteil von perfekt ausbalancierter Ausgabe hat. Für kleine Eingaben entwerfen wir eine Variante von Quicksort. Mit wenig Zusatzaufwand vermeidet sie das Problem ungünstiger Elementverteilungen und häufig vorkommender Sortierschlüssel, indem sie schnell qualitativ hochwertige Splitter auswählt, die Elemente zufällig den Prozessoren zuweist und einer Duplikat-Behandlung unterzieht. Bisherige praktische Ansätze mit polylogarithmischer Latenz haben entweder einen logarithmischen Faktor mehr Kommunikationsvolumen oder berücksichtigen nur gleichverteilte Eingaben ohne mehrfach vorkommende Sortierschlüssel. Für sehr kleine Eingaben schlagen wir einen einfachen sowie schnellen, jedoch arbeitsineffizienten Algorithmus mit logarithmischer Latenzzeit vor. Für diese Eingaben sind bisherige effiziente Ansätze nur theoretische Algorithmen, die meist unverhältnismäßig große konstante Faktoren haben. Für die kleinsten Eingaben empfehlen wir die Daten zu sortieren, während sie an einen einzelnen Prozessor geschickt werden. Ein wichtiger Beitrag dieser Arbeit zu der praktischen Seite von Algorithm Engineering ist die Kommunikationsbibliothek RangeBasedComm (RBC). Mit RBC ermöglichen wir eine effiziente Umsetzung von rekursiven Algorithmen mit sublinearer Laufzeit, indem sie skalierbare und effiziente Kommunikationsfunktionen für Teilmengen von Prozessoren bereitstellt. Zuletzt präsentieren wir eine umfangreiche experimentelle Studie auf zwei Supercomputern mit bis zu 262144 Prozessorkernen, elf Algorithmen, zehn Eingabeverteilungen und Eingabegrößen variierend über neun Größenordnungen. Mit Ausnahme von den größten Eingabegrößen ist diese Arbeit die einzige, die überhaupt Sortierexperimente auf Maschinen dieser Größe durchführt. Die RBC-Bibliothek beschleunigt die Algorithmen teilweise drastisch – einen konkurrierenden Algorithmus sogar um mehr als zwei Größenordnungen. Die Studie legt dar, dass unsere Algorithmen robust sind und gleichzeitig konkurrierende Implementierungen leistungsmäßig deutlich übertreffen. Die Konkurrenten, die man normalerweise betrachtet hätte, stürzen bei „schwierigen” Eingaben sogar ab

    Moderne Steueralgorithmen für Forstkräne mittels künstlichen neuronalen Netzen imitieren und optimieren = Imitate and optimize modern control algorithms for forestry cranes by means of artificial neural networks

    Get PDF
    Moderne hydrostatische Arbeitsantriebe für Land- und Forstmaschinen erfordern komplexe Steueralgorithmen. Im Gegenzug bieten diese gegenüber dem Stand der Technik signifikante energetische und steuerungstechnische Vorteile, wie eine reduzierte Schwingungsneigung oder die Implementierung einer variablen Leistungsbegrenzung. Neue Algorithmen sind daher essenziell zur nachhaltigen Optimierung zukünftiger Maschinen. Am Beispiel der elektrohydraulischen Bedarfsstromsteuerung eines Forstkrans wird dargestellt, wie ein bestehender Steueralgorithmus automatisiert in ein künstliches neuronales Netz (KNN) überführt und anschließend durch den Patternsearch-Algorithmus optimiert werden kann. Die KNN-Steuerung weist bereits nach 41 Generationen optimierter Parametersätze ein der Referenzsteuerung vergleichbares Verhalten auf. Mit diesem Ansatz ist es möglich, deterministische Algorithmen in stochastische Algorithmen mit vergleichbaren Übertragungsfunktionen zu überführen, die anschließend mit Methoden des maschinellen Lernens optimiert werden können

    On one-way cellular automata with a fixed number of cells

    Get PDF
    We investigate a restricted one-way cellular automaton (OCA) model where the number of cells is bounded by a constant number k, so-called kC-OCAs. In contrast to the general model, the generative capacity of the restricted model is reduced to the set of regular languages. A kC-OCA can be algorithmically converted to a deterministic finite automaton (DFA). The blow-up in the number of states is bounded by a polynomial of degree k. We can exhibit a family of unary languages which shows that this upper bound is tight in order of magnitude. We then study upper and lower bounds for the trade-off when converting DFAs to kC-OCAs. We show that there are regular languages where the use of kC-OCAs cannot reduce the number of states when compared to DFAs. We then investigate trade-offs between kC-OCAs with different numbers of cells and finally treat the problem of minimizing a given kC-OCA

    Strong 4-mode coupling of nanomechanical string resonators

    Full text link
    We investigate mechanical mode coupling between the four fundamental flexural modes of two doubly-clamped, high-Q silicon-nitride nanomechanical string resonators. Strong mechanical coupling between the strings is induced by the strain mediated via a shared clamping point, engineered to increase the exchange of oscillatory energy. One of the resonators is controlled dielectrically, which results in strong coupling between its out-of-plane and in-plane flexural modes. We show both, inter-string out-of-plane-in-plane and 3-mode resonance of the four coupled fundamental vibrational modes of a resonator pair, giving rise to a simple and a multimode avoided crossing, respectively.Comment: 5 pages, 4 figure

    Sensitivity analysis and efficient algorithms for some economic lot-sizing and scheduling problems

    Get PDF
    Many of optimization problems can be decomposed into a number of easier subproblems of the same type. Then dynamic programming (DP) seems to be a natural way to obtain an optimal solution. A straightforward application of DP usually leads to algorithms whose running time heavily depends on the magnitude of the input data. It has been shown in the thesis that it is possible to improve the complexity status of straightforward DP algorithms for different optimization problems, arising in production planning and scheduling, by means of a sensitivity analysis that allows to shrink the state space and to reduce thereby the amount of unnecessary computations. Using the suggested approach, we transform DP algorithms into polynomial ones and into so-called fully polynomial time approximation schemes.Viele Optimierungsprobleme können als Menge einfacherer Subprobleme dargestellt werden. Dynamische Programmierung (DP) ist dann ein offensichtliches Verfahren eine optimale Lösung zu finden. Eine direkte Anwendung der DP führt aber in den meisten Fällen zu Algorithmen, deren Laufzeiten sehr von der Größe des Inputs abhängen. In der vorliegenden Dissertation wirt an bestimmten Produktionsplanungs- und Schedulingproblemen gezeigt, dass man die Laufzeit der auf DP basierenden Algorithmen verbessern kann, falls eine Art von Sensitivitätsanalyse nachträglich verwendet wird. Mit den vorgestellten Methoden werden solche Algorithmen in polynomiale Algorithmen und in so genannten vollpolynomiale Approximationsschematas transformiert

    Photochemisch strukturierte computergenerierte Hologramme in Bakteriorhodopsin-Schichten

    Get PDF
    Ziel dieser Dissertation ist die Untersuchung des photochemischen Aufzeichungsprozesses von computergenerierte Hologrammen (CGH's) innerhalb des Biomaterials Bakteriorhodopsin (BR). Dabei werden folgende Schwerpunkte detailliert analysiert: - Implementierung und Untersuchung verschiedene Algorithmen zur Berechnung von CGH's. Die Algorithmen sind insbesondere hinsichtlich der Verwendung des Biomaterials BR als Hologrammedien zu beurteilen. - Untersuchung des Aufzeichungsprozesses von CGH's mittels eines direkten Laserschreibsystems. Bei den CGH-Herstellungsverfahren werden die physikalischen und biochemischen Eigenschaften von BR gezielt ausgenutzt, um die für die CGH-Aufzeichnung optimale Oberflächenprofilierung und/oder Brechungsindexmodulation zu erreichen
    corecore