2011-11-07 12 views
7

से एजेंट स्मिथ स्वयं प्रतिकृति कल मैं फिल्म मैट्रिक्स -2 देख रहा था, यह "एजेंट स्मिथ" दिखाता है, जो एक कार्यक्रम है, दूसरे कार्यक्रम में घुसपैठ करता है और उन्हें खुद की प्रतिकृति बनाता है। फिर वे दोनों अपने आप पर व्यवहार करना शुरू करते हैं, लेकिन एक ही विशेषताओं के साथ।मैट्रिक्स-द्वितीय

  1. ऐसे प्रतिकृति "एजेंट स्मिथ" के लिए हटाने के अन्य prog करने के लिए अपने कोड और डेटा की प्रतिलिपि है अपने पुराने
  2. अब वे दोनों व्यवहार करते हैं और स्वतंत्र रूप से समाप्त कर दें, लेकिन समान रूप से सक्षम

मैं सोच रहा था कर रहे हैं अगर/यह कैसे संभव है।

+1

जब तक लक्ष्य जेलब्रोकन नहीं किया जाता है। – Thilo

उत्तर

9

एजेंट स्मिथ quine है।

लगभग 1. - आपको वास्तव में यह नहीं पता कि यह वास्तव में होता है। जो हम जानते हैं, उससे पुराना कोड अधिलेखित नहीं होता है (शायद यही कारण है कि अंत में ऑरैकल अभी भी मौजूद है)। ऐसा लगता है कि कुछ प्रकार का कोड इंजेक्शन होता है, पुराना कोड बाईपास किया जाता है और स्मिथ का कोड चलाया जाता है।

इसके अलावा, यह सुनिश्चित न करें कि सभी स्मिथ क्लोन समान व्यवहार करते हैं। ऐसा लगता है कि एक केंद्रीय स्मिथ "सर्वर" है और अन्य सभी ग्राहक हैं।

+0

उल्लेख करने लायक भी है, यह [क्लेन के रिकर्सन प्रमेय] (http://en.wikipedia.org/wiki/Kleene%27s_recursion_theorem) से निकटता से संबंधित है, जो कोड को प्रिंट/दोहराने के लिए सैद्धांतिक संभावनाओं को साबित करता है। – amit

+1

एजेंट स्मिथ * शायद एक क्विन हो सकता है, लेकिन चूंकि शहर में एकमात्र सिस्टम मशीनों द्वारा प्रशासित सर्वरों पर चलता है, यह केवल यह हो सकता है कि इंजेक्शन कोड छवि को '/ usr/bin/smith' के साथ बदलने के लिए execv का उपयोग करता है, जो कनेक्ट करता है वर्तमान स्थिति को लोड करने के लिए मूल (शॉर्ट टर्म मेमोरी इत्यादि)। –

1

मुझे लगता है कि एआई समेत सभी खुफिया chaotic है जिसमें यह प्रारंभिक स्थितियों के प्रति संवेदनशील है। प्रतिलिपि बनाने के बाद, एजेंट स्मिथ # 1 बाईं ओर दिखता है और एजेंट स्मिथ # 2 और एजेंट स्मिथ # 2 एजेंट स्मिथ # 1 पर सही दिखता है। उन्हें थोड़ा अलग व्यवहार पथ के साथ भेजने के लिए पर्याप्त है।

उस पर, प्रतिलिपि (लुइसियन के अनुसार क्विन), शायद प्रोग्राम के कुछ गुणांक को यादृच्छिक बनाता है, जिससे इसे थोड़ा अलग बना दिया जाता है।

दो सिर एक से बेहतर हैं, लेकिन केवल तभी यदि उनके पास बिल्कुल वही विचार नहीं हैं!

1

यह भी देखें कि fork(2) काम करता है। आपको समान कार्यक्रम मिलते हैं, लेकिन अगला अगला बयान जांचता है कि आप प्रतिलिपि या मूल हैं या तदनुसार कार्य करते हैं।