Dynamische Programmierung

Größe: px
Ab Seite anzeigen:

Download "Dynamische Programmierung"

Transkript

1 Dynamische Programmierung Manuel Grandeit Hallo Welt -Seminar Manuel Grandeit 1 / 40

2 Inhaltsübersicht Einführung Münzwechsel Was ist ein Zustand? Konstruktion einer DP-Lösung Top-Down-DP Bottom-Up-DP Anwendung von DP Das Rucksackproblem Die längste gemeinsame Unterfolge Die Editierdistanz Performancetuning Zusammenfassung Manuel Grandeit 2 / 40

3 Geschichte Wer hat s erfunden? Richard Bellman (auch durch den Bellman-Ford Algorithmus bekannt) Mathematisches Verfahren zum Lösen von Optimierungsproblemen Programmierung bedeutet hier: Speichern von Zwischenergebnissen in Tabellen Manuel Grandeit 3 / 40

4 Konzept Was wird gemacht? Konstruktion der Gesamtlösung aus den Lösungen der Teilprobleme Die Teilprobleme müssen dabei nicht, wie bei Divide & Conquer, unabhängig sein Zwischenergebnisse werden in Tabellen gespeichert Manuel Grandeit 4 / 40

5 Rezept für eine DP-Lösung Wie wird s gemacht? Struktur der optimalen Lösung analysieren Rekursive Definition der Lösung aufstellen Berechnung der Lösung (top-down oder bottom-up) Rekonstruktion der Lösung anhand der berechneten Werte Manuel Grandeit 5 / 40

6 Aufgabenstellung Münzwechsel Gegeben: Eine Anzahl an Münzen V 1, V 2,..., V n und eine Summe S Gesucht: Die minimale Anzahl an Münzen, die die gegebene Summe S ergeben Es dürfen beliebig viele Münzen einer Art ausgewählt werden Beispiel Münzen: 1, 3, 5 Summe: 10 Lösung:? Manuel Grandeit 6 / 40

7 Aufgabenstellung Münzwechsel Gegeben: Eine Anzahl an Münzen V 1, V 2,..., V n und eine Summe S Gesucht: Die minimale Anzahl an Münzen, die die gegebene Summe S ergeben Es dürfen beliebig viele Münzen einer Art ausgewählt werden Beispiel Münzen: 1, 3, 5 Summe: 10 Lösung:? Manuel Grandeit 6 / 40

8 Aufgabenstellung Münzwechsel Gegeben: Eine Anzahl an Münzen V 1, V 2,..., V n und eine Summe S Gesucht: Die minimale Anzahl an Münzen, die die gegebene Summe S ergeben Es dürfen beliebig viele Münzen einer Art ausgewählt werden Beispiel Münzen: 1, 3, 5 Summe: 10 Lösung: 2 Manuel Grandeit 6 / 40

9 Struktur der optimalen Lösung Zustand oder state Beschreibt eine Situation bzw. eine Teillösung des Problems Beispiel Der Zustand i ist die Lösung für eine Summe i (i < S) Ein kleinerer Zustand j ist die Lösung für eine Summe j (j < i) Manuel Grandeit 7 / 40

10 Struktur der optimalen Lösung Zustand oder state Beschreibt eine Situation bzw. eine Teillösung des Problems Beispiel Der Zustand i ist die Lösung für eine Summe i (i < S) Ein kleinerer Zustand j ist die Lösung für eine Summe j (j < i) Manuel Grandeit 7 / 40

11 Struktur der optimalen Lösung Überlegung Der Zustand i kann erst berechnet werden, wenn alle Zustände j (j < i) berechnet wurden Ist die minimale Anzahl an Münzen für den Zustand i bekannt, kann der Zustand i + 1 leicht berechnet werden Der Schritt zur Rekursion (wie berechnet sich der Zustand i?) Für jede Münze j, V j i betrachten wir die minimale Anzahl an Münzen m, der Summe i V j (schon berechnet) Ist m + 1 kleiner als die bisher, für die Summe i, gefundene Anzahl an Münzen, dann speichern wir m + 1 als neues Ergebnis Manuel Grandeit 8 / 40

12 Struktur der optimalen Lösung Überlegung Der Zustand i kann erst berechnet werden, wenn alle Zustände j (j < i) berechnet wurden Ist die minimale Anzahl an Münzen für den Zustand i bekannt, kann der Zustand i + 1 leicht berechnet werden Der Schritt zur Rekursion (wie berechnet sich der Zustand i?) Für jede Münze j, V j i betrachten wir die minimale Anzahl an Münzen m, der Summe i V j (schon berechnet) Ist m + 1 kleiner als die bisher, für die Summe i, gefundene Anzahl an Münzen, dann speichern wir m + 1 als neues Ergebnis Manuel Grandeit 8 / 40

13 Implementierung der Rekursion Naive rekursive Implementierung i n t v a l u e s [N ] ; i n t c o i n s ( i n t sum ) { i f ( sum == 0) r e t u r n 0 ; i n t min = INT MAX ; f o r ( i n t i = 0 ; i < N; i ++) { i f ( v a l u e s [ i ] <= sum ) { min = s t d : : min ( c o i n s ( sum v a l u e s [ i ])+1, min ) ; } } } r e t u r n min ; Manuel Grandeit 9 / 40

14 Vorteil dieser Lösung Einfach zu implementieren, da nur Rekursion Dementsprechend auch sehr übersichtlich Nachteil dieser Lösung Teilprobleme werden mehrfach berechnet hoher Rechenaufwand! O( N S ) Manuel Grandeit 10 / 40

15 Vorteil dieser Lösung Einfach zu implementieren, da nur Rekursion Dementsprechend auch sehr übersichtlich Nachteil dieser Lösung Teilprobleme werden mehrfach berechnet hoher Rechenaufwand! O( N S ) Manuel Grandeit 10 / 40

16 Vorteil dieser Lösung Einfach zu implementieren, da nur Rekursion Dementsprechend auch sehr übersichtlich Nachteil dieser Lösung Teilprobleme werden mehrfach berechnet hoher Rechenaufwand! O( N S ) Geht das nicht besser? (frei nach Prof. Philippsen) Manuel Grandeit 10 / 40

17 Memoization Verbesserte rekursive Implementierung i n t v a l u e s [N], memo[s] ; // memset w r i t e s b y t e s! be c a r e f u l! memset(memo, UNKNOWN, S*sizeof(int)); memo[0] = 0; i n t c o i n s ( i n t sum ) { if (memo[sum]!= UNKNOWN) return memo[sum]; i n t min = INT MAX ; f o r ( i n t i = 0 ; i < N; i ++) { i f ( v a l u e s [ i ] <= sum ) { min = s t d : : min ( c o i n s ( sum v a l u e s [ i ])+1, min ) ; } } } memo[sum] = min; r e t u r n min ; Manuel Grandeit 11 / 40

