Lojik devrelerin sadeleştirilmesi

Başlatan Mucit23, 30 Mayıs 2012, 22:57:29

vitruvius

Bu arada 2 tane '1' i unutmamışsınız. 1'ini unutmuşsunuz bir de hatanız var.

Mucit23

Tablo bu şekilde olacak

image host

Doğru cevabı söylermisiniz hocam ben nerede hata yaptığımı görmek istiyorum.

vitruvius

Hocam doğru cevap F=AB+AD+AC+BCD olacak.

Tablonuzda yanlış var. 2. satır 1. sütundaki eleman olmayacak. Binary olarak oraya bakarsanız değerinin 0001 yani 1 olduğunu görürsünüz. Ancak veridiğim fonksiyonda 1 yok. 14. değeri yani 1110'u koymamışsınız.

Tabloda önce her karenin altına ufak bir şekilde o karenin değerini yazarsanız hem yanlış yapma ihtimalinizi azaltırsınız hem de hız kazanırsınız. Bir süre sonra ezberlersiniz zaten.

Mucit23

Haklısınız hocam. Yaklaştım ama tam çiziyordum. Aslında 0001 değerini yazmasaymışım tam olacakmış.
1-2 örnek daha çözersem tam çözerim bu işi

vitruvius

F(A,B,C,D)=  Σ(0,2,5,6,7,8,10,13,14,15) ^^

Mucit23

Bu son sorduğunuz soruyu yarına bırakıyorum hocam. Ama gerçekten keyf almaya başladım bu işte. Şuanda sabaha kadar uğraşsam bıkmam

Yarın bunun gibi 2-3 örnek daha çözeceğim.

Eğer benim son çıkardığım aşağıdaki tablo olsaydı sonuç doğru olurmuydu


image hosting adult

Mesela yukarıdaki Tabloda 3. sütünün altındaki mavi renkli 2 li gurubu incelersek A ve B değeri 1 Bu yüzden ikisinide alıyoruz. Satıra bakarsak hangisi değerini değiştirmemişse onu alıyoruz Eğer Değer 0 ise değilini alıyoruz. Yani A.B.C' olması lazım. Eğer bu dediklerim doğruysa işin mantığını kaptım sadece birkaç örnekle elimi alıştırmam gerekir. Çünkü daha önce hiç bilmiyordum bu konuları

vitruvius

Hocam dedikleriniz doğru ancak iki hatanız var. Mor ve sarı çevrelerde yanlışınız var. Bu arada şunu unutmayın 2'li çevrenin çözümü 3 elemanlı, 4'lü çevrenin çözümü 2 elemanlı, 8'li çevrenin çözümü 1 elemanlı olur. 4 değişkenli devre için konuşuyorum.

Mor çevreniz için: Yatayda bakarsak C hep 0, D de hep 1. A 0 ve 1 olmuş ama değer hep 1, yani A'ya bağlı değil. B hep 0 olduğu için B' ye bağlı. Yani o kısım B'C'D olacak.

Sarı çevre için: C hep 1 olmuş. D değişmiş. A hep 1, B hep 0. Yani çözüm AB'C olacak.

Son sorumun cevabı da: B'D'+BD+BC olacak.

Mucit23

Ohalde kendimce şu şekilde özetleyebilirim.
2 li guruba parallel olan satır veya sütünda elemanların ikiside alınır 1 olanlar direk alınır 0 olanların değili alınır. Gurubu kesen satır veya sütünlarda ise elemanlardan hangisi değişmemişse o alınır. Bunuda bilmiyordum.

Herneyse
Vaktinizi ayırdığınız için teşekkür ederim. Sanırım gerisi halledebilirim.

vitruvius

2'li gruba paralel olan değerlerin ikisini de almamalısınız. Fonksiyon onların birisine muhakkak bağlı olmayacaktır.

Ben hep şu şekilde yaklaşırım. Önce karnaugh tablosunu oluşturup her kare için numarasını ufak bir şekilde yazarım. Sonra verilen fonksiyona göre '1'leri yerleştiririm. Çevreyi aldıktan sonra çevre içinde yatay ve dikey hareket ederek değişmeyen değerleri bulurum. Bunlar 1 ise elemanın kendisini, 0 ise elemanın değilini alırım.

Rica ederim. Sınavınızda başarılar.

OG

#24
Kural şu,

değişken sayına göre bütün olasıkların olduğu bir tablon var,

2 değişken için

A  B
0  0
0  1
1  0
1  1

4 secenek var ve haritada 4 göz olacak demektir.
Bütün olasılıklar haritada temsil edilmek zorunda

A  B
0  0    demek o gözde A da yok B de yok demek
0  1    demek, o gözde A yok B var demek
1  0    demek o gözde A var B yok demek
1  1    o gözde A da yok B de yok demek,


upload pictures

