Programarea Dinamica. (si alte chestii adiacente) Andrei Olariu

Similar documents
Pentru clasa a X-a Ştiinţele naturii-sem II

Soluţii juniori., unde 1, 2

ON THE QUATERNARY QUADRATIC DIOPHANTINE EQUATIONS (II) NICOLAE BRATU 1 ADINA CRETAN 2

Divizibilitate în mulțimea numerelor naturale/întregi

CURS 11: Programare dinamică - II - Algoritmica - Curs 12 1

Proiectarea Algoritmilor

Barem de notare clasa a V-a

Sisteme cu logica fuzzy

Teorema Reziduurilor şi Bucuria Integralelor Reale Prezentare de Alexandru Negrescu

Ecuatii si inecuatii de gradul al doilea si reductibile la gradul al doilea. Ecuatii de gradul al doilea

array a[0..n-1] a[0] = v0,..., a[n-1] = vn-1

1.3. OPERAŢII CU NUMERE NEZECIMALE

Reactoare chimice cu curgere piston (ideala) cu amestecare completa de tip batch (autoclava)

Utilizarea limbajului SQL pentru cereri OLAP. Mihaela Muntean 2015

UNITATEA DE ÎNVĂȚARE 3 Analiza algoritmilor

Gradul de comutativitate al grupurilor finite 1

ȘIRURI (TABLOURI UNIDIMENSIONALE)

GENERATOARE DE SEMNAL DIGITALE

4/68. Mini-comutatoare cu came. Prezentare generalã a sistemului. Întreruptoare Pornit-Oprit TM. Comutatoare de comandã TM.

Inteligenta Artificiala

Rezolvarea ecuaţiilor şi sistemelor de ecuaţii diferenţiale ordinare (II)

VINDECAREA BOLILOR INCURABILE PRIN METODE NATURALE BY MIKHAIL TOMBAK

Cristalul cu N atomi = un sistem de N oscilatori de amplitudini mici;

COMPARATIVE DISCUSSION ABOUT THE DETERMINING METHODS OF THE STRESSES IN PLANE SLABS

Self-Small Abelian Groups and Related Problems. (Abstract)

Laborator 3. Backtracking iterativ

Modelling the Steady State Characteristic of ph Neutralization Process: a Neuro-Fuzzy Approach

O V E R V I E W. This study suggests grouping of numbers that do not divide the number

Metode clasice. Camelia Chira.

Universitatea Politehnica Bucureşti Facultatea de Automatică şi Calculatoare Departamentul de Automatică şi Ingineria Sistemelor

SIMULAREA DECIZIEI FINANCIARE

PROBLEME DIVERSE lecţie susţinută la lotul de 13 de Andrei ECKSTEIN Bucureşti, 25 mai 2015

Habilitation Thesis. Periodic solutions of differential systems: existence, stability and bifurcations

Subiecte geometrie licenta matematica-informatica 4 ani

Liste. Stive. Cozi SD 2017/2018

Procedeu de demonstrare a unor inegalităţi bazat pe inegalitatea lui Schur

Reactoare chimice cu curgere piston (ideala) (Plug Flow Reactor PFR) cu amestecare completa (Mixed Flow Reactor MFR) de tip batch (autoclava)

Utilizarea claselor de echivalenta in analiza asistata de calculator a sistemelor cu evenimente discrete

QUASI-ANALYTIC SOLUTIONS OF FIRST-ORDER PARTIAL DIFFERENTIAL EQUATIONS USING THE ACCURATE ELEMENT METHOD

PRELUCRARI PE IMAGINI BINARE (ALB/NEGRU)

Ordin. pentru aprobarea structurii informaţiilor înscrise pe cardul naţional de asigurări sociale de sănătate

Cercet¼ari operaţionale

Manual Limba Germana

SOI prin smart-cut. Caracterizarea TEM-HRTEM a defectelor structuale induse in Si prin hidrogenare in plasma.

Matematici speciale Variabile aleatoare discrete

STRUCTURAL INTENSITY METHOD APPLIED TO STUDY OF VIBRATIONS DAMPING / METODA INTENSIMETRIEI STUCTURALE APLICATĂ LA STUDIUL AMORTIZĂRII VIBRAŢIILOR

Cautand originea masei (Cautand bosonul Higgs) Adrian Buzatu. Departmentul de Fizica & Astronomie Universitatea din Glagsow, Regatul Unit

Legi de distribuţie (principalele distribuţii de probabilitate) Tudor Drugan

"IIITO-TEC 'NIKI" & EQUIPME

A GENERALIZATION OF A CLASSICAL MONTE CARLO ALGORITHM TO ESTIMATE π

Proiectarea cu Micro-Procesoare

Laborator 5. Instructiuni de control logic : FOR, IF, WHILE. - Staţii de lucru care au instalat Orcad9.2. si MatLab 7.1

2D AND 3D PROCESSING OF THE INTERDEPENDENCE BETWEEN THE COMFORT MAIN INDICATORS

