• Keine Ergebnisse gefunden

h ( x )= a x mod p mod n f¨uralle x ∈ U. X    Sei U = { 0 ,...,p − 1 } f¨ureinePrimzahl p .Zun¨achsteinigemathematischeGrundlagen. ∈ Z [ x ] vomGrad <k ,wobeimit ~a =( a ,...,a ) ∈ U 4.4.2DynamischesperfektesHashing H Definition36 bezeichneindiesem

N/A
N/A
Protected

Academic year: 2021

Aktie "h ( x )= a x mod p mod n f¨uralle x ∈ U. X    Sei U = { 0 ,...,p − 1 } f¨ureinePrimzahl p .Zun¨achsteinigemathematischeGrundlagen. ∈ Z [ x ] vomGrad <k ,wobeimit ~a =( a ,...,a ) ∈ U 4.4.2DynamischesperfektesHashing H Definition36 bezeichneindiesem"

Copied!
32
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

4.4.2 Dynamisches perfektes Hashing

Sei U =

{0, . . . , p−

1} f¨ ur eine Primzahl p. Zun¨ achst einige mathematische Grundlagen.

Definition 36

Hk,n

bezeichne in diesem Abschnitt die Klasse aller Polynome

∈Zp

[x] vom Grad < k, wobei mit ~a = (a

0

, . . . , a

k−1

)

U

k

h

~a

(x) =

k−1

X

j=0

a

j

x

j

mod p

mod n f¨ ur alle x

U .

EADS 4.4 Perfektes Hashing 138/530

ľErnst W. Mayr

(2)

Definition 37

Eine Klasse

H

von Hashfunktionen von U nach

{0, . . . , n−

1}

heißt

(c, k)-universell, falls f¨

ur alle paarweise verschiedenen x

0

, x

1

, . . . , x

k−1

U und f¨ ur alle i

0

, i

1

, . . . , i

k−1 ∈ {0, . . . , n−

1}

gilt, dass

Pr[h(x

0

) = i

0∧ · · · ∧

h(x

k−1

) = i

k−1

]

c

n

k

,

wenn h

∈ H

gleichverteilt gew¨ ahlt wird.

(3)

Satz 38

Hk,n

ist (c, k)-universell mit c = (1 +

np

)

k

.

Beweis:

Da

Zp

ein K¨ orper ist, gibt es f¨ ur jedes Tupel (y

0

, . . . , y

k−1

)

U

k

genau ein Tupel (a

0

, . . . , a

k−1

)

∈Zkp

mit

k−1

X

j=0

a

j

x

jr

= y

r

mod p f¨ ur alle 0

r < k.

Damit folgt, dass

|{~a;

h

~a

(x

r

) = i

r

f¨ ur alle 0

r < k}|

=

|{(y0

, . . . , y

k−1

)

U

k

; y

r

= i

r

mod n f¨ ur alle 0

r < k}|

≤l

p n

mk

.

EADS 4.4 Perfektes Hashing 140/530

ľErnst W. Mayr

(4)

Beweis (Forts.):

Da es insgesamt p

k

M¨ oglichkeiten f¨ ur ~a gibt, folgt Pr[h(x

r

) = i

r

f¨ ur alle 0

r < k]

≤l

p

n

mk

·

1 p

k

=

l

p

n

m

·

n p

k

·

1 n

k

<

1 + n

p

k

·

1

n

k

.

(5)

Kuckuck-Hashing f¨ ur dynamisches perfektes Hashing

Kuckuck-Hashing arbeitet mit zwei Hashtabellen, T

1

und T

2

, die je aus den Positionen

{0, . . . , n−

1} bestehen. Weiterhin ben¨ otigt es zwei (1 + δ,

O(log

n))-universelle Hashfunktionen h

1

und h

2

f¨ ur ein gen¨ ugend kleines δ > 0, die die Schl¨ usselmenge U auf

{0, . . . , n−

1} abbilden.

Jeder Schl¨ ussel x

S wird

entweder

in Position h

1

(x) in T

1 oder

in Position h

2

(x) in T

2

gespeichert, aber nicht beiden. Die IsElement-Operation pr¨ uft einfach, ob x an einer der beiden Positionen gespeichert ist.

EADS 4.4 Perfektes Hashing 142/530

ľErnst W. Mayr

(6)

