Quelle: https://fsi.informatik.uni-erlangen.de/forum/thread/7523-LOeSUNGSVERSUCH-Klausur-Juli-2009 ==== 1. Komplexität ==== * O(n²) * O(n) * O(n*log(n)) * O(n) * O(n²) * O(n^1,5) * O(n) * O(m²n²) ==== 2. Multiple Choice (0 = nein, 1 = ja) ==== * a) 001001 * b) 00110 * c) 10110 * d) 01111 ==== 3. Filtern ==== === a) === * Tiefpassfilter: (... 0, 0, 0, 0, 0, 0, 0, 0, 0 ...) * Sobel-Filter: (... 1, -2, 1, 1, -2, 1, 1, -2, 1, ...) === b) === * Sobel: Kantendetektion * Tiefpass: Glättung === c) === * F1 : 1/3(1, 1, 1)^T und 1/3 (1, 1 ,1) * F2 : nicht separierbar * F3 : 1/3 (1, 2, 1)^T und 1/2(1 2 2 1) ==== 4. QR-Zerlegung ==== === a) === wähle **+**: / 47 -36 -20 -8 \ 1 | -36 -18 -45 -18 | -- * | -20 -45 38 -10 | 63 \ -8 -18 -10 59 / alternativ **-**: / 38 40 -40 -16 \ 1 | 40 20 50 20 | -- * | -40 50 20 -20 | 70 \ -16 20 -20 62 / === b) === Mit Householder: u_2 = (0, 2, -1)^T / 1 0 0 \ H_2 = | 0 -0,6 0,8 | = Q^T = (symmetrie) = Q \ 0 0,8 0,6 / / 1 0 3 \ R = | 0 -1,25 0,2 | \ 0 0 -3,6 / Mit Givens-Rotationen: / 1 0 0 \ J_32 = | 0 0,6 -0,8 | = Q^T \ 0 0,8 0,6 / => / 1 0 0 \ Q = | 0 0,6 0,8 | \ 0 -0,8 0,6 / / 1 0 3 \ R = | 0 1,25 -0,2 | \ 0 0 -3,6 / ==== 5. Singulärwertzerlegung==== === a) === * Singulärwerte: 3, 2, 1 * Rang = 3 * Bild = span { 1/5 (3, 0, -4)^T, 1/5 (0, 5, 0)^T, 1/5 (-4, 0, -3)^T } * Kern = {} (leere Menge) * Konditionszahl zur Euklidischen Norm von A: 3 * 1 = 3 === b) === x= (4 3 0)^T === c) === 1 / 36 27 0 \ -- * | 0 0 0 | 25 \ -48 -36 0 / ==== 6. Interpolation ==== === a) === n(x) = -3 für 0 <= x < 0,5 0 für 0,5 <= x < 1,5 5 für 1,5 <= x < 2,5 0 für 2,5 <= x < 3 Klarstellung: "y = -3 von x=0 bis x=0.5, y=0 ab x=0.5 bis x=1.5 usw..." === b) === l(x) = 3x-3 für 0 <= x < 1 5x-5 für 1 <= x < 2 -5x+15 für 2 <= x < 3 === c) === * c0 = -3 * c1 = 3 * c2 = 1 * c3 = -2 => a(x) = -3 + 3*x + 1*x*(x-1) -2*x(x-1)(x-2) === d) === Mit zentral symmetrischer Differenz (da Schritweite gleichverteilt) * m1 = 4 * m2 = 0 === e) === Es muss ersichtlich sein, dass die beiden Steigungen aus d) stimmen und die Kurve glatt ist (da C1 stetig) ==== 7. Interpolation ==== === a, b) === {{:pruefungen:bachelor:algoks:algoks_loesung_ss2009_7ab.jpg|:pruefungen:bachelor:algoks:algoks_loesung_ss2009_7ab.jpg}} === c) === * C(t) = (3 9)^T === d) === f(1) = (1 1)^T = g(0) = g_0 f'(1) = (2 0)^T = g'(0) g'(0) = 2*(g_1- (1 1)^T) (2 0)^T = 2*(g_1- (1 1)^T) => g_1 = (2 1)^T ==== 8. Coons-Patch ==== vec3 evalCoonsPatch(double s, double t) { vec3 F_s = (1-t)*C0(s) + t*C1(s); vec3 F_t = (1-s)*D0(t) + s*D1(t); vec3 F_st = (1-s)*(1-t)*C0(0) + (1-s)*t*C1(0) + s*(1-t)*C0(1) + s*t*C1(1); return F_s + F_t - F_st } ==== 9. Numerische Integration ==== ... ==== 10. Nichtlineare Optimierung ==== Vorsicht: Die Angabe verwendet eine alte Formel für die Berechnung von tau, die annimmt, dass die Suchrichtung s der //positive// Gradient ist. Seit einiger Zeit wird als Suchrichtung der negative Gradient gelehrt, daher muss man das Vorzeichen von tau umkehren. === a) === ( 4 1 ) A = ( 1 1 ) b = (0 -1)^T s0 = - grad(Q)(0, 0) = (0, 2) tau0 = -1/2 x1 = ( 0 1 )^T s1 = -( 2 0)T = ( -2 0 )^T tau1 = -1/8 x2 = ( -1/4 1)T === b) === g0 = b + A*x0 = (0 -1)^T s0 = -g0 = (0 1)^T alpha0 = 1 x1 = (0 1)^T g1 = (1 0)^T beta0 = 1 s1 = (-1 1)^T alpha1= 1/3 x2 = (-1/3 4/3)^T