18 Memoization Definition Memoization bezeichnet das Speichern von Zwischenergebnissen bereits berechneter Teilprobleme Anwendung Tabelle mit UNKNOWN-Werten initialisieren Basisfälle in die Tabelle eintragen Es gibt zwei Möglichkeiten: Ergebnis bekannt: Es kann direkt aus der Tabelle gelesen werden Ergebnis unbekannt: Es muss berechnet und in der Tabelle gespeichert werden Manuel Grandeit 12 / 40

19 Memoization Definition Memoization bezeichnet das Speichern von Zwischenergebnissen bereits berechneter Teilprobleme Anwendung Tabelle mit UNKNOWN-Werten initialisieren Basisfälle in die Tabelle eintragen Es gibt zwei Möglichkeiten: Ergebnis bekannt: Es kann direkt aus der Tabelle gelesen werden Ergebnis unbekannt: Es muss berechnet und in der Tabelle gespeichert werden Manuel Grandeit 12 / 40

20 Top-Down-DP (Rekursion mit Memoization) Vor- und Nachteile (Zwischenstand) Positiv: Leicht umzusetzen, da nur eine Rekursionsformel implementiert werden muss Mehrfachberechnung von Zwischenergebnissen wird durch Memoization verhindert Negativ: Rekursionstiefe kann zu einem Problem werden Stackoverflow! Overhead durch Funktionsaufrufe Manuel Grandeit 13 / 40

21 Top-Down-DP (Rekursion mit Memoization) Vor- und Nachteile (Zwischenstand) Positiv: Leicht umzusetzen, da nur eine Rekursionsformel implementiert werden muss Mehrfachberechnung von Zwischenergebnissen wird durch Memoization verhindert Negativ: Rekursionstiefe kann zu einem Problem werden Stackoverflow! Overhead durch Funktionsaufrufe Manuel Grandeit 13 / 40

22 Bottom-Up-DP Idee Iteratives Füllen der Tabelle zu Beginn (keine Rekursion!) Ergebnisse können direkt aus der Tabelle gelesen werden Umwandlung der Rekursion in eine iterative Lösung Manuel Grandeit 14 / 40

23 Bottom-Up-DP Iterative (bottom-up) Implementierung i n t v a l u e s [N], min[s]; i n t c o i n s ( i n t sum ) { for (int i = 0; i < sum+1; i++) min[i] = INT MAX; min[0] = 0; f o r ( i n t i = 1 ; i <= sum ; i ++) { f o r ( i n t j = 0 ; j < N; j ++) { i f ( v a l u e s [ j ] <= i && min[i-values[j]] + 1 < min[i]) min[i] = min[i-values[j]] + 1; } } } return min[sum]; Manuel Grandeit 15 / 40

24 Top-Down vs Bottom-Up Top-Down Positiv: Relativ leicht zu implementieren (nur Rekursion) Gut geeignet, falls nicht alle Teilprobleme benötigt werden Negativ: Rekursionstiefe, Overhead durch Funktionsaufrufe Bottom-Up Positiv: Berechnung zu Beginn, schnelle Abfragen, keine Rekursion Negativ: Umwandlung der Rekursion nötig (nicht immer trivial) Effizienzverlust, falls nicht alle Werte benötigt werden Manuel Grandeit 16 / 40

25 Top-Down vs Bottom-Up Top-Down Positiv: Relativ leicht zu implementieren (nur Rekursion) Gut geeignet, falls nicht alle Teilprobleme benötigt werden Negativ: Rekursionstiefe, Overhead durch Funktionsaufrufe Bottom-Up Positiv: Berechnung zu Beginn, schnelle Abfragen, keine Rekursion Negativ: Umwandlung der Rekursion nötig (nicht immer trivial) Effizienzverlust, falls nicht alle Werte benötigt werden Manuel Grandeit 16 / 40

26 Top-Down vs Bottom-Up Top-Down Positiv: Relativ leicht zu implementieren (nur Rekursion) Gut geeignet, falls nicht alle Teilprobleme benötigt werden Negativ: Rekursionstiefe, Overhead durch Funktionsaufrufe Bottom-Up Positiv: Berechnung zu Beginn, schnelle Abfragen, keine Rekursion Negativ: Umwandlung der Rekursion nötig (nicht immer trivial) Effizienzverlust, falls nicht alle Werte benötigt werden Manuel Grandeit 16 / 40

27 Top-Down vs Bottom-Up Top-Down Positiv: Relativ leicht zu implementieren (nur Rekursion) Gut geeignet, falls nicht alle Teilprobleme benötigt werden Negativ: Rekursionstiefe, Overhead durch Funktionsaufrufe Bottom-Up Positiv: Berechnung zu Beginn, schnelle Abfragen, keine Rekursion Negativ: Umwandlung der Rekursion nötig (nicht immer trivial) Effizienzverlust, falls nicht alle Werte benötigt werden Manuel Grandeit 16 / 40

28 Verwendung von DP Pro Es handelt sich um ein Optimierungsproblem Das Problem lässt sich in optimale Teilprobleme zerlegen Es gibt sich überlappende Teilprobleme Contra Speicherplatzbedarf der Tabelle zu groß Reelle oder komplexe Zahlen als Parameter (Arrayindex!) Es existiert ein besserer Lösungsweg Manuel Grandeit 17 / 40

29 Verwendung von DP Pro Es handelt sich um ein Optimierungsproblem Das Problem lässt sich in optimale Teilprobleme zerlegen Es gibt sich überlappende Teilprobleme Contra Speicherplatzbedarf der Tabelle zu groß Reelle oder komplexe Zahlen als Parameter (Arrayindex!) Es existiert ein besserer Lösungsweg Manuel Grandeit 17 / 40

30 Das Rucksackproblem Typisches Alltagsproblem Manuel Grandeit 18 / 40

31 Das Rucksackproblem Typisches Alltagsproblem Wir rauben einen Juwelier aus! Manuel Grandeit 18 / 40

32 Das Rucksackproblem Typisches Alltagsproblem Wir rauben einen Juwelier aus! (Was packen wir bloß ein?) Manuel Grandeit 18 / 40

33 Das Rucksackproblem Kurzzusammenfassung Wir besitzen einen Rucksack der Größe K Jeder Gegenstand hat einen Wert v i und eine Größe s i Welche Gegenstände müssen wir einpacken, damit der Wert der Beute maximal wird? Wir haben wenig Zeit! Die Herren in Grün sind schon unterwegs... Manuel Grandeit 19 / 40

34 Struktur der optimalen Lösung Was ist zu tun? Die Gegenstände müssen so gewählt werden, dass die Summe n v i maximal wird i=1 Konstruktion einer rekursiven Lösung Nehmen wir an, der Rucksack wäre schon optimal gepackt Entfernen wir nun den Gegenstand i, dann erhalten wir eine optimale Lösung für die Kapazität K s i Manuel Grandeit 20 / 40