Die Insert-Operation verwendet nun das Kuckucksprinzip, um neue Schl¨ ussel einzuf¨ ugen. Gegeben ein einzuf¨ ugender Schl¨ ussel x, wird zun¨ achst versucht, x in T

1

[h

1

(x)] abzulegen. Ist das erfolgreich, sind wir fertig.

Falls aber T

1

[h

1

(x)] bereits durch einen anderen Schl¨ ussel y besetzt ist, nehmen wir y heraus und f¨ ugen stattdessen x in T

1

[h

1

(x)] ein.

Danach versuchen wir, y in T

2

[h

2

(y)] unterzubringen. Gelingt das, sind wir wiederum fertig. Falls T

2

[h

2

(y)] bereits durch einen anderen Schl¨ ussel z besetzt ist, nehmen wir z heraus und f¨ ugen stattdessen y in T

2

[h

2

(y)] ein. Danach versuchen wir, z in

T

1

[h

1

(z)] unterzubringen, und so weiter, bis wir endlich den zuletzt

angefassten Schl¨ ussel untergebracht haben. Formal arbeitet die

Insert-Operation wie folgt:

(7)

if T

1

[h

1

(x)] = x then return fi repeat MaxLoop times

(a) exchange x und T

1

[h

1

(x)]

(b) if x = NIL then return fi (c) exchange x und T

2

[h

2

(x)]

(d) if x = NIL then return fi od

rehash(); Insert(x)

EADS 4.4 Perfektes Hashing 144/530

ľErnst W. Mayr

(8)

F¨ ur die Analyse der Zeitkomplexit¨ at nehmen wir an, dass die Schleife t-mal durchlaufen wird (wobei t

MaxLoop).

Es gilt, die folgenden zwei F¨ alle zu betrachten:

1

Die Insert-Operation ger¨ at w¨ ahrend der ersten t Runden in eine Endlosschleife

2

Dies ist nicht der Fall

(9)

x1 x2 x3 xl

x1 x2 x3 . . . xj . . . xi

. . .

x1 x2 x3 . . . xj . . . xi

. . . xi+j+1 xi+j+2 xi+j+3

xi+j+2 xi+j+3 xi+j+1

(a)

(b)

(c)

. . . . .

. . . . . xl

x x

. . . .

. . . j’ l

Abbildung 3: Drei F¨alle f¨ur den Ausgang derInsertOperation. (a): Es wird keine Position zweimal besucht. (b):xibesucht die Position vonxj, was dazu f¨uhrt, dass alle Schl¨usselxj, . . . , x2wieder in ihre Ausgangspositionen zur¨uckgeschoben werden.x1versucht daraufhin die andere Alternativpositi- on, und hier terminiert die Kuckucksregel inx. (c):xibesucht die Position vonxjundxbesucht die Position vonxj, was zu einer Endlosschleife f¨uhrt.

2. DieInsertOperation formt keine Endlosschleife w¨arend der erstentRunden.

Wir untersuchen zun¨achst den ersten Fall. Seiv ≤ ℓ die Anzahl der verschiedenen angefassten Schl¨ussel. Dann ist die Anzahl der M¨oglichkeiten, eine Endlosscheife zu formen, h¨ochstens

v3·sv−1·nv−1

da es maximalv3 M¨oglichkeiten f¨ur die Werte i,j und ℓin Abb. 3 gibt, sv−1 viele M¨oglichkeiten f¨ur die Positionen der Schl¨ussel gibt, undnv−1 viele M¨oglichkeiten f¨ur die Schl¨ussel außerx1 gibt.

Angenommen, wir haben(1, v)-universelle Hashfunktionen, dann passiert jede M¨oglichkeit nur mit einer Wahrscheinlichkeit vons−2v. Falls nuns ≥ (1 +ǫ)nf¨ur eine Konstanteǫ > 0, dann ist die Wahrscheinlichkeit f¨ur den Fall 1 h¨ochstens

X v=3

v3sv−1nv−1s−2v≤ 1 sn

X v=3

v3(n/s)v=O(1/n2)

F¨ur den zweiten Fall ben¨otigen wir das folgende Lemma.

Lemma 1.7 Angenommen, dieInsertOperation formt keine Endlosschleife nachbesuchten Schl¨usseln.

Dann gibt es eine Schl¨usselfolge in der L¨ange mindestensℓ/3inx1, . . . , x, in der alle Schl¨ussel ver- schieden sind.

