20 -27 Νοέμβρη 2002

Post on 11-Jan-2016

36 views 1 download

description

20 -27 Νοέμβρη 2002. Περιεχόμενα. Γιατί Λύνουμε Εξισώσεις ; Ελαχιστοποίηση & Μεγιστοποίηση Συμβολική Επίλυση Εξισώσεων Αριθμητική Επίλυση Εξισώσεων Μέθοδοι Αριθμητικής Επίλυσης Εύρεση Ριζών με την Μέθοδο της Διχοτόμου Ο Αλγόριθμος της Διχοτόμου στην Maple - PowerPoint PPT Presentation

Transcript of 20 -27 Νοέμβρη 2002

Μαθηματικοί ΥπολογισμοίΜαθηματικοί ΥπολογισμοίΧειμερινό Εξάμηνο 2002-2003

8η Διάλεξη8η Διάλεξη

Επίλυση ΕξισώσεωνΕπίλυση Εξισώσεων

http://www.math.uoc.gr/~mav/my

20-27 Νοέμβρη 2002

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

2

Περιεχόμενα Γιατί Λύνουμε Εξισώσεις; Ελαχιστοποίηση & Μεγιστοποίηση Συμβολική Επίλυση Εξισώσεων Αριθμητική Επίλυση Εξισώσεων Μέθοδοι Αριθμητικής Επίλυσης Εύρεση Ριζών με την Μέθοδο της Διχοτόμου

Ο Αλγόριθμος της Διχοτόμου στην Maple Εύρεση Ριζών Μέσω ενός Μοντέλου της Συνάρτησης

Μοντέλο 1ου Βαθμού – Επαναλήψεις N-R N-R στην Maple Πότε Συγκλίνει N-R;

Η Μέθοδος της Χορδής Η Μέθοδος της Χορδής-Περιορισμού Άλλες Μέθοδοι Τρόποι Επιλογής Μεθόδου Ρυθμός Σύγκλισης της Χορδής Ρυθμός Σύγκλισης και Ακρίβεια Πλεονεκτήματα Υπερ-Γραμμικής Σύγκλισης

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

3

Εισαγωγή

Θα εξετάσουμε τρόπους επίλυση εξισώσεων με χρήση υπολογιστή – συμβολικά ή αριθμητικά.

Υπάρχουν πολλά είδη εξισώσεων: Εξισώσεις μιας μεταβλητής, με μοναδική ή όχι

λύση. Συστήματα εξισώσεων πολλών μεταβλητών. Εξισώσεις με ακέραιες ή μιγαδικές μεταβλητές. Διαφορικές εξισώσεις, εξισώσεις με

ολοκληρώματα, ...

Θα επικεντρωθούμε σε εξισώσεις μια πραγματικής μεταβλητής. Θα γράφουμε τις εξισώσεις μας αυτές στην μορφή f(x)=0, οπότε θα μπορούμε να δούμε το πρόβλημά μας σαν πρόβλημα εύρεσης ριζών.

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

4

Γιατί Λύνουμε Εξισώσεις;

Η επίλυση εξισώσεων είναι συχνά απαραίτητη τόσο για θεωρητικές όσο και για πρακτικές εφαρμογές. Μερικά παραδείγματα:

Θεωρήστε την κίνηση του βραχίονα ενός ρομπότ, με γωνίες άρθρωσης θ και φ τις οποίες μπορούμε να ελέγξουμε. Τα άκρα του βραχίονα είναι στα σημεία

x = a cos(θ) + b cos(θ+φ)

υ = a sin(θ) + b sin(θ+φ)

Για να θέσουμε τον βραχίονα σε κάποια θέση (x,y) πρέπει να λύσουμε τις εξισώσεις αυτές ως προς θ και φ.

Έστω ότι έχουμε ένα μοντέλο του πώς θα αλλάξει ο πληθυσμός και η διαθέσιμη τροφή του πλανήτη στο μέλλον. Τότε μπορούμε να καθορίσουμε πότε η παραγωγή τροφής θα υπολείπεται της ζήτησης λύνοντας απλά μια εξίσωση.

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

5

Ελαχιστοποίηση & Μεγιστοποίηση

Προβλήματα εύρεσης ακρότατων μιας ομαλής συνάρτησης μπορούν να επιλυθούν υπολογίζοντας τις ρίζες της παραγώγου της.

Για να βρούμε το x που μεγιστοποιεί την f(x), βρίσκουμε τις λύσεις της f’(x)=0, από τις οποίες επιλέγουμε αυτές που δίνουν f’’(x)<0. Αυτά είναι τα τοπικά μέγιστα.

Προβλήματα εύρεσης ακρότατων πηγάζουν από πολλές εφαρμογές:

