Mai intai trebuie sa te autentifici.
Diferente pentru blog/probleme-de-formula intre reviziile #41 si #21
Nu exista diferente intre titluri.
Diferente intre continut:
Nu imi plac problemele "de formula"!Acestea sunt problemele de natura matematica din concursurile de programare, care ,de obicei, cer numararea unor configuratii si au ca raspuns o formula.Un motiv este lipsa de originalitate; e foarte probabil ca problema sa fi fost luata dintr-o carte de matematica. Alt motiv este ca nu testeaza partea de programare; de obicei programele ce rezolva astfel de probleme sunt usor de implementat (cateodata mai ai nevoie de numere mari...). Al treilea motiv e ca nu departajeaza elevii dupa valoarea sau ideile lor, ci mai mult "randomizeaza" rezultatele; unele formule sunt foarte greu de gasit pe cale matematica, dar sunt mai usor de ghicit.
Nu imi plac problemele "de formula"! Un motiv este lipsa de originalitate; e foarte probabil ca problema sa fi fost luata dintr-o carte de matematica. Alt motiv este ca nu testeaza partea de programare; de obicei programele ce rezolva astfel de probleme sunt usor de implementat (cateodata mai ai nevoie de numere mari...). Al treilea motiv e ca nu departajeaza elevii dupa valoarea sau ideile lor, ci mai mult "randomizeaza" rezultatele; unele formule sunt foarte greu de gasit pe cale matematica, dar sunt mai usor de ghicit.
Pentru a gasi formula de rezolvare, putem sa ne uitam la cateva rezultate mici si sa incercam sa ghicim cum arata formula ce le genereaza. O metoda banala ar fi sa variem fiecare parametru de intrare si sa vedem cum se modifica numarul cautat. In problema mea 'aladdin2':problema/aladdin2, se cere _numarul de colorari al celulelor unei table n X m cu alb sau negru astfel ca orice patrat de dimensiune 2x2 sa aiba exact doua patrate colorate alb si doua colorate negru_. Formula e banala $2^n^ + 2^m^ - 2$ si se observa imediat cu variarea dimensiunilor.
Intr-o alta prolema data la un baraj se cerea _afisarea numarului de arbori partiali ai unui graf bipartit complet cu n noduri de o parte si m noduri de cealalta_.E multmaisimplu saghiciti de formula $n^n-1^ * m^m-1^$decat samergetipecalearezolvarii oficialecarededuce formulaprinfolosirea'coduluiPrufer':http://en.wikipedia.org/wiki/Pr%C3%BCfer_sequence
Intr-o alta prolema data la un baraj se cerea _determinarea numarului de arbori partiali ai unui graf bipartit complet cu n noduri de o parte si m noduri de cealalta_. Credeti ca era greu sa va prindeti de formula $n^n-1^ * m^m-1^$ fara a deduce rezolvarea care foloseste 'codul Prufer':http://en.wikipedia.org/wiki/Pr%C3%BCfer_sequence ?
Adi Carcu imi zicea ca in '99 au inceput sa se dea probleme la baraj pentru care rezultatul era o combinare. La a doua problemade genul asta, multi dintre concurenti au generat triunghiul lui Pascal si au cautat rezultatele din exemplu in el. Astfel ei au rezolvat o problema de dificultate medie in cateva minute.
Adi Carcu imi zicea ca in '99 au inceput sa se dea probleme la baraj pentru care rezultatul era o combinare. La a doua astfel de problema, multi dintre concurenti au generat triunghiul lui Pascal si au cautat rezultatele din exemplu in el. Astfel ei au rezolvat o problema de dificultate medie in cateva minute.
Alta problema interesanta e determinarea _numarului de permutari fara puncte fixe_. Problema are o solutie draguta folosind programare dinamica.Totusi poate fi rezolvata altfel urmandschimbarearezultatuluiodatacu variarealui$n$,si seobserva destulde usorca poate fifolosita formula$[n!/e+ 1]$.
Alta problema interesanta e determinarea _numarului de permutari fara puncte fixe_. Problema are o solutie draguta folosind programare dinamica dar rezultatul e foarte apropiat de $n!/e$ si astfel prin variarea dimensiunii intrarii poti sa rezolvi problema foarte repede. {*FIXME: nu am inteles :)*}
In 2006 s-a dat la lot determinarea'numarului de acoperiri cu dominouri a unui diamant aztec':http://mathworld.wolfram.com/AztecDiamond.html. Formula e foarte simpla $2^n(n+1)/2^$ insa demonstratia solutiei e foarte complicata - implica folosirea de permanenti apoi transformarea lor in determinanti folosind numere complexe. Probabil nici baietii din lotul national de matematica nu s-ar descurca cu o problema de genul asta. Surprinzator, mare parte din concurentii de la concursul respectiv au rezolvat-o perfect. Unul dintre cei care nu a rezolvat-o, a fost Adrian Vladu, care, in loc sa incerce sa ghiceasca formula, a incercat sa gaseasca rezolvarea matematica. Euvazusem problema in faza de documentare pentru articolele mele cu 'probleme de acoperire':implica-te/scrie-articole.Stiam ca nu poate fi rezolvata decat prin ghicirea rezultatului.De aceea inca imi pare rau ca am fost in comisie si problema a fost folosita in concurs.
In 2006 s-a dat la lot determinarea numarului de acoperiri cu dominouri a unui diamant aztec (http://mathworld.wolfram.com/AztecDiamond.html). Formula e foarte simpla $2^n(n+1)/2^$ insa demonstratia solutiei e foarte complicata - implica folosirea de permanenti apoi transformarea lor in determinanti folosind numere complexe. Probabil nici baietii din lotul national de matematica nu s-ar descurca cu o problema de genul asta. Surprinzator, mare parte din concurentii de la concursul respectiv au rezolvat-o perfect. Unul dintre cei care nu a rezolvat-o, a fost Adrian Vladu, care, in loc sa incerce sa ghiceasca formula, a incercat sa gaseasca rezolvarea matematica. {*FIXME: reformuleaza fraza urmatoare. E un fel de gand personal amestecat cu o informatie*} Inca imi pare rau ca am fost in comisie si nu m-am uitat mai atent pe problema respectiva pentru ca o vazusem inainte in faza de documentare pentru articolele mele cu 'probleme de acoperire':implica-te/scrie-articole si stiam ca nu poate fi rezolvata decat prin ghicirea rezultatului.
Cand participi la un concurs online te poti uita pe 'Online encyclopedia of integer sequences':http://www.research.att.com/~njas/sequences/ Am folosit siteul asta pentru cateva probleme de la concursurile topcoder, si pentru o problema la Oni by Net. Sau poti sa cauti rezultatele pe Google :).
_Se cere sa se numere in cate moduri se pot aseza k regi pe tabla de sah de n x n astfel incat regii sa nu se atace._
Radu s-a gandit ca solutia va fi un polinom in doua variabile$P(n, k)$, iar gradul polinomului nu va fi prea mare (parca el a presupus ca limita e 6). Astfel a generat folosind metoda backtracking solutiile pentru$n <= 6$si$k <= 6$. A considerat coeficientii polinomului ca necunoscute si a rezolvat sistemul de ecuatii liniare date$P(n, k)$si valorile obtinute prin algoritmul backtracking. Astfel luat punctaj maxim pe problema respectiva.
Radu s-a gandit ca solutia va fi un polinom in doua variabile P(n, k), iar gradul polinomului nu va fi prea mare (parca el a presupus ca limita e 6). Astfel a generat folosind metoda backtracking solutiile pentru n <= 6 si k <= 6. A considerat coeficientii polinomului ca necunoscute si a rezolvat sistemul de ecuatii liniare date P(n, k) si valorile obtinute prin algoritmul backtracking. Astfel luat punctaj maxim pe problema respectiva.
Problema patrat(lot 2005), cerea _determinarea numarului de patrate magice de dimensiune 3x3 unde suma elementelor de pe linii, coloane si diagonale este$N$_. Solutia este un polinomul de gradul 4. Fie el$P(X) = aX^4^ + bX^3^ + cX^2^ + dX + e$. Numim$V{~1~}, V{~2~}, V{~3~}, V{~4~}si V{~5~}$numarul de solutii pentru$N = 1, ...,5$. Acum sistemul de care vorbeam mai sus va arata asa:
Problema patrat(lot 2005), cerea _determinarea numarului de patrate magice de dimensiune 3x3 unde suma elementelor de pe linii, coloane si diagonale este N_. Solutia este un polinomul de gradul 4. Fie el P(X) = aX^4^ + bX^3^ + cX^2^ + dX + e. Numim V_1, V_2, V_3, V_4 si V_5 numarul de solutii pentru N = 1, ... 6. Acum sistemul de care vorbeam mai sus va arata asa:
$a + b + c + d + e = V{~1~}$$16a + 8b + 4c + 2d + e = V{~2~}$$81a + 27b + 9c + 3d + e = V{~3~}$$256a + 64b + 16c + 4d + e = V{~4~}$$625a + 125b + 25c + 5d + e = V{~5~}$
a + b + c + d + e = V_1 16a + 8b + 4c + 2d + e = V_2 81a + 27b + 9c + 3d + e = V_3 256a + 64b + 16c + 4d + e = V_4 625a + 125b + 25c + 5d + e = V_5
Pentru polinoame intr-o singura variabila mai puteti folosi metoda 'diferentelor divizate':http://en.wikipedia.org/wiki/Divided_differences#Forward_differences care are o implementare foarte simpla. Daca formula e ceva mai complicata decat un polinom, putem sa speram ca sirul solutiilor e caracterizat de o recurenta liniara, si astfel putem folosi din nou rezolvarea de sisteme de ecuatii lineare pentru a afla coeficientii recurentei.
Sper ca am aratat ca propunerea unei*probleme de formula*este o idee*foarte proasta*! Si chiar daca va confruntati cu una veti putea sa o rezolvati rapid folosind micile trucuri expuse mai sus.Chiar daca si eu am propus o problema de formula, sper ca ele vor disparea din concursurile importante gen ONI, baraje si LOT.
Sper ca am aratat ca propunerea unei probleme de formula este o idee foarte proasta! Si chiar daca va confruntati cu una veti putea sa o rezolvati rapid folosind micile trucuri expuse mai sus.
In rest Paste Fericit si Bafta la ONI!
Diferente intre securitate:
protected
private
Diferente intre topic forum:
3029