Beweis. Falls dieInsert Operation niemals zu einer bereits besuchten Position zur¨uckkehrt, die das Lemma wahr. Nehmen wir also an, dass die Operation zu einer bereits besuchten Position zur¨uckkehrt, und seieniundjso definiert wie in Abb. 3. Fallsℓ < i+j, dann bilden die erstenj−1≥(i+j−1)/2≥ ℓ/2Schl¨ussel die gesuchte Folge. F¨urℓ≥i+j muss eine der Folgenx1, . . . xj−1undxi+j−1, . . . , x

die L¨ange mindestensℓ/3haben. ⊓⊔

7

Insert bei Kuckuck-Hashing; Endlosschleife im Fall (c)

EADS 4.4 Perfektes Hashing 146/530

ľErnst W. Mayr

(10)

Erster Fall:

Sei v

l die Anzahl der verschiedenen angefassten Schl¨ ussel. Dann ist die Anzahl der M¨ oglichkeiten, eine

Endlosscheife zu formen, h¨ ochstens v

3·

n

v−1·

m

v−1

,

da es maximal v

3

M¨ oglichkeiten f¨ ur die Werte i, j und l gibt, n

v−1

viele M¨ oglichkeiten f¨ ur die Positionen der Schl¨ ussel, und m

v−1

viele M¨ ooglichkeiten f¨ ur die Schl¨ ussel außer x

1

.

Angenommen, wir haben (1, v)-universelle Hashfunktionen, dann passiert jede M¨ oglichkeit nur mit einer Wahrscheinlichkeit von n

−2v

. Falls n

(1 + δ)m f¨ ur eine Konstante δ > 0, dann ist die Wahrscheinlichkeit f¨ ur den Fall 1 h¨ ochstens

l

X

v=3

v

3

n

v−1

m

v−1

n

−2v

1 nm

X

v=3

v

3

(m/n)

v

=

O(

1

m

2

) .

(11)

Zweiter Fall:

Lemma 39

Im zweiten Fall gibt es eine Schl¨ usselfolge der L¨ ange mindestens l/3 in x

1

, . . . , x

l

, in der alle Schl¨ ussel paarweise verschieden sind.

Beweis:

Nehmen wir an, dass die Operation zu einer bereits besuchten Position zur¨ uckkehrt, und seien i und j so definiert wie in der Abbildung. Falls l

i + j, dann bilden die ersten

j

1

(i + j

1)/2

l/2 Schl¨ ussel die gesuchte Folge.

F¨ ur l

i + j muss eine der Folgen x

1

, . . . , x

j−1

und x

i+j−1

, . . . , x

l

die L¨ ange mindestens l/3 haben.

EADS 4.4 Perfektes Hashing 148/530

ľErnst W. Mayr

(12)

Beweis (Forts.):

Sei also x

01

, . . . , x

0v

eine solche Folge verschiedener Schl¨ ussel in x

1

, . . . , x

2t

der L¨ ange v =

d(2t−

1)/3e. Dann muss entweder f¨ ur (i

1

, i

2

) = (1, 2) oder f¨ ur (i

1

, i

2

) = (2, 1) gelten, dass

h

i1

(x

01

) = h

i1

(x

02

), h

i2

(x

02

) = h

i2

(x

03

), h

i1

(x

03

) = h

i1

(x

04

), . . . Gegeben x

01

, so gibt es m

v−1

m¨ ogliche Folgen von Schl¨ usseln x

02

, . . . , x

0v

. F¨ ur jede solche Folge gibt es zwei M¨ oglichkeiten f¨ ur (i

1

, i

2

). Weiterhin ist die Wahrscheinlichkeit, dass die obigen Positions¨ ubereinstimmungen gelten, h¨ ochstens n

−(v−1)

, wenn die Hashfunktionen aus einer (1, v)-universellen Familie stammen. Also ist die Wahrscheinlichkeit, dass es irgendeine Folge der L¨ ange v gibt, so dass Fall 2 eintritt, h¨ ochstens

2(m/n)

v−1

2(1 + δ)

−(2t−1)/3+1

.

Diese Wahrscheinlichkeit ist polynomiell klein in m, falls

t = Ω(log m) ist.

(13)

Beweis (Forts.):

