Algorithmen Projektarbeit: Unterschied zwischen den Versionen

Aus SibiWiki
Zur Navigation springen Zur Suche springen
Zeile 6: Zeile 6:
In der Regel umfasst die Projektarbeit die folgenden Teile:
In der Regel umfasst die Projektarbeit die folgenden Teile:


# '''Abstract'''<br>''Im Abstract wird die Arbeit in ca. 1/2 Seite zusammengefasst, d.h.: es werden in aller Kürze die Fragestellung der Arbeit, die Ergebnisse und ihre Relevanz dargestellt.<br>Das Abstract dient dazu, dass man als Leser schnell erkennen kann, ob es sich - im Hinblick auf eigene Forschungsinteressen - lohnt, die ganze Arbeit zu lesen.<br>Das Abstract steht immer am Anfang der Arbeit, aber <u>geschrieben</u> wird es als <u>Letztes!</u>.
# '''Einleitung'''<br>Die Einleitung führt zum Thema hin, z.B. indem die Bedeutung des Algorithmus aufgezeigt wird.
# '''Beschreibung des Algorithmus'''
# '''Beschreibung des Algorithmus'''
## Zweck
## Zweck
Zeile 13: Zeile 15:
## Average Case
## Average Case
## Worst Case
## Worst Case
# '''Quelltext des Algorithmus, gut erläutert'''
# '''Quelltext des Algorithmus, gut erläutert'''<br>''Hier wird nicht die ganze Programmierung aufgeführt, sondern nur die für den Algorithmus zentralen Teile der Programmierung!<br>Die restliche Programmierung kommt in den Anhang.''
# '''Praxistest'''
# '''Praxistest'''<br>Dokumentation von Beispielläufen des Algorithmus
## Dokumentation von Beispielläufen des Algorithmus
## Average Case
### Average Case
## (wenn möglich:) Worst Case
### (wenn möglich:) Worst Case
# '''Vergleich Theorie - Praxis'''
# '''Vergleich Theorie - Praxis'''
## ggf.: welche Probleme ergaben sich?
## ggf.: welche Probleme ergaben sich?
## ggf.: Warum ist der Algorithmus in der Praxis langsamer/schneller als in der Theorie?
## ggf.: Warum ist der Algorithmus in der Praxis langsamer/schneller als in der Theorie?
# Resumee
# Resümee
## z.B.: Verbesserungsvorschläge
## z.B.: Verbesserungsvorschläge
## Bedeutung in der Praxis
## Bedeutung in der Praxis
## andere Optionen für das Problem
## andere Optionen für das Problem
# Programmquelltext (->  Anhang)
# Anhang
 
## Programmquelltext


==formale Anforderungen==
==formale Anforderungen==

Version vom 11. Januar 2016, 15:22 Uhr


Anforderungen an die Projektarbeit

mögliche Gliederung

In der Regel umfasst die Projektarbeit die folgenden Teile:

  1. Abstract
    Im Abstract wird die Arbeit in ca. 1/2 Seite zusammengefasst, d.h.: es werden in aller Kürze die Fragestellung der Arbeit, die Ergebnisse und ihre Relevanz dargestellt.
    Das Abstract dient dazu, dass man als Leser schnell erkennen kann, ob es sich - im Hinblick auf eigene Forschungsinteressen - lohnt, die ganze Arbeit zu lesen.
    Das Abstract steht immer am Anfang der Arbeit, aber geschrieben wird es als Letztes!.
  2. Einleitung
    Die Einleitung führt zum Thema hin, z.B. indem die Bedeutung des Algorithmus aufgezeigt wird.
  3. Beschreibung des Algorithmus
    1. Zweck
    2. Funktionsweise
    3. Vorteile / Nachteile
  4. Laufzeitabschätzung / Genauigkeitsabschätzung für n Elemente
    1. Average Case
    2. Worst Case
  5. Quelltext des Algorithmus, gut erläutert
    Hier wird nicht die ganze Programmierung aufgeführt, sondern nur die für den Algorithmus zentralen Teile der Programmierung!
    Die restliche Programmierung kommt in den Anhang.
  6. Praxistest
    Dokumentation von Beispielläufen des Algorithmus
    1. Average Case
    2. (wenn möglich:) Worst Case
  7. Vergleich Theorie - Praxis
    1. ggf.: welche Probleme ergaben sich?
    2. ggf.: Warum ist der Algorithmus in der Praxis langsamer/schneller als in der Theorie?
  8. Resümee
    1. z.B.: Verbesserungsvorschläge
    2. Bedeutung in der Praxis
    3. andere Optionen für das Problem
  9. Anhang
    1. Programmquelltext

formale Anforderungen

Für die Projektarbeit gelten dieselben formalen Anforderungen wie für eine Facharbeit.

Die formalen Anforderungen finden sich hier: SIBI-Homepage: Facharbeit


Außerdem gibt es auf dieser Seite auch Vorlagen für die Formatierung einer Arbeit! (Sowohl MS-Word als auch LibreOffice-Writer.) Am einfachsten lädt man sich die Vorlage runter und schreibt darin seine Arbeit - dann ist die Formatierung "automatisch" richtig.

