ピチチチ

  • こちらでL-systemのことを書いた
  • L-systemの逆問題というものもあるそうだ(こちら)
  • システム生物学での逆問題についてはこちら
  • L-systemで嗅覚受容体遺伝子の複雑化を表現したりする話もある(こちら)
  • もっと言えばゲノムも…(こちら)
  • 鳴き声っぽくしてみよう
  • 鳥の鳴き声をL-systemのようなルールで書いた。鳥の鳴き声の観察データから、ルールを見ている(逆問題を解いている(?))のはこちら
> songs2
[[1]]
[1] "ピ"

[[2]]
[1] "ピピチ"

[[3]]
[1] "ピピチピピチチピ "

[[4]]
[1] "ピピチピピチチピ ピピチピピチチピ チピ ピピチ "

[[5]]
[1] "ピピチピピチチピ ピピチピピチチピ チピ ピピチ ピピチピピチチピ ピピチピピチチピ チピ ピピチ チピ ピピチ ピピチピピチチピ  "
piece<-c(1,2,3)
lets <- c("チ","ピ"," ")
replacer<-NULL
replacer[[1]]<-c(1,2,3)
replacer[[2]]<-c(2,2,1)
replacer[[3]]<-c(3)
x<-NULL

Niter<-10
x<-piece[2]

songs <- list()
songs[[1]] <- x
for(i in 2:Niter){
print(x)
	tmp<-c()
	for(j in 1:length(x)){
		tmp<-c(tmp,replacer[[x[j]]])
	}
	x<-tmp
	songs[[i]] <- x
}

songs2 <- songs

for(i in 1:length(songs)){
	for(j in 1:length(piece)){
		songs2[[i]] <- replace(songs2[[i]],which(songs2[[i]] == piece[j]),lets[j])
	}
	#tmp <- which(songs2[[i]] == 1)
	#songs2[[i]] <- rep("チ",length(songs2[[i]]))
	#songs2[[i]][tmp] <- rep("ピ",length(tmp))
	songs2[[i]] <- paste(songs2[[i]],sep="",collapse = "")
}

songs2