Zusammen ergibt sich f¨ ur die Laufzeit von Insert :

1 +

MaxLoop

X

t=2

(2(1 + δ)

−(2t−1)/3+1

+

O(1/m2

))

1 +

O

MaxLoop m

2

+

O

X

t=0

((1 + δ)

−2/3

)

t

!

=

O

1 + 1

1

(1 + δ)

−2/3

=

O(1 + 1/δ)

.

EADS 4.4 Perfektes Hashing 150/530

ľErnst W. Mayr

(14)

Beweis (Forts.):

Uberschreitet ¨ m irgendwann einmal die Schranke n/(1 + δ), so

wird n hochgesetzt auf (1 + δ)n und neu gehasht. Unterschreitet

auf der anderen Seite m die Schranke n/(1 + δ)

3

, so wird n

verringert auf n/(1 + δ) und neu gehasht. Auf diese Weise wird die

Tabellengr¨ oße linear zur Anzahl momentan existierender Schl¨ ussel

gehalten. Der Aufwand f¨ ur ein komplettes Rehashing ist

O(n), so

dass amortisiert ¨ uber Θ(n) Einf¨ ugungen und L¨ oschungen der

Aufwand nur eine Konstante ist.

(15)

Originalarbeiten zu Hashverfahren:

J. Lawrence Carter, Mark N. Wegman:

Universal Classes of Hash Functions, Proc. STOC 1977, pp. 106–112 (1977) Gaston H. Gonnet:

Expected Length of the Longest Probe Sequence in Hash Code Searching,

Journal of the ACM

28(2), pp. 289–304 (1981)

Martin Dietzfelbinger et al.:

Dynamic Perfect Hashing: Upper and Lower Bounds, SIAM J. Comput.

23(4), pp. 738–761 (1994)

EADS 4.4 Perfektes Hashing 152/530

ľErnst W. Mayr

(16)

Und weiter:

Rasmus Pagh, Flemming Friche Rodler:

Cuckoo Hashing,

Proc. ESA 2001, LNCS

2161, pp. 121–133 (2001)

Luc Devroye, Pat Morin, Alfredo Viola:

On Worst Case Robin-Hood Hasing,

McGill Univ., TR

0212

(2002)

(17)

5. Vorrangwarteschlangen - Priority Queues Priority Queues unterst¨ utzen die Operationen

Insert(), Delete(), ExtractMin(), FindMin(), DecreaseKey(), Merge().

Priority Queues per se sind

nicht

f¨ ur IsElement()-Anfragen, also zum

Suchen

geeignet. Falls ben¨ otigt, muss daf¨ ur eine passende W¨ orterbuch-Datenstruktur parallel mitgef¨ uhrt werden.

EADS 5 Vorrangwarteschlangen - Priority Queues 154/530

ľErnst W. Mayr

(18)

5.1 Binomial Queues (binomial heaps)

Binomialwarteschlangen (Binomial Queues/Binomial Heaps) werden mit Hilfe von

Binomialb¨aumen

konstruiert.

Definition 40

Die Binomialb¨ aume B

n

, n

0, sind rekursiv wie folgt definiert:

sm sm s

sm s s

s

A A

sm

@

@

@ s @

Bn−1

Bn−1

B

0

B

1

B

2

B

n

Achtung:

Binomialb¨ aume sind offensichtlich

keine

Bin¨ arb¨ aume!

(19)

Lemma 41

Ein B

n

l¨ asst sich wie folgt zerlegen:

s

@

B

n−1@

s

@

B

n−2@

s

@

B

n−3@

s

@

B

1@

s

@

B

0@ s

#

#

#

#

#

c c c c c

q q q q

Erste Zerlegung von B

n

:

der Breite nach

EADS 156/530

ľErnst W. Mayr

(20)

Lemma 41

Ein B

n

l¨ asst sich wie folgt zerlegen:

s

B

0

s

B

0

s

@

B

1@

s

@

B

n−3@

s

@

B

n−2@

s

@

B

n−1@

p p p pp p p pp p

R¨ uckgrat

XX XXz

Zweite Zerlegung von B

n

:

der Tiefe nach

(21)

Satz 42

F¨ ur den Binomialbaum B

n

gilt:

1

B

n

hat 2

n

Knoten.

2

Die Wurzel von B

n

hat Grad n.

3

B

n