ANOVA IN THE EDUCATIONAL PROCESS

PENTRU CERCURILE DE ELEVI

Teoreme de Analiză Matematică - I (teorema Weierstrass-Bolzano) 1

BOOST CIRCUIT CONTROL IN TRANSIENT CONDITIONS

Curs II Dinamica spaţiului disponibil al sedimentării -noţiuni de stratigrafie secvenţială- modele diferite

COMPARATIVE STUDY OF STRUCTURAL ANALYSIS APPLIED TO AGRICULTURAL MACHINES BODIES AND ACCOMPLISHED WITH SOLID WORKS AND AUTODESK INVENTOR PROGRAMS

Agricultural Engineering

Rezultate în Teoria Punctului Fix şi Procese Iterative cu Aplicaţii

Metode numerice de aproximare. a zerourilor unor operatori. şi de rezolvare a inegalităţilor variaţionale. cu aplicaţii

MODEL FOR FLEXIBLE PLATES SUPPORTED ON PILES

luca frn Guardip$AroEsf

TWO BOUNDARY ELEMENT APPROACHES FOR THE COMPRESSIBLE FLUID FLOW AROUND A NON-LIFTING BODY

Graduări pe algebre de matrice

Courses 12-13: Dynamic programming

Controlul predictiv bazat pe modele intare-stare-iesire. Cuprins. 2. Modele intrare-stare-iesire :01

STUDY CONCERNING THE INFLUENCE OF PLASMA TREATMENTS ON POLYPROPYLENE FIBERS TENACITY

Alte rezultate din teoria codurilor

Numere prime. O selecţie de probleme pentru gimnaziu

FORMULELE LUI STIRLING, WALLIS, GAUSS ŞI APLICAŢII

SOLUŢII ŞI COMENTARII OIM 2012 MAR DEL PLATA ARGENTINA

Probleme extremale pentru grafuri si retele de transport

INEGALITĂŢI DE TIP HARNACK ŞI SOLUŢII POZITIVE MULTIPLE PENTRU PROBLEME NELINIARE

Avem 6 tipuri de simboluri in logica predicatelor:

Laborator 4. Rezolvarea ecuaţiilor diferenţiale în Matlab

GAZETA MATEMATICĂ SERIA A. ANUL XXXVI (CXV) Nr. 1 2/ 2018 ARTICOLE. Computing exponential and trigonometric functions of matrices in M 2 (C)

Despre AGC cuasigrupuri V. Izbaș

Curs 5 ELEMENTE STRUCTURALE SOLICITATE LA RASUCIRE

$IfNot ParametricTable= P_ratio_gas. P ratio,gas = 14; Raport comprimare compresor aer - Pressure ratio for gas compressor (2) $EndIf

MATEMATICĂ 3 PROBLEME DE REFLECŢIE

ANALYTICAL AND GRAPHICAL SOLUTIONS TO PROBLEMS IN DESCRIPTIVE GEOMETRY INVOLVING PLANES AND LINES

The 2017 Danube Competition in Mathematics, October 28 th. Problema 1. Să se găsească toate polinoamele P, cu coeficienţi întregi, care

FINDING THE TRACES OF A GIVEN PLANE: ANALYTICALLY AND THROUGH GRAPHICAL CONSTRUCTIONS

Counties of Romania List

HABILITATION THESIS. Qualitative analysis of some differential equations

Modelarea traficului in cadrul retelelor de radiotelefonie mobila

Clasa a 10-a. Review of preview

Teoreme de compresie-extensie de tip Krasnoselskii şi aplicaţii (Rezumatul tezei de doctorat)

Definiţie. Pr(X a) - probabilitatea ca X să ia valoarea a ; Pr(a X b) - probabilitatea ca X să ia o valoare în intervalul a,b.

Acta Technica Napocensis: Civil Engineering & Architecture Vol. 54 No.1 (2011)

Neuroepigenetică.

Câteva rezultate de algebră comutativă

FINITE ELEMENT ANALYSIS OF FRICTIONAL CONTACTS

AN APPROACH TO THE NONLINEAR LOCAL PROBLEMS IN MECHANICAL STRUCTURES

2. Finite Impulse Response Filters (FIR)

METODE NUMERICE: Laborator #4 Eliminare gaussiană cu pivotare totală şi scalare. Algoritmul Thomas pentru rezolvarea sistemului 3-diagonal

Metode şi Algoritmi de Planificare (MAP) Curs 2 Introducere în problematica planificării

Dynamic Response of Beams on Elastic Foundation with Axial Load

Transcription:

Programarea Dinamica (si alte chestii adiacente) Andrei Olariu andrei@olariu.org

Despre mine - Absolvent FMI UniBuc - Doctorand in prelucrarea limbajului natural, in special in mediul online (Twitter) - Tin laboratoare/seminarii de Algoritmi si IA - Am facut jocuri pentru GameSheep.com si apoi am scris cod pentru ubervu.com

