You are on page 1of 4

Ampliació de Matemàtiques 2 | Examen de Final Quadrimestre 20/i/2022 – 12:00-13:30

2 2
1 (de 4) (2.5 punts) Donada l’equació d’ones ∂∂tu2 − ∂∂xu2 = 0, 0 < x < π, 0 ≤ t ≤ 0.4 amb
∂u
condicions de contorn u(0, t ) = u(π, t ) = 0, t > 0; i condicions inicials u(x, 0) = sin x, (x, 0) = 0 0 ≤ x ≤ 1.
π π
∂t
Considerant h = 5 ; k = 0.2, aproxima el valor de u(x, t ) a x = 5 i t = 0.4 mitjançant diferències finites (4 decimals).
Sabent que la solució analítica és u(x, t ) = sin x cos t , quin error relatiu és comet amb l’aproximació numèrica? (4 decimals)
Observa que sols cal determinar dos punts a temps anterior per poder calcular el valor que es demana.
2 )+u(x,t −k) ∂2 u(x,t )
Aproxima les derivades per diferències centrades: ∂ u(x,t )
' u(x,t +k)−2u(x,t , ' u(x+h,t )−2u(x,t )+u(x−h,t ) ∂u(x,t )
i ∂t ' u(x,t +k)−u(x,t −k)
2 ∂t 2 k 2 ∂x 2 h 2k

L’equació d’ones pot ser escrita u(x,t +k)−2u(x,tk2


)+u(x,t −k)
= u(x+h,t )−2u(x,t
h2
)+u(x−h,t )
. Si resolem l’equació per a u(x, t + k) en termes de
valors de u en temps anteriors, t i t − k, trobem:
u(x, t + k) = 2u(x, t ) − u(x, t − k) + C 2 (u(x + h, t ) − 2u(x, t ) + u(x − h, t )) amb C = hk éssent la constant de Courant. Si ara considerem
una malla a l’espai (x, t ) amb 5 intervals de longitud h = π/5 i 2 intervals en la direccio t , cadascun k = 0.2, podem expressar l’equació
en diferències anterior com (i = 0 · · · 5, j = 0 · · · 2): u i , j +1 = 2u i , j − u i , j −1 +C 2 (u i +1, j − 2u i , j + u i −1, j ) per iniciar el procés iteratiu cal, a
més de valors a t = 0 ( j = 0) –condicions inicials que donen els valors de u i ,0 = sin(x + i · h) per a 0 ≤ i ≤ 5 – els valors a temps 0 − k
( j = −1). Així ens cal fer servir l’altra condició incial u t (x, 0) = ∂u
∂t (x, 0) = 0 per poder obtenir els valors de u i ,−1 necessaris per trobar
els de u i ,1 . Fem servir l’aproximació de la derivada indicada que porta a u i ,−1 = u i ,1 . Així podem escriure (per a obtenir els valors a
C2 C2
u i −1,0 + (1 −C 2 )u i ,0 +
j = 1) u i ,1 = 2u i ,0 − u i ,1 + C 2 (u i +1,0 − 2u i ,0 + u i −1,0 ), és dir u i ,1 = u i +1,0 . Una vegada els valors de u i ,1 han
2 2
estat calculats per a tot i , podem fer servir l’equació requadrada primera que ens dóna u i , j per trobar valors per a tot j ≥ 2. Per tant la
iteració a fer és:
C2 C2
( j = 1) u i ,1 = u i −1,0 + (1 −C 2 )u i ,0 + u i +1,0 ; ( j ≥ 2) u i , j = C 2 u i −1, j −1 + 2(1 −C 2 )u i , j −1 +C 2 u i +1, j −1 − u i , j −2
2 2
Així amb els valors donats, h = π5 i k = 0.2, tenim C = π1 i les iteracions a fer són:

j = 1 u i ,1 = 2π1 2 (u i −1,0 + u i +1,0 ) + (1 − π12 )u 1,0


