2010-08-04 22 views
6

Burada ilginç bir algoritma sorunum var. Sorun elektronik tasarımların simülasyonu ile ilgili bir şekilde.İlginç bir algoritma sorunu

örneğin, bazı kapıları ihtiva eden bir yapıya sahiptir ki. 3-girişli bir AND kapısı söyle. Sadece iki girişler (000) ve (111) yılında yem eğer 8 olası giriş, bu 8 girdilerin Out

000 
001 
... 
111 

yani vardır, ben de olası çıkışları 0 ve 1 yani olsun.

Böylece giriş vektörü minimal dizi üreten her iki hal de '0' ve '1' çıkış {000, 111} vardır.

sorun bir tasarım, kapıların bir düzenleme verilir durumları hem üreten giriş vektörü minimal kümesini bulmak için bir algoritma elde (yani 0 ve 1) son çıkış.

+1

meraktan: Bu bir şekilde VHDL ile ilgili midir? – Scoregraphic

+3

Belirli bir devre için, her iki çıkış durumunu da üretmek mümkün olmayabilir (yani x değil x). –

+0

Kapılar her zaman 3 girişli AND kapıları mıdır, yoksa herhangi bir giriş kapısı olabilir mi? – mbeckish

cevap

13

Senin sorunun boolean satisfiability problem çözme eşdeğerdir. Bu nedenle NP-tamamlandı.

Eğer keyfi bir giriş seçip size bir SAT çözerim gerek diğer çıkış verir bir giriş bulmak için 0 veya 1. ya verirse görebilirsiniz girdilerinden biri almak için.

Vikipedi kullanılabileceğini bazı algorithms öneriyor:

  • CVC3 (açık kaynak LGPL)
  • Yices (ticari olmayan kullanım için ücretsiz)
  • : bunu uygulamak istemiyorsanızEğer hazır SAT çözümleyici kullanmak olan araçlar vardır
+2

İlk giriş vektörünü denersek, o zaman problemin yarısını zaten çözdük :-) –

+0

@Luter Blissett: +1 İyi nokta! Cevabın daha iyi olduğunu söylemiştim. –

5

Bu Quine McCluskey algoritması ile çözülmektedir. Sorununuzu çözebilecek bazı JavaScripts ve Araçlar da vardır.

+0