Themen für die Projektarbeit

Hier werden einige Themen vorgeschlagen. Nach Absprache sind natürlich auch ganz andere Themen möglich!

  1. Kürzeste Abstände berechnen:
    Welchen Abstand haben die Graphen von
    f(x) = (x-4)2+2 und g(x) = -(x-1)2+3 ?
    Einen geeigneten Approximationsalgorithmus entwickeln!
  2. Rucksackproblem:
    Pareto-optimale Punkte nutzen
    Algorithmus der Woche
  3. Wie finde ich den Ausweg aus einem Labyrinth?
    Pledge-Algorithmus mit Kara oder mit Scratch programmieren!
    Algorithmus der Woche
  4. Ein Stromnetz optimal planen:
    Minimaler Spannbaum
    Algorithmus der Woche
  5. Travelling Salesman Problem (TSP)
    z.B. Nearest-Neighbor-Heuristik zum Lösen des TSP für n>18
    Wikipedia: Problem des Handlungsreisenden
    Wikipedia: Nearest-Neighbor-Heuristik
  6. Facemash:
    Wie erstellt man ein Ranking mithilfe des Vergleichs von Paaren?
    Wikipedia: Schweizer System
    Fahrzeug-Ranking am SIBI
  7. Wie werden Internetseiten gerankt?
    Page-Rank-Algorithmus
    Algorithmus der Woche Diesen Algorithmus könnte man auf sibi-wiki.de anwenden.
  8. Der Computer spielt "Vier gewinnt":
    Minimax-Algorithmus
    Algorithmus der Woche
  9. Wie macht man die beste Ausbeute an Glücksspielautomaten?
    Das Multi-Armed-Bandit Problem:
    Wikipedia (en): Multi-Armed-Bandit
  10. Optimale Verkehrsplanung:
    Maximale Flüsse
    Algorithmus der Woche
  11. Wie findet man in einem Text möglichst schnell alle Vorkommen eines Wortes?
    String-Matching-Algorithmen
    Wikipedia: String-Matching-Algorithmus
  12. Suchen in O(1):
    Hashing
    Wikipedia: Hash-Funktion
    Algorithmus der Woche
  13. Wo ist der beste Standort für einen Rettungshubschrauber?
    Kleinster umschließender Kreis.
    Algorithmus der Woche
    Lösung des Kernproblems
  14. Große Primzahlen (500stellig!) finden:
    Der Miller-Rabin-Test
    Wikipedia: Miller-Rabin-Test
  15. Flächenberechnung mit dem Monte-Carlo-Algorithmus
    Die Programmierung ist sehr einfach - hier wäre der Schwerpunkt mathematisch: Wie oft muss man "schießen", um mit 95%er Wahrscheinlichkeit eine Abweichung von 1% (bzw. 0,1% oder 0,001%) zu erzielen. D.h. man braucht hier Statistik.
    Daran schließt sich die Frage an, wie effektiv der Algorithmus ist.
  16. Welche Funktion erfüllt die Differentialgleichung y'(x) = y2(x) + y(x) ?
    Für Differentialgleichungen dieser Art gibt es numerische Verfahren, die (gute!) näherungsweise Lösungen ausgeben.
    Wikipedia: Numerische Verfahren für gewöhnliche Differentialgleichungen
  17. Numerische Verfahren:
    Ziel der Numerik ist es "das eigentlich Unberechenbare zu berechnen, und das in Lichtgeschwindigkeit."
    Es gibt SEHR unterschiedliche numerische Verfahren für SEHR VIELE unterschiedliche Problemstellungen
    Wikipedia: Liste numerischer Verfahren
  18. automatische Troll-Erkennung?!
    Als Troll bezeichnet man im Netzjargon eine Person, welche Kommunikation im Internet fortwährend und auf destruktive Weise dadurch behindert, dass sie Beiträge verfasst, die sich auf die Provokation anderer Gesprächsteilnehmer beschränken und keinen sachbezogenen und konstruktiven Beitrag zur Diskussion enthalten. Dies erfolgt mit der Motivation, eine Reaktion der anderen Teilnehmer zu erreichen. (Definition aus Wikipedia: Troll (Netzkultur))
    Wired.de: Ein Algorithmus, der Trolle erkennt
    Antisocial Behavior in Online Discussion Communities (PDF)
  19. Lässt sich eine Landkarte mit 3 Farben einfärben? - das P-NP-Problem
    Zur Klasse P gehören alle Entscheidungsprobleme, die in polynomieller Zeit gelöst werden können.
    Zur Klasse NP gehören alle Entscheidungsprobleme, bei denen die Antwort "JA" in polynomieller Zeit verifiziert werden kann.

    Es soll aufgezeigt werden, dass das 3-Farben-Problem nicht zur Klasse P, aber zur Klasse NP gehört.
    Außerdem soll die Bedeutung von NP-vollständigen Problemen für die Algorithmik an diesem Beispiel erläutert werden.
    Das ist eine rein theoretische Arbeit!
    Wikipedia: Färbung eines Graphen
    Erläuterung von P und NP
    Wikipedia: 21 NP-vollständige Probleme