35 Struktur der optimalen Lösung Was ist zu tun? Die Gegenstände müssen so gewählt werden, dass die Summe n v i maximal wird i=1 Konstruktion einer rekursiven Lösung Nehmen wir an, der Rucksack wäre schon optimal gepackt Entfernen wir nun den Gegenstand i, dann erhalten wir eine optimale Lösung für die Kapazität K s i Manuel Grandeit 20 / 40

36 Das Rucksackproblem Rekursive Implementierung i n t s [N], v [N ] ; // s i z e and v a l u e i n t r u c k s a c k ( i n t c a p a c i t y ) { i n t maxvalue = 0, s p a c e ; f o r ( i n t i = 0 ; i < N; i ++) { i f ( ( s p a c e = c a p a c i t y s [ i ] ) >= 0) maxvalue = s t d : : max ( r u c k s a c k ( s p a c e ) + v [ i ], maxvalue ) ; } } r e t u r n maxvalue ; Manuel Grandeit 21 / 40

37 Das Rucksackproblem Top-Down-Implementierung mit Memoization i n t s [N], v [N], best[maxcap+1] ; // s i z e and v a l u e // memset w r i t e s b y t e s! be c a r e f u l! memset(best, UNKNOWN, (MAXCAP+1)*sizeof(int)); i n t r u c k s a c k ( i n t c a p a c i t y ) { i n t maxvalue = 0, s p a c e ; if(best[capacity]!= UNKNOWN) return best[capacity]; f o r ( i n t i = 0 ; i < N; i ++) { i f ( ( s p a c e = c a p a c i t y s [ i ] ) >= 0) maxvalue = s t d : : max ( r u c k s a c k ( s p a c e ) + v [ i ], maxvalue ) ; } best[capacity] = maxvalue; } r e t u r n maxvalue ; Manuel Grandeit 22 / 40

38 Rekonstruktion der Lösung Problem Bisher haben wir nur den maximalen Wert des Rucksacks berechnet Aber, welche Gegenstände haben wir eingepackt? Lösung Erstellen einer zweiten Tabelle items, die die mitgenommenen Gegenstände speichert Der erste eingepackte Gegestand steht in items[maxcap] Der Zweite steht in items[maxcap - s[items[maxcap]]] usw. Manuel Grandeit 23 / 40

39 Rekonstruktion der Lösung Problem Bisher haben wir nur den maximalen Wert des Rucksacks berechnet Aber, welche Gegenstände haben wir eingepackt? Lösung Erstellen einer zweiten Tabelle items, die die mitgenommenen Gegenstände speichert Der erste eingepackte Gegestand steht in items[maxcap] Der Zweite steht in items[maxcap - s[items[maxcap]]] usw. Manuel Grandeit 23 / 40

40 Das Rucksackproblem Top-Down-Implementierung mit Memoization i n t s [N], v [N], b e s t [MAXCAP+1], items[maxcap+1] ; // memset w r i t e s b y t e s! be c a r e f u l! memset ( best, UNKNOWN, (MAXCAP+1) s i z e o f ( i n t ) ) ; memset(items, UNKNOWN, (MAXCAP+1)*sizeof(int)); i n t r u c k s a c k ( i n t c a p a c i t y ) { i n t maxvalue = 0, space, maxitem ; } i f ( b e s t [ c a p a c i t y ]!= UNKNOWN) r e t u r n b e s t [ c a p a c i t y ] ; f o r ( i n t i = 0 ; i < N; i ++) { i f ( ( s p a c e = c a p a c i t y s [ i ] ) >= 0) { maxvalue = s t d : : max ( r u c k s a c k ( s p a c e ) + v [ i ], maxvalue ) ; maxitem = i; } } items[capacity] = maxitem; b e s t [ c a p a c i t y ] = maxvalue ; r e t u r n maxvalue ; Manuel Grandeit 24 / 40

41 Longest common subsequence Was ist eine LCS? Gegeben sind 2 Strings X = < x 1, x 2,..., x m > und Y = < y 1, y 2,..., y n > Die longest common subsequence ist ein String Z, der die Zeichen enthält, die sowohl in X als auch in Y vorkommen Allerdings müssen die Zeichen in der selben Reihenfolge vorkommen! Manuel Grandeit 25 / 40

42 Longest common subsequence Was ist eine LCS? Gegeben sind 2 Strings X = < x 1, x 2,..., x m > und Y = < y 1, y 2,..., y n > Die longest common subsequence ist ein String Z, der die Zeichen enthält, die sowohl in X als auch in Y vorkommen Allerdings müssen die Zeichen in der selben Reihenfolge vorkommen! Beispiele erlangen hacker hallo algen makaber welt Manuel Grandeit 25 / 40

43 Longest common subsequence Was ist eine LCS? Gegeben sind 2 Strings X = < x 1, x 2,..., x m > und Y = < y 1, y 2,..., y n > Die longest common subsequence ist ein String Z, der die Zeichen enthält, die sowohl in X als auch in Y vorkommen Allerdings müssen die Zeichen in der selben Reihenfolge vorkommen! Beispiele erlangen algen 4 lgen hacker makaber hallo welt Manuel Grandeit 25 / 40

44 Longest common subsequence Was ist eine LCS? Gegeben sind 2 Strings X = < x 1, x 2,..., x m > und Y = < y 1, y 2,..., y n > Die longest common subsequence ist ein String Z, der die Zeichen enthält, die sowohl in X als auch in Y vorkommen Allerdings müssen die Zeichen in der selben Reihenfolge vorkommen! Beispiele erlangen algen 4 lgen hacker makaber 4 aker hallo welt Manuel Grandeit 25 / 40

45 Longest common subsequence Was ist eine LCS? Gegeben sind 2 Strings X = < x 1, x 2,..., x m > und Y = < y 1, y 2,..., y n > Die longest common subsequence ist ein String Z, der die Zeichen enthält, die sowohl in X als auch in Y vorkommen Allerdings müssen die Zeichen in der selben Reihenfolge vorkommen! Beispiele erlangen algen 4 lgen hacker makaber 4 aker hallo welt 1 l Manuel Grandeit 25 / 40

46 Struktur der optimalen Lösung Überlegung Es existieren 2 X Teilsequenzen von X Bruteforce ist keine so gute Idee... Manuel Grandeit 26 / 40

47 Struktur der optimalen Lösung Überlegung Es existieren 2 X Teilsequenzen von X Bruteforce ist keine so gute Idee... Ist das letzte Zeichen der beiden Strings gleich, gehört es offensichtlich zur LCS Ist es nicht gleich, so entstehen zwei Teilprobleme, da jetzt in einem der beiden Strings ein Zeichen entfernt werden kann Manuel Grandeit 26 / 40

48 Struktur der optimalen Lösung Konstruktion der Rekursionsgleichung Ist x m = y n dann muss eine LCS von X m 1 und Y n 1 gesucht werden Ist x m y n dann müssen 2 Teilprobleme gelöst werden Es muss eine LCS von X m 1 und Y n, sowie eine LCS von X m und Y n 1 gefunden werden Die längere, der beiden gefundenen Unterfolgen, ist die LCS von X und Y Rekursionsgleichung 0 if i = 0 or j = 0 c[i, j] = c[i-1,j-1]+1 if i, j > 0 and x i = y j max(c[i,j-1], c[i-1,j]) if i, j > 0 and x i y j Manuel Grandeit 27 / 40

