از Patch Tuesday عبور کنید - روز آدا لاولیس است! هوش داده PlatoBlockchain. جستجوی عمودی Ai.

از Patch Tuesday عبور کنید - روز آدا لاولیس است!

دومین سه‌شنبه هر ماه، روز معمولی مایکروسافت برای به‌روزرسانی‌های امنیتی است که تقریباً همه آن را با نام مستعار غیررسمی «Patch Tuesday» می‌شناسند.

اما دومین سه شنبه ماه اکتبر نیز هست روز آدا لاولیسجشن گرفتن آدا، کنتس لاولیس.

آدا نه تنها در محاسبات، بلکه در علم کامپیوتر نیز پیشگام واقعی بود و نام خود را به زبان برنامه نویسی آدا داد.

زبان آدا، به طرز جالبی، از یک پروژه وزارت دفاع ایالات متحده با هدف «بی عیب کردن» دنیای کدگذاری دولتی پدید آمد، جایی که به نظر می رسید هر بخش به زبانی متفاوت یا گویش زبانی متفاوت علاقه دارد، و آن را دشوارتر، گرانتر و دشوارتر می کند. کمتر قابل اعتماد است تا آنها را وادار به همکاری کند.

آدا دارای ویژگی های نحوی متعددی بود که هدفشان بهبود خوانایی و اجتناب از اشتباهات رایج بود. بر خلاف نظرات در C، که با /* و تا بعدی اجرا کنید */، شاید بسیاری از خطوط بعد، آدا به سادگی هر چیزی را پس از آن نادیده می گیرد -- در هر یک از خط‌ها، بنابراین نظرات نمی‌توانند تصادفاً بیشتر از آنچه در نظر داشتید اجرا شوند. به جای محصور کردن تمام بلوک‌های کد چند خطی در براکت‌های خمیده ({...}، همچنین به عنوان شناخته شده است پرانتز)، Ada یک پایان دهنده منحصر به فرد برای هر نوع بلوک چند خطی دارد، به عنوان مثال end record, end loop و end if. ما گمان می‌کنیم که آدا لاولیس وضوح زبان همنام خود را تحسین می‌کرد، اما زبان آدا هیچ‌وقت واقعاً مورد توجه قرار نگرفت، و نحو پرانتز C تا حد زیادی این روز را به دست آورده است، و شاید پایتون تنها زبان غیر پراکنده در زبان باشد. استفاده گسترده. براکت‌های squiggly جنبه حیاتی C، C++، C#، Go، Java، JavaScript، Perl، Rust و بسیاری از زبان‌های محبوب دیگر هستند.

دوران آدا لاولیس

ممکن است تعجب کنید، با توجه به اینکه نام آدا چقدر با آغاز علم کامپیوتر مرتبط است، که او در نیمه اول قرن نوزدهم زندگی می کرد، بسیار قبل از هر چیزی که ما در حال حاضر به عنوان یک کامپیوتر یا حتی یک ماشین حساب می شناسیم. .

(آدا در سال 1852 در 36 سالگی بر اثر سرطان رحم درگذشت.)

اما اگرچه کامپیوترها به معنای امروزی آنها در دهه 1800 وجود نداشتند خیلی نزدیک انجام داد.

در اینجا نحوه تقریباً اتفاق افتاد.

چارلز بابیج، در اوایل دهه 1800، یک دستگاه محاسبه مکانیکی به نام موتور تفاوت که حداقل در تئوری می تواند معادلات چند جمله ای را به طور خودکار در درجه ششم حل کند، به عنوان مثال با یافتن مقادیری برای X که برآورده می شود:

aX6 + bX5 +cX4 +dX3 +eX2 + fX + g = 0

دولت انگلستان علاقه مند بود، زیرا دستگاهی از این نوع می توانست برای ایجاد جداول ریاضی دقیق، مانند ریشه های مربع، لگاریتم ها و نسبت های مثلثاتی استفاده شود.

و هر ماشینی که در محاسبات مثلثاتی خوب باشد برای محاسبه چیزهایی مانند جداول توپ که می تواند دقت توپخانه را در خشکی و دریا متحول کند نیز مفید خواهد بود.

اما بابیج دو مشکل داشت.

اولاً، او هرگز نمی‌توانست به دقت مهندسی لازم برای کارکرد صحیح موتور دیفرانسیل دست یابد، زیرا به اندازه کافی دنده‌های به هم پیوسته را شامل می‌شد که واکنش متقابل (نادرستی‌های کوچک اما انباشته منجر به «درختی» در مکانیزم) آن را قفل می‌کرد.

ثانیاً، به نظر می‌رسد که او علاقه خود را به موتور دیفرانسیل از دست داده است که متوجه شد این یک بن‌بست است – به عبارت مدرن، شما می‌توانید آن را به عنوان یک ماشین حساب جیبی در نظر بگیرید، اما نه به عنوان یک رایانه لوحی یا لپ‌تاپ.

بنابراین بابیج با طراحی یک دستگاه پیچیده تر که او آن را لقب داد جلو رفت ماشین تحلیلی، که می تواند مسائل علمی بسیار کلی تری را نسبت به یک نوع معادله چند جمله ای حل کند.

