142735 afișări Candale Silviu (silviu) 04 apr
www.pbinfo.ro
Etichete: nicio etichetă

Analiza combinatorică este un domeniu al matematicii care studiază modalitățile de numărare ale elementelor mulțimilor finite, precum și de alegere și aranjare a lor. Numeroase concepte specifice acestui domeniu intervin și în probleme de algoritmică.

Produsul cartezian

Fie nN și mulțimile A1, A2., …, An. Produsul cartezian A1×A2××An este mulțimea n-uplurilor (x1,x2,,xn) cu proprietatea că x1A1, x2A2, …, xnAn.

Regula produsului: Dacă mulțimile A1, A2., …, An au respectiv k1, k2., …, kn atunci numărul de elemente al produsului cartezian A1×A2××An este k1k2kn.

Submulțimile unei multimi

Fie A o mulțimi cu n elemente. Atunci ea are 2n submulțimi:

Exemplu: Mulțimea A=1,2,3 are 23=8 submulțimi:

  1. {1}, {2}, {3}
  2. {1,2}, {1,3}, {2,3}
  3. {1,2,3}

Permutări

Se numește permutare o corespondență biunivocă (bijecție) între o mulțime finită și ea însăși.

Altfel spus, se numește permutare a unei mulțimi finite o aranjare a elementelor sale într-o anumită ordine.

Exemplu: permutările mulțimii {1,2,3} sunt: (1,2,3), (1,3,2), (2,1,3), (2,3,1), (3,1,2) și (3,2,1). Într-o altă reprezentare, acestea sunt:

(123123), (123132), (123213), (123231), (123312), (123321)

Dacă σ=(123312), atunci σ(1)=3, σ(2)=1 și σ(3)=2.

Numărul de permutări al unei mulțimi cu n elemente este Pn=n!=12n. Acest articol conține mai multe despre factorialul unui număr.

Numărul permutărilor unei mulțimi crește foarte repede. Pentru valori mici ale lui n, numărul permutărilor depășește domeniul de valori al datelor întregi, fiind necesară implementarea operațiilor pe numere mari.

Permutări cu repetiție

Considerăm un set de n obiecte de k tipuri. Avem n1 obiecte de tipul 1, n2 obiected e tipul 2, …, nk obiecte de tipul k și n1+n2++nk=n. Numărul de permutări distincte ale celor n obiecte este:

PR(n)=n!n1!n2!nk!

Exemplu: Numărul de anagrame distincte ale cuvântului ABABA este:

PR(2+3)=(2+3)!2!3!=1234512123=10

Acestea sunt: AAABB, AABAB, AABBA, ABAAB, ABABA, ABBAA, BAAAB, BAABA, BABAA, BBAAA.

Aranjamente

Dacă A este o mulțime cu n elemente, submulțimile ordonate cu k elemente ale lui A, 0 ≤ k ≤ n se numesc aranjamente a n elemente luate câte k.

Numărul de aranjamente de n luate câte k se notează Ank=n(n1)(n2)(nk+1)=n!(nk)!.

La fel ca în cazul permutărilor, pentru determinarea numărului de aranjamente poate fi necesară implementarea operațiilor pe numere mari.

Combinări

Pentru o mulțime dată o combinare reprezintă o modalitate de alegere a unor elemente, fără a ține cont de ordinea lor. Se numesc combinări de k elemente submulțimile cu k elemente ale mulțimii, presupuse cu n elemente. Numărul de asemenea submulțimi se numește combinări de n luate câte k și se notează Cnk.