Μια εταιρεία που έχει ένα μοντέλο για τους πελάτες, τους ανταγωνιστές και το κόστος παραγωγής θα μπορούσε να λύσει για την βέλτιστη τιμή (μεγιστοποιεί το κέρδος) του προϊόντος.

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

6

Συμβολική Επίλυση Εξισώσεων

Μερικές (λίγες) φορές μπορούμε να λύσουμε εξισώσεις συμβολικά με το χέρι, ή με ένα σύστημα σαν την Maple.

> solve(x^2+x 1=0,x);

1/2 1/2

1/2 + 1/2 5 , 1/2 1/2 5

> solve(sin(x+1)=1,x);

1/2 Pi 1

> solve({x+2*y=1,y+1=x^2},{x,y});

{x = 1, y = 0}, {y = 5/4, x = 3/2} Αλλά αυτό δεν συμβαίνει πάντα

> solve(x^3+sin(1+x)=0,x);

Η σιωπή της Maple σημαίνει ότι δεν μπόρεσε να βρει λύσει παρόλο που υπάρχει!

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

7

Αριθμητική Επίλυση ΕξισώσεωνΌταν αποτύχουμε στην συμβολική επίλυση, μπορούμε να

χρησιμοποιήσουμε μια μέθοδο που θα μας δώσει μια αριθμητική απάντηση. Η Maple το κάνει αυτό με την fsolve:> fsolve(x^3+sin(1+x)=0,x); .6800575892

Εδώ, η αριθμητική λύση χρησιμοποιείται για την εύρεση του μεγίστου> y:= x^4+10*x^2+20*x; 4 2

y := x + 10 x + 20 x > fsolve(diff(y,x)=0,x); 2.627365085 > subs(x='',diff(y,x$2)); 62.83656748

Μια και η δεύτερη παράγωγος είναι αρνητική, το σημείο στο οποίο η πρώτη παράγωγος είναι μηδέν είμαι μέγιστο.

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

8

Μέθοδοι Αριθμητικής Επίλυσης

Υπάρχουν πολλές αριθμητικές μέθοδοι επίλυσης. Θα εξετάσουμε τις εξής:

Μέθοδος Διχοτόμου – Μια απλή και εύρωστη, αλλά απελπιστικά αργή μέθοδος.

Επαναλήψεις Newton-Raphson (N-R) – Μια πολύ πιο γρήγορη μέθοδος, όταν δουλεύει.

Μέθοδος της Χορδής – Μια πιο εύρωστη, από την N-R, μέθοδος αλλά όχι τόσο γρήγορη.

Καμία από τις παραπάνω μεθόδους δεν είναι τέλεια.

Γενικά είναι πολύ δύσκολο να εγγυηθούμε ότι κάποια αριθμητική μέθοδος θα μας βρει πάντα όλες τις ρίζες.

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

9

Εύρεση Ριζών με την Μέθοδο της Διχοτόμου

Υποθέστε ότι η είναι συνεχής και ότι έχουμε βρει τιμές των a και b τέτοιες ώστε f(a)<0, f(b)>0. Τότε είμαστε σίγουροι ότι η f έχει μια ρίζα μεταξύ των a και b.

Μπορούμε να βρούμε μια τέτοια ρίζα διχοτομώντας το διάστημα [a,b], μέχρι να ικανοποιηθούμε:

Είναι μια πολύ εύρωστη μέθοδος – τίποτε δεν την σταματά.

Όμως θα μας δώσει μόνον μία ρίζα! Μπορεί να υπάρχουν και άλλες. Επίσης είναι και πολύ αργή

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

10

Ο Αλγόριθμος της Διχοτόμου στην Maplebisection := proc(f,x,rng,tolerance)

local lx, hx, mx, lf, hf, mf; lx := evalf(op(1,rng)); hx := evalf(op(2,rng)); lf := evalf(eval(subs(x=lx,f))); hf := evalf(eval(subs(x=hx,f))); if lf=0 then RETURN(lx) fi; if hf=0 then RETURN(hx) fi; do

mx := (lx+hx) / 2; if abs(mx lx)<tolerance or abs(mx hx)<tolerance then

RETURN(mx); fi; mf := evalf(eval(subs(x=mx,f))); if mf=0 then

RETURN(mx); fi; if mf>0 and lf>0 or mf<0 and lf<0 then

lx := mx; else

hx := mx; fi;

od; end;

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

11

Εύρεση Ριζών Μέσω ενός Μοντέλου της Συνάρτησης

Πώς μπορούμε να βελτιώσουμε την διχοτόμου; Ένας τρόπος:

1. Κατασκεύασε ένα “μοντέλο” της συνάρτησης, με βάση τα σημεία στα οποία ξέρεις την τιμή της.