شاید تعجب آور نباشد، اگر متأسفانه در آینده نگریسته شود. دولت به شدت علاقه ای به تامین مالی پروژه پیشرفته تر بابیج نداشت.

با توجه به اینکه او موفق به ساخت مکانیسم مورد نیاز برای حل معادلات بسیار ساده‌تر نشده بود، یک کامپیوتر غول‌پیکر، بخار و همه منظوره چه شانسی برای ارائه نتایج مفید داشت؟

مدار کنفرانس اروپا

بابیج در یک پیچ و تاب عجیب از همکاری بین المللی و چند زبانه، به ایتالیا سفر کرد تا در مورد موتور تحلیلی خود سخنرانی کند.

در میان حاضران یک مهندس نظامی به نام کاپیتان لوئیجی منابریا بود که از این رو الهام گرفت تا با بابیج همکاری کند تا مقاله ای در سال 1842 تولید کند که ماشین را توصیف می کند.

منابره با اینکه ایتالیایی بود، مقاله خود را به زبان فرانسوی منتشر کرد…

... و این آدا لاولیس بود که سپس مقاله منابریا را ترجمه کرد به انگلیسی.

به اصرار بابیج، آدا نیز مجموعه‌ای از موارد را اضافه کرد یادداشت های مترجم، که معلوم شد نه تنها بیش از دو برابر گزارش اصلی Menabrea طولانی تر است، بلکه دقیق تر است و چندین ویژگی مهم را توضیح می دهد که ما اکنون آن را کامپیوتر همه منظوره می نامیم.

والتر آیزاکسون در کتاب بسیار خواندنی خود نوآوران، منتشر شده در سال 2014، چگونگی آدا را شرح می دهد "چهار مفهومی را بررسی کرد که یک قرن بعد، زمانی که کامپیوتر بالاخره متولد شد، طنین تاریخی پیدا کرد.":

  • آدا تشخیص داد که موتور تحلیلی، بر خلاف موتور دیفرانسیل، واقعاً یک دستگاه همه منظوره است. زیرا نه تنها می‌توان آن را برای انجام یک کار برنامه‌ریزی کرد، بلکه می‌توان آن را برای انجام کارهای کاملاً متفاوت مجدداً برنامه‌ریزی کرد و نسبتاً آسان است.

به قول خود آدا (این عصری بود که در آن ادبیات علمی هنوز بیشتر از امروز با ادبیات ارتباط داشت):

موتور تفاوت در واقعیت (همانطور که قبلاً تا حدی توضیح داده شد) کاری جز افزودن نمی تواند انجام دهد. و هر فرآیند دیگری، به استثنای تفریق، ضرب و تقسیم ساده، تنها تا حدی می‌تواند توسط آن انجام شود که در آن، با آرایش و تصنعات ریاضی خردمندانه، آنها را به یک سری از جمع تقلیل دهیم. روش تفاوتها در واقع روش اضافات است; و از آنجایی که شامل تعداد بیشتری از نتایج قابل دستیابی به سادگی با جمع می شود، نسبت به هر اصل ریاضی دیگر، بسیار مناسب به عنوان مبنایی برای ساخت یک ماشین اضافه انتخاب شد تا به قدرت های چنین ماشینی داده شود. وسیع ترین محدوده ممکن برعکس، موتور تحلیلی می‌تواند با سهولت مساوی جمع، تفریق، ضرب یا تقسیم کند. و هر یک از این چهار عملیات را به صورت مستقیم و بدون کمک هیچ یک از سه عملیات دیگر انجام می دهد. این یک واقعیت دلالت بر همه چیز دارد. و به ندرت لازم است به عنوان مثال اشاره کنیم که در حالی که موتور تفاوت می تواند صرفاً جدول بندی کند و قادر به توسعه نیست، موتور تحلیلی می تواند جدول بندی یا توسعه یابد.

  • آدا متوجه شد که موتور تحلیلی محدود به رمزگذاری و محاسبه با اعداد نیست. او توضیح داد که اگرچه دیجیتال و بر اساس توانایی انجام محاسبات عددی، این عملیات دیجیتالی در تئوری می‌توانند گزاره‌های منطقی را نشان دهند (همانطور که امروز در if ... then ... else ... end if بیانیه ها)، نت های موسیقی، و غیره.

همانطور که آدا بیان کرد:

