Projekt jpaz2 2008
This presentation is the property of its rightful owner.
Sponsored Links
1 / 11

Projekt JPAZ2/2008 PowerPoint PPT Presentation


  • 61 Views
  • Uploaded on
  • Presentation posted in: General

Projekt JPAZ2/2008. Marek Daňko. Obsah. Popis problému Náčrt riešenia Vyhodnotenie algoritmu. Ekonómova odmena. Dlhoprst sa pustil do hry s pirátmi v ktorej nejde už len o zbohatnutie ale aj o jeho život.

Download Presentation

Projekt JPAZ2/2008

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Projekt jpaz2 2008

Projekt JPAZ2/2008

Marek Dako


Obsah

Obsah

  • Popis problmu

  • Nrt rieenia

  • Vyhodnotenie algoritmu


Ekon mova odmena

Ekonmova odmena

  • Dlhoprst sa pustil do hry s pirtmi v ktorej nejde u len o zbohatnutie ale aj o jeho ivot.

  • P pirtov si nevie podeli lup, ktor pozostva z S minc, priom sa u dohodli na takchto pravidlch:

    • Pirti sa osluj, ie kad dostane slo od 1 po P

    • Pirt s slom P navrhne rozdelenie lupu a ostatn pirti hlasuj, ak je aspo polovica za nvrh je prijat, ak nie pirta zastrelia.

    • Kad pirt sa pri hlasovan riadi len troma pravidlami:

      • Ak by pirt v budcnosti urite zomrel hlasuje za(bez ohadu na obnos, ktor zska).

      • Kad pirt chce zarobi o najviac, ie ak m niekedy v budcnosti ancu zarobi viac minc hlasuje proti(ale len ak by preil).

      • Kad z pirtov chce zabi o najviac pirtov.

        Kad pirt vie e aj ostatn pirti sa riadia tmi istmi pravidlami.


Projekt jpaz2 2008

Dlhoprst ponkol pirtom, e ich osluje za podmienky, e me hra aj on z poradovm slom P+1.Program dostane na vstup S = poet minc a P = poet pirtov . Je potrebn zisti i Dlhoprst me vbec prei, ak no tak treba navrhn rozdelenie minc medzi pirtov tak aby bol Dlhoprstov zisk o najv .Prklad: Pre S=100 a P=2 Dlhoprst prei me ajeho zisk je 100 minc. Jeho nvrh je da obom pirtom nula minc. Pirt slo 2 pre jeho nvrh hlasuje, pretoe inak (keby bol Dlhoprst zastrelen) by pirt 1 hlasoval proti ubovolnmu jeho nvrhu a on sm by bol zastrelen.


N rt rie enia

Nrt rieenia

  • Najprv budeme uvaova, e S je dostatone vek.

  • Prv pozorovanie je, e ak P<>1 tak Dlhoprst urite preije.

  • Pozrime sa ako bude vyzera rozdelenie pre mal P:

    P

    0S

    1S-1

    200S

    3110S-2

    40210S-3alebo

    42010S-3

    502210S-5alebo

    520210S-5alebo

    522010S-5

    (posledn cifra je Dlhoprstov zisk , -1 = )


Projekt jpaz2 2008

  • Dleit je to, preo pirtom 1,2 staia vprpade P=5 len 2 mince. Vzhadom na to, e situcia me vprpade P=4 dopadn dvoma spsobmi (bu dostane zaplaten 1. nebo 2. pirt), nemaj tto pirti istotu, e tie 2 mince zskaj. Preto sa pri P=5 uspokoja sdvoma mincami (avak jedna by im nestaila - maj ndej na dve).

  • Ak budeme pokraova vrozbore alej, zistme, e okrem poiatonch prpadov (P <= 3) je optimlne rieenie takto: chceme, aby pre Dlhoprsta hlasovalo ceil(P/2) pirtov. Pirtovi P nedme ni, pirtovi P-1 dme 1 mincu a z ostatnch pirtov 1P-2 vyberieme ubovolnch ceil(P/2)-1 a dme kadmu znich 2 mince (pre jednoduchos vyberieme napr. prvch ceil(P/2)-1 pirtov). Celkom pouijeme 2(ceil(P/2)-1)+1 = 2ceil(P/2)-1 minc.

  • Ak je teda S >= 2ceil(P/2)-1, vieme lohu vyriei dokonca vkontantnom ase a priestore. Prpad P <= 3 vyrieime tabukou a pre ostatn hodnoty P pouijeme popsan rozdelenie (pozor na to, e nesmieme vypsa poet minc pre kadho pirta to by malo zloitos O(P)).