hat H¨ ohe/Tiefe n.

4

B

n

hat

ni

Knoten in Tiefe i.

EADS 5.1 Binomial Queues (binomial heaps) 157/530

ľErnst W. Mayr

(22)

Beweis:

zu 1: Induktion unter Verwendung der Definition zu 2: Siehe erste Zerlegung von Binomialb¨ aumen zu 3: Siehe zweite Zerlegung von Binomialb¨ aumen zu 4: Induktion ¨ uber n:

(I) n= 0:B0hat 1 Knoten in Tiefei= 0und0Knoten in Tiefe i >0, also 0i

Knoten in Tiefei.

(II) IstNin die Anzahl der Knoten in Tiefeiim Bn, so gilt unter der entsprechenden Induktionsannahme f¨urBn, dass

Nin+1=Nin+Ni−1n =

n

i

+

n

i−1

= n+ 1

i

, woraus wiederum per Induktion die Behauptung folgt.

(23)

Bemerkung:

Eine m¨ ogliche Implementierung von Binomialb¨ aumen ist das Schema

” Pointer zum

ersten

Kind und Pointer zum

n¨achsten

Geschwister“.

EADS 5.1 Binomial Queues (binomial heaps) 159/530

ľErnst W. Mayr

(24)

Definition 43

Eine

Binomial Queue

mit n Elementen wird wie folgt aufgebaut:

1

Betrachte die Bin¨ ardarstellung von n.

2

F¨ ur jede Position i mit einem 1-Bit wird ein Binomialbaum B

i

ben¨ otigt (der 2

i

Knoten hat).

3

Verbinde die (Wurzeln der) Binomialb¨ aume in einer doppelt verketteten zirkul¨ aren Liste.

4

Beachte, dass innerhalb jedes Binomialbaums die

Heap-Bedingung erf¨ ullt sein muss. Dadurch enth¨ alt die Wurzel eines jeden Binomialbaums gleichzeitig sein minimales

Element.

5

Richte einen

Min-Pointer

auf das Element in der Wurzel-Liste

mit minimalem Schl¨ ussel ein.

(25)

Beispiel 44

Beispiel: n = 11 = (1011)

2

: B

3

2

m

Q Q m Q

3

A m A

4

8

m A A

B

1

1

m

7

m

11

m

9

m

10

m

6

m

B

0

7

m

Y

j -

@

@ I

min

EADS 5.1 Binomial Queues (binomial heaps) 161/530

ľErnst W. Mayr

(26)

Operationen f¨ ur Binomial Queues:

IsElement : Die Heap-Bedingung wirkt sich nur auf die Anordnung der Datenelemente innerhalb jedes einzelnen Binomialbaums aus, regelt aber nicht, in welchem Binomialbaum ein gegebenes Element gespeichert ist.

Tats¨ achlich kann ein Element in jedem der vorhandenen Binomialb¨ aume stehen. Das Suchen ist hier nicht effizient implementierbar, denn im worst-case m¨ usste jedes Element der Binomialb¨ aume angeschaut werden.

Also w¨ aren zum Suchen eines Elements schlimmstenfalls 2

0

+ 2

1

+

· · ·

+ 2

blognc−1

= Θ(n) Elemente zu betrachten.

Daher wird eine gesonderte Datenstruktur, etwa ein

Suchbaum, f¨ ur die IsElement-Operation verwendet. Damit ist

Suchen mit Zeitaufwand

O(log

n) m¨ oglich.

(27)

Operationen f¨ ur Binomial Queues:

Merge: Das Vorgehen f¨ ur das Merge (disjunkte Vereinigung) zweier Binomial Queues entspricht genau der

Addition zweier Bin¨arzahlen: Ein einzelnes

B

i

wird ¨ ubernommen, aus zwei B

i

’s wird ein B

i+1

konstruiert. Damit die Heap-Bedingung erhalten bleibt, wird als Wurzel des entstehenden B

i+1

die Wurzel der beiden B

i

mit dem kleineren Schl¨ ussel genommen.

Allerdings kann ein solcher

” Ubertrag“ dazu f¨ ¨ uhren, dass im n¨ achsten Verschmelzungsschritt drei B

i+1

zu verschmelzen sind. Dann wird unter Beachtung obiger Regel ein B

i+2

gebildet und einer der B

i+1

unver¨ andert ¨ ubernommen.

