1강 / 20강
유전자를 스위치로 본다 — 세포 하나가 숫자 몇 개가 되기까지
상태 벡터와 2ⁿ
세포 하나를 컴퓨터에 넣으려면 먼저 무엇을 버릴지 정해야 합니다. 단백질의 모양, 농도, 세포 안 위치, 시간 지연 — 전부 중요하지만 전부 넣으면 아무것도 계산할 수 없습니다.
불리언 네트워크는 과감합니다. 유전자 하나를 스위치 하나로 봅니다.
| 실제 세포 | 모형 |
|---|---|
| 유전자 발현량 0 ~ 수만 카피 | 0 아니면 1 |
| 연속적인 시간 | t = 0, 1, 2, … 똑딱거리는 시계 |
| 확률적으로 흔들림 | 규칙대로만 움직임 |
너무 거칠어 보이지만, 놀랍게도 이 모형은 세포가 어떤 상태로 자리 잡는가를 꽤 잘 맞힙니다. 발현량의 정확한 숫자보다 켜졌나 꺼졌나가 세포의 운명을 가르는 경우가 많기 때문입니다.
bn 은 이 강의 내내 함께 쓰는 도구 상자입니다. 브라우저 안에 이미 들어 있어요.
Python
브라우저에서 실행
숫자를 세는 순서는 이진수 세는 순서와 같습니다 — 0000, 0001, 0010, …
Python
브라우저에서 실행
🎮 스위치 실험대
스위치를 직접 눌러 보세요. 유전자 수를 늘리면 상태 수가 얼마나 빨리 불어나는지도 함께 봅니다.
🤔 확인 문제
유전자가 6개인 불리언 네트워크의 상태 공간 크기는?
해설 각 유전자가 0 또는 1 두 가지이므로 2×2×2×2×2×2 = 2⁶ = 64입니다. 6²=36 이나 6!=720 이 아닙니다 — 유전자마다 독립적으로 두 값을 가지니까요.
🤔 확인 문제
불리언 모형이 유전자 발현량을 0/1 로만 본다는 것은 무슨 뜻인가?
해설 모형이 그렇게 보기로 정한 것이지, 세포가 실제로 그렇다는 뜻이 아닙니다. 이렇게 버리는 대신 모든 상태를 전부 계산할 수 있는 능력을 얻습니다.
🤔 확인 문제
이 강의에서 '세포의 상태' 라고 하면 무엇을 가리키는가?
해설 상태 벡터 하나가 세포 하나입니다. 앞으로 20강 내내 이 한 줄을 굴리게 됩니다.