Projekt jpaz2 2008

  • Situcia zane by zloitejie, ak je S menie ako 2ceil(P/2)-1.Nie je toti pravda, e potom nikdy neexistuje rieenie. Napr. :

    S=1 P 01

    11-1

    2001

    3001-1

    401000

    501000-1

    601000-1-1

    701000-1-1-1

    801000 0 0 00

    Aj ke sa pirti delia ojedin mincu, ak je ich 8, Dlhoprst me

    prei. Vyuije to, e pre neho zadarmo bud hlasova pirti 6,7,8 ktor inak zomr.


Projekt jpaz2 2008

  • Rieenie situcie, ke je S mal, zalome na dynamickom programovan. Budeme postupne riei situciu pre rastceP a do zadanho. Ukadho pirta si budeme pamta, ak poet minc m "ist" a i m ancu zska viac ne svoju "istotu".

  • Povedzme, e poznme rieenie pre P-1 pirtov a zaujma ns rieenie situcie sP pirtmi. Hadme ceil(P/2) pirtov, ktorm zaplatme najmenej. Ak budeme chcie, aby pre Dlhoprsta hlasovali vetci pirti, ktor maj istch R minc, ponkneme im R+1 minc a upravme ich "istotu". Ak budeme chcie, aby hlasovali len niektor pirti ztch s"istotou" R minc, ponkneme im taktie R+1 minc. Avak nezmenme ich "istotu", len si unich poznamenme, e maj ancu zska viac ne svoju "istotu".


Projekt jpaz2 2008

  • Pozorovanie: iadny pirt (okrem toho, ktor prve navrhuje rozdelenie) neme dosta viac ne dve mince, pretoe "istota" kadho pirta je menia ne dve

  • Pokia teda zisujeme rieenie situcie sP pirtmi zo situcie sP-1 pirtmi, najprv zistme, ktorm pirtom bude Dlhoprst plati. Vzhadom ktomu, e "istoty" vetkch pirtov s menie ne dva, dokeme to vkontantnom ase (pokia si pamtme, koko pirtov m "istotu" rovn -1 (smr), koko ju m nulov a koko pirtov m ist 1 mincu). Potom meme jednm priechodom nad pirtmi 1P upravi ich "istoty" a ance na zskanie vieho potu minc. To cel zvldneme vase O(P).


Projekt jpaz2 2008

  • Cel algoritmus bude fungova tak, e bude zisova, jak dopadn nvrhy pre 1,2,,P pirtov a posledn ztchto nvrhov vype. Pri vpise vetkch pirtov, ktor nemaj ancu na ni viac ne ich "istotu", zaplatme. Avak pirtom, ktor maj ndej na viac, platme ojednu mincu viac anemusme im plati vetkm, len tokm, aby sme podplatili celkom ceil(P/2) pirtov.


Vyhodnotenie algoritmu

Vyhodnotenie algoritmu

  • Celkom P-krt opakujeme postup sozloitosou O(P) a potom vsledky vase O(P) vypeme, ie celkov asov zloitos popsanho algoritmu je O(P2). Pamov zloitos je O(P). Aaj ke popsan algoritmus pouvame len vprpade, ke S < 2ceil(P/2)-1, funguje korektne pre vetky S.


  • Login