L-system은 린덴마이어 시스템이라고도 불리워지는 식물의 성장 프로세스를 기초로 한 다양한 자연물의 구조를 기술하거나 표현을 가능케 하는 알고리즘이다. 


기원[편집]

생물학자였던 린덴마이어는 효모와 곰팡이, 그리고 남세균류의 Anabaena catenula와 같은 조류 등, 다양한 생물의 성장패턴을 연구했다. 이와 같이 L-system은 단세포생물 또는 단순한 다세포생물의 성장식, 식물세포에 있어서 인접한 세포의 상호관계를 기술하기 위해 개발된 것이었다. 이후 L-system은 더욱 고도로 발달한 식물의 형태, 복잡한 분기구조를 기술하기 위한 도구로 발전하게 되었다.


주): 위키피디아




기본적인 구조는 공리를 지정하고 규칙을 설정하여 그 규칙에 따라 점점 복잡한 구조를 띄게 되는 것을 말한다. 대표적인 예시로는 프렉탈 구조가 있다. 아래에 간단한 예를 들어보겠다.


숫자: 0, 1

공리: 0

규칙: 0 -> 010

  1  -> 111



만약 위와 같은 규칙으로 l-system을 표현하면 아래와 같다.


0 -> 010 -> 010111010 -> ...


이런식으로 간단한 규칙에서 점점 복잡한 식을 생성한다.

그 모습이 마치 나무가 가지를 뻗고 생장하는 것과 유사하여 주로 이 시스템을 설명하는데 나무를 예시로 많이 든다.


기본적인 개념은 Daniel Shiffman의 강좌를 참고하였다. 

설명을 깔끔하게 잘 해주신다.

https://www.youtube.com/watch?v=f6ra024-ASY&list=PLRqwX-V7Uu6bXUJvjnMWGU5SmjhI-OXef&index=5


Daniel Shiffman이 추천한 책이다. 

자연의 알고리즘 Algorithm Botany라는 책인데 사이트에 들어가 보면 다양한 예시자료와 논문이 있다.

http://algorithmicbotany.org/papers/ 


위 사이트에서 생장 모델을 찾아볼 수 있을 것 같다.


아이디어>

세계를 구축하는 간단한 모델들을 만들어놓고

간단한 구조를 짜서 복잡성을 더한다. 그것은 마치 생장하는 것처럼 보인다.

한 가지 더 아이디어를 얻은 것은 그 구조가 수치를 치환하여 진행하여 짤 수 있다는 것이다.

생장, 퇴화 구조와 관련된 알고리즘을 찾아 생명의 시스템 형성에 응용하면 될 것 같다.



<reference>

https://ko.wikipedia.org/wiki/L-system

https://m.blog.naver.com/PostView.nhn?blogId=at3650&logNo=40204923897&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F




Posted by 도이(doi)
,