49 Struktur der optimalen Lösung Konstruktion der Rekursionsgleichung Ist x m = y n dann muss eine LCS von X m 1 und Y n 1 gesucht werden Ist x m y n dann müssen 2 Teilprobleme gelöst werden Es muss eine LCS von X m 1 und Y n, sowie eine LCS von X m und Y n 1 gefunden werden Die längere, der beiden gefundenen Unterfolgen, ist die LCS von X und Y Rekursionsgleichung 0 if i = 0 or j = 0 c[i, j] = c[i-1,j-1]+1 if i, j > 0 and x i = y j max(c[i,j-1], c[i-1,j]) if i, j > 0 and x i y j Manuel Grandeit 27 / 40

50 Longest common subsequence Bottom-Up-Implementierung i n t c [MAXLEN ] [ MAXLEN ] ; i n t l c s ( char x, i n t m, char y, i n t n ) { f o r ( i n t i = 0 ; i <= m; i ++) c [ i ] [ 0 ] = 0 ; f o r ( i n t j = 0 ; j <= n ; j ++) c [ 0 ] [ j ] = 0 ; f o r ( i n t i = 1 ; i <= m; i ++) { f o r ( i n t j = 1 ; j <= n ; j ++) { i f ( x [ i 1] == y [ j 1]) { c [ i ] [ j ] = c [ i 1][ j 1] + 1 ; } e l s e { c [ i ] [ j ] = s t d : : max ( c [ i 1][ j ], c [ i ] [ j 1 ] ) ; } } } } r e t u r n c [m] [ n ] ; Manuel Grandeit 28 / 40

51 Longest common subsequence Rekonstruktion der Lösung Wir erhalten die Länge der LCS, doch welche Zeichen sind enthalten? Rekonstruktion der Lösung mit Hilfe der Tabelle Implementierung v o i d p r i n t l c s ( char x, char y, i n t i, i n t j ) { i f ( i == 0 j == 0) r e t u r n ; i f ( x [ i 1] == y [ j 1]) { p r i n t l c s ( x, y, i 1, j 1); p u t c h a r ( x [ i 1 ] ) ; } e l s e i f ( c [ i 1][ j ] > c [ i ] [ j 1]) { p r i n t l c s ( x, y, i 1, j ) ; } e l s e { p r i n t l c s ( x, y, i, j 1); } } Manuel Grandeit 29 / 40

52 Longest common subsequence Beispieltabelle m e s n a m e n s a LCS: Manuel Grandeit 30 / 40

53 Longest common subsequence Beispieltabelle m e s n a m e n s a LCS: Manuel Grandeit 30 / 40

54 Longest common subsequence Beispieltabelle m e s n a m e n s a LCS: a Manuel Grandeit 30 / 40

55 Longest common subsequence Beispieltabelle m e s n a m e n s a LCS: a Manuel Grandeit 30 / 40

56 Longest common subsequence Beispieltabelle m e s n a m e n s a LCS: sa Manuel Grandeit 30 / 40

57 Longest common subsequence Beispieltabelle m e s n a m e n s a LCS: sa Manuel Grandeit 30 / 40

58 Longest common subsequence Beispieltabelle m e s n a m e n s a LCS: esa Manuel Grandeit 30 / 40

59 Longest common subsequence Beispieltabelle m e s n a m e n s a LCS: mesa Manuel Grandeit 30 / 40

60 Editierdistanz (oder auch Levenshtein-Distanz) Beschreibung Die Levenshtein-Distanz ist die minimale Anzahl an Einfüge-, Lösch- und Ersetzungsoperationen, die benötigt werden, um einen String X in einen String Y umzuwandeln. Beispiel Die Levenshtein-Distanz zwischen Hallo und Welt ist: 4 Hallo Manuel Grandeit 31 / 40

61 Editierdistanz (oder auch Levenshtein-Distanz) Beschreibung Die Levenshtein-Distanz ist die minimale Anzahl an Einfüge-, Lösch- und Ersetzungsoperationen, die benötigt werden, um einen String X in einen String Y umzuwandeln. Beispiel Die Levenshtein-Distanz zwischen Hallo und Welt ist: 4 Hallo Manuel Grandeit 31 / 40

62 Editierdistanz (oder auch Levenshtein-Distanz) Beschreibung Die Levenshtein-Distanz ist die minimale Anzahl an Einfüge-, Lösch- und Ersetzungsoperationen, die benötigt werden, um einen String X in einen String Y umzuwandeln. Beispiel Die Levenshtein-Distanz zwischen Hallo und Welt ist: 4 Hallo allo (H wurde gelöscht) Manuel Grandeit 31 / 40

63 Editierdistanz (oder auch Levenshtein-Distanz) Beschreibung Die Levenshtein-Distanz ist die minimale Anzahl an Einfüge-, Lösch- und Ersetzungsoperationen, die benötigt werden, um einen String X in einen String Y umzuwandeln. Beispiel Die Levenshtein-Distanz zwischen Hallo und Welt ist: 4 Hallo allo (H wurde gelöscht) Wllo (a wurde durch W ersetzt) Manuel Grandeit 31 / 40

64 Editierdistanz (oder auch Levenshtein-Distanz) Beschreibung Die Levenshtein-Distanz ist die minimale Anzahl an Einfüge-, Lösch- und Ersetzungsoperationen, die benötigt werden, um einen String X in einen String Y umzuwandeln. Beispiel Die Levenshtein-Distanz zwischen Hallo und Welt ist: 4 Hallo allo (H wurde gelöscht) Wllo (a wurde durch W ersetzt) Welo (l wurde durch e ersetzt) Manuel Grandeit 31 / 40

65 Editierdistanz (oder auch Levenshtein-Distanz) Beschreibung Die Levenshtein-Distanz ist die minimale Anzahl an Einfüge-, Lösch- und Ersetzungsoperationen, die benötigt werden, um einen String X in einen String Y umzuwandeln. Beispiel Die Levenshtein-Distanz zwischen Hallo und Welt ist: 4 Hallo allo (H wurde gelöscht) Wllo (a wurde durch W ersetzt) Welo (l wurde durch e ersetzt) Welt (o wurde durch t ersetzt) Manuel Grandeit 31 / 40

66 Struktur der optimalen Lösung Überlegung Um einen String X in einen leeren String umzuwandeln, müssen alle Zeichen gelöscht werden Außerdem entstehen auch hier, ähnlich der LCS, zwei Fälle: Zwei Zeichen sind gleich keine Operation nötig Zwei Zeichen sind nicht gleich Entweder eine Einfüge-, Lösch- oder Ersetzungsoperation nötig Rekursionsgleichung i if j = 0 j if i = 0 d[i, j] = d[i-1,j-1] if x i = y i 1 + min(d[i,j-1], d[i-1,j], d[i-1][j-1]) otherwise Manuel Grandeit 32 / 40