Formule:

  • Cnk=AnkPk
  • Cnk=n(n1)(nk+1)12k
  • Cnk=n!k!(nk)!
  • Cnk={1dacă k=0,nk+1kCnkaltfel.
  • Cnk={1dacă n=k sau k=0,Cn1k1+Cn1kaltfel.; această formulă se regăsește în Triunghiul lui Pascal

Numerele lui Catalan

Termenul general al acestui șir este:

Cn=C2nnC2nn+1=1n+1C2nn=k=2nn+kk,pentru n0

O formulă recursivă:

Cn+1=i=0nCiCni

Pentru n=0,1,2,3, numere Catalan sunt: 1,1,2,5,14,42,132,429,1430,4862,.

Există numeroase probleme care au ca rezultat numerele lui Catalan. Amintim:

  • Cn este egal cu numărul de șiruri de n paranteze deschise și n paranteze închise care se închid corect. Pentru n=3, avem C3=5 variante: ((())), (())(), ()(()), ()()() și (()()).
  • numărul de cuvinte Dyck de lungime 2*n: formate din n caractere X și n caractere Y și în orice prefix numărul de X este mai mare sau egal cu numărul de Y. Pentru n=3: XXXYYY, XXYYXY, XYXXYY, XYXYXY, XXYXYY.
  • numărul de șiruri formate din n de 1 și n de -1 astfel încât toate sumele parțiale să fie nenegative.
  • Cn reprezintă numărul de modalități de a paranteza o expresie formată din n+1 operanzi ai unei operatii asociative: ((ab)c)d, (a(bc))d, (ab)(cd), a((bc)d), a(b(cd)).
  • Cn reprezintă numărul de modalităti de a desena “șiruri de munți” cu n linii crescătoare și n linii descrescătoare. Munții încep și se termină la același nivel și nu coboară sub acel nivel:
                                            /\
           /\          /\       /\/\       /  \
/\/\/\    /  \/\    /\/  \     /    \     /    \
  • numărul de drumuri laticiale de la punctul (0,0) la (2*n,0) cu pași din {(1,1),(1,-1) care nu coboară sub axa Ox.
  • Cn este numărul de modalități de a triangula un poligon cu n+2 laturi:

  • Cn este umărul de drumuri laticiale de la (0,0) la (n,n) cu pași din {(0,1),(1,0)} care nu depășesc prima diagonală y=x. Următoarea imagine conține drumurile pentru n=4:

  • numărul de siruri 1a1a2an cu proprietatea că akk este Cn.
  • Cn numărul de modalități de a acoperi o scară cu n trepte folosind n dreptunghiuri. Pentru n=4:

  • pe un cerc sunt 2*n puncte. Numărul posibilități de a desena n coarde care nu se intersectează este Cn.

Alte probleme care au care rezultat numărul lui Catalan sunt pe Wikipedia sau în documentul Exercises on Catalan and Related Numbers, Cambridge University Press, Richard P_ Stanley, June 1998.

Partițiile unei mulțimi

Fie A=a1,a2,,an o mulțime (finită). Se numește partiție a mulțimii A o familie de submulțimi A1,A2,,Ak ale lui A cu proprietățile:

  1. AiA, i=1,k
  2. A1A2Ak=A
  3. AiAj=, ij

De exemplu, A=1,2,3 are următoarele partiții:

  • 1,2,3
  • 1,2,3, 1,3,2, 1,2,3
  • 1,2,3

Numărul de partiții cu k submulțimi ale unei mulțimi cu n elemente se numește numărul lui Stirling de speța a doua, notat S(n,k). El respectă următoarea relație de recurență:

{S(0,0)=1S(0,n)=S(n,0)=0S(n+1,k)=kS(n,k)+S(n,k1)pentru k>0

Numerele Strirling de speța a doua pe Wikipedia

Numărul total de partiții ale unei mulțimi cu n elemente este numărul lui Bell: Bn=k=0nS(n,k)

Începând cu B0=B1=1, primele numere Bell sunt: 1,1,2,5,15,52,203,877,4140,.

Numerele Bell pot fi construite cu ajutorul așa-numitului triunghi Bell. Vom construi (parțial) un tablou A[][]:

  • A[0][1] = 1
  • primul element de pe liniile următoare este egal cu ultimul de pe linia precedentă: A[i][1] = A[i-1][i]
  • celelalte elemente ale fiecărei linii sunt egale cu suma celor după elemnte din stânga (linia curentă și linia precedentă): A[i][j] = A[i][j-1] + A[i-1][j-1], pentru j=2,..., i+1
  • primul elelemt de pe fiecare linie este numărul Bell corespunzător: Bn=A[n][1].

Numerele Bell pe Wikipedia

Citește mai departe


142735 afișări Candale Silviu (silviu) 04 apr
www.pbinfo.ro
Du-te sus!