Thread overview
'Prime Implicants'ı ne olarak çevirebiliriz?
Sep 30, 2012
Salih Dinçer
Oct 01, 2012
erdem
Oct 01, 2012
Salih Dinçer
Oct 02, 2012
Salih Dinçer
Oct 02, 2012
Salih Dinçer
Oct 02, 2012
Salih Dinçer
October 01, 2012

Merhaba,

Aslında bu terimi ilk olarak Quine-McCluskey sadeleştirme yönteminde okumuştum. Şu sıralar sadeleştirme yöntemleri üzerine çalışıyorum. 'Prime Implicants'a yine takıldığım için sorma ihtiyacı hissetim. Aşama olarak ne demek istediğini anlıyorum hatta bu yöntemde terimleri sadeleştirirken bir eksiklik görüyorum. Gel gör ki her bir yerden sözcük alan İngilizce'den ürküyorum...:)

Örneğin Wikipedia'daki maddeye (http://en.wikipedia.org/wiki/Quine%E2%80%93McCluskey_algorithm#Step_2:_prime_implicant_chart) bakabilir veya şu ders notunu inceleyebilirsiniz:
Alıntı:

>

'Lecture #9

** Quine-McCluskey Method (Prime Implicants)

The Quine-McCluskey method provides a systematic simplification
procedure that can be applied by computer.

The method reduces the minterm expansion of a function to obtain
a minimum sum of products. There are two steps:

  1. Eliminate as many literals as possible by applying
     XY+XY' = X.  Resulting terms are prime implicants.

  2. Use a prime implicant chart to select a minimum
     set of prime implicants.

-- Quine-McCluskey Part 1: Determination of Prime Implicants --

Function must be given in sum of minterms form.

Minterms are combined using XY+XY' = X

A B'C D' + A B'C D = A B'C
1 0 1 0 + 1 0 1 1 = 1 0 1 - (dash indicates missing variable)
|| || |___|
X Y X Y' X'

Devamı: http://www.mrc.uidaho.edu/mrc/people/jff/349/lect.09

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 01, 2012

asal çarpanlar ya da temel asal bileşenler?

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 01, 2012

Buradaki 'prime'ın anlamı "önemli, birincil, baş vb.", tıpkı prime minister (başbakan) demek gibi...

Ancak 'implicant'ın anlamı hiç de kolay değil...:)

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 01, 2012

Ben biraz daha okudum. Bool mantığı algoritmalarını sadeleştiren bir kavram. Sanırım algoritmanın sonucuna etkisi olmayan ifadeleri elemeye yarıyor.

Garip ama internette hiç günlük hayattan örnek bulamadım. Onun için anladığım kadar kendim uyduruyorum: Eğer şemsiye kullanma yağmur yağma durumuna bağlıysa ve bütünüyle onun tarafından belirleniyorsa şu algoritma:

bool şemsiyeKullanmalı_mı(bool yağmurYağıyor_mu, bool topMavi_mi)
{
   return yağmurYağıyor_mu && (topMavi_mi || !topMavi_mi);
}

şöyle sadeleştirilebilir:

bool şemsiyeKullanmalı_mı(bool yağmurYağıyor_mu)
{
   return yağmurYağıyor_mu;
}

Sonuçta, yağmurYağıyor_mu bu algoritmanın bir prime implicant'ıdır.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 02, 2012

Öncelikle Ali hocama, anlamaya çalışmaya gayret ettiği için teşekkür ederim...

Hoş, üniversitede bu konuyu (Bool Cebiri ve Sadeleştirme) derinlemesine işlememize rağmen, unuttuğum şeyler olduğu için tekrar yapıp ben de anlamaya çalışıyorum.

Hepimizin alışık olduğu en basit örnek belki de XOR kapısıdır. Biz programlamada bunu ^ işareti ile ifade ederiz ve bize, kurulan mantıkta paralellik olup olmadığını söyler. Eğer iki bool değişkeni de true veya false ise çıkış 0, herhangi biri sadece true ise çıkış 1'dir.

Aslında bunu biraz düşününce gerçek hayata uygulayabiliriz:

İki arkadaşınız var ve evde oturuyorsunuz. Her ikisi de sizi telefonla arıyor ve aynı saatte ama farklı yerlere davet ediyor. Eğer sadece biri aramış olsaydı evinizden çıkacaktınız ama ikisi de davet ettiği için tıpkı hiç aramamışlar gibi evde oturmayı yeğlediniz; örneğin hastayım dediniz. Çünkü biliyorsunuz ki birinin davetine giderseniz diğeri bir şekilde haber alır ve darılır...:)

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 02, 2012

Kusura bakmayın hocam, hiç sadeleştirme gerekmeyen (çünkü sadece 2 olasılık true) basit bir örnek vermek istedim. Çünkü diğerleri gerçek hayatla örneklenemiyor. Normalde işin içerisine 2 terim daha katmak gerekiyor. O zaman da işler iyice karışıyor...:)

Bu arada terimin karşılığı olarak şunu öneriyorum, ne dersiniz?

Alıntı (Prime Implicant):

>

ilk ihmal edilebilir

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 02, 2012