67 Struktur der optimalen Lösung Überlegung Um einen String X in einen leeren String umzuwandeln, müssen alle Zeichen gelöscht werden Außerdem entstehen auch hier, ähnlich der LCS, zwei Fälle: Zwei Zeichen sind gleich keine Operation nötig Zwei Zeichen sind nicht gleich Entweder eine Einfüge-, Lösch- oder Ersetzungsoperation nötig Rekursionsgleichung i if j = 0 j if i = 0 d[i, j] = d[i-1,j-1] if x i = y i 1 + min(d[i,j-1], d[i-1,j], d[i-1][j-1]) otherwise Manuel Grandeit 32 / 40

68 Editierdistanz Bottom-Up-Implementierung i n t d [MAXLEN ] [ MAXLEN ] ; i n t l e v e n s h t e i n ( char x, i n t m, char y, i n t n ) { f o r ( i n t i = 0 ; i <= m; i ++) d [ i ] [ 0 ] = i ; f o r ( i n t j = 0 ; j <= n ; j ++) d [ 0 ] [ j ] = j ; } f o r ( i n t i = 1 ; i <= m; i ++) { f o r ( i n t j = 1 ; j <= n ; j ++) { i f ( x [ i 1] == y [ j 1]) { d [ i ] [ j ] = d [ i 1][ j 1]; } e l s e { i n t min = s t d : : min ( d [ i ] [ j 1], d [ i 1][ j ] ) ; d [ i ] [ j ] = 1 + s t d : : min ( min, d [ i 1][ j 1 ] ) ; } } } r e t u r n d [m] [ n ] ; Manuel Grandeit 33 / 40

69 Editierdistanz Rekonstruktion der Lösung Wir erhalten die Levenshtein-Distanz, aber welche Operationen wurden verwendet? Rekonstruktion eines Lösungsweges mit Hilfe der Tabelle Manuel Grandeit 34 / 40

70 Editierdistanz Implementierung v o i d p r i n t o p s ( i n t i, i n t j ) { i f ( i == 0 j == 0) r e t u r n ; } i f ( d [ i 1][ j ] + 1 == d [ i ] [ j ] ) { p r i n t o p s ( i 1, j ) ; p r i n t f ( d e l ) ; } e l s e i f ( d [ i ] [ j 1] + 1 == d [ i ] [ j ] ) { p r i n t o p s ( i, j 1); p r i n t f ( i n s ) ; } e l s e i f ( d [ i 1][ j 1] + 1 == d [ i ] [ j ] ) { p r i n t o p s ( i 1, j 1); p r i n t f ( cha ) ; } e l s e i f ( d [ i 1][ j 1] == d [ i ] [ j ] ) { p r i n t o p s ( i 1, j 1); p r i n t f ( equ ) ; } Manuel Grandeit 35 / 40

71 Editierdistanz Beispieltabelle W e l t H a l l o Operationen: Manuel Grandeit 36 / 40

72 Editierdistanz Beispieltabelle W e l t H a l l o Operationen: Manuel Grandeit 36 / 40

73 Editierdistanz Beispieltabelle W e l t H a l l o Operationen: del Manuel Grandeit 36 / 40

74 Editierdistanz Beispieltabelle W e l t H a l l o Operationen: cha del Manuel Grandeit 36 / 40

75 Editierdistanz Beispieltabelle W e l t H a l l o Operationen: equ cha del Manuel Grandeit 36 / 40

76 Editierdistanz Beispieltabelle W e l t H a l l o Operationen: cha equ cha del Manuel Grandeit 36 / 40

77 Editierdistanz Beispieltabelle W e l t H a l l o Operationen: cha cha equ cha del Manuel Grandeit 36 / 40

78 Performancetuning Pruning (unmögliche Zustände verwerfen) Ein Zustand ist nutzlos, wenn sein Ergebnis immer 0 (Kombinatorik) oder unendlich (Optimierung) ist. Solche Zustände können gefahrlos gelöscht werden, da sie die Lösung des Problems nicht beeinflussen. Wie geht man dabei vor? Unmögliche Zustände verwerfen und gar nicht erst behandeln Parameter überprüfen: Gibt es Parameter, die für keinen Zustandswechsel relevant sind? Manuel Grandeit 37 / 40

79 Performancetuning Pruning (unmögliche Zustände verwerfen) Ein Zustand ist nutzlos, wenn sein Ergebnis immer 0 (Kombinatorik) oder unendlich (Optimierung) ist. Solche Zustände können gefahrlos gelöscht werden, da sie die Lösung des Problems nicht beeinflussen. Wie geht man dabei vor? Unmögliche Zustände verwerfen und gar nicht erst behandeln Parameter überprüfen: Gibt es Parameter, die für keinen Zustandswechsel relevant sind? Manuel Grandeit 37 / 40

80 Performancetuning Tabellengrösse reduzieren Oftmals wird nicht die gesamte Tabelle benötigt, sondern man kann die Größe extrem reduzieren Vorausberechnung (precalculate) Oft können DP-Lösungen von Vorausberechnungen profitieren Bei kombinatorischen Problemen kann man z.b. den Binomial-Koeffizient einiger Zahlen vorausberechnen Manchmal kann es hilfreich sein, z.b. die Partialsummen eines Arrays vorauszuberechnen Manuel Grandeit 38 / 40

81 Performancetuning Tabellengrösse reduzieren Oftmals wird nicht die gesamte Tabelle benötigt, sondern man kann die Größe extrem reduzieren Vorausberechnung (precalculate) Oft können DP-Lösungen von Vorausberechnungen profitieren Bei kombinatorischen Problemen kann man z.b. den Binomial-Koeffizient einiger Zahlen vorausberechnen Manchmal kann es hilfreich sein, z.b. die Partialsummen eines Arrays vorauszuberechnen Manuel Grandeit 38 / 40

82 Zusammenfassung Dynamische Programmierung DP löst Probleme durch Speichern von Zwischenergebnissen in Tabellen DP-Kandidaten: Optimierungs-, Maximierungs- oder Minimierungsprobleme Manuel Grandeit 39 / 40

83 Zusammenfassung Dynamische Programmierung DP löst Probleme durch Speichern von Zwischenergebnissen in Tabellen DP-Kandidaten: Optimierungs-, Maximierungs- oder Minimierungsprobleme Anwendung Manuel Grandeit 39 / 40

84 Zusammenfassung Dynamische Programmierung DP löst Probleme durch Speichern von Zwischenergebnissen in Tabellen DP-Kandidaten: Optimierungs-, Maximierungs- oder Minimierungsprobleme Anwendung 1. Rekursion erkennen und Gleichung aufstellen Manuel Grandeit 39 / 40