EADS 5.1 Binomial Queues (binomial heaps) 163/530

ľErnst W. Mayr

(28)

Algorithmus:

for i := 0, 1, 2, 3, . . . do if (∃ genau 3 B

i

s) then

verbinde zwei der B

i

’s zu einem B

i+1

und behalte das dritte B

i

elif (∃ genau 2 B

i

s) then verbinde sie zu einem B

i+1

elif (∃ genau ein B

i

) then

¨ ubernimm es fi

od

Zeitkomplexit¨ at:

O(log

n) =

O(log(n1

+ n

2

))

(29)

Operationen f¨ ur Binomial Queues:

Insert: Die Insert-Operation wird einfach durch eine Merge-Operation mit einem B

0

implementiert.

Beispiel 45

1 0 0 1 0 1 1 1

(B

7

) (B

4

) (B

2

) (B

1

) (B

0

) 1

1 0 0 1 1 0 0 0

Zeitkomplexit¨ at:

O(log

n)

EADS 5.1 Binomial Queues (binomial heaps) 165/530

ľErnst W. Mayr

(30)

Operationen f¨ ur Binomial Queues:

Initialisierung einer BQ durch n sukzessive Insert-Operationen:

Hier erg¨ abe die obige Absch¨ atzung einen Gesamtaufwand von

O(n

log n), was allerdings schlecht abgesch¨ atzt ist.

Wir sind an den Kosten zum sukzessiven Aufbau einer Binomial Queue mit n Elementen interessiert, die ¨ ubrigens identisch sind zum Aufwand f¨ ur das bin¨ are z¨ ahlen von 0 bis n, wenn jeder Z¨ ahlschritt und jeder ¨ Ubertrag jeweils eine Zeiteinheit kosten:

0 + 1

| {z }

1

+1

| {z }

2Schritte

+1

| {z }

1

+1

| {z }

3

+1

| {z }

1

(31)

Sei a

n

die Anzahl der Schritte (Einf¨ ugen des neuen Elements und anschließende Verschmelzungen) beim Mergen eines Knotens zu einer Queue mit n

1 Elementen. Dann gilt f¨ ur a

n

:

n a

n

1 1 2 2 . . . 4 1 3 . . . 8 1 2 1 4

. . . 16 1 2 1 3 1 2 1 5

. . . 32 1 2 1 3 1 2 1 4 1 2 1 3 1 2 1 6 Man erkennt sofort, dass jede Zeile (außer den beiden ersten) doppelt so lange ist wie die vorhergehende und dabei die Folge aller vorhergehenden Zeilen enth¨ alt, wobei das letzte Element noch um eins erh¨ oht ist.

EADS 5.1 Binomial Queues (binomial heaps) 167/530

ľErnst W. Mayr

(32)

Damit ergibt sich f¨ ur den Gesamtaufwand der sukzessiven Erzeugung einer Binomial Queue mit n Elementen

T

n

=

n

X

i=1

a

i

= n +

j

n 2

k

+

j

n 4

k

+

j

n 8

k

+

· · ·

2n .

Abbildung

Abbildung 3: Drei F¨alle f¨ur den Ausgang der Insert Operation. (a): Es wird keine Position zweimal besucht

Referenzen

ÄHNLICHE DOKUMENTE

Ubungsaufgaben zur Vorlesung Mathematik II f¨ ¨ ur Ingenieure Serie 1 (Funktionen, Inverse Funktionen, Stetigkeit, Ableitungen) 1.. Welche der folgenden Funktionen sind

Mathematische Grundlagen der Informatik RWTH

Rate eine Nullstelle x 1 als Faktor des

Spektralmethoden Mathematik, FS

W¨ ahrend sich das Differenzieren durch Anwendung einfacher Regeln (Produkt-, Quotienten-, Kettenregel) erledigen l¨ asst, ist das Integrieren mit gr¨ oßeren Schwierigkeiten

Sind die Summanden in einer Reihe selbst Funktionen einer Variablen x, so stellt der Ausdruck P ∞. n=0 a n (x) eine Funktion dar,

Wenn der Graph einer Funktion f an der Stelle 1 einen Hochpunkt und an der Stelle 3 einen Tiefpunkt hat, dann liegt zwischen den Stellen 1 und 3 ein Wendepunkt des Graphen.. 4.1

[r]