2. Υπολόγισε την ρίζα της συνάρτησης μοντέλου, και χρησιμοποίησέ την σαν προσέγγιση της ρίζας της αρχικής συνάρτησης.

3. Υπολόγισε την τιμή της αρχικής συνάρτησης στο σημείο αυτό και επέστρεψε στο 1ο βήμα.

Η κατασκευή του μοντέλου είναι λίγο πολύ σαν την προσέγγιση της συνάρτησης με πολυώνυμα ή με κάποια άλλη παρεμβάλουσά της.

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

12

Μοντέλο 1ου Βαθμού – Επαναλήψεις N-R

Μπορούμε να κατασκευάσουμε ένα μοντέλο 1ου βαθμού μιας συνάρτησης χρησιμοποιώντας την τιμή της και την τιμή της παραγώγου της σε κάποιο σημείο.

Επαναλαμβάνοντας την διαδικασία αυτήν, κατασκευάζοντας ένα μοντέλο, βασιζόμενοι στο σημείο (ρίζα) που βρήκαμε προηγουμένως, έχουμε την επαναληπτική μέθοδο N-R.

Παίρνουμε την επόμενη προσέγγιση, xi+1, από την προηγούμενη, xi, ως εξής xi+1 = xi - f(xi)/f’(xi)

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

13

N-R στην Maplenewton := proc(f,x,start,tolerance,maxi)

local df, z, zf, zd, oz, i; if tolerance!=0 then

ERROR(`H 4h parametros prepei na einai thetikh`); fi; if not type(maxi,integer) or maxi<=0 then ERROR(`H 5h parametros parista megisto plithos epanalipsevn `); fi; df := diff(f,x); z := evalf(start); for i from 1 to maxi do

oz := z; zf := evalf(subs(x=z,f)); zd := evalf(subs(x=z,df)); z := z zf/zd; if abs(z oz)<tolerance then

RETURN(z); fi;

od; ERROR(`Den vrethike I riza meta apo oles tis epanalipseis`); end;

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

14

Πότε Συγκλίνει N-R;

Οι επαναλήψεις N-R απαιτούν η συνάρτηση να είναι διαφορίσιμη (και να μπορούμε φυσικά να υπολογίσουμε τις παραγώγους της).

Δυστυχώς, οι προσεγγίσεις N-R μπορεί να μην συγκλίνουν ακόμα και εάν οι παράγωγοι υπάρχουν. Για παράδειγμα:

Εάν όμως ξεκινήσουμε πολύ κοντά στην προς υπολογισμό ρίζα, για το συγκεκριμένο παράδειγμα, έχουμε σύγκλιση!

Ενδεχομένως να έχουμε προβλήματα εάν και η παράγωγος είναι μηδέν στην προς υπολογισμό ρίζα.

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

15

Η Μέθοδος της Χορδής

Τι θα κάνουμε εάν δεν ξέρουμε πώς να υπολογίσουμε τις παραγώγους;

Η μέθοδος της χορδής κατασκευάζει ένα μοντέλο 1ου βαθμού της συνάρτησης χρησιμοποιώντας τις δυο τελευταίες τιμές της.

Ξεκινώντας από τις τιμές x0 και x1, η μέθοδος της χορδής συνεχίζει επαναληπτικά ως εξής:

Δεν είναι όσο ταχύς είναι η N-R αλλά πολύ ταχύτερη από την διχοτόμο.

Δυστυχώς, μπορεί να αποκλίνει όπως ακριβώς και η N-R.

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

16

Η Μέθοδος της Χορδής-Περιορισμού

Υποθέστε ότι, όπως και στην μέθοδο της διχοτόμου, έχουμε ένα αρχικό διάστημα στο οποίο υπάρχει μια ρίζα. Πώς μπορούμε να βελτιώσουμε την διχοτόμο και ταυτόχρονα να εγγυηθούμε την σύγκλιση;

Η μέθοδος Χορδής-Περιορισμού κατασκευάζει ένα μοντέλο 1ου βαθμού βασιζόμενη στα δύο αρχικά σημεία:

Δυστυχώς δεν συγκλίνει τόσο γρήγορα όσο η χορδή.

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

17

Άλλες Μέθοδοι

Υπάρχει μια μεγάλη γκάμα άλλων μεθόδων, που βασιζόμενες σε διάφορες πληροφορίες, χρησιμοποιούν υψηλού βαθμού μοντέλα της συνάρτησης. Για παράδειγμα:

Κατασκευή δευτεροβάθμιου μοντέλου που βασίζετε στις 3 προηγούμενες τιμές της συνάρτησης (μέθοδος του Muller).

Κατασκευή δευτεροβάθμιου μοντέλου που βασίζετε στην τιμή της συνάρτησης και των 2 πρώτων παραγώγων της στο προηγούμενο σημείο.