85 Zusammenfassung Dynamische Programmierung DP löst Probleme durch Speichern von Zwischenergebnissen in Tabellen DP-Kandidaten: Optimierungs-, Maximierungs- oder Minimierungsprobleme Anwendung 1. Rekursion erkennen und Gleichung aufstellen 2. Sinnvoll zwischen Top-Down- oder Bottom-Up-Variante wählen Manuel Grandeit 39 / 40

86 Zusammenfassung Dynamische Programmierung DP löst Probleme durch Speichern von Zwischenergebnissen in Tabellen DP-Kandidaten: Optimierungs-, Maximierungs- oder Minimierungsprobleme Anwendung 1. Rekursion erkennen und Gleichung aufstellen 2. Sinnvoll zwischen Top-Down- oder Bottom-Up-Variante wählen 3.??? Manuel Grandeit 39 / 40

87 Zusammenfassung Dynamische Programmierung DP löst Probleme durch Speichern von Zwischenergebnissen in Tabellen DP-Kandidaten: Optimierungs-, Maximierungs- oder Minimierungsprobleme Anwendung 1. Rekursion erkennen und Gleichung aufstellen 2. Sinnvoll zwischen Top-Down- oder Bottom-Up-Variante wählen 3.??? 4. PROFIT! (Effizienzgewinn!) Manuel Grandeit 39 / 40

88 Quellen Quellen T. Cormen, et al. Introduction to Algorithms (Third Edition) Rainer Müller, Hallo Welt Vortrag 2008 Tobias Werth, Hallo Welt Vortrag 2004 http: // &start=0&mc= &start=0&mc= &start=0&mc=5 Manuel Grandeit 40 / 40

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!. 040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl

Mehr

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) Wintersemester 2007/08 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen

Mehr

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Kapitel 5: Dynamisches Programmieren Gliederung

Kapitel 5: Dynamisches Programmieren Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Übung Theoretische Grundlagen

Übung Theoretische Grundlagen Übung Theoretische Grundlagen Berechenbarkeit/Entscheidbarkeit Nico Döttling November 26, 2009 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

sondern alle Werte gleich behandelt. Wir dürfen aber nicht vergessen, dass Ergebnisse, je länger sie in der Vergangenheit

sondern alle Werte gleich behandelt. Wir dürfen aber nicht vergessen, dass Ergebnisse, je länger sie in der Vergangenheit sondern alle Werte gleich behandelt. Wir dürfen aber nicht vergessen, dass Ergebnisse, je länger sie in der Vergangenheit liegen, an Bedeutung verlieren. Die Mannschaften haben sich verändert. Spieler

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Access Verbrecherdatenbank Teil 3

Access Verbrecherdatenbank Teil 3 Access Verbrecherdatenbank Teil 3 Allgemeines Im letzten Teil des Lehrgangs zu Microsoft Access erfährst du, wie man aus einer Datenbank Informationen herausfiltert, indem an Filter und Abfragen anwendet.

Mehr

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Algorithmik II. a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge 20, 28, 35, 31, 9, 4, 13, 17, 37, 25 ein.

Algorithmik II. a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge 20, 28, 35, 31, 9, 4, 13, 17, 37, 25 ein. Aufgabe 10 Binäre Bäume a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge, 28, 35, 31, 9, 4,, 17, 37, 25 ein. 1. Einfügen von : 3. Einfugen von 35: 2. Einfügen von 28: 28 28 10. Einfügen

Mehr

15 Optimales Kodieren

15 Optimales Kodieren 15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen

Mehr

Berechnungen in Access Teil I

Berechnungen in Access Teil I in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer

Mehr

Übung 9 - Lösungsvorschlag

Übung 9 - Lösungsvorschlag Universität Innsbruck - Institut für Informatik Datenbanken und Informationssysteme Prof. Günther Specht, Eva Zangerle Besprechung: 15.12.2008 Einführung in die Informatik Übung 9 - Lösungsvorschlag Aufgabe

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

Der Zwei-Quadrate-Satz von Fermat

Der Zwei-Quadrate-Satz von Fermat Der Zwei-Quadrate-Satz von Fermat Proseminar: Das BUCH der Beweise Fridtjof Schulte Steinberg Institut für Informatik Humboldt-Universität zu Berlin 29.November 2012 1 / 20 Allgemeines Pierre de Fermat

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

Binärdarstellung von Fliesskommazahlen

Binärdarstellung von Fliesskommazahlen Binärdarstellung von Fliesskommazahlen 1. IEEE 754 Gleitkommazahl im Single-Format So sind in Gleitkommazahlen im IEEE 754-Standard aufgebaut: 31 30 24 23 0 S E E E E E E E E M M M M M M M M M M M M M

Mehr

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Inhaltsverzeichnis 1. Anmeldung... 2 1.1 Startbildschirm... 3 2. Die PDF-Dateien hochladen... 4 2.1 Neue PDF-Datei erstellen... 5 3. Obelix-Datei

Mehr

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung. Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,

Mehr

BITte ein BIT. Vom Bit zum Binärsystem. A Bit Of Magic. 1. Welche Werte kann ein Bit annehmen? 2. Wie viele Zustände können Sie mit 2 Bit darstellen?

BITte ein BIT. Vom Bit zum Binärsystem. A Bit Of Magic. 1. Welche Werte kann ein Bit annehmen? 2. Wie viele Zustände können Sie mit 2 Bit darstellen? BITte ein BIT Vom Bit zum Binärsystem A Bit Of Magic 1. Welche Werte kann ein Bit annehmen? 2. Wie viele Zustände können Sie mit 2 Bit darstellen? 3. Gegeben ist der Bitstrom: 10010110 Was repräsentiert

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Algorithmen & Datenstrukturen 1. Klausur

Algorithmen & Datenstrukturen 1. Klausur Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse

Mehr

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x + 400 y = 520 300x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x + 400 y = 520 300x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775, Aufgabenpool für angewandte Mathematik / 1. Jahrgang V B, C, D Drinks Ein gastronomischer Betrieb kauft 300 Dosen Energydrinks (0,3 l) und 400 Liter Flaschen Mineralwasser und zahlt dafür 50, Euro. Einen

Mehr

Einfache kryptographische Verfahren

Einfache kryptographische Verfahren Einfache kryptographische Verfahren Prof. Dr. Hagen Knaf Studiengang Angewandte Mathematik 26. April 2015 c = a b + a b + + a b 1 11 1 12 2 1n c = a b + a b + + a b 2 21 1 22 2 2n c = a b + a b + + a b

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Summenbildung in Bauteiltabellen mit If Then Abfrage

Summenbildung in Bauteiltabellen mit If Then Abfrage Summenbildung in Bauteiltabellen mit If Then Abfrage Die in Bauteiltabellen ausgelesenen Werte lassen sich in jeder Spalte als Summe berechnen. So können selbstverständlich die Flächen der in der Tabelle

Mehr

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen Gleichungen Lösen Was bedeutet es, eine Gleichung zu lösen? Was ist überhaupt eine Gleichung? Eine Gleichung ist, grundsätzlich eine Aussage über zwei mathematische Terme, dass sie gleich sind. Ein Term

