Transcript PowerPoint

Slide 1

‫گردآورنده ‪ :‬نوید حسینی ایزدی‬
‫شماره دانشجویی ‪9004324 :‬‬
‫استاد مربوطه ‪ :‬آقای دکتر میرزایی‬
‫‪1‬‬

‫پاییز ‪90‬‬

‫‪Artificial Life‬‬


Slide 2

‫مقدمه‬
‫•‬
‫•‬
‫•‬
‫•‬

‫‪2‬‬

‫در اوایل دهه ‪ 1920‬ایده سیستم های زنده پروتئینی ارائه شد‪.‬‬
‫انجام آزمایش برای درک چگونگی ایجاد عناصر پایه سیستم زنده‬
‫)‪.(amino acid, hydroxy acid‬‬
‫ایجاد ‪ amino acid‬در نتیجه آزمایشات انجام شده‪.‬‬
‫کنجکاوی روی سیستم زنده و پیشرفت تکنولوژی راه حل جدیدی‬
‫برای شناخت قوانین حاکم بر موجودات زنده به نام زندگی مصنوعی‬
‫)‪ (Artificial Life‬ایجاد کرد‪.‬‬

‫‪Artificial Life‬‬


Slide 3

‫تئوری حالت زنده‬
‫• دانشمندان همواره به دنبال یک تعریف علمی برای تشخیص‬
‫حالت زنده بوده اند‪.‬‬
‫• مشکل پیدا کردن حداقل تعداد خصیصه مشترک بین‬
‫موجودات زنده می باشد‪.‬‬
‫• به جای کوچکترین جزء زنده باید دنبال کوچکترین سیستم‬
‫زنده بگردیم‪.‬‬

‫‪3‬‬

‫‪Artificial Life‬‬


Slide 4

‫‪ Artificial Life‬چیست؟‬
‫• شبیه سازی هر جنبه ای از زندگی با استفاده از برنامه‬
‫کامپیوتری‪ ،‬ربات و یا زیست شیمی‪.‬‬

‫‪4‬‬

‫‪Artificial Life‬‬


Slide 5

‫هدف ‪ALife‬‬
‫• شبیه سازی موجودات زنده در راستای درک بهتر قوانین حاکم‬
‫بر زندگی‪.‬‬
‫• زندگی مصنوعی ممکن است به شبیه سازی و بررسی‬
‫خصوصیات یک یا چند فرد از جمعیت و یا کل جمعیت‬
‫بپردازد‪.‬‬

‫‪5‬‬

‫‪Artificial Life‬‬


Slide 6

‫شبیه سازی یک یا چند فرد‬
‫• هدف بررسی یک یا چند واحد (فرد) و یا بخش خاصی از یک‬
‫واحد می باشد‪.‬‬
‫• برای مثال می توان به پروژه ‪ Sim’s‬در سال ‪ 1994‬اشاره کرد‪.‬‬
‫• به عنوان مثال دیگر در سال ‪ Barbara Webb 1996‬و تیم اش‬
‫توانستند که یک سری از رفتارهای جیرجیرک را با طراحی و‬
‫ساخت رباتی شبیه سازی کنند و از این طریق به چگونگی‬
‫انجام رفتارهای جیرجیرک پی ببرند‪.‬‬

‫‪6‬‬

‫‪Artificial Life‬‬


Slide 7

‫هدف پروژه ‪Sim’s‬‬
‫•‬
‫•‬

‫•‬
‫•‬

‫‪7‬‬

‫هدف مطالعه یک تابع برازندگی ثابت و تطبیق جمعیت با آن نبود‪.‬‬
‫هدف این بودکه به جمعیت اجازه دهند که بخشی از محیط باشد و‬
‫افراد جمعیت با همدیگر رو به تکامل پیش روند و سیستم کنترلی‬
‫خود را با شکل فیزیکی خود تطبیق دهند و بالعکس‪.‬‬
‫برای انتخاب بهترین عضو کاندیداها با یکدیگر به رقابت می پردازند‪.‬‬
‫مثال در یک مورد خاص هدف اعضای جمعیت می تواند به دست‬
‫آوردن مکعبی در وسط دنیای مجازی باشد که شبیه ساز تعامل بین‬
‫موجودات زنده و فیزیک محیط مجازی را کنترل می کند‪.‬‬
‫‪Artificial Life‬‬


Slide 8

‫یک نمونه از فنوتایپ که از روی ژنوتایپ تکامل یافته‬
‫یک عضو جمعیت ساخته شده است‪.‬‬

‫‪8‬‬

‫‪Artificial Life‬‬


Slide 9

‫موجودات تکامل یافته که با یکدیگر رقابت می کنند‬

‫‪9‬‬

‫‪Artificial Life‬‬


Slide 10

‫نتیجه حاصل از پروژه ‪Sim’s‬‬
‫• نتیجه ای که از پروژه ‪ Sim’s‬به دست آمد این است که اگر‬
‫بگذاریم جمعیت خودش‪ ،‬خودش را با محیط تطبیق دهد نتایج‬
‫بسیار جالبی به دست خواهد آمد که با روش های استاندارد‬
‫ممکن نیست‪.‬‬

‫‪10‬‬

‫‪Artificial Life‬‬


Slide 11

‫شبیه سازی جمعیت‬
‫• برای به دست آوردن نتایج حاصل از تعامل بین افراد جمعیت‬
‫بررسی یک یا چند نفر خاص مفید نخواهد بود و فقط زمانی به‬
‫نتایج مفیدی می رسیم که کل جمعیت را در نظر بگیریم‪.‬‬
‫• حرکت مورچه ها‪.‬‬
‫• خانه سازی زنبورها که به صورت توزیع شده می باشد و هر‬
‫زنبور فقط با نگاه کردن به ساختار نیمه تمام خانه آن را تکمیل‬
‫می کند‪.‬‬

‫‪11‬‬

‫‪Artificial Life‬‬


Slide 12

‫در زیر ساختارهایی مشابه به خانه زنبور آورده شده که با‬
‫شبیه سازی نحوه خانه سازی زنبور به دست آمده‬

‫‪12‬‬

‫‪Artificial Life‬‬


Slide 13

‫انواع ‪ALife‬‬
‫• ساخت سیستم زنده با استفاده از بلوک های سازنده طبیعی‬
‫(موجود زنده ساخته شده از کربن)‪.‬‬
‫• ایجاد سیستم زنده با استفاده از قوانین حاکم بر موجودات زنده‬
‫اما بر روی کامپیوتر‪.‬‬

‫‪13‬‬

‫‪Artificial Life‬‬


Slide 14

‫‪ Turing, von Neumann‬آتاماتا‬
‫• پایه هر پیاده سازی از ‪ ALife‬بر اساس تئوری آتاماتای تورینگ‬
‫و وان نیومن می باشد‪.‬‬
‫• تورینگ ماشین تورینگ عمومی را پیشنهاد کرد که توانایی‬
‫شبیه سازی عملکرد هر ماشین تورینگ دیگر را دارا بود‪.‬‬
‫• وان نیومن با استفاده از ماشین تورینگ عمومی ایده ای در‬
‫مورد کامپیوترهایی که توانایی شبیه سازی کامپیوترهای دیگر‬
‫را دارند ارائه کرد‪ .‬این ایده وان نیومن را به سمت فرموله کردن‬
‫آتاماتایی (عمومی) هدایت کرد که توانایی ساخت آتاماتای‬
‫دیگری را داشته باشد‪.‬‬
‫‪14‬‬

‫‪Artificial Life‬‬


Slide 15

‫ساختار آتاماتای عمومی وان نیومن‬
‫• وان نیومن ابتدا لیستی از قطعات پایه مورد نیاز ساخت آتاماتا تهیه‬
‫کرد‪.‬‬
‫• آتاماتای مذکور شامل سه قسمت می باشد‪:‬‬
‫– آتاماتای ‪ : A‬که وظیفه دارد با دریافت توصیف ‪ I‬یک آتاماتا آن را بسازد‪.‬‬
‫– آتاماتای ‪ : B‬که وظیفه دریافت دستورات ‪ I‬و کپی کردن آن را دارد‪.‬‬
‫– مکانیزم کنترل ‪ : C‬که هنگامی که به ‪ A‬توصیف ‪ I‬داده می شود ‪ C‬به ‪A‬‬
‫دستور ساخت آتاماتای متناظر را می دهد‪ .‬در ادامه ‪ C‬به ‪ B‬دستور کپی‬
‫کردن ‪ I‬را می دهد و در نهایت کپی ساخته شده توسط ‪ B‬در آتاماتای‬
‫جدید تزریق می شود و آتاماتای جدید از قدیم جدا می شود‪.‬‬

‫• حال اگر به ‪ A‬توصیف خودش را بدهیم به یک آتاماتای خود تولید‬
‫کننده می رسیم‪.‬‬
‫‪15‬‬

‫‪Artificial Life‬‬


Slide 16

‫معرفی آتاماتای سلولی )‪(CA‬‬
‫• وان نیومن برای تحقق بخشیدن به آتاماتای عمومی خود‪،‬‬
‫آتاماتای سلولی را طراحی کرد‪.‬‬
‫• ویژگی های آتاماتای سلولی ‪:‬‬
‫– از تعدادی سایت یا سلول تشکیل شده‪.‬‬
‫– هر سلول دارای یک همسایگی به صورت به عالوه می باشد‪.‬‬

‫– هر سلول در زمان های گسسته به صورت زیر به روز می شود‪.‬‬
‫) )‪C(t+1) = f( N(t), E(t), S(t), C(t‬‬
‫‪16‬‬

‫‪Artificial Life‬‬


Slide 17

‫ایده اصالح شده ‪CA‬‬
‫• ایده وان نیومن به علت پیچیدگی هرگز عملی نشد‪.‬‬
‫• بعد از نیومن تالش های دیگری نیز برای اصالح ‪ CA‬انجام شد‬
‫اما بی نتیجه بود‪.‬‬
‫• در نهایت النگتون ایده ‪ CA‬را اصالح کرد‪.‬‬
‫– به جای اصرار بر عمومی بودن ‪ CA‬از نظر ساخت هر آتاماتای دیگر‪،‬‬
‫(در راستای رسیدن به آتاماتای خود تولید کننده) به عمومیت آن از‬
‫نظر محاسباتی بپردازیم‪.‬‬

‫‪17‬‬

‫‪Artificial Life‬‬


Slide 18

‫تعریف رسمی ‪CA‬‬
‫• یک ‪ CA‬یک شبکه از سایت ها می باشد به طوری که ‪:‬‬
‫– هر سایت ‪ k‬مقدار می گیرد‪.‬‬
‫– مقدار هر سایت در زمان های گسسته به وسیله آتاماتای موجود در‬
‫آن به روز می شود که این آتاماتا طبق قانون ‪ CA‬عمل می کند‪.‬‬
‫– هر سایت دارای یک وضعیت ثابت است‪.‬‬
‫– هر سایت برای به روز شدن به همسایگی خود نیازمند است‪.‬‬
‫‪ai+1‬‬

‫‪18‬‬

‫‪Artificial Life‬‬

‫‪ai‬‬

‫‪ai-1‬‬


Slide 19

CA ‫نحوه به روز رسانی‬

Artificial Life

19


Slide 20

‫دسته بندی قوانین ‪CA‬‬
‫• ولفرام قوانین ‪ CA‬را مورد بررسی قرار داد و آن ها را طبق‬
‫رفتارشان در درازمدت به چهار دسته تقسیم کرد‪.‬‬

‫‪20‬‬

‫‪Artificial Life‬‬


Slide 21

‫دسته ‪1‬‬
‫• قوانین این دسته رفتار نقطه ای محدود از خود نشان می دهند‪.‬‬
‫یعنی تقریبا از تمامی حاالت شروع به حالت نهایی با مقدار ‪0‬‬
‫برای تمام سایت ها و یا با مقدار ‪ 1‬برای تمام سایت ها می رود‪.‬‬

‫‪21‬‬

‫‪Artificial Life‬‬


Slide 22

‫دسته ‪2‬‬
‫• دسته دوم رفتار چرخه ای محدود نشان می دهند‪ .‬این دسته‬
‫الگوهایی پریودیک و الگوهایی که به طور یکنواخت به چپ و‬
‫راست شیفت پیدا کرده اند تولید می کند‪.‬‬

‫‪22‬‬

‫‪Artificial Life‬‬


Slide 23

‫دسته ‪3‬‬
‫• دسته سوم قوانین تقریبا همیشه به وضعیت غیر پریودیک و‬
‫آشوبی منجر می شود‪.‬‬

‫‪23‬‬

‫‪Artificial Life‬‬


Slide 24

‫دسته ‪4‬‬
‫• رفتار این دسته از قوانین بسیار پیچیده است و به نظر می رسد‬
‫این قوانین قابلیت خودسازماندهی دارند‪ .‬نشان داده شده است‬
‫که آتاماتایی که از این قوانین استفاده کند قابلیت شبیه سازی‬
‫آتاماتاهای دیگر را دارد در حقیقت مانند یک ماشین تورینگ‬
‫عمومی عمل می کند‪.‬‬

‫‪24‬‬

‫‪Artificial Life‬‬


Slide 25

Artificial Life

25


Slide 26

‫‪ CA‬خود تولید کننده‬
‫• عالقه به استفاده از ‪ CA‬به عنوان بستری برای ‪ ALife‬از آنجا‬
‫سرچشمه می گیرد که گمان می رود ‪ CA‬قابلیت ایجاد آتاماتای‬
‫عمومی آن گونه که تورینگ در نظر داشت را دارا می باشد‪.‬‬
‫• در سال ‪ 1986‬النگتون به بررسی امکان وجود نوعی شیمی‬
‫مصنوعی که بر روی مولکول های مصنوعی کار می کند پرداخت‪.‬‬
‫• النگتون در تحقیق خود از ‪ 2D CA‬با همسایگی وان نیومن‬
‫استفاده کرد به طوری که قانون به روز کننده ‪ CA‬نقش شیمی و‬
‫آتاماتا نقش مولکول را دارد‪.‬‬

‫‪26‬‬

‫‪Artificial Life‬‬


Slide 27

‫‪ CA‬خود تولید کننده‬
‫• النگتون سعی کرد دریابد کدام یک از ‪ 4‬دسته قانون بهتر عمل‬
‫می کند‪.‬‬
‫• در این راستا پارامتر ‪ λ‬را تعریف کرد که برابر است با احتمال‬
‫این که یک همسایگی با یک قانون مشخص به وضعیتی فعال‬
‫برود‪.‬‬
‫• برای ‪ 0.2< λ<0.4‬رفتار مشاهده شده همان رفتار دسته ‪ 4‬است‪.‬‬
‫• در ادامه النگتون یک آتاماتای خود تولید کننده که کار ‪ A, B, C‬را‬
‫انجام می داد طراحی کرد‪.‬‬
‫‪27‬‬

‫‪Artificial Life‬‬


Slide 28

‫ساختار خود تولید کننده در آتاماتای النگتون‬
‫• داده های بین دو مرز عدد ‪ 2‬برای ساخت یک کپی جدید از‬
‫آتاماتا مورد استفاده قرار می گیرد‪.‬‬

‫‪28‬‬

‫‪Artificial Life‬‬


Slide 29

‫نتیجه کپی شدن آتاماتای النگتون‬

‫‪29‬‬

‫‪Artificial Life‬‬


Slide 30

‫ویروس ها‬
‫• ظهور ویروس های کامپیوتری موجب مورد توجه قرار گرفتن‬
‫کدهایی که در حافظه کامپیوتر اجرا می شود به عنوان بستری‬
‫برای ‪ ALife‬گردید‪.‬‬
‫• گونه ای از ویروس ها خود را با محیط وفق می دهند که این‬
‫ویژگی یادآور سیستم زنده می باشد‪.‬‬
‫• پژوهشگران با مشاهده مضر بودن اجرای ویروس روی ‪cpu‬‬
‫حقیقی برای بررسی رفتار آن ها به فکر طراحی ‪ cpu‬مجازی‬
‫افتادند )‪.(CoreWorld‬‬
‫‪30‬‬

‫‪Artificial Life‬‬


Slide 31

‫نحوه کپی شدن یک برنامه به صورت ساده‬

‫‪31‬‬

‫‪Artificial Life‬‬


Slide 32

‫‪Rasmussen’s CoreWorld‬‬
‫• ‪ CoreWorld‬یک هسته کامپیوتری شبیه سازی شده است با‬
‫فضای آدرس حلقه ای‪.‬‬
‫• ویژگی ها‪:‬‬
‫– فضای آدرس شامل مجموعه دستورات (اسمبلی مانند) ‪Redcode‬‬
‫– در هر برنامه برای داشتن خاصیت تطبیقی با محیط دستور ‪MOV‬‬
‫با احتمال مشخصی دچار اشتباه می شود )‪.(Mutation‬‬
‫– ‪ Self-replication‬عملی نیست و از شبکه ای از برنامه ها که‬
‫یکدیگر را کپی می کنند استفاده می شود‪.‬‬
‫‪32‬‬

‫‪Artificial Life‬‬


Slide 33

CoreWorld

‫دستور‬

‫حافظه حلقوی‬

‫لیست اجرا‬

Artificial Life

33


Slide 34

‫‪Tierra System‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪34‬‬

‫طراحی شده توسط ‪.Tom Ray‬‬
‫استفاده از آدرس دهی مبتنی بر الگو و الگوریتم تطبیق الگو بر‬
‫گرفته شده از نمونه های طبیعی‪.‬‬
‫طراحی و استفاده از ‪ cpu‬مجازی‪.‬‬
‫برنامه های ناقص برنامه های والد را از بین می برند‪.‬‬
‫برنامه های والد با الگوی متفاوت از برنامه های ناقص ایمن می‬
‫مانند‪.‬‬
‫رفتار ‪ Tierra‬شبیه به رفتار گونه ای ویروس و باکتری است‪.‬‬
‫‪Artificial Life‬‬


Slide 35

‫مراجع‬
• introduction to artificial life
by Christoph Adam
• http://www.cs.ucla.edu/~dt/alife.html

Artificial Life

35


Slide 36

‫با تشکر‬
Artificial Life

36