Kırmızı yerlerde A var , Mavi yerlerde B var (resimde mavi kırmızının üstüne bindi, orada da kırmızı var)
İkisinin beraber olduğu yer var, birinin olduğu diğerinin olmadığı yer var, ikisinin de olmadığı yer var.

Bütün mantık bu.

A nın olduğu yere A yazılır, olmadığı yere A' yazılır. Aynı şey diğer değişkenler için de geçerli.

Sonra hangi satırlarda çıkış alınacak ise oraya 1 yazılır

A  B  Ç
0  0  0
0  1  1
1  0  1
1  1  0



gibi

1 olan yerler komşuluk gösteriyorsa max sayıda komşu birleştirerek alınır. Ancak bu seçme işlemi 1 2 4 8 16 32 .. gibi ikili sayı katlarına göre olur. Yani mesela 3 adet göz seçilemez.

Komçuluk hem yatayda hem dikeyde gecerlidir ve sınırlardaki hücreler diğer tarafa komşu kabul edilir (harita küre gibi bükülüp diğer taraf ile temastaymış gibi düşünün.



gibi.

Seçim yapılırken ne kadar büyük sayı toplu olarak alınabiliyorsa formul o kadar sadeleşiyor demektir.


Bir husus daha,
Haritaya şöyle bir bakılır, 1 olan yerler yani çıkış olan yerler az ve 0 olan yerler çok ise bu sefer 1 ler değil sıfırlar seçilir. Ancak 1 adet değil işareti ana fonksiyonun üstüne koyulur. Bunun anlamı 1 adet değil kapısı ilave ettim ama diğre kapılardan kazandım demektir.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

Mucit23

Hocam hepinize çok teşekkür ediyorum genel olarak mantığı çözdüm işi. Yanlız aşağıdaki hala kafamı karıştırıyor

upload images

Burada Mavi gurup B.C.D
kırmızı gurup ise  A.B.D olur değilmi.

OG

#26
Mantığı biraz açarsak,

Her hücre aslında 4 girişli bir AND kapısını temsil eder.


a

Tek hücreyi aldığında yazmak zorunda olduğun 4 değişken var,
ABC'D
Yani, AND kapısına 4 adet giriş var,  A, B, D  direk, C ise değillenerek giriyor.

A'B'C'D
A, B, C değillenerek (invert) giriyor, D true (direk) giriyor.

gibi.

ABC'D demek aynı zamanda,

A  B  C  D  x
0  0  0  0  ...
0  0  0  1  ...
.
.
1  1  0  1   1   <== Bu çıkış 1 imiş, yani haritada o hücre 1, yani ABC'D
.
.
1  1  1  1  ...

gibi

O çıkışı tek başına almak istersek 4 girişli bir AND kapısına ABCD girecek ama C invert (değillenerek) girecek ki o AND kapısı o giriş ile 1 çıkışı versin.

Böyle kaç tane girişte 1 çıkışı alınmak isteniyorsa o sayıda 4 girişli AND kullanılır. Sonra bu AND lerin çıkışları bir OR da birleşir ve OR çıkışının adı X olur.

Neden OR ile birleşir, çünkü 16 adet olasılıktan (4 değişken için) 1 den fazlasında çıkış 1 oluyor, 1 olanları seçip sonucu OR ile tek çıkış haline getiriyoruz.




Alttaki resmin sağ tarafına bak, onun gibi, ancak sadeleşmeden önce AND kapıları 4 girişli olur.




image host



Haritada yapılan bütün işlem ise,
sadeleştiğinde kapı sayısının azalması
ve
daha az girişli kapılara dönüşmesi.

Tabi sadeleşebilir bir durum varsa.

İşlemin asıl mantığı boolean matematiğinde. Aslında sadeleşme onun kuralları ile oluyor.

-------------

Senin verdiğin örnekte, mavi için,


A'BCD (dört giriş AND ile çarpılmış, A değillenerek girmiş )
ve
ABCD (yine 4 giriş AND ile çarpılmış, hiç biri değillenmeden)

sonra bu AND lerin çıkışı OR ile toplanmış,
A'BCD + ABCD

Bu işlemin boolean matematiğinde sonucu
BCD
dir.

Bunu haritanın ilgili gözlerinden de anlayabilirsin.

http://sct.emu.edu.tr/courses/eet/eet134/userfiles/files/ders4.doc

www.kirklareli.edu.tr/download//by-files/95818152.html
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

OG

FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

Mucit23

Hocam çok teşekkürler. Mantığı artık aklıma yattı. Biraz pratik yapmam lazım. İşleri hızlandırmak için. 3 değişkenliler biraz kafama takılıyordu ama çözdüm onu. En son vitruvius un sorduğu sorunun tek seferde doğru yanıtını buldum.

Şimdi sorularınızı alabilirim  :)

malpaslan1979

@Mucit23 kardeşim karno haritasının tam ortasındaki artıyı kendine esas al ve karno haritasını bir kağıt gibi katladığını düşün üst üste gelen birleri bir arada düşüneceksin.