چهارشنبه، آبان ۰۷، ۱۳۹۹

The vestigial no-deletion law

Consider evolution in a simple optimisation paradigm, in the sense that it tries to almost locally optimise on each soecies; while adhering to a constraint:

It seems evolution doesn't like to delete its DNA ideas (achievements), i.e. organs, mechanisms, strategies and techniques, etc. It tried to adapt and repurpose* them, and if not useful, shrinks them as vestigial organs.

But it doesn't delete them. (except for big rare breaking points such as the Eukaryot revolution). This seems to be a rule of the game that evolution has decided on it long ago. Pretty much like a universal law.

Like the unidirectionality (which is also elaborated by Nicolic). I am not sure if this law is recognised by others. So, here I write it. Another great example is the brain (will elaborate on this later.

Sohail Siadatnejad
(to be published soon)

سه‌شنبه، مهر ۲۹، ۱۳۹۹

باز هم بحث جنگ

در مورد نقل اخبار یک حمله در جنگ ارمنستان-آذربایجان، توسط کسی که محل حمله شده را منسوب به اجدادش می‌دانست. متاسفانه این رویکرد موجب طرفداری از یک سمت می‌شود. پیشنهاد میکنم یک تست DNA برای تبار بدهید. خواهید دید که قطعا از طرف ارمنی هم ژن دارید. البته اهمیتی ندارد. نتیجه این تست هر چه باششد شگفت خواهد بود. این تست نشون میده که ما مخلوط تر از اینها هستیم. هر جنگی باعث این ها می‌شود. تقصیر یک طرف نیست. این اختلافها هم هرگز جواب ندارند. تقصیر خود جنگ است. با خود جنگ (و عوامل افروزنده آن) بایید جنگید نه با طرفداری از یک طرف. طرف یکسمت را گرفتن. دو فامیل نزدیک باهم دعوا میکنند. باید یک لحظه دست بردارند ببینند دشمن واقعی مشترک اونها کیست (و چه کسانی هستند). این جزو خاصیت حنگ است که دوربین را هر جا ببری مبینی کشته است . افرادی دارند می‌میرند. و بیشتر دشمن میشوی با طرف مقابل. هر بمب و موشکلی که از هر دو طرف میاد بذر کینه ای چند نسلی را میکارد و کیینه ها ی موجود را ضخیم تر میکند. In war whichever side may call itself victor. There are no winners. But all are losers. (Neville Chamberlain : 1869-1940) در ادامه: (یادداشت دوم) ( در اینجا از مطلب اصلی دور می‌شوم) با این نگاه و این تفاسیر، افراد، عروسک خیمه ب بازی در ارباب جنگ میوشند. اگر طرفدار یک طلرف هستید، باشید اما اذعان کنید که بخاطر خودتان است و نه بر حق بودن یک طرف:‌یعنی بر حق بودن حنگ. باور به برحق بودن یک طرف و لزوم شکست دیگری، همان طرفداری و دامن زدن به جنگ است. تنها نتیجه خوب برای یک جنگی که شده، تنها پیروزی ممکن: توقف جنگ در هان لحظه است. اما احساسات (خشم) بر عقل چیره می‌شود. و انسانها عملا با عمل طرفداری از یکم سمت، خواهان جنگ می‌شود. خواهان جنگ اگر همه جنگ را نخواهند، جنگ تمام میشود. اگر همه جنگ را نخواهند متوقف میشود؟ ایراد اینست که وقتی جنگی در گرفته، به هر حال دفاع لازم است. چون همیشه یک طرف اندکی حنگ را میخواهد، یا لااقل دنبال کمی محکم تر زدن است در تلافی. دفاع لازم است. اما دفاع به حنگ تبدیل میشود. چرا که یک تعادل ناپاییدار است. پس جیزی بیشتر از خواهان حنگ نبودن توسط همه لازم است. یادداشت سوم: ... هم با اون تجهیزاتش از این حمله ها به غیر نظامیها خیلی زیاد دارد. این نتیجه و خاصیت جنگ است. هر جنگی باشد با هر انگیزه ای، انسانها را وحششیانه میکشد. همشیه انگیزه اش پیدا می‌شود. معمولا کشور های دیگری هم ههستند که دامن میزنند (و من حدس میزنم باید دید اسلحه ها از کجا می آیند). در جنگ هر دو طرف مقصرند. و همیشه دلایلی تاریخی در هر دو طرف هست. اصلا در همه جا هست (جاهایی که مشغول جنگ نیستند). توجیه برای جنگ نباید باشد چه از سمت ارمنی ها و چه اون طرف.

دوشنبه، مهر ۲۸، ۱۳۹۹

حوضچه کوچک دنج

(یادداشتی خصوصی برای خود) این وبلاگ «جای» آرامی است که اکسپرشن محتوای فکر به آنجا سرازیر میشود. چند تا از این «جای» ها وجود دارد. جای آرامی که بر خلاف فیسبوک زیر هزار چشم ِ خیره نیست. «محل»ی است که فکر(های) با ته مایه غم می توانند به آرامی خودش را دور از گروه و جمعی دیگر که آن بیرون حضور دارند (کار،‌غیره)، جاری کند تا جای بگیرد و در آن نشست کند. حضور نگاهی نا موجود، در اینجا هست (وجود دارد). حوزه ی اجتماعی (گفتگوی در جمع: کار، میهمانی، غیره) هم یکی از این حوزه ها است. اما گاهی مطالبی هست که جمع یا گوشه ای خصوصی تراز آن می‌طلبد. حوزه (حوض: در حقیقت حوضه! مثل حوضه‌ی آبریز رودخانه) های متعددی هست. و اکنون این حوض/«حوضه»/حوضچه برای من کار می‌کند. عمل (اقدام) قبل از مفهوم شروع میشود، کار خودش را می‌کند پیش از اینکه من بفهمم. .ناخوداگاه->اقدام (و بخش هایی پنهان متصل به آن)->در بیرون جمع شدن->مفهوم مهم نیست اگر اینها به درد کسی نمیخورد. برای من سودمند است. عواقب (متعاقبات) آن را باید نظم دهم تا مفید واقع شود. ذهن، دائم در صدد برون سپاری است و در این مورد بالاخره نوشتار موعود را خواهم داشت. این، اکسپورت (صادرات؟) ذهن است. برای جیزهایی که توان حمل و نگه داری آنها را (در خود) ندارد: وقتی که در حالت (state) تنهایی باشد. در این حالت در دست دادن فردی به این اهمیت در زندگی، دوباره به وبلاگ پناه می آوردم. هرچند پناه‌آوردن کلمه‌ی مناسبی نیست. بهتره بگم متصل می‌شوم. این پست یک محتوا، ایده، دانش، اندیشه نیست: بلکه یکی عمل است. هارد دیسک را بعد از مدتها وصل کرده‌ام که syncشود. شاید هم معبد ی است که حکم مدیتیشن دارد. اما برای فردی که مایل نیست اموشن خود را در حوزه عمومی کوچه بازار رها کند موقتا محل خوبی است. جای. محل. حوزه. حوضه. گوشه. معبد. حوضچه کوچک. دنج.

performer / builder

On speaking versus writing (and coding). (in the / by the conscious realm: ) I am not a performer. I am a builder. performing: vocal. performing art skill. STM. online/causal processing. building: developing, LTM. written. code. craft skill. offline/batch processing.

جمعه، مهر ۱۱، ۱۳۹۹

کد اجرایی بودن DNA

دی ان آ DNA دارای توان پردازشی است. درست مثل کد نرم‌افزار است که در یک سخت افزار (سلول) اجرا می‌شود. اتفاقا این الهام بخش پیشرفت هایی از علوم کامپیوتر بوده. بله DNA رو میشه مثل کد متن برنامه اسمبلی در نظر گرفت. البته پیچیده تر از اسمبلی است چون RNA کد خودش را حین اجرا عوض میکند (ییشتر ریکانفیگوربل لاجیک است). یادم نیست در ابتدا چه کسی این دیدگاه رو گفته. اما این ایده کمابیش از ابتدای کشف DNA بوده. اما فرم کامل و دقیق این ادعا رو باید بیشتر جستجو کنم. اینجا توضیحات بیشتری پیدا کردم: https://mindmatters.ai/2018/10/a-computer-programmer-looks-at-dna/ این ایده اساسی ای است که ایده ی پایه و الهام بخش چند فیلد است: Genetic Programming (John Holland) DNA Computing (Adleman) در پاسخ به یک انتقاد: چرا میگید کد کامپیوتر توان پردازشی داره ولی کد DAN توان پردازشی نداره؟ کد برنامه در حافظه کامپیوتر هم پسیو است. تا وقتی در یک سخت افزار قرار بگیرد. در مورد ثابت بودن و نبودن: من هم گفتم کدش تغییر میکنه. ... کد dna تغییر نمیکنه مگر در اثر جهش. احتمالش کم است. ناچیز نیست. اما کم است. و بین دو نسل است. نکته ی DNA دوامش است. تقریبا همه سلولها کپی یکی هستند. (در حالت عادی....) مقدار زیادی مکانیزم های تصحیح خطا وجود دارد که DNA تغییر نکند. بعضی پترن های DNA از میلیاردها سال پیش بدون تغییر مانده اند. حتی بین نسل ها. ... میتونه عملکرد کد code رو داره. در اصطلاح، code به معنای برنامه ای است که اجرا میشود. طبق دیدگاه فون نویمان کد (برنامه احرا شونده) تفاوت ماهوی با دیتا (داده) ندارد. برنامه های کامپیوتری هم به صورت دیتا ذخیره میشوند. برای همین نام code به آنها داده اند. در حقیقت یعنی دیتا data هستند. چیزی که اونها (کد به مثابه دیتای فعال )رو از سایر دیتا ها (دیتای پسیو و منفعل) جدا میکنه اینه که توسط سخت‌افزار مناسب اجرا و نفسیر شوند. دیتا و داده تغییر میکند. حتی در کامپیوتر هم تغییر میکند (مثلا با اشعه کیهانی یا امسید شدن هارد دیسک). نام پدیده اش bitrot است. اما اون تغییر ها رو به حساب نمی آوریم. گاهی وفت ها میبینید فایلهای تصثیری هراب شده اند بخاطر پدیده های مشابه است. تفاوت ماهوی ندارند. در این حالت ها فایل رو دور یمریزیم یا برنامه را دوباره نصب میکنیم یا سی دی را دور میریزیم. این همان تصحیح خطا است. طبیعت (بیولوژی) هم‌مکانیزم های بسیار فراوان و متنوعی برای حفظ و تصحیح خطاها دارد. .... پرسش: منظور از کد بودنِ DNA اینه که سلول کدهای DNA رو می‌خونه تا بدونه که کی و چه جوری باید تکثیر بشه یا چه واکنشی به محیط اطرافش و اطلاعات دریافتیش بده؟ پاسخ: بله درسته. تا حدی مثل «کد اجرایی» در کامپیوتر است. البته سبکش با instruction ها ی cpu خیلی فرق داره. بخش های آنالوگ، فضایی، و نویزی و پر خطا دارد. اما مکانیزم هایی از اینترکشن سمبلیک بین بخشهای مختلف با state های مختلف است که بر یکدیگر اثر و اینترکشن از راه نسبتا دور دارند (که مانند پوینتر است) . مثلا یک ژن اکسپرس میشود و حاصلش که یک پروتئین است، اکسپرشن ژنی دیگر که دورتر از آن است را کم یا زیاد میکند: رگولیت میکند. اینها عملیات پایه ای تشکیل میدهن که اگر به یک برنامه نویس با تخیل بالا بدهید میتونه مسایلی که ماشین تورینگ حرکت میکنه رو باهاش حل کنه. عملگرهای پایه بین موجودات مختلف تا حد ربادی یکسان است (اصول یکسانی دارد که در ابتدای تکامل به این صورت در آمده اند). اما ارایش و نحوه ی اینترکشن آنها بین موجودات مختلف فرق دارد. پیچیدگی های زیادی دارد و احتمالا همه ی موارد پیچیدگی اش کشف نشده. در حال حاظر نمیتوان از یک DNA داده شده رفتار آن را بطو کامل پیش بینی کرد. (چون لازمه اش پیش بینی شکل پروتئین ها، شکل تا خوردن و خم شدن خود DNA، و اینکه از کجا خم میشود و کجایش به کجایش نزدیک میشود، و پیش بینی محل بسته شدن و باب شدن از هیستون ها و موارد بسیار دیگر است.). اما در درونش کاری شبیه کنترل و پردازش سیگنالها هم انجام میدهد و قابلیت عمل و عکس العمل برنامه ریزی شده (programmed) دارد (در کنار تولید پروتئین ها). تکه های برنامه تقریبا ژن ها هستند (شبیه ساب روتین ها) که باهم اینترکشن دارند. امکانات پایه (پس از ابسترکشن: عملکر های پایه) برای پترن مچینگ های دقیق وجود دارد (مثل پرولوگ و فانکشال ها). یکی از کنش های اصلی (خروجی عملیات مختلف) gene expression است. کنترل روی آن را رگولیشن میگویند. تکه ای از مکانیزمی که عمل معکوس اکسپرش را انجام میدهد repressor نام دارد. هر مجموعه ژن هایی که اکسپرس میشوند یک promoter دارند (که یاداور head در زبان LISP) است. عملگر های زیادی وجود دارد که کار not را انجام میدهند. و حاصل میتواند دوباره not می شود. شبکه ی اینترکشن احزا اگر ببینیم (با کمی ابسترکشن) مدارهایی تشکیل میدهند که پیجیدگ compositionality به دلخپاه بزرگ را دارند. این مدارها تا حدی شبیه مدار های منطقی هستند. اطلاعاتی که در این مدارهای ابسترکت حرکت میکنند از جنس پروتئین و mRNA و DNA و مولکولهای دیگر هستند. عمل های متنوع پردازش رشته انجام میشود. مچ کردن رشته ها، کپی شدن، بریدن و وصل کردن رشته ها (قیچی کردن)، که تپان ترکیبیاتی بالایی به آن میدهد. رشته پترن یک بعدی است. اما گاهی ارایش فضایی دو بعدی (نحوه خم شدن و پیچیدن) و یا ارایش فضایی پروتئینها مهم میشود. از پیچیدگی هایش، شکل فضایی پیجیده شدن یا باز شدن رشته DNA مهم است. که در کامپیوتر استفاده نمی‌شود. اما طراحی حاصل از ترکیب بدون محدودیت اجزا و شبکه ی اینترکشن که به دلخواه بتواند پیجیده شود، میتپاند تقریبا هر عملیات محاسباتی که یک کامپیوتر میتواند را انجام دهد. یعنی فراتر از finite state machine است. و شرایط لازم برای قدرت محاسباتی Turing machine را دارد. ممکن است تمایز کد و دیتا مانند کامپیوتر نباشد و این دو مفهوم در امیخته تر باشند. اما دلیلش این است که کامپیوتری دقیقا از نوع «کامپیوتر فون نویمانی» نیست (این عبارت دارد میگوید که کامپیوتر های غیر فون نویمانی هم کامپیوتر محسوب میشوند). کلا هر آنچه (هر قابلیتی که) یک کامپیوتر دارد را: «یک مجموعه ژنومی که داخل سیتوپلاسم قرار گرفته باشد» هم دارد. هرچند پیاده سازی آن متفاوت باشند. و این بر اساس برنامه ریزی ای است که قابل تغییر است و در رشته طولانی ای از دیتا انجام میشود، که به صورت «کد اجرایی» اجرا میشوند. این قابلیت برنامه ریزی میدهد. کافی است محتوای ان رشته ی بزرگ توسط یک طراح و برنامه نویس (پروسه تکامل/فرگشت یا حتی انسان در آینده) تغییر کند تا عملیت بدلخواه پیچیده ی مورد نظر توسط آن ماشین DNAای اجرا شود. @sohale