1p
j ≥ 2 u i , j = π12 (u i −1, j −1 + u i +1, j −1 ) + 2(1 − π12 )u i , j −1 − u i , j −2

Observa que per trobar u( π5 , 0.4) solament cal determinar dos punts anteriors de la malla (els altres venen donats per les CC i les CI).
Primera iteració:

1 π
u 1,1 = 2π2
(0 + sin 2π 1
5 ) + ((1 − π2 ) sin 5 = 0.05066 · 0.95106 + 0.89868 · 0.58779 = 0.57641
1 π
u 2,1 = 2π2
3π 1
(sin 5 + sin 5 ) + ((1 − π2 ) sin 2π
5 = 0.05066(0.58779 + 0.95106) + 0.89868 · 0.95106 = 0.93265 0.5 p
Segona iteració:

u 1,2 = C 2 (u 0,1 + u 2,1 ) + 2(1 −C 2 )u 1,1 − u 1,0 = 1


π2
(0 + 0.93265) + 2(1 − π12 )0.57641 − sin π5 = 0.54273

π
Així el valor demanat és u( , 0.4) ≈ 0.54273 0.5 p
5

La solució analítica és u( π5 , 0.4) = sin π5 cos 0.4 = 0.54139 i així error relatiu = | 0.54139−0.54273
0.54139 | = 0.002475 ( 0.2475 %) 0.5 p

codi python a https://sagecell.sagemath.org/?q=jccnkx


2 (de 4) (2.5 punts) Considera el graf de la figura i determina els invariants i propietats b l

que s’indiquen (3 decimals): e i

(a) (0.25 punts) Ordre i mida del graf. Distribució de graus i els valors de la matriu d’adja- g
cència del graf que s’indiquen.
d h
(b) (0.5 punts) Excentricitat de cada vèrtex del graf i diàmetre del graf. c j

(c) (1 punts) Clustering de cada vèrtex del graf i clustering del graf.
f
(d) (0.75 punts) Té el graf un cicle eulerià? i un camí eulerià? Justifica adequadament la
a k
resposta.

Solució:
(a) Ordre, mida, graus, matriu d’adjacència. 0.25 p
(fila 2, columna 3) de la matriu d’adjacència = 1
Ordre: 12
(fila 6, columna 7) de la matriu d’adjacència = 0
Mida. = 24
(fila 12, columna 2) de la matriu d’adjacència = 1
Distrib. graus. = [0, 0, 2, 9, 0, 1]
..................................................................................................................................
(b) Excentricitat de cada vèrtex i diàmetre del graf.
a b c d e f g h i j k l mitjana

excentricitat 3 3 3 3 3 2 3 3 3 3 3 3 2.91667
Diàmetre del graf: 3 Justificació:
L’excentricitat d’un vèrtex és la distància al vèrtex més llunyà. El diàmetre del graf és la màxima de les excentricitats de
tots els vèrtexs.0.5 p
..................................................................................................................................
(c) Clustering de cada vèrtex. Justificació:
Per a cada vèrtex comptem les branques que tenen entre ells els seus veïns i dividim pel total possible de branques que
podrien tenir.

a, k -> 3/(4*3/2) = 1/2 = 0.5


b, l -> 2/(4*3/2) = 1/3 = 0.33333
c, j -> 3/(4*3/2) = 1/2 = 0.5
d, h -> 1/(3*2/2) = 1/3 =0.33333
e, i -> 2/(4*3/2) = 1/3 = 0.33333
f -> 3/(6*5/2) = 1/5 = 0.2
g -> 2/(4*3/2) = 1/3 = 0.33333

a b c d e f g h i j k l mitjana
68
1 1 1 1 1 1 1 1 1 1 1 1 15
clustering 2 3 2 3 3 5 3 3 3 2 2 3 12 = 0.37778
Clustering del graf: 1745 = 0.37778 1 p
..................................................................................................................................
(d) Camí eulerià:
Un camí (cicle) eulerià és aquell camí que recorre tots els vèrtexs d’un graf passant
b l
una i només una vegada per cada branca del graf En un cicle eulerià el vèrtex ini-
e i cial i el final del camí coincideixen. El teorema d’Euler diu que un graf connex és
g
eulerià (té un ciclé eulerià) si i només si tots els seus vèrtexs tenen grau parell. Si
el graf no és eulerià, aleshores conté un camí eulerià (no tancat) si i només sí hi ha
c
d h
j exactament dos vèrtexs amb el grau senar. En aquest darrer cas, qualsevol camí
eulerià té els seus extrems (inicic i final) en els dos vèrtexs de grau senar.
f En el graf donat, hi ha exactament dos vèrtexs de grau senar, per tant té un camí
a k eulerià, però no un cicle eulerià. 0.75 p
Seqüència de vèrtexs que formen el camí (n’hi ha d’altres) :
((h))-(i)-(j)-(l)-(k)-(j)-(f)-(h)-(g)-(e)-(c)-(f)-
-(k)-(a)-(f)-(d)-(g)-(i)-(l)-(b)-(c)-(a)-(b)-(e)-((d))

codi python a https://sagecell.sagemath.org/?q=zsqsap


3 (de 4) (2.5 punts) Per al graf amb pesos a les branques de la figura troba el camí més curt des de f a tots els altres vèrtexs
amb l’algorisme de Dijkstra. Fes servir una taula o explica detalladament el procés que s’ha seguit (incloent
l’ordre en que s’han considerat els vèrtexs actius). Indica per a tots els vèrtexs el valor de la seva distància a
f .
Indica el cost total de l’arbre de camins curts generat.
Solució:
Dijkstra lexicogràfic.
Assignem ∞ a tots el vèrtexs (no visitats) i 0 a f . Marquem com ’ac-
tiu’
f . A partir del vèrtex ’actiu’ on ens trobem, examinem els seus b
4 l
veïns i els assignem la distància més petita que resulti de la que tenen 1 7
o la suma de la que té el vèrtex ’actiu’ i la branca que l’uneix. Des- e i
5 2 2 3
prés d’haver fet això mateix per tots els veïns, marquem com visitat el 3 g 1 4
vèrtex ’actiu’ i ja no es visitarà més. Seleccionem el veí amb etiqueta 1
1 17 4
més baixa i el fem "actiu". Repetim el procés (cerca en amplada, amb d h
c j
ordre lexicogràfic) per a tots els vèrtexs fins que no quedin vèrtexs per 4 6 8
visitar. 4 1
f 3 2
Aquest arbre no té necessariament cost minim, i en aquest cas el seu 4
a k
cost és 31 . 1
it. actiu a b c d e f g h i j k l
0 f 4f ∞ 1f 4f ∞ 0f ∞ 6f ∞ 8f 3f ∞

1 c 4f 6c 1f 4f 4c . ∞ 6f ∞ 8f 3f ∞

2 k 4f 6c . 4f 4c . ∞ 6f ∞ 5k 3f 7k

3 a 4f 5a . 4f 4c . ∞ 6f ∞ 5k . 7k

4 d . 5a . 4f 4c . 5d 6f ∞ 5k . 7k

5 e . 5a . . 4c . 5d 6f ∞ 5k . 7k

6 b . 5a . . . . 5d 6f ∞ 5k . 7k

7 g . . . . . . 5d 6f 7g 5k . 7k

8 j . . . . . . . 6f 7g 5k . 7k

9 h . . . . . . . 6f 7g . . 7k

10 i . . . . . . . . 7g . . 7k

11 l . . . . . . . . . . . 7k
1.5 p
.......................................................................................................................

iteració 0 1 2 3 4 5 6 7 8 9 10 11
vèrtex actiu f c k a d e b g j h i l 0.5 p

dist. del
f 0 1 3 4 4 4 5 5 5 6 7 7
Camins curts - Cost de l’arbre: 31 0.5 p
a: 4 - [’f’, ’a’] b l
b: 5 - [’f’, ’a’, ’b’]
e i
c: 1 - [’f’, ’c’] 10
d: 4 - [’f’, ’d’] 5 g
e: 4 - [’f’, ’c’, ’e’] 7
f: 0 - [’f’] 6 11
g: 5 - [’f’, ’d’, ’g’] d h
c j
4
h: 6 - [’f’, ’h’] 9
i: 7 - [’f’, ’d’, ’g’, ’i’] 1 8
3 f 2
j: 5 - [’f’, ’k’, ’j’]
k: 3 - [’f’, ’k’] a k
l: 7 - [’f’, ’k’, ’l’]

codi python a https://sagecell.sagemath.org/?q=gdxuia


4 (de 4) (2.5 punts) Donat el graf de la figura, aplica l’algorisme de Christofides per trobar un cicle hamiltonià amb
pes total baix. (Un cicle hamiltonià és un cicle que passa exactament una sola vegada per cada vèrtex.)
Utilitza les còpies per remarcar passos intermitjos, amb una descripció al costat. Remarca el resultat trobat a la còpia “cicle hamiltonià”.

Solució: b
4 l
1 7
e i
5 2 2 3
3 g 1 4
1
1 17 4
d h
c j
4 6 8
4 1
f 3 2
4
a k
1
b 3
l
(a) MST (arbre generador de cost mínim)
e i
6
Mitjançant l’algorisme de Prim o Kruskal trobem un arbre ge- 11
9 g
nerador de cost mínim. Aquí hem considerat Prim començant 4 5
7

a (a) i amb ordre lexicogràfic. És correcte considerar qualssevol 1


d h
c j
altre mètode i criteri. Aquest arbre serà la base del cicle hamil- 10
tonià que busquem. MSP amb pes (cost) 17. 0.5 p 8
f

a k
2

b l
(b) MPM (emparellament perfecte de cost mínim)
e i
Se seleccionen els vèrtexs de l’arbre anterior de grau imparell
– n’hi ha sempre un nombre parell, perquè ?1 – i s’uneixen mit- g

jançant un emparellament de cost mínim -fent servir branques d h


c j
existents al graf original, encara que se superposin a les del
MST-. Per a aquest graf és possible trobar un emparellament
f
perfecte únic (i per tant de cost mínim). L’emparellament és
a k
(f)-(h), (e)-(b)-(l). MPM cost 11. 0.5 p

b l
(c) Cicle eulerià
S’uneix el MST amb el MPM resultant un mul- e i

tigraf on tots els vèrtexs tenen grau parell. Ara g


és possible trobar un cicle eulerià. Per exemple,
(a)-(b)-(e)-(c)-(f)-(h)-(i)-(g)-(d)-(e)-(b)-(l)-(j)-(k)---(a) d h
c j
0.5 p
f

a k

4
(d) Dreceres (shortcuts) i cicle hamiltonià resultant b l

Si el cicle eulerià “repeteix” vèrtexs i cal evitar-ho, a poder ser 1


e i
2
pel camí més curt possible. En aquest cas hi ha una opció clara:
g 1 3
podem substituir el camí (a)-(b)-(e)-(c) de cost 5 per la bran- 1
1
ca (a,c) de cost 4. 0.5 p d h
c j
1 6
El resultat és el cicle hamiltonià 4 2
f
(a)-(c)-(f)-(h)-(i)-(g)-(d)-(e)-(b)-(l)-(j)-(k)---(a)
de cost 27. 0.5 p a k
1

1 The sum of all the degrees of any graph is equal to twice the number of edges. Since the sum of the degrees is even and the sum of the degrees

of vertices with even degree is even, the sum of the degrees of vertices with odd degree must be even. If the sum of the degrees of vertices with odd
degree is even, there must be an even number of those vertices.

You might also like