榕城老應

用調侃去書寫思考,以故事來敘述理論。
個人資料
正文

幾個開關管一盞燈

(2011-02-17 15:14:49) 下一個


       榕城老應

我的朋友在家裏裝了三個開關,各處都能隨意開關這盞燈。心中得意,便出了道題來考我們。

我一聽,很牛逼地回說:“這問題我在中學時就考慮過。答案是:在串行的線路上,兩頭各一個單刀雙擲的開關中間是兩條並行線路,隻要在中間加雙刀雙擲的開關改變並行線路的連接,要加多少個每個都能單獨控製燈光。用有限自動機的狀態圖來說明這個問題,雖然是牛刀小用,但大約也能說得清。”

下午從Lowe's 買東西回來。上網一看,追問來了:“請證明,不能用多於2個單刀雙擲開關(Single Post Double Throw, SPDT)來實現電燈電路。”原來這才是真正的問題!

原本以為給了一個實現,再扣上“有限自動機的狀態圖”大帽子就能蒙過去,誰知他也不是個省油的燈。
 
沿著有限自動機的狀態圖的思路想一下,這牛刀太大了,用它解題純粹給自個兒找不痛快。果然他是狡猾,狡猾的人都不好忽悠。

找來原來的帖子看了兩遍,蒙到他的思路了。這說的是在幾種開關的有限製選擇中最小實現的問題。不用牛刀了,用邏輯在這裏列出來。

1. 要每個開關都能控製,若是有與開關並聯的線,它就管不著了,有電斷不開,所以這個開關係統必須是串聯的。串聯,單擲開關肯定不行。一個斷開了其他的都沒戲了。這“開關”隻有兩種控製量自然是指“雙擲”的開關了。
 
2. 我們考慮串聯的雙擲開關係統。解的集合必須在這裏。雙擲的開關,最簡單的是單刀雙擲(SPDT),其次是雙刀雙擲(DPDT)。SPDT一頭單線端,一頭雙線端,開關轉換單線端與雙線端其一的連接。DPDT可以轉換進出各兩條線之間的連接。
 
3. 考慮從火線端到控製端順序的串連係統。SPDT在這串連的線路中,單線端隻能接在係統一根線且必須是帶電的串連線路中,不然就無法將電通往後麵,所以它必須是第一個。雙線端隻能接在線路至多兩條線的線路中,多了線,就不受這開關控製。SPDT雙線端接在線路後,另一端是單線端,它的狀態不帶電時就無法讓後麵的開關來開燈,所以它隻能是係統的最後一個。因此在這串連係統中最多隻能有兩個SPDT開關,在兩開關間有兩並行線。第一個SPDT控製火線接往兩並行線的哪一根,第二個SPDT控製將電燈線接向兩並行線的其中一根。所以它們各自都能控製通斷。

4. 如果我們到這裏還沒有一個n開關的實現,就很容易想到用DPDT開關在這串連係統中,轉換兩根並行線的連接。因為其中的每個都能將這兩根並行線的帶電狀態轉換一下,所以也就都能參加控製,這便是一個且是唯一的實現。

[ 打印 ]
閱讀 ()評論 (0)
評論
目前還沒有任何評論
登錄後才可評論.