Mehr

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort: Tangentengleichung Wie Sie wissen, gibt die erste Ableitung einer Funktion deren Steigung an. Betrachtet man eine fest vorgegebene Stelle, gibt f ( ) also die Steigung der Kurve und somit auch die Steigung

Mehr

Lernmaterial für die Fernuni Hagen effizient und prüfungsnah

Lernmaterial für die Fernuni Hagen effizient und prüfungsnah Lernmaterial für die Fernuni Hagen effizient und prüfungsnah www.schema-f-hagen.de Sie erhalten hier einen Einblick in die Dokumente Aufgaben und Lösungen sowie Erläuterungen Beim Kauf erhalten Sie zudem

Mehr

EINFACHES HAUSHALT- KASSABUCH

EINFACHES HAUSHALT- KASSABUCH EINFACHES HAUSHALT- KASSABUCH Arbeiten mit Excel Wir erstellen ein einfaches Kassabuch zur Führung einer Haushalts- oder Portokasse Roland Liebing, im November 2012 Eine einfache Haushalt-Buchhaltung (Kassabuch)

Mehr

! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006

!  # $  % & Nicki Wruck worldwidewruck 08.02.2006 !"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung

Mehr

Repetitionsaufgaben Wurzelgleichungen

Repetitionsaufgaben Wurzelgleichungen Repetitionsaufgaben Wurzelgleichungen Inhaltsverzeichnis A) Vorbemerkungen B) Lernziele C) Theorie mit Aufgaben D) Aufgaben mit Musterlösungen 4 A) Vorbemerkungen Bitte beachten Sie: Bei Wurzelgleichungen

Mehr

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit Frau Dr. Eva Douma ist Organisations-Beraterin in Frankfurt am Main Das ist eine Zusammen-Fassung des Vortrages: Busines

Mehr

Prozentrechnung. Wir können nun eine Formel für die Berechnung des Prozentwertes aufstellen:

Prozentrechnung. Wir können nun eine Formel für die Berechnung des Prozentwertes aufstellen: Prozentrechnung Wir beginnen mit einem Beisiel: Nehmen wir mal an, ein Handy kostet 200 und es gibt 5% Rabatt (Preisnachlass), wie groß ist dann der Rabatt in Euro und wie viel kostet dann das Handy? Wenn

Mehr

Informatik Grundlagen, WS04, Seminar 13

Informatik Grundlagen, WS04, Seminar 13 Informatik Grundlagen, WS04, Seminar 13 Informatik Informatik Grundlagen, Seminar 13 WS04 1 Was wir heute besprechen Nachbesprechen von Übungsblatt 11 Rekursion Grundprinzipien Übung Besprechung Übungsblatt

Mehr

Wie löst man Mathematikaufgaben?

Wie löst man Mathematikaufgaben? Wie löst man Mathematikaufgaben? Manfred Dobrowolski Universität Würzburg Wie löst man Mathematikaufgaben? 1 Das Schubfachprinzip 2 Das Invarianzprinzip 3 Das Extremalprinzip Das Schubfachprinzip Verteilt

Mehr

a n + 2 1 auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert:

a n + 2 1 auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert: Beispiel: Wir untersuchen die rekursiv definierte Folge a 0 + auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert: ( ) (,, 7, 5,...) Wir können also vermuten, dass die Folge monoton fallend

Mehr

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde

Mehr

Anwendungsbeispiele. Neuerungen in den E-Mails. Webling ist ein Produkt der Firma:

Anwendungsbeispiele. Neuerungen in den E-Mails. Webling ist ein Produkt der Firma: Anwendungsbeispiele Neuerungen in den E-Mails Webling ist ein Produkt der Firma: Inhaltsverzeichnis 1 Neuerungen in den E- Mails 2 Was gibt es neues? 3 E- Mail Designs 4 Bilder in E- Mails einfügen 1 Neuerungen

Mehr

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr

Teile und Herrsche Teil 2

Teile und Herrsche Teil 2 Teile und Herrsche Teil 2 binär Suchen und schnell Multiplizieren Markus Fleck Manuel Mauky Hochschule Zittau/Görlitz 19. April 2009 Suchen in langen Listen (0, 1, 2, 7, 8, 9, 9, 13, 13, 14, 14, 14, 16,

Mehr

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1 B 1.0 B 1.1 L: Wir wissen von, dass sie den Scheitel hat und durch den Punkt läuft. Was nichts bringt, ist beide Punkte in die allgemeine Parabelgleichung einzusetzen und das Gleichungssystem zu lösen,

Mehr

Was meinen die Leute eigentlich mit: Grexit?

Was meinen die Leute eigentlich mit: Grexit? Was meinen die Leute eigentlich mit: Grexit? Grexit sind eigentlich 2 Wörter. 1. Griechenland 2. Exit Exit ist ein englisches Wort. Es bedeutet: Ausgang. Aber was haben diese 2 Sachen mit-einander zu tun?

Mehr

Kostenmaße. F3 03/04 p.188/395

Kostenmaße. F3 03/04 p.188/395 Kostenmaße Bei der TM nur ein Kostenmaß: Ein Schritt (Konfigurationsübergang) kostet eine Zeiteinheit; eine Bandzelle kostet eine Platzeinheit. Bei der RAM zwei Kostenmaße: uniformes Kostenmaß: (wie oben);

Mehr

Leichte-Sprache-Bilder

Leichte-Sprache-Bilder Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen

Mehr

Wie räume ich mein Profil unter Windows 7 auf?

Wie räume ich mein Profil unter Windows 7 auf? Wie räume ich mein Profil unter Windows 7 auf? Das unter Windows 7 der Profilspeicher voll ist, liegt an einigen Programmen, die Daten direkt im Profil ablegen. Unter Windows XP gab es für diesen Fall

Mehr

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen:

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen: 1 Parallele Algorithmen Grundlagen Parallele Algorithmen Grundlagen Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen: Dekomposition eines Problems in unabhängige Teilaufgaben.

Mehr

Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual!

Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual! Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual! 0kg 4000 Euro Luster 5,5 kg, 430.- Laptop 2,0 kg, 000.- Schatulle 3,2 kg, 800.- Uhr 3,5 kg, 70.- Schwert,5 kg, 850.- Bild 3,4 kg, 680.- Besteck

Mehr

Information Systems Engineering Seminar

Information Systems Engineering Seminar Information Systems Engineering Seminar Algorithmische Prüfung der Planarität eines Graphen Marcel Stüttgen, 22.10.2012 FH AACHEN UNIVERSITY OF APPLIED SCIENCES 1 Planarität - Definition Ein Graph heißt

Mehr

7 Rechnen mit Polynomen

7 Rechnen mit Polynomen 7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn

Mehr

Sowohl die Malstreifen als auch die Neperschen Streifen können auch in anderen Stellenwertsystemen verwendet werden.

Sowohl die Malstreifen als auch die Neperschen Streifen können auch in anderen Stellenwertsystemen verwendet werden. Multiplikation Die schriftliche Multiplikation ist etwas schwieriger als die Addition. Zum einen setzt sie das kleine Einmaleins voraus, zum anderen sind die Überträge, die zu merken sind und häufig in

Mehr

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR) Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR) Eine Firma stellt USB-Sticks her. Sie werden in der Fabrik ungeprüft in Packungen zu je 20 Stück verpackt und an Händler ausgeliefert. 1 Ein Händler

