2011-11-07 2 views
7

어제 영화 'MATRIX-II'를 보았을 때 프로그램 인 "Agent Smith"가 다른 프로그램에 침투하여 자신을 복제 한 것으로 표시했습니다. 그런 다음 그들은 모두 자신의 행동을 시작하지만 동일한 특성을 지닙니다.MATRIX-II의 에이전트 스미스 셀프 복제

같은 복제 "에이전트 스미스"를
  1. 는 제거 다른 음식물에 자신의 코드와 데이터를 복사하는 옛 이제
  2. 둘 다 행동과 독립적으로 종료,하지만 난 궁금

동등하게 할 수있다 이것이 가능한지/어떨지.

+1

대상이 jailbroken이 아닌 한 허용되지 않습니다. – Thilo

답변

9

스미스 대리인은 quine입니다.

1. - 실제로 이런 일이 실제로 발생하는지는 알 수 없습니다. 우리가 알고있는 바에 따르면, 오래된 코드는 덮어 쓰여지지 않습니다 (어쩌면 마지막에 오라클이 여전히 존재할 수도 있습니다). 일종의 코드 삽입이 발생하고 이전 코드가 무시되고 스미스 코드가 실행될 가능성이 높아 보입니다.

또한 모든 스미스 클론이 똑같이 작동하지 않도록하십시오. 저에게 하나의 중앙 스미스 "서버"가 있고 다른 모든 클라이언트가있는 것처럼 보입니다.

+0

또한이 값은 [Kleene 's Recursion Theorem] (http://en.wikipedia.org/wiki/Kleene%27s_recursion_theorem)과 밀접한 관련이 있습니다. 이는 코드를 인쇄/복제하는 이론적 인 가능성을 입증했습니다. – amit

+1

스미스 * 스미스는 기계적으로 관리되는 서버에서 실행되기 때문에 execv를 사용하여 이미지를/usr/bin/smith로 바꿀 수 있습니다. 원래 상태로로드 (단기 메모리 등). –

1

나는 AI를 포함한 모든 지능이 초기 조건에 민감하다는 점에서 chaotic이라고 가정합니다. 복제 후 에이전트 스미스 1 번은 왼쪽으로 보이고 스미스 2 번과 스미스 2 번은 스미스 1 번을 보입니다. 그것은 약간 다른 행동 경로를 따라 그들을 보내는 데 충분합니다.

그 외에, 복제 (Lucian 당 quine)는 프로그램의 몇 가지 계수를 무작위로 추출하여 약간 다르게 만듭니다.

두 개의 머리가 하나보다 낫지 만, 똑같은 생각이없는 경우에만!

1

또한 fork(2)이 어떻게 작동하는지 살펴보십시오. 당신은 동일한 프로그램을 얻지 만, 바로 다음 문장은 당신이 사본인지 아니면 원본인지를 확인하고 이에 따라 행동합니다.