Κατασκευή τριτοβάθμιου μοντέλου που βασίζετε στην τιμή της συνάρτησης και της παραγώγου της στα προηγούμενα 3 σημεία.

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

18

Τρόποι Επιλογής Μεθόδου

Για να επιλέξουμε ποια μέθοδο θα χρησιμοποιήσουμε πρέπει να εξετάσουμε 3 πράγματα:

Την πληροφορία που απαιτεί η χρήση της μεθόδου. Μόνον τιμές της συνάρτησης, ή και παραγώγων της; Ένα σημείο εκκίνησης ή δύο (που να περιέχουν ρίζα);

Πόσο ρωμαλέα είναι η μέθοδος; Δηλ. Αποτυγχάνει μερικές φορές να βρει ρίζα που υπάρχει;

Πόσο γρήγορα βρίσκει την ρίζα;

Συνήθως χρησιμοποιούνται υβριδικές μέθοδοι που προσπαθούν να εκμεταλλευτούν τα προσόντα διάφορων μεθόδων ταυτόχρονα.

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

19

Ρυθμός Σύγκλισης της Χορδής

Πόσο ακριβής είναι το αποτέλεσμα της διχοτόμου μετά από n επαναλήψεις;

Έστω ότι ξεκινάμε με ένα διάστημα μήκους I που περιέχει μια ρίζα. Εάν επιλέξουμε σαν προσέγγιση της ρίζας το μέσο του διαστήματος και δεν συνεχίζαμε τις επαναλήψεις τότε το σφάλμα μας θα ήταν μικρότερο του

ε0 = I/2Κάθε επανάληψη υποδιπλασιάζει το μήκος του

διαστήματος, οπότε

εi+1= εi /2Μετά από n επαναλήψεις, το σφάλμα θα είναι

μικρότερο από

εn= 2-n(I /2)

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

20

Ρυθμός Σύγκλισης και Ακρίβεια Ψηφίων

Μπορούμε να μεταφράσουμε το σφάλμα μετά από n επαναλήψεις σε πλήθος σωστών ψηφίων μετά από n επαναλήψεις.

Απλά παίρνουμε λογάριθμους (βάσης 10). Σφάλμα μικρότερο του εn σημαίνει ότι το αποτέλεσμα είναι ακριβές σε περίπου –log(εn) ψηφία μετά την υποδιαστολή.

Πχ: Εάν το σφάλμα είναι μικρότερο απο 0.0001, το αποτέλεσμα είναι ακριβές σε –log(0.0001)=4 δεκαδικά ψηφία.

Για την διχοτόμο:

–log(εn) = –log(I/2) + n log(2) Το πλήθος των σωστών ψηφίων αυξάνει γραμμικά

με το n.

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

21

Ρυθμός Σύγκλισης της N-R

Έστω ότι μετά από i επαναλήψεις N-R βρήκαμε το σημείο xi, που είναι αρκετά κοντά στην ακριβή λύση x*. Ορίζουμε το σφάλμα εi=|xi-x*|. Πόσο θα είναι το σφάλμα αυτό εάν εκτελέσουμε μια ακόμα επανάληψη;

Χρησιμοποιούμε το θεώρημα του Taylor

για κάποιο c μεταξύ xi και x*.Μια και f(x*)=0, έχουμε

Το αριστερό μέρος είναι ίσο με xi+1-x*. Οπότε έχουμε

Εάν η f έχει συνεχή 2η παράγωγο, η παραπάνω σταθερά δεν θα μεταβάλλεται πολύ όσο το xi είναι κοντά στο x*. Συνεπώς το σφάλμα ελαττώνεται τετραγωνικά.

Μα

θη

μα

τικ

οί

Υπολογισ

μοί

22

Πλεονεκτήματα Υπερ-Γραμμικής Σύγκλισης

Για την διχοτόμο: εi+1 = C εi

Για τις επαναλήψεις: εi+1 = C εi2

Για κάποιες άλλες επαναλήψεις: εi+1 = C εip, p μεταξύ 1 και 2.

Πόσα σωστά ψηφία μετά από n επαναλήψεις;

Εάν εi+1 = C εip, τότε

Το οποίο μπορεί να γραφθεί σαν Di+1 = K + pDi.

Για p=1, το πλήθος των σωστών ψηφίων αυξάνει γραμμικά.

Για p=2, το πλήθος των σωστών ψηφίων σχεδόν διπλασιάζεται σε κάθε επανάληψη (για μεγάλο i).

Για κάθε p>1, το πλήθος των επαναλήψεων για να πάρουμε D σωστά ψηφία είναι ανάλογο του log(D) για αρκετά μεγάλο D.