<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hu">
	<id>https://vik.wiki/index.php?action=history&amp;feed=atom&amp;title=2006._janu%C3%A1r_18._vizsga</id>
	<title>2006. január 18. vizsga - Laptörténet</title>
	<link rel="self" type="application/atom+xml" href="https://vik.wiki/index.php?action=history&amp;feed=atom&amp;title=2006._janu%C3%A1r_18._vizsga"/>
	<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=2006._janu%C3%A1r_18._vizsga&amp;action=history"/>
	<updated>2026-05-02T20:05:35Z</updated>
	<subtitle>Az oldal laptörténete a wikiben</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://vik.wiki/index.php?title=2006._janu%C3%A1r_18._vizsga&amp;diff=137297&amp;oldid=prev</id>
		<title>Unknown user: Új oldal, tartalma: „{{GlobalTemplate|Infoalap|FormModVizsga20060118Megoldas}}   ==2.5 Feladat==  Az eredeti példaábra:  {{InLineImageLink|Infoalap|FormModVizsga20060118Megoldas|form_v_20…”</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=2006._janu%C3%A1r_18._vizsga&amp;diff=137297&amp;oldid=prev"/>
		<updated>2012-10-21T19:58:06Z</updated>

		<summary type="html">&lt;p&gt;Új oldal, tartalma: „{{GlobalTemplate|Infoalap|FormModVizsga20060118Megoldas}}   ==2.5 Feladat==  Az eredeti példaábra:  {{InLineImageLink|Infoalap|FormModVizsga20060118Megoldas|form_v_20…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Új lap&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{GlobalTemplate|Infoalap|FormModVizsga20060118Megoldas}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==2.5 Feladat==&lt;br /&gt;
&lt;br /&gt;
Az eredeti példaábra:&lt;br /&gt;
&lt;br /&gt;
{{InLineImageLink|Infoalap|FormModVizsga20060118Megoldas|form_v_20060118_25.JPG}}&lt;br /&gt;
&lt;br /&gt;
Az egy gráftranszformáciüs lépéssel elérhető modellek, piros a régi elemeket jelöli, a zöld az újakat:&lt;br /&gt;
&lt;br /&gt;
{{InLineImageLink|Infoalap|FormModVizsga20060118Megoldas|form_v_20060118_25mo.JPG}}&lt;br /&gt;
&lt;br /&gt;
===2.5.1===&lt;br /&gt;
&lt;br /&gt;
Az &amp;#039;&amp;#039;&amp;#039;egyes&amp;#039;&amp;#039;&amp;#039; gránsztranszformációs szabály az eredeti modell &amp;quot;bal&amp;quot; és &amp;quot;jobb&amp;quot; oldalára is illeszthetjük, ennek az eredménye az első két ábra.&lt;br /&gt;
&lt;br /&gt;
A &amp;#039;&amp;#039;&amp;#039;kettes&amp;#039;&amp;#039;&amp;#039; szabály sehol sem alkalmazható, mivel nincs olyan place, amihez kapcsolodik person is meg gift is (gondolom az a P person akart lenni...)&lt;br /&gt;
&lt;br /&gt;
A &amp;#039;&amp;#039;&amp;#039;harmas&amp;#039;&amp;#039;&amp;#039; szabalynal csak egy olyan place van, amihez kapcsolodik box, de gift nem, ezt az illesztest mutatja a harmadik abra.&lt;br /&gt;
&lt;br /&gt;
===2.5.2===&lt;br /&gt;
&lt;br /&gt;
Az &amp;#039;&amp;#039;&amp;#039;egyes&amp;#039;&amp;#039;&amp;#039; szabaly ket illesztesi lehetosege (jobb ill baloldali illesztes) kolcsonosen kizarja egymast, mivel a kozepso P1 place-tol elveszik a persont, igy a masik mar nem fog illeszkedni.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Egyes&amp;#039;&amp;#039;&amp;#039; szabaly utan csak akkor alkalmazhatjuk a &amp;#039;&amp;#039;&amp;#039;kettest&amp;#039;&amp;#039;&amp;#039; , ha az elso szabalyt a modell bal oldalra illesztjuk, es csak ekkor kerul egy place-hez egy gift es egy person&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Egyes&amp;#039;&amp;#039;&amp;#039; szabaly utan a &amp;#039;&amp;#039;&amp;#039;harmas&amp;#039;&amp;#039;&amp;#039; alkalmazhato: ha az egyes szabalyt a bal oldalra illesztjuk, akkor a P4 es P3 helyre is illesztheto lesz a  harmas, de ha jobb oldalra illesztjuk, akkor az az eredetileg jo P3 helyet elrontja es uj jot sem hoz letre, tehat ezutan nem johet a harmas&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kettes&amp;#039;&amp;#039;&amp;#039; szaballyal nem kezdhetunk, lasd elozo 2.5.1es feladat.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Harmas&amp;#039;&amp;#039;&amp;#039; utan &amp;#039;&amp;#039;&amp;#039;egyes&amp;#039;&amp;#039;&amp;#039; alkalmazhato: a P3ra illeszkedo harmas szabaly alkalmazasa utan az egyest az abra bal oldalara minden tovabbi nelkul illeszthetjuk, de a jobb oldali illesztest elrontja a harmas a box giftre valo cserejevel.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Harmas&amp;#039;&amp;#039;&amp;#039; utan &amp;#039;&amp;#039;&amp;#039;kettes&amp;#039;&amp;#039;&amp;#039; : ugyan a harmas utan a P3 helynel lesz gift, de nem lesz person, igy nem alkalmazhato.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Harmas&amp;#039;&amp;#039;&amp;#039; utan &amp;#039;&amp;#039;&amp;#039;harmas&amp;#039;&amp;#039;&amp;#039; :  mivel csak a P3ra illesztheto a harmas, sajat lehetoseget rontja el, tehat nem illesztheto.&lt;br /&gt;
&lt;br /&gt;
Osszefoglalva, a fuggetlen graftranszformacios lepesek: csak a bal oldalra illesztett &amp;#039;&amp;#039;&amp;#039;egyes&amp;#039;&amp;#039;&amp;#039; es a &amp;#039;&amp;#039;&amp;#039;harmas&amp;#039;&amp;#039;&amp;#039; fuggetlen egymastol, mivel ebben az esetben a sorrend mindegy, minden mas esetben az egyik szabaly nem alkalmazhato.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==2.6 Feladat==&lt;br /&gt;
&lt;br /&gt;
Adottak az alábbi logikai függvények: (sum 6p)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; f := \neg(y \vee x) \vee (\neg x \wedge z ) &amp;lt;/math&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
&amp;lt;math&amp;gt; g := (\neg z \vee \neg y ) \wedge ( x \vee \neg z ) &amp;lt;/math&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; m := f \wedge g &amp;lt;/math&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2.6.1 Határozza meg az f, g, m logikai függvényeket ROBDD alakban! Az m függvény&lt;br /&gt;
kiszámítását közvetlenül az ROBDD-ken értelmezett műveletekkel végezze el! Az m&lt;br /&gt;
függvénynek az f és g függvények ROBDD-jéből történő kiszámítása is kell!&lt;br /&gt;
&lt;br /&gt;
Először is átalakítjuk az első kifejezést a De Morgan szabállyal, hogy rendes konjunktív alakban legyen, mert úgy kisebb ROBBD ábrát kapunk majd. Ekkor tehát &lt;br /&gt;
&amp;lt;math&amp;gt; f := ( \neg y \wedge \neg x ) \vee ( \neg x \wedge z ) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A ROBDD redukált és rendezett a változók sorrendjét tekintve, ezért keresnünk kell egy olyan változósorrendet, amelyet mindkét, az f és a g ROBDD diagramjában is használni fogunk, és lehetőleg minél kisebb méretű gráfot eredményez. Nyilván akkor lesz a gráf kisebb, ha elsőnek olyan változó szerint vizsgáljuk, amely közvetlen levélbe vezet, vagyis ahol egy változó alapján dönteni tudunk, hogy a kifejezés értéke igaz lesz, avagy hamis.&amp;lt;br /&amp;gt;&lt;br /&gt;
Ilyen pl. f esetében az x, hiszen annak 1 értéke esetén egész biztosan hamis lesz a kifejezés értéke. Igen ám, de ez g-ben nem teszi lehetővé rögtön a döntést, mert x igaz és hamis volta még nem határozza meg egyértelműen a g kifejezés logikai értékét. Itt a z változó volna a nyerő, hiszen annak hamis értéke esetén a g kifejezés biztosan igazra értékelődik ki.&amp;lt;br /&amp;gt;&lt;br /&gt;
Y egész biztosan nem jó választás kezdő változónak, hiszen az eredményezné mindkét esetben a legnagyobb döntési fát!&amp;lt;br /&amp;gt;&lt;br /&gt;
A feladat innentől tehát kétféleképp megoldható, ám tudnunk kell, hogy bármely megoldási utat választjuk is, az egyszerűsítések után a végeredmény egyértelmű kell, hogy legyen, hiszen minden logikai kifejezéshez, és így f-hez, g-hez és a kettejük konjunkciójának (azaz m-nek) is pontosan egy-egy ROBDD gráf feleltethető meg.&amp;lt;br /&amp;gt;&lt;br /&gt;
Válasszuk most első változóként az x-et, második nyilván a z lesz (hiszen az y-nal továbbra is csak felesegesen növelnénk a fát), a harmadik pedig az y.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
F, G előállítása:&lt;br /&gt;
&lt;br /&gt;
{{InLineImageLink|Infoalap|FormModVizsga20060118Megoldas|fesg.png}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A ROBDD előállítása úgy történik, hogy vesszük az első változót, és behelyettesítünk a kifejezésbe először 0-t (baloldali ág), majd 1-et (jobb oldali ág), és megnézzük mi az eredmény. Ha egyből ki tudjuk értékelni a logikai kifejezést, mint pl. az f kifejezésben x=1 esetén a jobb ágon, akkor örülhetünk, mert azt nem kell tovább vizsgálni. Ha nincs így, akkor vesszük a fentebb meghatározott sorrend szerinti következő változót, és elvégezzük ugyanezt a vizsgálatot. A fa legfeljebb 3 mélységű lehet, hiszen 3 változónk van, és legrosszabb esetben egy 3 mélységű teljes fát kaphatnánk, ha a lehető legrosszabb sorrendbe állítottuk volna fel a változókat. Így azonban a 2^3 csomópont helyett mindössze 5-öt kaptunk az f kifejezésre, tehát jól látszik, hogy valóban sikerült tömörítenünk a kifejezést (ti. az igazságtábla 2^3=8 elemet tartalmaz, mi pedig 5 csomóponttal leírtuk ugyanezt a függvényt).&amp;lt;br /&amp;gt;&lt;br /&gt;
A G ROBBD-jének előállítása hasonlóan történik, az első ábrát nyomon követve látható, hogy x=1, z=1 esetén még mindig nem tudunk dönteni a kifejezés logikai értékéről, csak y kiértékelése után.&lt;br /&gt;
&lt;br /&gt;
m = f /\ g előállítása:&lt;br /&gt;
&lt;br /&gt;
{{InLineImageLink|Infoalap|FormModVizsga20060118Megoldas|fesg2.png}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ha megvan a két ROBDD, és a kettőnek a gyökértől számítva azonosak a változók sorrendjei, akkor a két gráf csomópontjainak direkt szorzatát véve (lásd formális nyelvek: két nyelv metszete = véges automaták állapotainak direkt szorzata) éppen a kívánt BDD-t kapjuk, ami viszont sajnos még egyszerűsítésre szorul.&lt;br /&gt;
A direkt szorzat képzése szemléletesen úgy működik, hogy vesszük mindkét ROBDD gyökerét, és rátesszük az ujjunkat. Aztán mindkét ROBDD-n nyomon követjük a változók értékadását: az első, majd második stb. változó 0 illetve 1 értéke esetén hova kerülünk F ill. a G ROBDD-jében, és ezeket egy közös változónévpárral jelölt csomópontba felírjuk.&lt;br /&gt;
Pl. a kezdő (X,X - melynek jelentése X változót vizsgáljuk az F ROBDD-jében, és szintén X változót a G ROBDD-jében) változópár vizsgálatakor x=1 hatására a (0,z) párt kell vizsgálnunk, hiszen az F ROBDD-jében x igaz esetén már biztosan hamis lesz a kifejezés értéke, míg G ROBDD-jében a z vizsgálatára térünk át. Ha mindkét ROBDD-ben levélhez, azaz 0,0 0,1 1,0 vagy 1,1 -hez értünk, akkor azt az ágat nem kell tovább vizsgálni, hiszen az alapján már el tudjuk dönteni a két kifejezés között értelmezett műveletet, azaz jelen esetben, mivel a feladat m = f /\ g -t kérdezi, az ÉS műveletet.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Az egyszerűsítés folyamata, eredmény ROBDD előállítása:&lt;br /&gt;
&lt;br /&gt;
{{InLineImageLink|Infoalap|FormModVizsga20060118Megoldas|fesg3.png}}&lt;br /&gt;
&lt;br /&gt;
* Ha x változónak 0 és 1 értéke esetén is ugyanazon y változó vizsgálatára térünk át, azaz a kifejezés értéke az x változótól független, akkor x-et egyszerűen elhagyhatjuk a BDD-ből (x szülőjéből a nyíl a gyerekébe, azaz y-ba mutat, őt magát pedig törölhetjük)&lt;br /&gt;
* Ha a BDD-ben van több ugyanolyan címkéjű csomópont, azokat összevonhatjuk, természetesen megtartva a kimenő/bemenő nyilakat.&lt;br /&gt;
&lt;br /&gt;
A példánkban (lásd 2. ábra) a nagy karikával jelölt rész helyére 0-t írhatunk, hiszen minden részfája hamis eredményre vezet. Vigyázat: ha pl. nem m = f /\ g, hanem m = f \/ g lenne a feladat, akkor nem hagyhatnánk el ezt az egész részfát, hiszen a jobb alsó részen 0,1 és 0,0 nem lenne azonos! Tudniillik 0 /\ 1 = 0, 0 /\ 0 = 0, azonban 0 \/ 1 = 1, 0 \/ 0 = 0.&amp;lt;br /&amp;gt;&lt;br /&gt;
Ezenkívül összevonhatunk minden =0 -val jelölt levelet, valamint ha több is lenne, akkor az =1 -gyel jelölt leveleket is.&amp;lt;br /&amp;gt;&lt;br /&gt;
Végül egyszerűsítsük a csomópontok címkéit, és csak a változók neveit tüntessük fel egy példányban, a vessző utáni másik változónevet / logikai konstanst nem szükséges kiírni. A végeredmény, azaz az f és g kifejezések konjunkciójának megfelelő ROBDD gráf a 3. ábrán látható.&lt;br /&gt;
&lt;br /&gt;
-- [[NeoXon|NeoXon]] - 2006.05.28.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Infoalap]]&lt;/div&gt;</summary>
		<author><name>Unknown user</name></author>
	</entry>
</feed>