1. 程式人生 > >【搜尋】【RQ47】神經網路

【搜尋】【RQ47】神經網路

題目描述

【問題背景】
人工神經網路(Artificial Neural Network)是一種新興的具有自我學習能力的計算系統,在模式識別、函式逼近及貸款風險評估等諸多領域有廣泛的應用。對神經網路的研究一直是當今的熱 門方向,蘭蘭同學在自學了一本神經網路的入門書籍後,提出了一個簡化模型,他希望你能幫助他用程式檢驗這個神經網路模型的實用性。
【問題描述】
在蘭蘭的模型中,神經網路就是一張有向圖,圖中的節點稱為神經元,而且兩個神經
元之間至多有一條邊相連,下圖是一個神經元的例子:

神經元〔編號為1)
圖中,X1—X3是資訊輸入渠道,Y1-Y2是資訊輸出渠道,C1表示神經元目前的狀態,
Ui 是閾值,可視為神經元的一個內在引數。
神經元按一定的順序排列,構成整個神經網路。在蘭蘭的模型之中,神經網路中的神
經無分為幾 層;稱為輸入層、輸出層,和若干個中間層。每層神經元只向下一層的神經元
輸出資訊,只從上一層神經元接受資訊。下圖是一個簡單的三層神經網路的例 子。


蘭蘭規定,Ci服從公 式:(其中n是網路中所有神經元的數目)

公式中的Wji(可能為負值)表示連線j號神經元和 i號神經元的邊的權值。當 Ci大於0時,該神經元處於興奮狀態,否則就處於平靜狀態。當神經元處於興奮狀態時,下一秒
它會向其他神經元傳送訊號,訊號的強度為Ci。
如此.在輸入層神經元被激發之後,整個網路系統就在資訊傳輸的推動下進行運作。
現在,給定一個神經網路,及當前輸入層神經元的狀態 (Ci),要求你的程式運算出最後網
絡輸出層的狀態。

輸入格式

第一行是兩個整數n(1≤n≤200)和p。接下來n行,每行兩個整數,第i+1行是神經元i最初狀態和其閾值(Ui),非輸 入層的神經元開始時狀態必然為0。再下面P行,每行由兩個整數i,j及一個整數Wij,表示連線神經元i、j的邊權值為Wij。

輸出格式

包含若干行,每行有兩個整數,分別對應一個神經元的編號,及其最後的狀
態,兩個整數間以空格分隔。僅輸出最後狀態非零 的輸出層神經元狀態,並且按照編號由
小到大順序輸出!
若輸出層的神經元最後狀態均為 0,則輸出 NULL。

樣例輸入

樣例輸出