Skip to main content
 
To je arhiv spletne učilnice za leto 2021/22. Aktualna spletna učilnica je na naslovu https://ucilnica.fmf.uni-lj.si
Učilnica 21/22
  • English ‎(en)‎
    English ‎(en)‎ Slovenščina ‎(sl)‎
You are currently using guest access (Log in)

Računalništvo 2

  1. Home
  2. Courses
  3. Praktična matematika
  4. 3. letnik
  5. RAČ2
  6. Vaje 21_22
  7. Vaje 3. 3. (Dinamično programiranje 3)

Vaje 3. 3. (Dinamično programiranje 3)

Completion requirements
Opened: Wednesday, 2 March 2022, 12:00 AM
Due: Thursday, 10 March 2022, 8:00 PM

Na teh vajah se boste v skupinah lotili dveh problemov z dinamičnim programiranjem.

Vse skupine bojo imele za nalogo:

  1. opisati idejo (z vašimi besedami),
  2. zapisati Bellmanovo enačbo,
  3. Implementirati zahtevane funkcije.
  4. Analiza časovne zahtevnosti
  5. Prikaz izvajanja na testnih primerih (Lahko tudi simulirate izvajanje na različnih velikostih in nato vizualizirate rezultate z npr matplotlib

Na zadnji uri vaj boste kolegom predstavili, do kje ste prišli. Za poročilo (na kratko!) opišite idejo algoritma in Bellmanovo enačbo, ter pripnite končno implementacijo ter rezultate izvajanja na testnih primerih. Poleg tega razmislite tudi, kako jasna je bila predstavitev druge skupine (napišite 1-2 stvari, ki sta bili dobri, ter 1-2 stvari, ki bi jih lahko izboljšali).

Izbira intervalov (z utežmi)

Podan imate seznam intervalov z utežmi: (z_i, k_i, d_i) (začetek, konec in dobiček), ki predstavljajo naloge, ki jih lahko opravite (in kolikšno nagrado dobite, če jih opravite). Vaša naloga je, da ugotovite, katere naloge se vam najbolj izplača opraviti, pri čemer lahko hkrati delate na samo eni nalogi (intervali se ne smejo prekrivati).

  • https://en.wikipedia.org/wiki/Activity_selection_problem
  • https://en.wikipedia.org/wiki/Interval_scheduling
  • https://www.cs.princeton.edu/~wayne/kleinberg-tardos/pearson/04GreedyAlgorithms-2x2.pdf
  • https://www.geeksforgeeks.org/weighted-job-scheduling/

Levenshteinova razdalja

Levenshteinova razdalja med dvema nizoma je definirana kot najmanjše število sprememb, potrebnih da pretvorimo en niz v drugega, pri čemer so dovoljene spremembe: vstavljanje, brisanje, ali zamenjava enega samega znaka. Sestavi funkcijo, ki za dana dva niza izračuna Levenshteinovo razdaljo med njima. Primer: Levenshteinova razdalja med nizoma "ornitologija" in "otorinolaringolog" je 12.

  • http://rosettacode.org/wiki/Levenshtein_distance
  • http://en.wikipedia.org/wiki/Levenshtein_distance
  • http://wiki.fmf.uni-lj.si/wiki/Levenshteinova_razdalja
  • http://www-igm.univ-mlv.fr/~lecroq/seqcomp/node2.html (lepa animacija)


Vsota podmnožic

Imamo seznam celih števil A ter celo število s. Zanima nas, ali obstaja podmnožica množice A, tako da je vsota njenih elementov enaka s. Sestavite funkcijo, ki odgovori na to vprašanje. Kaj pa če nas zanima število takih podmnožic?

Kaj pa, če poleg A in s poznamo še pozitivno število k. Sedaj nas zanima, ali obstajajo podmnožice A_1, ..., A_k, kjer so med seboj disjunktne njihova unija pa je množica A. Poleg tega mora biti vsota vsake podmnožice A_i enaka s. Sestavite funkcijo, ki odgovori na to vprašanje.

  • https://www.geeksforgeeks.org/subset-sum-problem-dp-25/
  • https://ucilnica.fmf.uni-lj.si/pluginfile.php/58726/mod_resource/content/0/Algorithms-JeffE-dec2018.pdf
  • https://en.wikipedia.org/wiki/Subset_sum_problem



◄ Vaje 24.2.2022 Dinamično programiranje 2
Vaje1 0.3.2022 podzaporedja ►
Skip Navigation
Navigation
  • Home

    • Site pages

      • My courses

      • Tags

    • My courses

    • Courses

      • Praktična matematika

        • 1. letnik

        • 2. letnik

        • 3. letnik

          • MM (PRA)

          • MEH

          • NUM2 (PRA)

          • PDE (PRA)

          • PB1

          • PU

          • PROG3

          • RAČ1

          • RAČ2

            • General

            • Vaje 21_22

              • AssignmentVaje 17. 2 (Dinamično programiranje uvod)

              • AssignmentVaje 24.2.2022 Dinamično programiranje 2

              • AssignmentVaje 3. 3. (Dinamično programiranje 3)

              • AssignmentVaje1 0.3.2022 podzaporedja

              • AssignmentVaje 17.3.2022 Floyd Warshall

              • AssignmentVaje 24.3.2022 Dijkstrov algoritem

              • AssignmentVaje 31.3.2022 Bellman Ford, A*

              • AssignmentTekmovanje 31.3.2022 Iskanje najkrajših poti

              • AssignmentVaje 7.4.2022 Minimalna vpeta drevesa

              • AssignmentVaje 14.4.2022 Minimalna vpeta drevesa 2

              • AssignmentVaje 21.4.2022 Zgoščevalne funkcije

              • AssignmentZaključna oddaja poročil

            • Seminarska naloga

            • O algoritmih in Strategije razvoja algoritmov

            • Dinamično programiranje - splošno

            • Dinamično programiranje - Matrično množenje

            • Dinamično programiranje - podzaporedja

            • Problem najkrajših poti

            • Dinamično programiranje - najkrajše poti

            • Problem najkrajših poti - Dijkstra

            • Najkrajše poti - Bellman Ford / A*

            • Minimalno vpeto drevo (MVD)

            • Zgoščena tabela / Zgoščevalna funkcija

            • Za konec ...

        • ŠTUD (PRA)

      • Matematika

      • Finančna matematika

      • Pedagoška matematika

      • IŠRM

      • Fizika

      • Aplikativna fizika

      • Fizikalna merilna tehnika

      • Zunanji predmeti

      • Razno

You are currently using guest access (Log in)
RAČ2
  • English ‎(en)‎
    • English ‎(en)‎
    • Slovenščina ‎(sl)‎
Data retention summary
Get the mobile app