Aslında neyin ters olduğuna emin değilim, emin olduğum bir şey varsa eğitim sistemimizin bozuk (10 sene önce bize bu dersi eksik anlatmış) olunması. Çünkü Quine-McCluskey (sanırım McCluskey hala yaşıyor!) yöntemini bir de 2. prosedürü (aşağıdaki alıntıda 3. adım) vardır. Merak ederseniz oraya da geleceğim ama önce öğrenmeliyim...:)

Sırayla gidersek önce şu ilk üç adımı yapmamız gerekiyor:

Alıntı:

>
  • Produce a minterm expansion (standart Sum-of-Products form) for function F
  • Eliminate as many literals as possible by systematically applying ab + ab' = a
  • Use a prime implicant chart to select a minimum set of prime ipmlicants that
    when ORed together produce F, and that contains a minimum number of literals.

Şöyle bir örneğimiz olsun: f(a, b, c, d) = Σ m(0, 1, 2, 4, 5,7, 8, 9, 10, 14)

Çözümü ise sigma m içindeki değerleri şuradaki forma yapıştırarak görebilirsiniz:
http://frederic.carpon.perso.sfr.fr/Quine-McCluskey_(frederic_carpon_implementation).php

  1. adımda (Find all the prime implicants): ihmal edilebilir tüm terimleri grupluyoruz:
    1. grup her zaman 0000 olasılığı
    1. grup ise içinde tek 1 olanlar: 1, 2, 8
    1. grup ise içinde çift 1 olanlar: 5, 6, 9, 10
    1. grup ve sonrakiler ise 1 sayısına göre ayrılır ki en son iki tane kaldı: 7 ve 14
  1. adımda ise (We only have to compare minterms from adjacent groups): komşu grupları adeta tokuşturuyoruz:
    Yani ihmal etmeye (implicant => x) başlıyoruz ve eşleşebildiği (* olmayanlar kısır kalanlar) ölçüde gidiyor...
  • 0, 1 => 000x *
  • 0, 3 => 00x0 *
  • 0, 8 => x000 *

  • 1, 5 => 0x01
  • 1, 9 => x001 *
  • 2, 6 => 0x10 *
  • 2, 10 => x010 *
  • 8, 9 => 100x *
  • 8, 10 =>10x0

  • 5, 7 => 01x1
  • 6, 7 => 011x
  • 6, 14 => x110 *
  • 10, 14 => 1x10 *
  1. adım bitmiyor çünkü bu henüz (0.sütun olan gruplamayı saymazsak) ilk sütunumuz. Terim sayısına (dolayısıyla değişken sayısına'*') göre 3, 5 gidebiliyor. Bence devam etmeye gerek yok çünkü yukarıda verdiğim bağlantı da en ince ayrıntısına kadar göreceksiniz. Ama bu adımın sonucu şu olmalıdır:

(But, the form below is not minimized, using a Karnaugh map we can obtain)

f = 'a'c'd' + a'bd + 'a'bc' + b'c' + 'b'd'' + cd'

Ama yukarıdaki kırmızı ile işaret edilen yerler fazlalıktır. İşte 10 sene evvel bize dersi buraya kadar anlattılar ve dediler ki tablo yöntemi (keşfedenlerin ismiyle Quine-McCluskey Method) en sade şekle getirir. Oysa biz bunu Karnaugh haritası ile çözdüğümüzde şu sonucu alıyoruz:

f = a'bd + b'c' + cd'

Özetle bizim 3. adıma (The Prime Implicant Chart) olayı gediğine koymamız gerekiyordu. Ne yazıki bu eksiğimi henüz yeni yeni tamamlıyorum! Zararın neresinden dönersek kardır...:)

('*') Terim sayısı artınca, aynı oranda 2'nin kuvveti de arttığı için ifade edilen sayılar ve/veya toplam olasılık artmaktadır.

Alıntı (acehreli):

>

XOR örneğindeki telefon eden iki arkadaş da iki terim değil miydi?

Aslında iki değişken (a, b) ve 4 terim var. Ama biz bu 4 terimden sadece iki tanesini kullanıyoruz. O yüzden bu kadar az terimin sadeleştirilmesi mantıksız. Çünkü geriye kalan sadece a'b+ab' bu da XOR demek.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 02, 2012

XOR'u öylesine bir örnek olarak verdin, değil mi? Çünkü ben prime implicant konusuyla ilgisini anlayamadım. :(

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 02, 2012

Alıntı (Salih Dinçer):

>

Normalde işin içerisine 2 terim daha katmak gerekiyor.

XOR örneğindeki telefon eden iki arkadaş da iki terim değil miydi? :)

Alıntı:

>

Alıntı (Prime Implicant):

>

ilk ihmal edilebilir

Seninle tam tersini anlamışız! :) Ben sadeleştirmeler sonunda geriye kalan yani ihmal edilemeyen diye anlamıştım. :)

Bunun matematikle ilgili olduğunu artık anladığımıza göre Türkçe karşılığının olup olmadığına da bakılabilir. Google'da prime implicant asal diye aratınca "asal bileşen" ve "temel asal bileşen", "asal çarpan", "temel içeren" çıkıyor.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]