UIVIew에게 생명을 부여해 보세요.
(원래 컴퓨터의 프로그램을 생명이라고 할 수 있는지에 대해 이의가 있을 것 같다)
생명의 정의는 생물학자에 따라 각기 다르기 때문에 이번에는 다음과 같은 생명을 정의해 보았다.
a. 자기 복제 가능
b. 외부와 대사(물질의 교환)
c. 유전자가 존재하고 유전자가 일정 이상 다른 개체는 서로 다른 종류로 간주된다
복잡한 생명을 설치하는 것이 어렵기 때문에 이번에는 세균과 아미바 등 무성한 단세포 생물을 인상하여 다음과 같은 방법으로 뷰에 설치하였다.
1. 개체는 어느 정도 이상일 때 분열된다.
2. 분열할 때 개체의 유전자를 복제한다.그때 무작위로 미세한 유전자 변이가 발생했다.
3. 유전자는 개체의 운동 속도, 개체의 크기와 개체의 육식성을 결정하는 세 가지 유전자를 포함한다.
4. 특정 구역에서 개체에게 자원을 보충한다.그 구역 밖에서는 보급할 수 없다.육식도가 높아지면 보급 속도가 떨어진다.
5. 유전자가 어느 정도 이상 다른 개체가 중첩될 때 이 개체를 다른 종으로 보고 포식행동을 한다.포식 속도는 육식도가 높아지거나 개체의 사이즈가 커지면서 높아진다.포식 활동은 피포식자의 자원을 박탈하고 포식자에게 주었다.
6. 개체는 몸의 크기에 상응하는 속도로 자원을 소모한다.
7. 개체는 이동 속도에 대응하는 속도로 자원을 소모한다.
8. 4.5.6.7.획득하거나 소모된 자원의 합계값이 정시이고 개체의 사이즈는 이 값에 따라 확대되며 합계값이 마이너스일 때 개체의 사이즈는 이 값에 따라 축소된다.
9. 사이즈가 일정치 이하라고 생각하는 개체는 사망한다.
10. 각 개체는 무작위 로밍으로 이동하지만 미리 설정된 경계 밖으로 이동할 수 없습니다.
나는 집행 결과를 동영상으로 찍었다.
3시간 정도 있으니까 요약해 보시는 게 좋을 것 같습니다.
https://youtu.be/TZHDfr969ZM
처음에는 하나의 보기로만 시작한다.
배경이 회색인 곳은 자원을 보충하는 구역이고, 배경이 흰색인 지역은 자원을 보충하지 않는 구역이다.
View 반복 분열 증식.
유전적으로 다양성이 생기는 동시에 View도 색깔이 있습니다.파란색은 이동 속도의 유전자 강도를 나타내고, 녹색은 개체 크기의 유전자 강도를 나타내며, 빨간색은 육식성의 유전자 강도를 나타낸다.육식성 유전자가 강할수록 뷰의 각은 둥글다.
또 종의 개념이 생겨 포식 행동이 시작됐다.빨간 테두리에 둘러싸인 View는 포식 작전의 View입니다.
오래지 않아 유전자의 다양성, 다양한 색깔, 크기의View가 탄생했다.각 종이 식민지를 형성하는 경향도 볼 수 있다.그림으로는 볼 수 없지만 종류에 따라 이동 속도가 다양하다.
다음은 관찰된 현상의 예다.
· 육식성이 강한 씨앗이 주위의 View를 먹고 크게 증식한 결과, 음식인 View의 결핍으로 굶어 죽었다.
·상술한 빈 공간에서 작고 동작이 빠른 씨앗이 순식간에 들어간다.
· 전체 구역의 절반을 차지하는 지배적인 종이 종 내부 분열로 자멸한다.
· 주위의 방해를 받지 않는 화면 가장자리에서 동작이 느리고 사이즈가 큰 씨앗이 자라기 쉽다.
단순한 생명이 아니라 인류의 확산과 국가의 성쇠 등 다양한 규모의 현상의 모델이 될지도 모른다.
충분한 시간을 거치면 생명 활동은 머지않아 끝날 것이다.
동작이 빠른 씨앗, 몸이 작은 씨앗, 육식성이 강한 씨앗은 도태되고 몸이 크고 거의 움직이지 않는 큰 나무 같은 개체만 남았다.
만약 거스를 수 없는 변화에서 엔트로피가 증가한다면 엔트로피는 가장 큰 상태에 도달할 수 있다.
어떤 의미에서는 서로의 영역을 침범하지 않는 다양한 평화상태라고 할 수 있지만 동태가 부족한 재미없는 상태라고 할 수 있다.
이 상태의 시비는 우선 이 상황에 빠지지 않기 위해 다음과 같은 대책이 필요하다.
· 폐쇄계가 아니라 개방계다.보기의 이동 영역을 제한하지 않습니다.
→ 화면 위아래 좌우로 순환하는 아날로그 개방계에서는 안 된다.View의 유입과 유출이 필요할 수 있습니다.
대륙 이동 같은 환경 변화.배경 자원 보급 구역을 이동합니다.
• 눈덩이 지구와 거대한 운석의 충돌 등 대량의 멸종 활동을 일으킬 의도가 있다.
→ 육식성이 높은 View로 View의 총수가 극단적으로 감소하면 한무기처럼 View의 다양성이 증가하는 것을 확인할 수 있다.
폐쇄된 시스템에서 생명의 다양성이 확대되면 머지않아 수렴될 것이라는 것은 흥미롭다.
인류가 우주에 들어가려고 하는 것도 이런 수렴 상태에 저항하기 위해서일 것이다.
앞으로도 우리는 성의 개념과 지성의 개념을 시각에 도입하는 것을 고려할 것이다.인공지능 논리의 개발에서 좋은 실험 대상이 되겠죠.
이번 실험 결과는 응용 프로그램 개발에 직접적인 도움이 되지는 않지만 생명의 구조를 모방하는 것은 더욱 깊은 게임 개발과 UI/UX 개발을 초래할 수 있다.
이번에 만든 코드를 GitHub로 공유하고 싶어요.
https://github.com/yukinaga/LivingView
Reference
이 문제에 관하여(UIVIew에게 생명을 부여해 보세요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yuky_az/items/4b85b45345b28d77c31f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)