# -=  neuron.r  =-
#
e <- 0.1  # 変化量(固定)
w <- c(0,0,0) # 重みの初期値
# パターン(教師データ)
p <- matrix(c(0,0,1,1,0,1
  ,0,1,1,1,1,1,0,1,1,1),4,4) # 本当は1行
#
for(i in 1:10) { # 最大10周
  cflag <- 0 # 変化があったか
  cat("<<",i,">>\n")
  for (j in 1:4) {
    y <- ifelse((p[j,1]*w[1] + p[j,2]*w[2] + w[3])<0,
     0 , 1) # 本当は1行
    cat("正解",p[j,4],"//計算値",y,": ")
    for (k in 1:3) {
      wk <- w[k] - e*(y-p[j,4])*p[j,k]
      cat(wk,", ")
      if (wk != w[k]) {
        cflag <- 1
	w[k] <- wk
      }
    }
    cat("\n")
  }
  if (cflag == 0) break
  # 変化なければ終了
}

講義用スタイル
印刷用スタイル