[موتور تحلیلی] ممکن است به غیر از تعداد، بر چیزهای دیگری نیز عمل کند، اگر اشیایی یافت شوند که روابط بنیادی متقابل آنها را بتوان با علوم انتزاعی عملیات بیان کرد، و همچنین باید مستعد انطباق با کنش نمادهای عملیاتی و مکانیسم آن باشد. موتور. به عنوان مثال، با فرض اینکه روابط بنیادی صداهای تندی در علم هارمونی و آهنگسازی مستعد چنین بیان و اقتباسی باشد، موتور ممکن است قطعات موسیقی دقیق و علمی با هر درجه از پیچیدگی یا گستره بسازد. موتور تحلیلی تجسمی از علم عملیات است که با ارجاع عجیب به عدد انتزاعی به عنوان موضوع آن عملیات ساخته شده است.

  • آدا مفهوم استفاده مجدد از بخش هایی از آنچه را که ما اکنون برنامه می نامیم، مطرح کرد. از این نظر، می توان گفت که او مفهوم زیربرنامه را ابداع کرده است، از جمله زیر روال های بازگشتی (عملکردهایی که راه حل را با شکستن یک محاسبه به یک سری از محاسبات فرعی مشابه، و سپس فراخوانی خود، ساده می کنند).
  • آدا برای اولین بار به طور مفید به این سوال پرداخت: "آیا ماشین ها می توانند فکر کنند؟" این موضوعی است که از آن زمان تاکنون ما را نگران کرده است.

ارتباط فرانکشتاین

پدر آدا (اگرچه او هرگز او را ندید) شاعر بدنام لرد بایرون بود که به یاد ماندنی تعطیلات بارانی را در سوئیس گذراند و با دوستان ادبی خود پرسی و مری شلی داستان های ترسناک نوشت.

تلاش های بایرون و پرسی شلی در این رقابت نویسندگی دوستانه امروز به کلی فراموش شده است، اما رمان مهم مری شلی فرانکنشتاین؛ یا پرومته مدرن (منتشر شده در 1818) تا به امروز محبوب و مورد احترام است.

داستان فرانکشتاین به طرز معروفی به بررسی معضلات اخلاقی پیرامون چیزی که امروزه ممکن است به عنوان هوش مصنوعی از آن یاد کنیم، پرداخت. (فرانکنشتاین، فراموش نکنید، دانشمندی بود که آزمایش را انجام داد، نه هوش مصنوعی که از پروژه پدید آمد.)

با این حال، به نظر نمی‌رسید که آدا نگرانی‌های دیستوپیایی دوست پدرش را در مورد موتورهای تحلیلی، یا در واقع در مورد رایانه‌ها به طور کلی، به اشتراک بگذارد.

او نظر را در بخش پایانی خود ارائه کرد یادداشت های مترجم، که:

موتور تحلیلی هیچ ادعایی برای ایجاد چیزی ندارد. می‌تواند هر کاری را که می‌دانیم انجام دهد انجام دهد. می تواند تجزیه و تحلیل را دنبال کند. اما قدرت پیش بینی هیچ رابطه یا حقیقتی تحلیلی را ندارد. استان آن به ما کمک می کند تا آنچه را که قبلاً با آن آشنا شده ایم در دسترس قرار دهیم. این امر در درجه اول و البته عمدتاً از طریق قوای اجرایی آن محاسبه می شود. اما احتمالاً تأثیر غیرمستقیم و متقابلی بر خود علم به شیوه ای دیگر می گذارد. زیرا با توزیع و ترکیب حقایق و فرمول تجزیه و تحلیل، که به آسانی و سریع‌تر متمایل به ترکیب‌های مکانیکی موتور شوند، روابط و ماهیت بسیاری از موضوعات در آن علم لزوماً به نور جدیدی تبدیل می‌شود. و عمیق تر بررسی شده است. این یک نتیجه قطعی غیرمستقیم و تا حدودی گمانه زنی از چنین اختراعی است.

درست بیش از 100 سال بعد، زمانی که آلن تورینگ در مقاله خود موضوع هوش مصنوعی را دوباره مورد بررسی قرار داد. ماشین آلات و اطلاعات رایانه ای، و خود را معرفی کرد تست تورینگ که اکنون معروف است، این را دوبله کرد اعتراض لیدی لاولیس.

چه کاری انجام دهید؟

دفعه بعد که متوجه شدید در حال نوشتن کدهایی مانند…

   - یک چیز بد بو: تابع آکرمن. -- بازگشتی قابل محاسبه، اما نه اولیه! -- (شما نمی توانید آن را با حلقه های قدیمی برای -- بنویسید، با این حال می توانید مطمئن باشید که تمام می شود، -- حتی اگر زمان زیادی طول بکشد.) local ack = function(m,n) if m == 0 سپس n+1 پایان را برگردانید اگر n == 0 باشد سپس ack(m-1,1) را برگردانید پایان ack(m-1,ack(m,n-1)) پایان

... به یاد داشته باشید که زیربرنامه های بازگشتی از این دست همه در تخیل علمی کسی شروع شد که می دانست یک کامپیوتر چگونه باید باشد و احتمالاً چه شکلی خواهد بود، اما با این حال 100 سال قبل از چنین دستگاهی زندگی می کرد (و متأسفانه بسیار جوان مرده است) وجود داشت تا او به طور واقعی هک کند.

هک کردن کامپیوترهای واقعی یک چیز است، اما هک کردن هدفمند روی کامپیوترهای خیالی، این روزها چیزی است که ما فقط می توانیم تصور کنیم.

روز آدا لاولیس مبارک!


تمبر زمان:

بیشتر از امنیت برهنه