Ce vom face astazi - un pic de teorie despre PD - cateva probleme simple - cateva probleme medii - cateva probleme cu implicatii practice

Problema rucsacului Se da un rucsac de volum R si un set de materiale, fiecare avand un volum V i si un pret per unitatea de volum P i. Sa se determine cea mai valoroasa combinatie de materiale cu care poate fi umplut rucsacul. Nota: se pot lua fractiuni dintr-un material

Problema rucsacului Solutie: greedy - se sorteaza materialele descrescator, dupa pret - se introduc in rucsac cele mai valoroase materiale, pana la umplere Wiki: fractional knapsack problem

Problema rucsacului Aceeasi problema, insa avand obiecte indivizibile - poza plagiata de pe Wikipedia (prin metoda copy-paste)

Problema rucsacului Solutie: programare dinamica Care e complexitatea (timp si memorie)? Wiki: knapsack problem

Cand aplicam programarea dinamica Substructura optima - o solutie optima a problemei se bazeaza pe solutii optime ale unor subprobleme - aceasta proprietate se aplica insa si strategiei Greedy

Cand aplicam programarea dinamica Subprobleme care se suprapun - atunci cand o solutie recursiva rezolva aceeasi subproblema de mai multe ori (exemplu: factorial vs Fibonacci) - programarea dinamica rezolva fiecare subproblema o singura data si salveaza solutiile - daca subproblemele nu se suprapun: divide et impera

Problema traversarii podului - un pod suspendat format din N scanduri, legate prin liane - in timp, unele scanduri s-au deteriorat, altele au disparut - pentru traversare se pot face pasi de lungime 1, 2 sau 3; scandurile deteriorate permit doar pasi de 1; nu se poate pasi pe scanduri lipsa - in cate moduri poate fi traversat podul?

Problema traversarii podului Solutie: http://www.scribd.com/doc/82547922/186/oni-2003- clasa-a-ix-a (pagina 236)

Problema paianjenului - un paianjen a tesut o panza ortogonala - el se afla in originea panzei - o musca este prinsa in panza, in punctul de coordonate (n, m) - in cate moduri poate ajunge, in mod eficient, paianjenul la musca, deplasandu-se pe fibrele panzei?

Distanta Levenshtein - se dau 2 siruri de caractere s 1 si s 2 - sa se determine numarul minim de editari pentru a obtine s 2 din s 1 - editari: inserarea unui caracter, stergerea unui caracter, inlocuirea unui caracter cu un altul

Distanta Levenshtein Solutie: wiki Levenshtein distance Aplicatii: - evident: spell checking (wiki Damerau- Levenshtein) - aplicatii simple de recunoasterea vorbirii (wiki Dynamic time warping) - offtopic: aplicatii complexe de recunoasterea vorbirii (si nu numai) se fac tot prin PD: wiki Viterbi algorithm

Cea mai lunga subsecventa comuna - se dau 2 siruri de caractere s 1 si s 2 - sa se determine subsecventa (nu subsirul) comuna de dimensiune maxima

Cea mai lunga subsecventa comuna Solutie: - este echivalenta cu distanta Levenshtein, cu exceptia faptului ca substitutiile nu sunt permise - aplicatii in bioinformatica (similaritatea a doua secvente ADN, wiki Needleman-Wunsch algorithm) - wiki Longest common subsequence

Aruncarea oualor - ti se dau x oua si acces la o cladire cu n etaje - trebuie sa determini cel mai inalt etaj de la care ouale pot fi aruncare fara a se sparge - pot fi sparte toate ouale, iar un ou spart nu poate fi refolosit - se cauta solutia cu numar minim de aruncari pe cazul defavorabil

Aruncarea oualor - care e strategia pentru 1 ou si 100 de etaje?

Aruncarea oualor - care e strategia pentru 1 ou si 100 de etaje? - care e strategia pentru 2 oua si 100 de etaje?

Aruncarea oualor - care e strategia pentru 1 ou si 100 de etaje? - care e strategia pentru 2 oua si 100 de etaje? - care e strategia pentru 3 oua si 100 de etaje?

Aruncarea oualor - care e strategia pentru 1 ou si 100 de etaje? - care e strategia pentru 2 oua si 100 de etaje? - care e strategia pentru 3 oua si 100 de etaje? Solutie: http://archive.ite.journal.informs.org/vol4no1/sniedovich/

Seam Carving - in Photoshop se cheama Content Aware Scaling - pozele sunt copiate de pe un site pe care nu-l mentionez

Seam Carving - calculez energia in fiecare pixel (wiki Information Entropy)

Seam Carving - determin drumuri verticale de energie minima (folosind PD)

Seam Carving - elimin pixelii asociati drumurilor

Referinte Wiki: Dynamic Programming Cormen, Leiserson, Rivest, Stein Introducere in Algoritmi http://20bits.com/article/introduction-to-dynamic-programming