셀룰러오토마타 (수학) (세포자동자)_지뢰찾기
격자로 나뉜 사각형 모음이 있습니다.
각 칸들은 클릭할 수 있는데, 클릭하면 "살게"됩니다.
또한 선택한 사각형은 색이 바뀝니다. 숫자들은 인접한 사각형중에 몇 개가 "살아"있는지 보여줍니다.
가령, 만일 한 사각형을 선택한다면, 그 주위 사각형은 모두 1이라고 나타냅니다.
다음의 예를 보세요.
(자세한 게임은 https://computationalthinkingcourse.withgoogle.com/unit?unit=2&lesson=10를 참조하세요.)
몇 개를 더 선택한 후에 [어드밴스] 를 클릭하세요. [시작]과 [멈춤]을 클릭할 수 있습니다. 왜 사각형이 보였다가 안 보였다가 하는지 생각해 봅시다.
이 게임이 재밌는 이유는 게임규칙 때문입니다. 규칙은 두번째와 세번째 줄의 코드에 있습니다.
규칙을 살펴볼까요?
두번째줄 규칙 : 만일 어떤 사각형이 살아서 색이 보이고, 근처에 2개 내지 3개의 살아있는 사각형이 있다면 사각형들은 모두 살 수 있다.
셋째줄 규칙: 만일 어떤 사각형이 죽어서 색이 보이지 않고, 근처에 3개나 6개의 살아 있는 사각형이 있다면 그 사각형은 살 수 있다.
그렇지 않다면, 사각형은 죽어서 색이 없어진다. 기억할 점은 단지 시뮬레이션 환경이고 실제 사각형은 피해가 없다는 것이다. 예를 좀더 들어 보자.
사각형을 클릭해서 자신이 좋아하는 패턴을 만들어 보세요.
[어드밴스]를 누르며 규칙을 계속해서 적용해 보세요.
그리고 나서 시작을 누르면 많은 형태가 반복해서 나타날 것입니다.
여기에서 서로 상호작용하는 복잡한 요소로 인한 흥미로운 반응들이 일어나는, 즉 복잡성을 살펴볼 수 있게 됩니다.
임의적인 규칙에 의해서 재미있게 상호작용하죠.
이런 패턴들은 수년 동안 연구되었습니다. 어떤 그룹에서는 이 패턴이 야생동물의 특징과 비슷하다고 발견하기도 했죠.
다시 자신만의 패턴을 만들어 보시고, [시작]을 눌러보세요.
안정 - 시간이 지나도 변하지 않는 패턴
진동 - 시간에 따라 같은 사이클을 반복해서 변함
- 이동 - 시간에 따라 패턴은 유지하시만 위치가 새나 우주선처럼 변하며 날라다님
여러분이 만든 패턴은 어떤 종류인가요?
시스템을 수정하는 다른 방법은 규칙 자체를 바꾸는 것입니다. 이 시뮬레이션에서 사용된 규칙은 단지 하나의 예로서 '셀룰러 오토마타'라고 널리 불리는 것입니다. 시뮬레이션에서 사용되는 'S/B'는 S는 살아있음을 B는 태어남을 의미합니다. 이 시뮬레이션에서 태어나고 생존하는 삶 게임은 23/3으로 벌어집니다. 다시말해 근처에 살아있는 셀이 2개 또는 3개가 있는 경우에는 살는 것입니다. 또한 죽은 셀이라도 근처에 3개의 살아있는 셀이 있으면 살게 됩니다. 여덟번째와 아홉번째 줄에 있는 규칙을 바꿈으로써 발생한 다양하고 자세한 규칙은 수 년동안 연구되고 검증되었습니다. 만약에 규칙을 바꾸고 싶다면 [실행; Play]버튼을 클릭해서 코드를 다시 만들어 보세요.
수학은 간학문적인 교과입니다. 수학에서 사용하는 이러한 시스템과 급작스런 행동에 관한 연구는 다른 학문에 영향을 주어 과학과 인문학 내 연구에서 새롭게 조명되어 연구되고 있습니다. 알고리즘을 만들고 적용하는 결과 새로운 생각들과 새로운 학문 영역이 종종 만들어 집니다.
만약 이런 주제에 관해 더 알길 원한다면 셀룰러 오토마타와 삶의 게임(Game of Life)에 관한 인터넷 자료를 탐색해 보세요. 스테판 울프람은 셀룰러 오토마타를 개발하고 영역을 확장했습니다. 그의 수학 싸이트에서 보다 많은 자료를 찾을 수 있거나 새로운 과학( A New Kind of Science)에서 무료로 자료를 이용할 수 있습니다. 학생들과 함께 공부한다면 잠정적 교육기준을 사용하세요.
<참고; 구글검색> 셀룰러 오토마타란?? 세포 한 격자를 만들자. 각 세포에게 유한 개수의 가능한 상태를 허용하자. 예를 들어 두 상태 세포는 켬 또는 끔, 생 또는 사, 적 또는 청의 상태에 있을 수 있다. 네 가지 상태 세포는 적·황·녹·청 상태에 있거나, 상·하·좌·우로 움직일 수 있다. 각 시간 단계, 또는 세대는 그 세포의 현 상태와 인접한 이웃들의 상태에 근거한 일단의 규칙들에 따라서 변화한다. 이러한 시스템은 자동자로서, 일단 시작하면 내장된 프로그램에 따라서 진행된다. 시스템이 세포로 구성되어 있기 때문에, 세포 자동자(Cellular Automaton), 또는 줄여서 CA라 부른다. 영어의 복수형은 Cellular Automata이다.