Mehr

Updatehinweise für die Version forma 5.5.5

Updatehinweise für die Version forma 5.5.5 Updatehinweise für die Version forma 5.5.5 Seit der Version forma 5.5.0 aus 2012 gibt es nur noch eine Office-Version und keine StandAlone-Version mehr. Wenn Sie noch mit der alten Version forma 5.0.x

Mehr

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI TTS - TinyTimeSystem Unterrichtsprojekt BIBI Mathias Metzler, Philipp Winder, Viktor Sohm 28.01.2008 TinyTimeSystem Inhaltsverzeichnis Problemstellung... 2 Lösungsvorschlag... 2 Punkte die unser Tool erfüllen

Mehr

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:

Mehr

Festplatte defragmentieren Internetspuren und temporäre Dateien löschen

Festplatte defragmentieren Internetspuren und temporäre Dateien löschen Festplatte defragmentieren Internetspuren und temporäre Dateien löschen Wer viel mit dem Computer arbeitet kennt das Gefühl, dass die Maschine immer langsamer arbeitet und immer mehr Zeit braucht um aufzustarten.

Mehr

How to do? Projekte - Zeiterfassung

How to do? Projekte - Zeiterfassung How to do? Projekte - Zeiterfassung Stand: Version 4.0.1, 18.03.2009 1. EINLEITUNG...3 2. PROJEKTE UND STAMMDATEN...4 2.1 Projekte... 4 2.2 Projektmitarbeiter... 5 2.3 Tätigkeiten... 6 2.4 Unterprojekte...

Mehr

13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen.

13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen. 13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen. Sie heißt linear, wenn sie die Form y (n) + a n 1 y (n 1)

Mehr

TREND SEARCH VISUALISIERUNG. von Ricardo Gantschew btk Berlin Dozent / Till Nagel

TREND SEARCH VISUALISIERUNG. von Ricardo Gantschew btk Berlin Dozent / Till Nagel von Ricardo Gantschew btk Berlin Dozent / Till Nagel 01 IDEE Einige kennen vielleicht GoogleTrends. Hierbei handelt es sich um eine Anwendung, bei der man verschiedenste Begriffe auf die Häufigkeit ihrer

Mehr

Einfügen von Bildern innerhalb eines Beitrages

Einfügen von Bildern innerhalb eines Beitrages Version 1.2 Einfügen von Bildern innerhalb eines Beitrages Um eigene Bilder ins Forum einzufügen, gibt es zwei Möglichkeiten. 1.) Ein Bild vom eigenem PC wird auf den Webspace von Baue-die-Bismarck.de

Mehr

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Mag. Christian Gürtler Programmierung Grundlagen der Informatik 2011 Inhaltsverzeichnis I. Allgemeines 3 1. Zahlensysteme 4 1.1. ganze Zahlen...................................... 4 1.1.1. Umrechnungen.................................

Mehr

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Gimp Kurzanleitung. Offizielle Gimp Seite: http://www.gimp.org/

Gimp Kurzanleitung. Offizielle Gimp Seite: http://www.gimp.org/ Gimp Kurzanleitung Offizielle Gimp Seite: http://www.gimp.org/ Inhalt Seite 2 Seite 3-4 Seite 5-6 Seite 7 8 Seite 9 10 Seite 11-12 Ein Bild mit Gimp öffnen. Ein Bild mit Gimp verkleinern. Ein bearbeitetes

Mehr

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Aufgabe 3: Konto Um Geldbeträge korrekt zu verwalten, sind zwecks Vermeidung von Rundungsfehlern entweder alle Beträge in Cents umzuwandeln und

Mehr

3. GLIEDERUNG. Aufgabe:

3. GLIEDERUNG. Aufgabe: 3. GLIEDERUNG Aufgabe: In der Praxis ist es für einen Ausdruck, der nicht alle Detaildaten enthält, häufig notwendig, Zeilen oder Spalten einer Tabelle auszublenden. Auch eine übersichtlichere Darstellung

Mehr

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

Mehr

Anwendungsbeispiele Buchhaltung

Anwendungsbeispiele Buchhaltung Kostenstellen in Webling Webling ist ein Produkt der Firma: Inhaltsverzeichnis 1 Kostenstellen 1.1 Was sind Kostenstellen? 1.2 Kostenstellen in der 2 Kostenstellen in Webling 2.1 Kostenstellen erstellen

Mehr

Musterlösungen zur Linearen Algebra II Blatt 5

Musterlösungen zur Linearen Algebra II Blatt 5 Musterlösungen zur Linearen Algebra II Blatt 5 Aufgabe. Man betrachte die Matrix A := über dem Körper R und über dem Körper F und bestimme jeweils die Jordan- Normalform. Beweis. Das charakteristische

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei

Mehr

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden. In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Serienbrief aus Outlook heraus Schritt 1 Zuerst sollten Sie die Kontakte einblenden, damit Ihnen der Seriendruck zur Verfügung steht. Schritt 2 Danach wählen Sie bitte Gerhard Grünholz 1 Schritt 3 Es öffnet

Mehr

Die Post hat eine Umfrage gemacht

Die Post hat eine Umfrage gemacht Die Post hat eine Umfrage gemacht Bei der Umfrage ging es um das Thema: Inklusion Die Post hat Menschen mit Behinderung und Menschen ohne Behinderung gefragt: Wie zufrieden sie in dieser Gesellschaft sind.

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

In vergleichsbasierten Suchbäumen wird nicht in Schlüssel hineingeschaut.

In vergleichsbasierten Suchbäumen wird nicht in Schlüssel hineingeschaut. Binäre Suchbäume Tries (Folie 182, Seite 58 im Skript) In vergleichsbasierten Suchbäumen wird nicht in Schlüssel hineingeschaut. In Tries entspricht die ite Verzweigung dem iten Zeichen des Schlüssels.

Mehr

Kryptographie in der Moderne

Kryptographie in der Moderne Kryptographie in der Moderne Sicherheit im Internet Kryptographie in der Moderne Kryptographie ist die Lehre der Datensicherheit im Allgemeinen Verschlüsselung nur noch kleiner Bestandteil der Kryptographie

Mehr

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt Methoden und Techniken an Beispielen erklärt Georg Anegg 5. November 009 Beispiel. Die Folge {a n } sei wie folgt definiert (a, d, q R, q ): a 0 a, a n+ a n q + d (n 0) Man bestimme eine explizite Darstellung

Mehr