Riippuvuuskaavio

Riippuvuusgraafi  on suunnattu graafi , joka näyttää tietyn kokoelman elementtijoukon suhteen valitun transitiivisen suhteen mukaisesti .

Tätä kuvaajaa käytetään usein tietojenkäsittelytieteessä ja digitaalielektroniikassa , erityisesti riippuvuusgraafista määritetään laskelmien järjestys tai sen puutteet, jotka ovat yhdenmukaisia ​​graafissa annettujen riippuvuuksien kanssa.

Määritelmä

Olkoon joukko objekteja ja transitiivinen relaatio, jossa mallinnettaessa riippuvuutta "laskeakseen sinun on ensin laskettava ", niin riippuvuusgraafi on graafi, jossa ja on transitiivinen sulkeminen .

Esimerkiksi jokin laskin tukee vakion kirjoittamista johonkin muuttujaan ja kahden muuttujan lisäämistä ja tuloksen kirjoittamista johonkin kolmanteen muuttujaan. Annetaan useita lausekkeita, esimerkiksi . Sitten ja . On mahdollista johtaa eksplisiittisesti kaikki suhteet: riippuu ja , koska kaksi muuttujaa voidaan lisätä jos ja vain, jos molempien muuttujien arvot tunnetaan. Näin ollen ja on laskettava ennen . Arvo tiedetään kuitenkin välittömästi, koska se on numeerinen vakio.

Mahdottomien laskutoimitusten havaitseminen

Riippuvuusgraafin sykliset riippuvuudet johtavat tilanteeseen, jossa ei ole käytettävissä arviointijärjestystä, koska mitään syklin objekteista ei voida ottaa huomioon ensimmäisenä. Jos syklisiä riippuvuuksia ei ole, meillä on suunnattu asyklinen graafi , ja arvioinnin järjestys voidaan määrittää topologisella lajittelulla . Useimmat topologiset lajittelualgoritmit pystyvät havaitsemaan syklejä syötteestä, mutta on toivottavaa havaita jaksot erillään topologisesta lajittelusta.

Laskinpohjaisessa esimerkissä laskentajärjestelmä sisältää ympyräriippuvuuden. täytyy arvioida , täytyy arvioida , täytyy arvioida .

Arviointijärjestyksen määrittäminen

Oikea laskujärjestys on objektien numerointi, joka järjestää riippuvuusgraafin solmut siten, että yhtälö tapahtuu: , missä . Tämä tarkoittaa, että jos määritetään luettelo, joka on arvioitu ennen , se ei voi riippua . Lisäksi oikeaa arviointijärjestystä voi olla useampi kuin yksi. Pohjimmiltaan oikea numerointi on topologinen lajittelu ja mikä tahansa topologinen lajittelu on oikea numerointi. Itse asiassa mikä tahansa algoritmi, joka tuottaa oikean topologisen lajittelun, määrittää samalla myös oikean arviointijärjestyksen.

Järjestelmälle (laskimen esimerkissä) oikea järjestys on: , on kuitenkin myös oikea laskentajärjestys.

Esimerkkejä

Riippuvuuskaaviota käytetään:

Riippuvuuskaaviot ovat yksi kysymyksistä:

Katso myös

Muistiinpanot

  1. ↑ Esimerkiksi make - apuohjelmissa

Kirjallisuus

Linkit