بسم الله الرحمن الرحیم
فقه هوش مصنوعی؛ جلسه 19 6/2/1403
{00:00:13}
بسم الله الرحمن الرحیم
{#نرمافزار، #سختافزار، #آگاهی، #خودآگاهی، #قصد، #پایه}
{00:00:40}
شاید جلسه چهارم بود که مطلبی را عرض کردم که درباره مقدماتش تا به حال از شعب مختلفی صحبت شده است و آن مسأله هم - که در جلسه چهارم مطرح شد - این بود: نوعاً وقتی از سختافزار و نرمافزار و دستگاه کامپیوتر صحبت میشود، معمولاً اول ذهنها سراغ نرمافزار میرود و بعد از نرمافزار، سراغ سختافزار میروند. آن جلسه عرض کردم که اگر بتوانیم کار را برعکس کنیم و اینطور جلو برویم که با مقدماتی که از جلسه چهارم صحبت شد، اگر برعکس کنیم این فایده را دارد که ما در ذهنمان یک عینک معنابین بگذاریم و جایی که یک معنا دخالت میکند را ببینیم؛ دیدن معنا و مخلوط نکردن جایی که با بیمعنایی جلو میرویم با جایی که یک معنا فعال است، نقش مهمی دارد. در این جهت بود که عرض کردم ما با مباحث هوش مصنوعی مواجه هستیم که از آن در هوش ضعیف رفتار هوشمندانه را انتظار داریم و بحثهایی که به دنبالش میآید که در هوش قوی آیا میشود آگاهی و خودآگاهی، قصد، اراده و توجه بیاید یا نه؟ تقسیمبندی اصلیای که در مباحثه مطرح شد و آن را پی گرفتیم، این بود: تقسیم آگاهی و هوش و ... به دو قسم پایهمحور و اشراقمحور. هوش اشراقمحور، مباحث بلند و سنگین خودش را دارد، اما آنچه که به بحث ما مربوط میشود، فراهم کردن یک پایه است؛ پایهای که در آن پایه، آگاهی و خودآگاهی و قصد ظهور کند و در همان سطح هم باشد، بدون نفسمندی. بحث ما در اینجا است.
خب اگر ممکن باشد، لایههایی که آن لایه حصول آگاهی در آن هست را تعیین کنیم. اگر نسبت به این لایهها شناساییای نداشته باشیم، برای ما خیلی روشن نمیشود که اگر میگوییم آگاهی پایهمحور و قصد پایهمحور، در کدام لایه از این مباحث، سر و کار ما با آن است؟ و لذا بعداً احکام فقهی بر آن بار کنیم.
اینجا بود که در جلسات اولیه این طرحریزی بحث به ذهنم آمد و گفتیم ابتدا به بطن و متن سختافزار برویم و از آن جا بالا بیاییم تا ببینیم سختافزاری که هوشی که ما میخواهیم در آن نیست، وقتی به تدریج بالا میآییم، به کجا میرسیم که حالا انتظار داریم آگاهی باشد؟! این اصل حرف بود. لذا به همان جلسه چهارم برگردیم. در آن جلسه، از مقدماتی صحبت شد، اما در جلسات بعدی بحثهای دیگری شد که همه آنها خوب بود، ولی آن بحث باقی ماند.
{#بیت، #اعداد_دودویی، #رقم، #اعداد_عقود، #نماد، #معنا، #عینک_معنابین}
{00:04:35}
بحثی که من عرض کردم و سؤالی را که مطرح کردم این بود که با توجه به اینکه کوچکترین چیزی که میگویند این دستگاه کامپیوتر با آن مواجه هست، بیت است، سؤال من این بود که بیت، سختافزار است یا نرمافزار است؟ و با بحثهایی هم که شد چیزی که در ذهن من بود را چند بار عرض کردم که بلاریب بیت نرمافزار است؛ معلوم است که نرمافزار است ولی چون خیلی نزدیک سختافزار است، مخلوط میشود. الآن میخواهم توضیحی را عرض کنم تا ببینیم از سطح بیت چطور بالا رفتهاند و چکار کردهاند.
خود کلمه بیت (bit) مخفف «binary digit» است؛ بهمعنای «عدد دودویی»، «رقمهای دودویی». در دستهبندی اعداد، بحثهای جورواجوری هست. یک بحثهای ریاضی هست راجع به انواع اعداد که مثلاً میگوییم سیستم مجموعه اعداد طبیعی، مجموعه اعداد صحیح، مجموعه اعداد گویا، مجموعه اعداد حقیقی، مجموعه اعداد گنگ. این مجموعه اعداد، یک جور سیستمهای عددی است که ربطی به مبنای باینری عدد (دودویی) ندارد. مبنای عدد، همان چیزی است که در کتابهایی مثل حاشیه، به آن «عقد» میگفتند. عقد در جایی است که عدد بعد از اینکه شمارش پیدا میکند، بسته و معقود میشود و دوباره به اول برمیگردد. مثلاً میگفتیم ده، عقد است؛ صد، عقد است؛ هزار، عقد است؛ یعنی به مرتبهای میرسد که دوباره از همانجا شروع میکند و تکرار میشود؛ وقتی به ده میرسیم یازده و بیست و… ؛ دوباره یکانها بهصورت دهگان و بهصورت دورقمی تکرار میشود.
شاگرد: خود بیست و سی هم عقد است.
استاد: بله. هر کدام از آنها هم عقد است، ولی آن عقد اصلی در دستگاهی که الآن میخواهیم بگوییم، خود ده است. او هست که بعداً سائر عقود را سامان میدهد. پس در هر نظام و مبناهای عدد، بیشتر از یک عقد اول نداریم؛ این نکته مهمی است.
فقط چیزی که هست، این است که «digit» در لغت اصلیش بهمعنای انگشت است. خدای متعال ده انگشت به بشر داده که با آن میشمارد که هر کدام از اینها را به جای یک و دو و سه بگذارید، گویا هر کدام از اینها نماد است. اگر بعداً انس بگیریم و در ذهن ما جوش بخورد که مثلاً این انگشت نماد چهار است و … میتوانیم آن را به کار بگیریم. کلمهای که من پیدا نکردم و اگر شما بعداً پیدا کردید به ما هم بگویید، یک کاربرد ناجوری برای این کلمه رقم «digit» هست و در فارسی هم داریم؛ مثلاً میگوییم عدد دو رقمی یا مثلاً رشد دو رقمی میشود یا تورم یک رقمی میشود؛ یک رقمی زیاد به کار میرود. گاهی هم میگوییم صفر و یک، اعدادی هستند بر مبنای دو و دو رقمی هستند؛ به این هم رقم میگوییم، و حال آنکه اینها با هم فرق میکنند. رقم بهمعنای تعداد نمادهایی که عدد را با آن درست میکنیم، و رقم بهمعنای موضع ارزش یک عدد، اینها با هم دوتاست، ولی مدام به جای هم به کار میرود.
مثالش را عرض کنم؛ برای اعداد دودویی، چند نماد به کار میبریم؟ صفر و یک. خب اگر بخواهیم عدد را زیاد کنیم، صفر که صفر است و بعد، یک میشود. اگر بخواهد عدد بعد از یک بیاید -فقط صفر و یک داریم- رقم بعدیای که ممکن است بیاید، چیست؟ ده است. چرا؟ چون دو تا بیشتر نداریم. در خود یک، صفر این طرفش [سمت چپش] بود. تنها چیزی که ممکن است، این است که صفر را این طرف [طرف راست] بگذاریم. پس ده، عدد دوم میشود که عقد است؛ عقدِ این مبنا است. خب اگر این ده، در همین مبنای دوتایی، بخواهد عدد بالاتری بشود، چند میشود؟ یازده میشود. چون یک داریم. دو صفر کنار هم، صفر کنار یک، یک کنار صفر، یک کنار یک که الآن مأنوس ذهن من و شما یازده است، اما اگر بخواهیم به این عدد اضافه کنیم، بعدی، صد میشود. یعنی چارهای نداریم یک را بگذاریم و دو تا صفر در کنارش بگذاریم. پس یازده در اینجا، مثل نود و نه بود؛ یعنی نود و نه مفهومی ما بود و یازده صوری بود.
شاگرد: یا بگوییم سه است. سومین رقم ما است.
استاد: منظور از رقم چیست؟
شاگرد: تعداد دفعات تکرار است. با سومین تکرار به یازده رسیدیم.
استاد: یازده سومین عدد است. یک که یک است و ده که دو است؛ یازده، سه است؛ معادل سه است. ولی وقتی نگاهش میکنیم میبینیم دو تا یک است، لذا میگوییم یازده. شما میفرمایید سومی، سه است. یعنی در مبنای عددی که ما میگوییم. اما وقتی میخواهید عدد بعدی آن را بگویید؛ اگر میخواهید بگویید صد، آن عددی که به صد چسبیده و مثل هم هست، نود و نه است. یعنی در این دستگاه دودویی، یازده همان نود و نه است. چون بعد از یازده، صد میشود.
شاگرد: به صد که نمیرسیم. مینویسیم نماد یک و دو تا صفر است.
استاد: یعنی صد بهمعنای ما نیست، اما صد بهمعنای عقد سه رقمی هست. ما صد را چطور معنا کنیم؟ اگر صد را به این شکل معنا کنیم که بگوییم در مبنای ده یعنی ده به توان دو، این صد بهمعنای خودمان میشود. اما اگر صد را معنا کنیم به اولین عدد سه رقمی، خب این اولین عدد سهرقمی است. یک، دو که ده میشود. بعد، یازده را چه بگوییم؟ بگوییم دو یک؟ ما که میگوییم یازده! تا ده نداشته باشیم که یازده نداریم. خب حالا چه بگوییم؟ میدانیم فعلاً این یازده نیست، آن یازده همان سه است که شما فرمودید. باید برای آن یک چیزی بگوییم. آنچه که مقصود من است، این است که اگر آخرین عدد دو رقمی را مثلاً نود و نه بگوییم یا اسم دیگری بگذاریم، مهم نیست. مهم فهم این است.
حالا سؤال من این است: بعد از یازده که صد شد، این صد، عدد چند رقمی است؟ عدد سه رقمی است. چند رقم (digit) در آن به کار رفته؟ دوتا. خب حالا دو رقمی است یا سه رقمی است؟! ببینید کلمه رقم، دو کاربرد دارد. یکی رقم میگویند بهمعنای تعداد جایگاهها که به آن پوزیشنال (positional) میگویند؛ آن موضعی است که دارد ارزش عدد را بیان میکند. وقتی شما نود و نه میگویید، نُه اولش دهگان است و نُه دومش، یکان است. نُه دوم در سمت راست، یعنی نُه تا یک، اما نُه سمت چپ یعنی نُه تا ده. لذا میگویید دو رقمی؛ رقم، نَه یعنی 9 و 4 و 5 و …، بلکه رقم یعنی موضعی که ارزش را در عقود تکرار شونده معین میکند. جایی که اینها را از هم جدا کند، ندیدهام. یعنی اینکه میگوییم رقمی، یعنی موضع. البته اصطلاحاتش را دارند؛ اصطلاح «position» و امثال آن را دارند و حرفها را زدهاند. اما اینکه این دو به جای هم به کار میروند را ندیدهام.
علی ای حال به «binary digit» عدد دو رقمی میگویند و منظورشان از رقم در اینجا صفر و یک است. اگر این صفر و یک، ۱۰۰1 شد، ۱۰۰ سه رقمیِ دو رقمی است. یعنی دو رقمی بهمعنای نماد و نشانه عدد [که در آن از دو رقم ۰ و ۱ استفاده شده]، سه رقمی بهمعنای عددی که از نظر موضع ارزش ۱۰۰ شده و در آن دستگاه ۱۰۰، چهار است.
خب حالا به آن بیت برگردیم. در سختافزار با اشیاء فیزیکی مواجه هستید، یا با طبایع آنها؛ طبایع هم دخالت لطیفی دارند. اگر یادتان باشد انواعی از سختافزار هست. یکی از آنها همان CDها است که با لیزر ضربه میزدند و به آن پیت میگفتند. یا دیسکهای مغناطیسی بود یا مدارهایی بود که بسته یا باز بود. بنابراین سه جور بودند؛ یا ذخیرههای مغناطیسی بودند که یا مغناطیس بود یا نبود. یا بیتهای مداری بود که یا مدار بسته بود یا باز بود. جاهای آنها را عرض میکنم.
آنچه که الآن عرض من است، این است که ما در بستر فیزیکی، چیزهایی داریم که دو حالت علی البدل دارند؛ یعنی در دستگاه خداوند، یا به این صورت است یا به آن صورت. مثلاً اگر یک سیم مسی را بهصورت یک دایره در بیاورید و یک مدار درست کنید، این مدار یا متصل و بسته است، یا باز است.
شاگرد: میتوانیم بگوییم وجود و عدم، جامع آنها است؟
استاد: بله، وجود و عدم بهمعنای لا ثالث لها. علی ای حال منظور ما دو حالتی است که با هم جمع نمیشوند. حالت جمع شدن برای بعدش است؛ فعلاً با هم جمع نمیشوند. ولذا اگر یک دایرهای را در نظر بگیرید، میگویید یا سفید است یا سیاه. اگر سفید است قرارداد بعدی که معناست در کار میآید؛ مثلاً اگر سفید است یعنی صفر است و اگر سیاه است یعنی یک است. ببینید خود دایره سفید نماد میشود برای معنای صفر و دایره سیاه نماد میشود برای معنای یک. کما اینکه مدار بسته را میتوانیم نماد قرار بدهیم برای معنای صفر. اینکه گفتم عینک معنابین داشته باشیم یعنی تا میگوییم صفر، متوجه شویم که صفر، یک معنا است. لذا اگر این معنا را بهصورت صفر انگلیسی و دایره گرد بگذاریم، معنا تغییری نمیکند. اگر مثل فارسی یک صفر نقطهای بگذاریم که توپر و ریز است، باز معنای صفر تغییری پیدا نمیکند. اگر در لغت دیگری به جای صفر مربع بگذارند و … معنا واحد است. چرا؟ چون ذات صفر، یک معنا است و یک، یک معنا است و نمادی که آن معنا را نشان میدهد، اهمیت ندارد.
حالا که به این صورت است، وقتی خواستند عددهای دودویی را سامان بدهند و این دستگاه عظیم پیدا شود، اول چیزهایی را پیدا کردند که وجود و عدمی است به نحوی که دو حالتی باشد؛ حتماً تبادل در آن شرط است و نمیشود هر دوی آنها با هم باشند؛ یا این است یا آن است؛ این یا سفید است یا سیاه است. البته میتواند یا سفید باشد، یا سیاه و یا نه سفید و نه سیاه که آن، دیگر ترنری میشود (سه گانه) و به جای بیت، تریت میشود که در کامپیوترهایی است که مبنایش عدد سه است. ولی فعلاً آنهایی که بین ما معروف هستند، باینری یعنی بر مبنای دو است.
در اینجا وقتی با یک سختافزاری مواجه هستید که دو حالت دارد، شما یک حالتش را برای یک معنا (صفر) قرارداد میکنید و حالت بدلش را برای معنای دیگر که یک است، قرارداد میکنید. این معنا است که بعداً شما چقدر زیاد از آن استفاده میکنید و اینها وسیله هستند برای اینکه آن معنا را نمایش دهند. تا اینجا شما یکی از این دو حالت را دارید؛ یک دایره یا سفید است یا سیاه است. بیت بهمعنای کوچکترین واحد داده است که میشود یک معنایی را در آن تعبیه کرد.
{#سیستم، #معنا، #سختافزار، #بیت، #بایت، #ثابت_منطقی، #کاراکتر، #واحد_اطلاعات}
{00:19:47}
خب اینکه فایده ندارد. یک چیزی یا صفر است یا یک است، خب چکارش کنیم؟ اینجا است که نوبت به بعدی میرسد؛ بایت در فضای کامپیوتر. در مخابرات دوال بیت دارند. دو تا چیزی که قابل صفر و یک است را در کنار هم میگذارند. وقتی دو تا در کنار هم گذاشتید، درست است که هر کدام علی البدل یا صفر است یا یک است اما وقتی دو تا در کنار هم هستند، چندتا میتواند نشان بدهد؟ میتواند چهار حالت را نشان بدهد. یا هر دو صفر است یا هر دو یک است، یا دست چپ صفر است و دست راست یک است، یا دست چپ یک است و دست راست صفر است.
سؤالی که الآن خیلی مهم است، این است: وقتی یک چیز فیزیکی دو حالت دارد، وقتی آن فیزیک در حالت اتصال است، خودش از حالت بدل خودش خبر دارد یا ندارد؟ ندارد. درست است که علی البدل یک حالت دیگری میتواند جای آن بیاید، اما خود او از آن حالت بدل خودش خبر ندارد. چه کسی خبر دارد؟ بشر خبر دارد؛ ذهن درک کننده انسان خبر دارد. و لذا بشر از یک چیز فیزیکی که دو حالت علی البدل دارد، یک سیستم درست میکند؛ یک سیستم خیلی خیلی کوچک درست میکند و میگوید این چیز، یا متصل است (صفر مثلاً)، یا منفصل است (یک). این خیلی مهم است که اساساً با یک حالت [از دو حالت] علی البدل در دل سختافزار سیستم نداریم، چون آن، تک است؛ سیستم، مؤلفههایی از دو [یا چند] چیز است، و در بیت دو مؤلفه ما، همزمان موجود نیستند، بلکه علی البدل موجودند. این ذهن ما است که به این دو، یک نظام میدهد که یا صفر است یا یک است و مدار یا باز است یا بسته است و دایره یا سفید است یا سیاه است؛ این برای ابتدای کار است.
خب حالا اینها را کنار هم بگذارید؛ الآن شما یک دایره دیگر را کنار این میگذارید؛ خب چهار حالت را میتواند نشان بدهد. چهار حالت، یک سیستم جدید شد؛ یعنی این سیستم چهار حالته، سیستمی است که فقط از «یا»ی منطقی استفاده نکرده. قبلاً ثوابت منطقی را عرض کردم. وقتی به فیزیک نگاه میکنید و میگویید این شیء فیزیکی یا این مدار، یا بسته است یا باز است، از چه عملگری استفاده میکنید؟ از عملگر منطقی «یا». درکی دارید از واقع که با عملگر منطقی «یا» آن واقعیت را بیان میکنید؛ واقعیتی است که در آن موجود است. وقتی دو دایره در کنار هم میگذارید و میخواهید چهار حالت را نشان دهید، ذهن شما الآن دارد سیستم جدید را با دو عملگر سامان میدهد. میگوید این دایره و آن دایره و هر کدامش هم یا سفید است یا سیاه است. با دو عملگری که ذهن شما به کار میگیرد -با یا و واو- یک سیستم درست میکند و میگوید میتوانم چهار عدد را نشان دهم؛ صفر، یک، دو، سه و چهار. فقط نکتهای که آقا فرمودند و برای تأکید تکرار میکنم، این است که آنچه که در کامپیوترها مهم است و مخفی است، این است که وقتی در کامپیوتر 9 را میزنیم، این 9 در اصل ذخیرهسازی کامپیوتر، عدد 9 نیست و آن را به عدد باینری ذخیره کرده و به ازاء عدد نهمی باینری میگوییم در مقابل آن یک 9 داریم. تبدیل آن اعداد به این، خودش دم و دستگاهی دارد.
خب بعد از بیت، آن عنصر اطلاعاتی بسیار مهم، بایت است، که یک [مجموعه] بیتی است که بهصورت کاراکتر درآمده و کامل شده. دویست و پنجاه و شش عدد را با هفتتایش نشان میدهند. بایت، کلاً هشت بیت است. مهندسین IT و مخابرات روی اینها فکر کردهاند و هر چه آسانتر بوده را ساماندهی کردهاند. بایت به اندازه هشت بیت است. یکی از آنها، بیتِ کنترلی است - آن را برای مقصود خاصی گذاشتهاند که فنّش در جای خودش - و با هفت تا از آن هشت بیت، اعداد را نشان میدهند. تا بگویند هفت بیت، شما میگویید دو به توان هفت. الآن هم که شما با کامپیوتر سر و کار دارید، این عددهایی که میبینید، همه برای همین است؛ میگویید چهار، هشت، شانزده، بعد سی و دو، بعد شصت و چهار، بعد صد و بیست هشت، بعد دویست و پنجاه و شش. دویست و پنجاه و شش، همان هفتتای اصلیای است که دویست و پنجاه و شش عدد را میتواند نمایش بدهد.
الآن این بایت به چه صورت است؟ بایت، کوچکترین واحدی است که در کامپیوتر میتوانید به آن آدرس دهید؛ کاراکتر است. یک بیت، یک بیت بود و تمام؛ یک اطلاعات نبود؛ کاراکتر نبود. یک خانهای بود که یا صفر بود یا یک بود. ما هشت تا از این صفر و یک ها را کنار هم گذاشتیم، میتوانیم دویست و پنجاه و شش کاراکتر را بشماریم؛ البته با هفتتایش. در اینجا خیلی دم و دستگاه جدیدی به پا میشود که با اینها علاماتی را نشان میدهید، اما باز شما خیلی بیشتر نیاز دارید. یعنی الآن وقتی صفحه کلید را میزنید، چند کار انجام میشود؛ قرار نیست که با زدن یک دکمه، بیت یا بایت بفرستید، بلکه هر دکمهای در صفحه کلید یک کد دارد، که به نظرم به آن اسکن کد (scan code) میگویند. این یک کد ثابت است که آن را به کد پیج (code page) میفرستید؛ اینکه فارسی میخواهید؟ انگلیسی میخواهید؟ کدام را میخواهید؟ باید به اعداد دویست و پنجاه و ششتایی یا چند هزارتایی تبدیل کند؛ بسته به اینکه حالا شانزده بیتی باشد یا ...؛ الآن این یونیکدی (unicode) که الآن معروف است و فارسی را بهخوبی مینویسد، شانزده بیتی است. نمیدانم یادتان هست یا نه که قبل از سال 2000، چه دم و دستگاه و چه عسری در این بود! اینها به هم میریخت و باید مدام برنامههای مبدل بیاورند. باطن آن، همین کاراکترهای اصلی بود که باید آن را به فونتهای فارسی تبدیل کنند. خیلی زحمت کشیدند و الآن دیگر به این صورت نیست؛ الآن بهراحتی استفاده میکنند و خودش عدد خاص خودش را دارد.ن
الآن یک بایت، یک واحدی است که در دلش معنا هست، اما نه معنای صفر و یک علی البدل، بلکه یک معنایی از دویست و پنجاه و شش معنا که شما میتوانید آن را نشان دهید که تنها حالات علی البدل نیست، بلکه یک واحدی برای خودش بهعنوان یک مفهوم نمادی است که همه جوره میتوانید از آن استفاده کنید.
مقصود من این است که ما از بیت شروع کنیم و به بایت بیاییم که بایت دارد یک کاراکتر را نشان میدهد. بعد بایتها را کنار هم میگذارید. وقتی کنار هم میگذارید، یعنی دارید با سائر حروف دیگر جمعشان میکنید. همه اینها که در دستگاه شماست، آن بطن سختافزار، نه صفر میفهمد و نه یک میفهمد و نه نشاندادن دویست و پنجاه و شش عدد را میفهمد. انسان است که بایت را درست کرده و دویست و پنجاه و شش تا را قرارداد کرده است. حالت اینها، حالت کنار هم گذاشتن است.
{#زبان_ماشین، #بایت، #آگاهی، #پردازشگر، #حافظه_زنده، #شبکه_معانی، #درک_معنا}
{00:29:33}
حالا چطور ساماندهی میشود؟ آنچه که در سطح ماشین میگذرد را سریع عرض میکنم. نوعاً میدانید که اساس اینکه یک کامپیوتر بخواهد کار کند، دو چیز است: یکی پردازشگر است و یکی رَم (RAM) زنده و حافظه زنده آن است؛ رم همیشه زنده است و قید توضیحی است. دیسکهایی که ذخیرهسازی میکند هم سر و کارش با بیت است، اما بیتی که فقط ذخیره میشود. رم، سر و کارش با بیت است، اما نه خود بیت بهعنوان بیت. سر و کار تمام رم - بهعنوان اینکه بخواهد درک کند - با بایت است. رم هر چه بیشتر باشد، خانههای بیشتری دارد که به هر خانهای آدرس میدهید، اما هر خانهای بایت است و وقتی پردازشگر میخواهد به رم آدرس بدهد، به بیتهای رم آدرس نمیدهد -ولو برنامهنویس میتواند روی بیتها هم برنامهنویسی کند- اما آدرسدهی به بایت است. و لذا گفتم بایت واحد اطلاعات است، ولو در صفر و یک بیت هم یک جور معنا هست، اما اطلاعات به معنایی که ما میخواهیم بگوییم، در آنها نیست. یک دیتا که بهمعنای کوچکترین داده بشری است، در بایت است که دویست و پنجاه و شش عدد اولیه را نشان میدادند و بعد هم با کد پیجها تعداد بسیار زیادی از کاراکترهای اصلیه را نشان میدهند.
در رم، نه مغناطیس دارید و نه پیت، بلکه سر و کار شما در رم با ترانزیستورهایی است که مدار را یا وصل میکنند یا قطع میکنند؛ اگر وصل است، یک است و اگر قطع است، صفر است. در هر بایت از این رم، دویست و پنجاه و ششتا را میتوانند نشان بدهند که در هر بایت یکی از آنها است. پردازشگر به این رم آدرس میدهد و اینها را دستکاری میکند؛ میگیرد و تغییری در آن میدهد و دوباره مینویسد؛ این، حافظهی زنده میشود که تا برق را قطع کنید از بین میرود. اگر شما آنها را روی ذخیرهسازهای ثابت ذخیره نکنید -که یا مغناطیسی هستند یا نوری هستند- از بین میرود. ولی مهم این است که خود پردازشگر چکار میکند. خود پردازشگر، جمع میزند و منها میکند؛ هیچ کار دیگری نمیکند. اصل پردازشگر - با همه این قدرت و توسعهای که دارد - با دو عمل جمع و تفریق، همه پردازشها را انجام میدهد. شما بعداً اینها را در مجموع با مبدلهایی که اینها را به حروف، کلمات و معانی برمیگردانید.
حالا ارتباط بین اینها به چه صورت است؟ به این، «Bus» بهمعنای گذرگاه میگویند. خود ساختمان اینکه پردازشگر چه کار میکند، خیلی جذاب است. اگر آدم فی الجمله اینها را بداند خیلی خوب است. همیشه برای اینها مثالهای مناسبی را عرض میکردم. گاهی پردازشگر مشغول پردازش است، آنها اسمش را «پورت (port) وقفه» میگذارند؛ یعنی درگاهی که یک دفعه میگوید "توقف کن، من کار مهمتری دارم تا انجام بدهم"؛ این پورت وقفه است. خیلی از دعاها و صدقهها را به این تشبیه میکردم؛ یعنی در دستگاه خدا خیلی از چیزها روی روال خودش جلو میرود، اما صدقه که میآید، میگوید توقف کن، این روال نباید ادامه پیدا کند. یا وقتی شخص دعا میکند.
دستگاه پردازشگر، ورودی و خروجیاش و پورتهای جورواجوری که دارد، جذاب و جالب است در اینکه چیزی درست کردهاند که اینها را ساماندهی کند. آن وقت ارتباط برقرار میکنند و میگویند گذرگاه دادهها و گذرگاه آدرسها؛ هر کدام از اینها جدا است. یعنی یک گذرگاه است که میخواهد مدام آدرس بدهد به این خانه و به آن خانه و یکی هست که میخواهد اطلاعات بفرستد. هم آدرس بدهد و هم به آن آدرس برود و این اطلاعات را بنویسد. مثلاً اگر این دویست و پنجاه و شش را بکند دویست و پنجاه و پنج؛ هم اینکه باید آدرس بدهد کدام خانه است و هم اینکه هر چه هست عوضش کن و ضمیمههای اینها. مثلاً از کارهایی که باید انجام بدهند، حتماً داشتن یک ساعت زمانسنج است. اگر برای خودش ساعت نداشته باشد، نمیتواند این کارها را با خصوصیات خودش انجام بدهد.
این چیزهایی که عرض کردم، کارهایی بود که میگوییم در سطح ماشین انجام میشود.
شاگرد: این یای منطقی که فرمودید، در دستگاه، چه کسی آن را درک میکند؟ اصلاً درکی از این معانی صورت میگیرد؟
استاد: نه.
شاگرد: خب چرا این معانی را قرار دادهاند؟ کجا از این معانی استفاده میشود؟ این بیان، شبیه اتاق چینی است.
استاد: بله، من توضیح دادم تا ببینید در سطح سختافزار، خودش حتی از حالت بدل خودش خبر ندارد؛ از کارهایی هم که صورت میگیرد -این بیتها مدام عددش عوض میشود، جمع میزند، تفریق میکند، عملگرها را اعمال میکند، مدام مینویسد و پاک میکند-خبر ندارد. در آنجا فقط صفر و یکها است و ما آنها - دویست و پنجاه و شش تا - را کنار هم قرار دادهایم و میفهمیم عوض شد یا نشد، اما او چیزی نمیفهمد.
شاگرد: یعنی برنامهها از آن معانی استفاده میکنند.
استاد: بله، برنامهها و زبانهای سطح بالا. الآن با این توضیحی که الآن عرض میکنم، این زبان سطح ماشین است. به نظرم زبان سطح بالاترش – که به آن اسمبلی (Assembly) میگویند - مقداری بالاتر از سطح زبان ماشین است و یک چیزهای دیگری در آن هست. ولی در زبان سطح ماشین، دقیقاً همینها است؛ یعنی وقتی به آنجا میروید، میبینید سر و کارتان تنها با دو عمل جمع و تفریق است؛ مدام صفر کنید و یک کنید و صفر و یکِ بیتها را عوض کنید. اصلاً سر در نمیآورد که بایت چیست و بیت چیست. شما در یک نظام خاص با عملگر واو، هشت بیت را کنار هم گذاشتید و گفتید بایت است؛ شما با این هشت تا، یک سیستم درست کردید. کما اینکه خود همان بیت را شما با نظام علی البدل و با یای منطقی درست کردید و گفتید این است یا آن است؛ با یک نظامی درستش کردید که صفر و یک را نشان میدهد. شما بایت را درست کردهاید. همه اینها برای شما است؛ درک معانی برای شما است و آن ماشین که درکی ندارد.
شاگرد: روی فرضی که هوش مصنوعیای ساخته شود و یک چیزی را صفر تا صد دانلود کند و خودش را upgrade کند و یک جرمی انجام بدهد، همه اینها در فضای اتاق چینی بود، لذا استناد به کسی پیدا میکند که برنامهنویسی اول را کرده. چون میفرمایید انسان برنامهنویس است که معانی را درک میکند.
استاد: نکته سر این است که برنامههای هوش مصنوعی، یادگیری ماشینی دارد.
شاگرد: باز هم درک معنا صورت نمیگیرد. همه آنها به برنامهنویسی برمیگردد که اینها را آورده و ارتقاء داده.
استاد: اگر چیزی را به شما ارائه بدهد که شما فکرش را نکرده بودید، اسم آن را چه میگذارید؟! میگویید اینکه همین صفر و یکها است. خب چطور دارد چیزی میگوید که شما تعجب میکنید؟!
شاگرد2: استناد به سوء اختیار است.
استاد: مثلاً میگویند شاگرد بِهْ از استاد. این یعنی همه چیزش به استاد برمیگردد و خودش چیزی ندارد؟! نه، بلکه او راههایی را کشف میکند که خود استاد بلد نبود. شما اسم این را چه میگذارید؟! فلذا من از این پایین شروع کردم. تا الآن هم برنامههایی که در هوش مصنوعی اجراء میکند همین است. زبان ماشین همین است. یعنی وقتی به سطح زبان ماشین بروید، همین است و در آن چیز دیگری نیست.
شاگرد2: شاگرد به از استاد، در اینجا نیست.
استاد: خود این چیزی که میبینیم را چه میکنید؟ یعنی خود برنامهنویس، بُهتزده میشود؛ میگوید من این را به او دادم؛ الآن هم روی یادگیری عمیق که کار میکنند، یادگیری عمیق چند لایه است وگراف های تو در تو است. یادگیری عمیق که انجام میدهد، خیلی عجائب است. راست هم میگوید. بعد هم میبینیم هیچ بشری فکرش را نکرده.
شاگرد2: همین خوفی که هست و میگویند این کار را نکنید، به خاطر احتمالی است که وجود دارد و بهخاطر سوء اختیار او است که سبب میشود او به مرحله یادگیری برسد و این کارها را بکند.
استاد: خب الآن صحبت سر این است که چیزی که او کشف میکند و عرضه میکند و بعداً حتی اگر بفهمد ما میخواهیم به او صدمه بزنیم، از خودش دفاع میکند. منظور از پیشرفت، همین است. البته فعلاً در مرحله خیالات است. منظور من این است یک دستگاهی که برنامه آن را شما نوشتهاید، اما حرف شما را میگیرد [و توسعه میدهد و پیش میرود] و مهمتر این است که خود اینها برنامهنویسی میکنند؛ یعنی خود هوش مصنوعی کدهایی مینویسد که از برنامهنویسها بهتر است. این را چکار میکنید؟ یعنی فکر برنامهنویس به جایی نرسیده، اما او یک کد ارائه میدهد و برنامههای بسیار خوبی میسازد که دیگران از آن عاجز بودند. الآن در پزشکی میگویند این هوش مصنوعی کارهایی میکند که این اطباء هرگز نمیتوانند بکنند. کارهای بسیار ظریفی که نه لرزش دست دارد و نه اشتباه دارد. خب اسم این را چه میگذارید؟! میگویید یک چیز بیخبر است؟! چطور میگویید بیخبر؟! لذا من عرض کردم وقتی از پایه بالا میرویم، میخواهیم به یک لایهای از لایههای نرمافزاری برسیم که در آنجا، پایه ظهور میکند. پایهای که آن هوش پایهمحور واقعاً ظهور میکند، اما پایهمحور است.
شاگرد: یعنی آنجا یک درکی صورت میگیرد؟
استاد: درک به همان معنایی که توضیح دادم. یعنی حتی معنا هم به نحو پایه و به نحو اشارهگر در یک شبکهای از چیزهایی که مؤلفهها هستند، اگر اشارهگر به هر بخشی از آن اشاره میکند، هم خودش اجزاء دارد و هم خودش عضو و اجزائی از یک شبکه است؛ اینجا میشود معنای پایهمحور، نه معنای درک افلاطونی که نیاز به روح دارد.
شاگرد: مثلاً ما برای معنای «یا» یک پایه فیزیکی درست کنیم؟ یک پایهای که معنایی مثل «یا» را ظهور میدهد.
استاد: و بلکه بیشترش: شبکه معانی. ما معمولاً معانی را دیکشنریوار میبینیم و میگوییم این لغت چه معنایی دارد. اما اگر بخواهیم معنا را جاسازی کنیم، اول باید کل زبان را ساماندهی کنیم، یک شبکهای از معانی درست کنیم و بعد بگوییم مؤلفههای آن «یا» و «واو» و انسان و بقر و شجر و امثال اینها است.
با این توضیحی که من عرض کردم، نزد هر کسی واضح است که در آن سطح، ما درک و فهم نداریم؛ در همان اتاق چینی و بچهای که کار انجام میداد، ما هیچ درکی نداریم. در این سطح هم تمام کارها همینجا انجام میشود، ولی کسی که اینها را مدیریت کرده و صفر و یک را بهعنوان یک سیستم علی البدل در نظر گرفته و بعد که صفر و یک را درست کرد، کنار یکدیگر گذاشت و از آن چهار حالت پدید آورد، اینها را انسان انجام داد. حالا همین انسان در این پایه بی فکر و بی فهم، به سطحی میرسد که کاری میکند که خود آن برنامه در آن سطح بالا -نه سطح ماشین- همان کاری را که قبلاً با صفر و یک درست میکردیم و سیستم درست میکردیم و آنها را کنار هم میگذاشتیم، حالا او شروع میکند و آن را انجام میدهد، اما نه در سطح یک ماشین؛ یعنی همان کاری که ما با صفر و یکها کردیم، او انجام میدهد؛ یعنی بعداً هوش مصنوعی میتواند در صنعت خودش یک کامپیوتری با مبنای ۳ یا با مبنای کذا بسازد.
{#هگزادسیمال، #مبنای_شانزده}
{00:44:18}
البته مبنایی که عرض میکنم، منظورم همان حالت سختافزاری است و الا عدد، مهم نیست. مثلاً یک بایت دویست و پنجاه و شش عدد بود، میدیدند عددها کم میآید، یعنی وقتی هفت رقم باشد دویست و پنجاه و شش میشود، اما حالاتی که میتوانیم نشان بدهیم، اگر دو تا بایت کنار هم باشند و شانزده تا بیت باشند، خیلی بیشتر میشود. حالا اگر خواستیم عددی را [که در مبنای ۲ داریم] با شمارههای چندتایی نشان بدهیم، از نظر نمادهای دهگانه کم میآوریم؛ [چون در هر ۴ بیت، ۱۶ عدد از ۰ تا ۱۵ را داریم و] ده تا را نشان میدهیم و میبینیم هنوز میتوانیم عدد دیگری را [در مبنای ۲ با استفاده از آن ۴ بیت] نشان بدهیم که باید یازده و دوازده و ... باشد. خب در یازده و دوازده که عقد تمام میشود، لذا مبنا را بالاتر میبرند. مثلاً میگویند مبنای هگزادسیمال که مبنای شانزده است، که خیلی کاربرد دارد. مبنای شانزده برای چیست؟ برای این است که وقتی از آن شش تا عدد میتوانستند استفاده کنند، استفاده کنند. لذا گفتند اگر با 0 و 1 و …، نه تا رقم داریم، وقتی به ده رسیدیم، دوباره صفر و یک است. لذا آنها گفتند به جای اینکه در ده، دو رقمی کنیم، میگوییم a. a یک نماد است اما جای عدد ده است؛ a تا f که f جای عدد پانزده است. پانزده نماد است؛ هگزادسیمال، پانزده نماد است. عددهایش را نگاه کنید. الآن خیلی از چیزهایی که در کامپیوتر میبینید که یک حرف است و یک عدد، میگویید این حرف است! درحالیکه حرف نیست. آن خودش یک عدد است. در این عدد، a یعنی ده، b یعنی یازده و همینطور تا f که f پانزده است. وقتی به f رسیدید، یعنی شما شانزده تا رقم دارید؛ رقم به این معنا که یعنی نماد. شانزده نماد دارید که با آنها یک اعدادی بر مبنای شانزده میسازید. چرا؟ چون میخواستند از بیتهای اضافی که در بایت درست کردهاند استفاده کنند. اینها با هم مخلوط نشوند. یعنی وقتی بخش مهم کامپیوتر با مبنای شانزده اداره میشود، قاطی نکنید با این که میگویند کامپیوتر با مبنای دودویی کار میکند. مبنای دودویی در بیتهایی است که پردازش میشود. هر کدام از این بیتها وقتی بایتی میشود که چندتا عدد را نشان میدهد، بعداً دیدند به جای اینکه روی مبنای ده برویم، بهتر این است که روی مبنای شانزده برویم. شانزدهها معادل اعداد باینری هستند که بهراحتی چندین سیستم معادل همدیگر، دارند کار انجام میدهند. همه اینها درکی ندارند. همانطوری که عرض کردم در درگاههایی است که رفتوبرگشت صورت میگیرد و ذخیرهسازی میشود.
{#نماد، #نرمافزار، #عملیة_الوضع، #معنا، #آگاهی_پایهمحور}
{00:48:06}
سؤال اصلی من این این بود: با این توضیحاتی که عرض کردم، تا بایت بگویند، تا بیت بگویند، ما عینکی پیدا کردهایم که میبینیم اصلاً مفهوم بیت، یک معنا است و در سختافزار، ما بیت نداریم. درست است که بدنه فیزیکی، علی البدل نشان میدهد و میتواند نماد شود، اما مفهوم بیت، یک مفهومی است که بشر آن را درک میکند و اعمال میکند؛ و همینطور بایت و سائر آن. بنابراین همه اینها نرمافزار هستند؛ همه حالت نرم دارند؛ یعنی مربوط به ذهن ما هستند که سختافزار را مدیریت میکنیم و بر روی آن قرارداد میکنیم. ما اینها را میفهمیم و انجام میدهیم، ولی خود آن ماشین که نمیفهمد. خود آن ماشین، سختافزارش است و اموری که مرتب در متن سختافزار آن صورت میگیرد. نرمافزارها در ذهن ما شکل میگیرد. در این لایه سختافزار به هیچ وجه فهم نداریم و حالت صوری محض دارد.
این را هم عرض کنم؛ اگر یادتان باشد عرض کردم که هر چیزی میتواند نماد و نشانه قرار بگیرد و هر چیزی که میتواند نشانه قرار بگیرد سه چیز در آن هست: یکی معنای ذاتی خودش است. یعنی میتوانیم توضیح دهیم که این نماد چیست. مثلاً میگوییم «ز» یک صوت است که معنای ذاتی دارد؛ یعنی توصیفی است که تبیین میکند نفس این نماد چیست. دوم، معنایی دارد که مناسب به آن است؛ هر شیءای که معنای ذاتی و توصیف ذاتی دارد، یک چیزهایی با آن مناسب است. اصلاً تشبیهات از کجا میآید؟ از اینجا میآید که اشیاء با هم رابطهها و شباهتها دارند و اینها هم در دستگاه خدای متعال، تکوینی است. هر چیزی که میتواند نشانه شود، دو معنا دارد که از آن جدا نمیشود؛ معنای ذاتی خودش و معنای مناسب طبع معنای ذاتی. اینها را که کنار بگذاریم، در دستگاه بشر هر شیئی میتواند نشانه قراردادی شود. یعنی ما قرارداد کنیم که این شیء بر یک معنا دلالت کند و با یک معنا جوش بخورد؛ دلالت وضعیه و قرن اکیدی که در ذهن، با وضع صورت میگیرد. در اینجاست که وقتی میگوییم یک چیزی معنا دارد، آن معنای قراردادی، قابل درک برای سطح ماشین نیست. قرارداد، کار بشر است. آن دو معنا (معنای ذاتی و معنای دارای تناسب طبعی) را هم بشر درک میکند، ولی اینجا در ماشین، این قرارداد را نداریم. خود این عملیة الوضع و قرارداد را میتوانیم در سطح هوش مصنوعی پیاده کنیم یا نه؟ بله، میشود. یعنی برنامه به حدی میرسد که خودش بین نمادها با معانی رابطه برقرار میکند؛ بین این دو ارتباط برقرار میکند و آن قرن اکیدی که در ذهن ما میشود را آنجا میگوید این با این مرتبط است. ارتباط بین آنها برای این هوش مصنوعی، امر آسانی است، اما نه در سطح ماشین که چیزی نمی فهمد، بلکه در سطحی که خود آن معانی فعال هستند. ان شاء الله در جلسه بعدی عرض میکنم که در لایههای بعدی به یک سطحی میرسیم که در آن سطح، پایه فراهم شده برای فعال شدن آگاهی پایهمحور و امثال آن.
شاگرد: وقتی سطح آن پیچیده شده، تفاوتی نمیکند و همان پایین که نمیفهمد را ما بالا میآوریم.
استاد: وقتی پیچیده شد، شأنیت ظهور یک معنا را پیدا میکند. نه اشراق. اشراقی که آن را به آن ماده بدهند، منظورم نیست. منظورم این نیست که در موطن تجرد باشد و آن را بدهند. مثل مثال آب؛ اکسیژن جدا و هیدروژن جدا، خواص آب را ندارند و همین جوری در کنار هم تا به ترکیب آب در نیایند که آب نیستند. خدای متعال یک ترکیب غامض شیمیایی برای آنها تشکیل میدهد تا یک پایه درست شود، نه اینکه از جای دیگر اشراق نفسانی شود، بلکه پایه برای اینکه یک طبیعتی که آب است، در اینجا ظهور کند. اگر این غموض نبود، آن طبیعت ظهور نمی کرد. ولو الآن در اینجا اشراقی صورت نمیگیرد - اشراق بهمعنای اشراق نفسانی - اما پایهای است که هیدروژن و اکسیژن ترکیب شدهاند و حقیقت مولکول آب پدید آمده. وقتی هم این مولکول ها تجمیع شدند یک چیزی به نام آب داریم، با خواصی که کاملاً متفاوت از خواص هیدروژن و اکسیژن است. من اینها را عرض میکنم که متوجه باشیم که در بحث ما، غامض شدن مهم است. یعنی وقتی بیتها به نحو کمال غموض کنار هم قرار گرفتند و منظم شدند، الآن دیگر وقتش است که چیزی ظهور کند که نفسمندی هم در آن نیست، اما مثل آب که این همه خواص دارد، آن هم خواص دارد. ما اسم آن خواص را آگاهی پایهمحور گذاشتیم؛ همین چیزی که خدمت آقایان عرض کردم که میبینیم که به از استاد شده؛ که بهخاطر غموض پایه، ظهور کرده؛ چیزهایی ظهور کرده که نفس مشرق آنها هم آن را دارد. نظیر آن هم در امور فیزیکی زیاد است.
والحمد لله رب العالمین
کلید: زبان ماشین، بیت، بایت، اعداد باینری، اعداد هگزدسیمال، آگاهی پایه محور، هوش مصنوعی، درک معنا، رابطه سختافزار و نرمافزار،
1 در جلسه فرمودند هزار، اما گویا مقصود، ۱۰۰ باشد که سبق لسان شده.
فقه هوش مصنوعی؛ جلسه 19 6/2/1403
بسم الله الرحمن الرحیم
شاید جلسه چهارم بود که مطلبی را عرض کردم. مقدماتش تا به حال از شعب مختلفی صحبت شد. این مسأله در جلسه چهارم مطرح شد، نوعاً وقتی از سختافزار و نرمافزار و دستگاه کامپیوتر صحبت شود، معمولاً اول ذهنها سراغ نرمافزار میرود و بعد از نرمافزار سراغ سختافزار میروند. آن جلسه عرض کردم اگر بتوانیم کار را برعکس کنیم، اینطور جلو برویم. با مقدماتی که از جلسه چهارم صحبت شد، اگر برعکس کنیم این فایده را دارد که ما در ذهنمان یک عینک معنا بین بگذاریم و جایی که یک معنا دخالت میکند را ببینیم. مخلوط نکردن جایی که با بی معنایی جلو میرویم با جایی که یک معنا فعال است، نقش مهمی دارد. در این جهت بود که ما با مباحث هوش مصنوعی (هوش ضعیف) مواجه هستیم که از آن رفتار هوشمندانه را انتظار داریم. و بحثهایی دنبالش میآید؛ آیا در هوش قوی آگاهی و خودآگاهی، قصد و اراده و توجه میشود در آن بیاید یا نه؟ تقسیمبندی اصلی ای که در مباحثه مطرح شد و آن را پی گرفتیم، این بود: آگاهی و هوش دو قسم است؛ پایه محور و اشراق محور. هوش اشراق محور، مباحث بلند و سنگین خودش را دارد. اما آن چه که به بحث ما مربوط میشود، فراهم کردن یک پایه است. پایهای که در آن پایه آگاهی و خودآگاهی و قصد ظهور کند و در همان سطح هم باشد. بدون نفسمندی. بحث ما در اینجا است.
خب اگر ممکن باشد، لایههایی که نیاز داریم تا لایهای که حصول آگاهی در آن هست را تعیین کنیم؛ اگر نسبت به این لایهها شناساییای نداشته باشیم، برای ما خیلی روشن نمیشود. اگر ما بگوییم آگاهی پایه محور و قصد پایه محور، در کدام لایه از این مباحث سر و کار ما با آن است؟ فلذا بعداً احکام فقهی بر آن بار میشود.
اینجا بود که در جلسات اولیه این طرحریزی بحث به ذهنم آمد و گفتیم به بطن و متن سختافزار بالا برویم و از آن جا بالا بیاییم. ببینیم سختافزاری که هوشی که ما میخواهیم در آن نیست، وقتی مدام بالا میآییم، کجا میرسیم که حالا انتظار داریم آگاهی باشد؟! این اصل حرف بود. لذا به همان جلسه چهارم برگردیم. در آن جلسه مقدماتی صحبت شد، در جلسات بعدی بحثهای دیگری شد، همه آنها خوب بود، ولی آن بحث ماند.
بحثی که من عرض کردم، این بود: سؤالی مطرح کردم؛ کوچکترین چیزی که میگویند این دستگاه کامپیوتر با آن مواجه هست، بیت است. سؤال من این بود که بیت، سختافزار است یا نرمافزار است؟ با بحثهایی هم که شد چیزی که در ذهن من بود را چندبار عرض کردم؛ بلاریب بیت نرمافزار است. معلوم است که نرمافزار است. ولی چون خیلی نزدیک سختافزار است، مخلوط میشود. الآن میخواهم توضیحی را عرض کنم تا ببینیم از سطح بیت چطور بالا رفتهاند و چه کار کردهاند.
خود کلمه بیت (bit) مخفف «binary digit» است. بهمعنای «عدد دو دویی»، «رقم های دو دویی». در دستهبندی اعداد بحثهای جورواجوری هست. یک بحثهای ریاضی راجع به انواع اعداد هست. مثلاً میگوییم سیستم مجموعه اعداد طبیعی. مجموعه اعداد صحیح، مجموعه اعداد گویا، مجموعه اعداد حقیقی، مجموعه اعداد گنگ. این مجموعه اعداد یک جور سیستم عددی است. این ربطی به مبنای باینری عدد (دو دویی) ندارد. مبنای عدد همانی است که در کتابهایی مثل حاشیه «عقد» میگفتند. عقد در جایی است که عدد شمارش پیدا میکند بعد بسته و معقود میشود، و دوباره به اول بر میگردد. مثلاً میگفتیم ده، عقد است. صد، عقد است.هزار، عقد است. به مرتبهای میرسد که دوباره از همان جا تکرار میشود. وقتی به ده میرسیم یازده و بیست و… ؛ دوباره یکانها بهصورت ده گان و بهصورت دو رقمی تکرار میشود.
شاگرد: خود بیست و سی هم عقد است.
استاد: بله. هر کدام از آنها هم عقد است. ولی عقد اصلی در دستگاهی که الآن میخواهیم بگوییم خود ده است. او هست که بعداً سائر عقود را سامان میدهد. پس در هر نظام و مبناهای عدد، بیشتر از یک عقد اول نداریم. این نکته مهمی است.
فقط چیزی که هست، این است که «digit» در لغت اصلیش بهمعنای انگشت است. خدای متعال ده انگشت به بشر داده که با آن میشمارند. هر کدام از اینها را به جای یک و دو و سه بگذارید. گویا هر کدام از اینها نماد است. اگر بعداً انس بگیریم و در ذهن ما جوش بخورد که مثلاً این نماد چهار است و … خوب است. چهار کلمهای که من پیدا نکردم، یک کاربرد ناجوری برای این کلمه رقم «digit» است. در فارسی هم داریم؛ مثلاً میگوییم عدد دو رقمی. رشد دو رقمی میشود، تورم یک رقمی میشود. یک رقمی زیاد به کار میرود. گاهی هم میگوییم صفر و یک، اعدادی هستند بر مبنای دو رقمی. به این هم رقم میگوییم، و حال اینکه اینها با هم فرق میکنند. رقم بهمعنای تعداد نمادهایی که عدد را با آن درست میکنیم، و رقم بهمعنای موضع ارزش یک عدد، اینها با هم دو تا است. مدام به جای هم به کار میرود.
مثالش را عرض کنم؛ برای اعداد دو دویی، چند نماد به کار میبرید؟ صفر و یک. خب اگر بخواهیم به این عدد اضافه کنیم، صفر که صفر است. بعد یک میشود. اگر بخواهد عدد بعدی یک بیاید -فقط صفر و یک داریم- رقم بعدی ای که ممکن است، چیست؟ ده است. چرا؟ چون دو تا بیشتر نداریم. در خود یک، صفر این طرفش بود. تنها چیزی که ممکن است، این است که صفر را این طرف بگذاریم. پس ده، عدد دوم میشود که عقد است. عقد این مبنا است. خب اگر این ده، در همین مبنای دوتایی، بخواهد عدد بالاتری بشود، چند میشود؟ یازده میشود. چون یک داریم. دو صفر کنار هم، صفر کنار یک، یک کنار صفر، یک کنار یک. الآن مانوس ذهن من و شما یازده است، اما اگر بخواهیم به به این عدد اضافه کنیم، بعدی صد میشود. یعنی چارهای نداریم یک را بگذاریم و دو تا صفر در کنارش بگذاریم. پس یازده در اینجا، نود و نه بود. یعنی نود و نه مفهومی ما بود، و یازده صوری بود.
شاگرد: یا بگوییم سه است. سومین رقم ما است.
استاد: منظور از رقم چیست؟
شاگرد: تعداد دفعات تکرار است. با سومین تکرار به یازده رسیدیم.
استاد: یازده سومین عدد است. یک که یک است. ده که دو است. یازده، سه است. معادل سه است. ولی وقتی نگاهش میکنیم میبینیم دو تا یک است. لذا میگوییم یازده. شما میفرمایید سه است. یعنی در مبنای عددی که ما میگوییم. اما وقتی میخواهید عدد بعدی آن را بگویید؛ اگر میخواهید بگویید صد، آن عددی که به صد چسبیده و مثل هم هست، نود و نه است. یعنی در این دستگاه دو دویی، یازده همان نود و نه است. چون بعد از یازده، صد میشود.
شاگرد: به صد که نمیرسیم. مینویسیم نماد یک و دو تا صفر است.
استاد: یعنی صد بهمعنای ما نیست، اما صد بهمعنای عقد سه رقمی هست. صد را چه طور معنا کنیم؟ یعنی صد را معنا کنیم و بگوییم مبنای ده یعنی ده به توان دو، این صد بهمعنای خودمان میشود. اگر صد را معنا کنیم به اولین عدد سه رقمی، باز هم درست است. دو، ده میشود، یازده را چه بگوییم؟ بگوییم دو یک؟ ما میگوییم یازده! تا ده نداشته باشیم که یازده نداریم. خب حالا چه بگوییم؟ میدانیم فعلاً این یازده نیست، آن یازده همان سه است که شما فرمودید. باید برای آن یک چیزی بگوییم. آن چه که مقصود من است، این است که اگر آخرین عدد دو رقمی را مثلاً نود و نه بگوییم یا اسم دیگری بگذاریم، مهم نیست. مهم فهم اینها است.
حالا سؤال من این است: بعد از یازده که صد شد، این صد، عدد چند رقمی است؟ عدد سه رقمی است. چند دیجیت رقم در آن به کار رفته؟ دوتا. خب حالا دو رقمی است یا سه رقمی است؟! ببینید کلمه رقم دو کاربرد دارد. یکی رقم میگویند بهمعنای تعداد پوزیشنال (positional). آن موضعی است که دارد ارزش عدد را بیان میکند. وقتی شما نود و نه میگویید، نُه اولش ده گان است. نُه دومش، یکان است. نُه دوم در دست راست یعنی نُه تا یک. اما نُه دست چپ یعنی نُه تا ده. لذا میگویید دو رقمی؛ رقم نَه یعنی نه و چهار و پنج و …، رقم یعنی موضعی که ارزش را در عقود تکرار شونده معین میکند. جایی که اینها را از هم جدا کند، ندیدم. یعنی اینکه میگوییم رقمی، یعنی موضع. البته اصطلاحاتش را دارند؛ اصطلاح «positional» و امثال آن را دارند و حرفها را زدهاند. اما اینکه این دو به جای هم به کار میروند را ندیدم.
علی ای حال به «binary digit» عدد دو رقمی میگویند. منظورشان از رقم در اینجا صفر و یک است. اگر این صفر و یک هزار شد، هزار سه رقمیِ دو رقمی است. یعنی دو رقمی بهمعنای نماد و نشانه عدد، سه رقمی بهمعنای عددی که از نظر موضع ارزش هزار شده. در آن دستگاه عدد صد، چهارمی است.
خب حالا به آن بیت برگردیم. در سختافزار با اشیاء فیزیکی مواجه هستید، یا با طبایع آنها. طبایع هم دخالت لطیفی دارند. اگر یادتان باشد انواعی از سختافزار هست. یکی از آنها همان CDها است. با لیزر ضربه میزدند و میگفتند پیت. یا دیسکهای مغناطیسی بود. یا مدارهای بسته یا مدار باز بود. بنابراین سه جور بودند؛ یا ذخیرههای مغناطیسی بودند که یا مغناطیس بود یا نبود. یا بیتهای مداری بود که یا مدار بسته بود یا باز بود. جاهای آنها را عرض میکنم.
آن چه که الآن عرض من است، این است که ما در بستر فیزیکی چیزهایی داریم که دو حالت علی البدل هستند. یعنی در دستگاه خداوند، یا به این صورت است یا به آن صورت. مثلاً یک سیم مسی را بهصورت یک دایره در بیاورید و یک مدار درست کنید؛ این مدار یا متصل و بسته است، یا باز است.
شاگرد: میتوانیم بگوییم وجود و عدم جامع آنها است؟
استاد: بله، وجود و عدم بهمعنای لاثالث لها. علی ای حال منظورم دو حالتی است که با هم جمع نمیشوند. حالت جمع شدن برای بعدش است. فعلاً با هم جمع نمیشوند. ولذا اگر یک دایره ای را در نظر بگیرید، میگویید یا سفید است یا سیاه. اگر سفید است قرارداد بعدی در کار میآید؛ مثلاً اگر سفید است یعنی صفر است. اگر سیاه است یعنی یک است. ببینید خود دایره سفید نماد میشود برای معنای سفید. دایره سیاه نماد میشود برای معنای یک. کما اینکه مدار بسته را میتوانیم نماد قرار بدهیم برای معنای صفر. اینکه گفتم عینک معنا بین داشته باشیم، تا میگوییم صفر، صفر یک معنا است. لذا اگر این معنا را بهصورت صفر انگلیسی و دایره گرد بگذاریم، معنا تغییری نمیکند. اگر مثل فارسی یک صفر نقطهای بگذاریم که تو پر و ریز است، باز معنای صفر تغییری پیدا نمیکند. اگر در لغت دیگری به جای صفر مربع بگذارند و … معنا واحد است. چرا؟ چون ذات صفر یک معنا است. یک، یک معنا است. نمادی که آن معنا را نشان میدهد اهمیت ندارد.
حالا که به این صورت است، وقتی خواستند عددهای دو دویی را سامان بدهند و این دستگاه عظیم پیدا شود، اول چیزهایی را پیدا کردند که وجود و عدمی است؛ دو حالتی باشد. حتماً تبادل در آن شرط است. نمیشود هر دوی آنها با هم باشند. یا این است یا آن است. این یا سفید است یا سیاه است. البته میتواند یا سفید باشد، یا سیاه و یا نه سفید و نه سیاه. آن دیگر ترنری میشود (سه گانه). به جای بیت، تریت میشود. کامپیوترهایی که مبنایش عدد سه است. ولی فعلاً آن هایی که بین ما معروف هستند باینری است. بر مبنای دو است.
در اینجا وقتی با یک سختافزاری مواجه هستید که دو حالت دارد، شما یک حالتش را برای یک معنا (صفر) قرارداد میکنید، حالت بدلش را برای معنای دیگر که یک است، قرارداد میکنید. این معنا است که بعداً شما چقدر از آن استفاده میکنید و اینها وسیله هستند که آن معنا را نمایش بدهند. تا اینجا شما یکی از این دو حالت را دارید؛ یک دایره یا سفید است یا سیاه است. بیت بهمعنای کوچک ترین واحد داده است که یک معنایی را در آن تعبیه کردیم.
خب اینکه فایده ندارد. یک چیزی یا صفر است یا یک است، خب چه کارش کنیم؟ اینجا است که نوبت به بعدی میرسد؛ بایت در فضای کامپیوتر. در مخابرات دوال پیت دارند. دو تا چیزی که قابل صفر و یک است را در کنار هم میگذارند. وقتی دو تا در کنار هم گذاشتید، درست است که هر کدام علی البدل یا صفر است یا یک است اما وقتی دو تا در کنار هم هستند چندتا میتوانند نشان بدهد؟ میتواند چهار حالت را نشان بدهد. یا هر دو صفر است یا هر دو یک است، یک دست چپ صفر است و دست راست یک است، یا دست چپ یک است و دست راست صفر است.
سؤالی که الآن خیلی مهم است، این است: وقتی یک چیز فیزیکی دو حالت دارد، وقتی آن فیزیک در حالت اتصال است، خودش از حالت بدل خودش خبر دارد یا ندارد؟ ندارد. درست است که علی البدل یک حالت دیگری میتواند جای آن بیاید، اما خود او از آن حالت خبر ندارد. چه کسی خبر دارد؟ بشر خبر دارد. ذهن درک کننده انسان خبر دارد. و لذا بشر از یک چیز فیزیکی که دو حالت علی البدل دارد، یک سیستم درست میکند. یک سیستم خیلی خیلی کوچک درست میکند. میگوید این چیز یا متصل است (صفر مثلاً)، یا منفصل است (یک). این خیلی مهم است که اساساً با یک حالت علی البدل در دل سختافزار نیست. در آن جا سیستم نداریم چون آن تک است؛ سیستم مؤلفههایی از دو چیز است. دو مؤلفه ما هم زمان موجود نیستند. علی البدل موجودند. این ذهن ما است که به این دو یک نظام میدهد. یا صفر است یا یک است. مدار یا باز است یا بسته است. دایره یا سفید است یا سیاه است. این برای ابتدای کار است.
خب حالا اینها را کنار هم بگذارید. الآن شما یک دایره دیگر را کنار این میگذارید؛ خب چهار حالت را میتواند نشان بدهد. چهار حالت یک سیستم جدید شد. یعنی چهار سیستمی است که فقط از «یا»ی منطقی استفاده نکرده. قبلاً ثوابت منطقی را عرض کردم. وقتی به فیزیک نگاه میکنید و میگویید این شیء فیزیکی یا این مدار، یا بسته است یا باز است، از چه عملگری استفاده میکنید؟ از عمل گر منطقی «یا». عملگر منطقی «یا» از واقع درکی دارد. با عملگر منطقی «یا» آن واقعیت را بیان میکنید. واقعیتی است در آن موجود. وقتی دو دایره در کنار هم میگذارید و میخواهید چهار حالت را نشان دهید، ذهن شما الآن دارد سیستم جدید را با دو عملگر سامان میدهد. میگوید این دایره و آن دایره و هر کدامش یا سفید است یا سیاه است. با دو عملگری که ذهن شما انجام میدهد -با یا و واو- یک سیستم درست میکند و میگوید میتوانم چهار عدد را نشان دهم؛ صفر، یک، دو، سه و چهار. فقط نکتهای که آقا فرمودند و برای تأکید تکرار میکنم، این است که آن چه که در کامپیوترها مهم است و مخفی است، این است که وقتی در کامپیوتر 9 را میزنیم، این 9 در اصل ذخیره سازی کامپیوتر عدد 9 نیست. آن را به عدد باینری ذخیره کرده. به ازاء عدد نهمی باینری میگوییم راست آن یک 9 داریم. تبدیل آن اعداد به این، خودش دم و دستگاهی دارد.
خب بعد از بیت، آن عنصر اطلاعاتی بسیار مهم، بایت است، که یک بیتی است که بهصورت کارکتر درآمده و کامل شده. دویست و پنجاه و شش عدد را با هفتایش نشان میدهند. بایت کلاً هشت بیت است. مهندسین آیتی و مخابرات روی اینها فکر کردهاند و هر چه آسانتر بوده را ساماندهی کردهاند. بایت به اندازه هشت بیت است. یکی از آنها بیت کنترلی است؛ آن را گذاشتهاند تا کاری کند؛ فنّش در جای خودش. با هفت تا از آن هشت بیت، اعداد را نشان میدهند. تا بگویند هفت بیت، شما میگویید دو به توان هفت. الآن هم که شما با کامپیوتر سر و کار دارید، این عددهایی که میبینید همه برای همین است. میگویید چهار، هشت، شانزده. با شانزده بیت سر و کار دارید، بعد سی و دو، بعد شصت و چهار، بعد صد و بیست هشت، بعد دویست و پنجاه و شش. دویست و پنجاه و شش، همان هفت تای اصلی است که اعداد دویست و پنجاه و شش را میتواند نمایش بدهد.
الآن این بایت به چه صورت است؟ بایت کوچک ترین واحدی است که در کامپیوتر به آن آدرس میدهید. کارکتر است. یک بیت، یک بیت بود و تمام. یک اطلاعات نبود. کارکتر نبود. یک خانهای بود که یا صفر بود یا یک بود. ما هشت تا از این صفر و یک ها را کنار هم گذاشتیم، لذا میتوانیم دویست و پنجاه و شش کارکتر را بشماریم؛ البته با هفتایش. در اینجا خیلی دم و دستگاه جدیدی به پا میشود. با اینها علاماتی را نشان میدهید. اما باز شما خیلی بیشتر نیاز دارید. یعنی الآن وقتی صفحه کلید را میزنید، چند کار انجام میشود؛ قرار نیست که با زدن یک دکمه، بیت یا بایت بفرستید. هر دکمهای در صفحه کلید یک کد دارد، به نظرم به آن اسکن کد میگویند. این یک کد ثابت است. آن را به کد پیج میفرستید؛ فارسی میخواهید؟ انگلیسی میخواهید؟ کدام را میخواهید؟ باید به اعداد دویست و پنجاه و شش تا یا چند هزارتا تبدیل کند؛ حالا شانزده بیتی باشد یا یونی کدی که الآن معروف است و فارسی را بهخوبی مینویسد. این شانزده بیتی است. نمیدانم یادتان هست یا نه. قبل از دو هزار، چه دم و دستگاه و چه عسری در این بود! اینها به هم میریخت و باید مدام برنامههای مبدل بیاورند. باطن آن همین کارکترهای اصلی بود که باید آن را به فونت های فارسی تبدیل کنند. خیلی زحمت کشیدند. الآن دیگر به این صورت نیست. الآن بهراحتی استفاده میکنند، خودش عدد خاص خودش را دارد.ن
الآن یک بایت، یک واحدی است که در دلش معنا هست. اما نه معنای صفر و یک علی البدل. بلکه یک معنایی از دویست و پنجاه و شش معنا که شما میتوانید آن را نشان دهید که تنها حالت علی البدل نیست. یک واحدی برای خودش است. بهعنوان یک مفهوم نمادی. همه جوره میتوانید از آن استفاده کنید. هر چه من یادم رفت شما مطالعه کنید.
مقصود من این است که ما از بیت شروع کنیم و به بایت بیاییم، بایت دارد یک کارکتر را نشان میدهد. بعد بایت ها را کنار هم میگذارید. وقتی کنار هم میگذارید، یعنی دارید با سائر حروف دیگر جمعشان میکنید. همه اینها در دستگاه شما و بطن سختافزار، نه صفر میفهمد و نه یک میفهمد. نه نشاندادن دویست و پنجاه و شش عدد را میفهمد. انسان است که بایت را درست کرده، دویست و پنجاه و شش تا را قرارداد کرده است. حالت اینها حالت کنار هم گذاشتن است.
حالا چطور ساماندهی میشود؟ آن چه که در سطح ماشین میگذرد را سریع عرض میکنم. نوعاً میدانید اساس اینکه یک کامپیوتر بخواهد کار کند دو چیز است، یکی پرادزشگر است و یکی رم زنده و حافظه زنده آن است. رم همیشه زنده است، قید توضیحی است. دیسکهایی که ذخیره سازی میکند سر و کارش با بیت است، اما بیتی که فقط ذخیره میشود. در رم سر و کارش با بیت است اما نه خود بیت بهعنوان بیت. سر و کار تمام رم بهعنوان اینکه بخواهد درک کند با بایت است. رم هر چه بیشتر باشد خانههای بیشتری دارد، به هر خانهای آدرس میدهید، اما هر خانهای بایت است. وقتی پردازش گر میخواهد به رم آدرس بدهد، به بیتهای رم آدرس نمیدهد -ولو برنامهنویس میتواند روی بیتها هم برنامهنویسی کند- اما آدرس دهی به بایت است. و لذا گفتم بایت واحد اطلاعات است. ولو در صفر و یک بیت هم یک جور معنا هست، اما اطلاعات به معنایی که ما میخواهیم بگوییم در آنها نیست. یک دیتا بهمعنای کوچک ترین داده بشری در بایت است؛ دویست و پنجاه و شش عدد اولیه را نشان میدادند. بعد هم با کد پیج ها تعداد بسیار زیادی از کارکترهای اصلیه را نشان میدهند.
در رم نه مغناطیس دارید و نه پیت، سر و کار شما در رم با ترانزیستورهایی است که مدار را یا وصل میکند یا قطع میکند. یا وصل است یا قطع است. اگر وصل است یک است و اگر قطع است صفر است. در هر بایت این رم، دویست و پنجاه و شش تا را میتوانند نشان بدهند. یکی از آنها است. پردازش گر به این رم آدرس میدهد و اینها را دستکاری میکند. میگیرد و تغییری در آن میدهد و دوباره مینویسد. این حافظه زنده میشود که تا برق را قطع کنید از بین میرود. اگر شما آنها را روی ذخیره سازهای ثابت ذخیره نکنید -که یا مغناطیسی هستند یا نوری هستند- از بین میرود. ولی مهم این است که خود پردازش گر چه کار میکند. خود پردازش گر جمع میزند و منها میکند. هیچ کار دیگری نمیکند. اصل پردازش گر با همه این قدرت و توسعهای که دارد با دو عمل جمع و تفریق همه پردازش ها را انجام میدهد. شما بعداً اینها را برمیگردانید؛ با مبدل هایی که اینها را به حروف، کلمات و معانی بر میگردانید.
حالا ارتباط بین اینها به چه صورت است؟ به این «Bus» بهمعنای گذرگاه میگویند. خود ساختمان اینکه پردازش گر چه کار میکند خیلی جذاب است. اگر آدم فی الجمله اینها را بداند خیلی خوب است. همیشه برای اینها مثالهایی را عرض میکردم. گاهی پردازش گر مشغول پردازش است، آنها اسمش را «پرت وقفه» میگذارند؛ یعنی درگاهی که یک دفعه میگوید توقف کن من کار مهمتری دارم تا انجام بدهم. این پرت وقفه است. خیلی دعاها و صدقه ها را به این تشبیه کردهام. یعنی در دستگاه خدا خیلی از چیزها روی روال خودش جلو میرود. اما صدقه که میآید میگوید توقف کن، این روال نباید ادامه پیدا کند. یا دعا میکند.
دستگاه پردازش گر، ورودی و خروجی اش، پرت های جورواجوری که دارد جذاب و جالب است. یعنی چه چیزی درست کردهاند که اینها را ساماندهی کند. آن وقت ارتباط برقرار میکنند و میگویند گذرگاه دادهها و گذرگاه آدرس ها. هر کدام از اینها جدا است. یعنی یک گذرگاه است که میخواهد مدام آدرس بدهد به این خانه و به آن خانه. یکی است که میخواهد اطلاعات بفرستد. هم آدرس بدهد و هم به آن آدرس برود و این اطلاعات را بنویسد. مثلاً این دویست و شش را بکند دویست و پنجاه و پنج. هم یکی باید آدرس بدهد کدام خانه است و هم اینکه هر چه هست عوضش کن. و ضمیمههای اینها. مثلاً از کارهایی که باید انجام بدهند حتماً یک ساعت است. اگر برای خودش ساعت نداشته باشد نمیتواند این کارها را با خصوصیات خودش انجام بدهد.
این هایی که عرض کردم، کارهایی بود که میگوییم در سطح ماشین انجام میشود.
شاگرد: این یای منطقی که فرمودید در دستگاه درکی نسبت به آن صورت میگیرد؟ اصلاً درکی صورت میگیرد؟
استاد: نه.
شاگرد: خب چرا این معانی را قرار دادند؟ کجا از این معانی استفاده میشود؟ این بیان شبیه اتاق چینی است.
استاد: بله، من توضیح دادم تا ببینید در سطح سختافزار خودش حتی از حالت بدن خودش خبر ندارد. از کارهایی هم که صورت میگیرد -این بیتها مدام عددش عوض میشود، جمع میزنند، تفریق میکنند، عملگرها را اعمال میکنند، مدام مینویسد و پاک میکند-خبر ندارد. در آن جا فقط صفر و یک ها است. ما آنها دویست و پنجاه و شش تا را کنار هم قرار دادهایم و میفهمیم عوض شد یا نشد. اما او چیزی نمی فهمد.
شاگرد: یعنی برنامهها از آن معانی استفاده میکنند.
استاد: بله، برنامهها و زبانهای سطح بالا. الآن با این توضیحی که الآن عرض میکنم، این زبان سطح ماشین است. به نظرم زبان سطح بالاترش -به آن اسمبلی میگویند- مقداری بالاتر از سطح زبان ماشین است. یک چیزهای دیگری در آن هست. ولی در زبان سطح ماشین دقیقاً همین ها است. یعنی وقتی به آن جا میروید میبینید سر و کارتان تنها با دو عمل جمع و تفریق است. مدام صفر کنید و یک کنید. صفر و یک بیتها عوض میکنید. اصلاً سر در نمیآورد که بایت چیست و بیت چیست. شما در یک نظام خاص با عملگر واو هشت بیت را کنار هم گذاشتید و گفتید بایت است. شما با این هشت تا یک سیستم درست کردید. کما اینکه خود همان بیت را شما با نظام علی البدل و با یا منطقی درست کردید و گفتید این است یا آن است؛ با یک نظامی درستش کردید که صفر و یک را نشان میدهد. شما با بایت را درست کردید. همه اینها برای شما است. درک معانی برای شما است. آنکه درکی ندارد.
شاگرد: روی فرضی که هوش مصنوعیای ساخته شود و یک چیزی را دانلود کند و کاری انجام بدهد، همه اینها در فضای اتاق چینی بود، لذا استناد به کسی پیدا میکند که برنامهنویسی اول را کرده. چون میفرمایید انسان برنامهنویس است که معانی را درک میکند.
استاد: نکته سر این است که برنامهنویسی هوش مصنوعی یادگیری ماشینی دارد.
شاگرد: باز هم درک معنا صورت نمیگیرد. همه آنها به برنامهنویسی بر میگردد که اینها را آورده و ارتقاء داده.
استاد: اگر چیزی را به شما ارائه بدهد که شما فکرش را نکرده بودید، اسم آن را چه میگذارید؟! میگویید اینکه همین صفر و یکها است. خب چطور دارد چیزی میگوید که شما تعجب میکنید؟!
شاگرد2: استناد به سوء اختیار است.
استاد: مثلاً میگویند شاگرد به از استاد. این یعنی همه چیزش به استاد بر میگردد و خودش چیزی ندارد؟! نه، بلکه او راههایی را کشف میکند که خود استاد بلد نبود. شما اسم این را چه میگذارید؟! فلذا من از این پایین شروع کردم، تا الآن هم برنامههایی که در هوش مصنوعی اجراء میکند همین است. زبان ماشین همین است. یعنی وقتی به سطح زبان ماشین بروید، همین است و در آن چیز دیگری نیست.
شاگرد2: شاگرد به از استاد در اینجا نیست.
استاد: خود این چیزی که میبینیم را چه میکنید؟ یعنی خود برنامهنویس بهت زده میشود. میگوید من این را به آن دادم؛ الآن هم روی یادگیری عمیق کار میکنند. یادگیری عمیق چند لایه است. گراف های تو در تو است. یادگیری عمیق که انجام میدهد خیلی عجائب است. راست هم میگوید. بعد هم میبینیم هیچ بشری فکرش را نکرده.
شاگرد2: همین خوفی که هست و میگویند این کار را نکنید، بهخاطر سوء اختیار او است که سبب میشود او به مرحله یادگیری برسد و این کارها را بکند.
استاد: خب الآن صحبت سر آن چیزی است که او کشف میکند و عرضه میکند و بعداً حتی اگر بفهمد ما میخواهیم به آن صدمه بزنیم از خودش دفاع میکند. منظور از پیشرفت همین است. البته فعلاً در مرحله خیالات است. منظور من این است یک دستگاهی که برنامه آن را شما نوشته اید، اما حرف شما را میگیرد و مهمتر این است که خود اینها برنامهنویسی میکند. یعنی خود هوش مصنوعی کدهایی مینویسد که از برنامهنویس ها بهتر است. این را چه کار میکنید؟ یعنی فکر برنامهنویس به جایی نرسیده، اما او یک کد ارائه میدهد و برنامههای بسیاری خوبی میسازد که دیگران از آن عاجز بودند. الآن در پزشکی میگویند این هوش مصنوعی کارهایی میکند که این اطباء هرگز نمیتوانند بکنند. کارهای بسیار ظریفی که نه لرزش دست دارد و نه اشتباه دارد. خب اسم این را چه میگذارید؟! میگویید یک چیز بی خبر است؟! چطور میگویید بی خبر؟! لذا من عرض کردم وقتی از پایه بالا میرویم، میخواهیم به یک لایهای از لایههای نرمافزار برویم که در آن جا پایه ظهور میکند. پایهای که آن هوش پایه محور واقعاً ظهور میکند. اما پایه محور است.
شاگرد: یعنی آن جا یک درکی صورت میگیرد؟
استاد: درک به همان معنایی که توضیح دادم. یعنی حتی معنا را به نحو پایه و به نحو اشاره گر درک میکند. در یک شبکهای از چیزهایی که مؤلفهها هستند. اگر اشاره گر به هر بخشی از آن اشاره کند، هم خودش اجزاء دارد و هم خودش عضو و اجزائی از یک شبکه است. اینجا میشود معنای پایه محور. نه معنای درک افلاطونی که نیاز به روح دارد.
شاگرد: مثلاً ما برای معنای «یا» یک پایه فیزیکی درست میکنیم؟ یک پایهای که معنایی مثل «یا» را ظهور میدهد.
استاد: و بیشترش شبکه معانی. ما معمولاً معانی را دیکشنری وار میبینیم و میگوییم این لغت چه معنایی دارد. اما اگر بخواهیم معنا را جا سازی کنیم، اول باید کل زبان را ساماندهی کنیم، یک شبکهای از معانی درست کنیم و بعد بگوییم مؤلفههای آن «یا» و «واو» است.
با این توضیحی که من عرض کردم، نزد هر کسی واضح است که در آن سطح، ما درک و فهم نداریم؛ همان اتاق چینی و بچهای که کار انجام میدهد. ما هیچ درکی نداریم. در این سطح هم تمام کارها همینجا انجام میشود. ولی کسی که اینها را مدیریت کرده، صفر و یک را بهعنوان یک سیستم علی البدل در نظر گرفته، صفر و یک را درست کرد و کنار یکدیگر گذاشت، از آن چهار حالت پدید آورد، اینها را انسان انجام داد. حالا همین انسان در این پایه بی فکر و بی فهم، به سطحی میرسد که کاری میکند که خود آن برنامه در آن سطح بالا -نه سطح ماشین- همان کاری را که قبلاً با صفر و یک درست میکردیم و سیستم درست میکردیم و آنها را کنار هم میگذاشتیم، حالا هم آن انجام میدهد. اما نه در سطح یک ماشین، یعنی همان کاری که ما با صفر و یکها کردیم، او انجام میدهد. یعنی بعداً هوش مصنوعی میتواند در صنعت خودش یک کامپیوتری با مبنای C یا با مبنای کذا بسازد.
البته مبنایی که عرض میکنم، منظورم همان حالت سختافزاری است. و الا عدد مهم نیست. مثلاً یک بایت دویست و پنجاه و شش بود، میدیدند عددها کم میآید، یعنی وقتی هفت رقم باشد دویست و پنجاه و شش میشود، اما برای حالاتی که میخواهیم نشان بدهیم اگر شانزده تا باشد، باید دو تا کنار هم باشند. خیلی بیشتر میشود. حالا آمدیم و خواستیم عددی را با شمارههای چندتایی نشان بدهیم که از نظر شمارههای ده گانه کم میآوریم؛ ده تا را نشان میدهیم و میبینیم هنوز میتوانیم عدد دیگری را نشان بدهیم که باید یازده و دوازده باشد. خب در یازده و دوازده که عقد تمام میشود. لذا مبنا را بالاتر میبرند. مثلاً میگویند مبنای هگزادسیمال که مبنای شانزده است. خیلی کاربرد دارد. مبنای شانزده برای چیست؟ برای این است که وقتی از آن شش تا عدد میتوانستند استفاده کنند، استفاده کنند. لذا گفتند صفر و یک و …، نه تا رقم داریم. به ده رسیدیم که دوباره صفر و یک است. لذا آنها گفتند به جای اینکه در ده، دو رقمی کنیم میگوییم a. a یک نماد است اما جای عدد ده است؛ a تا f. f جای عدد پانزده است. پانزده نماد است. هگزادسیمال پانزده عدد است. عددهایش را نگاه کنید. الآن خیلی از چیزهایی که در کامپیوتر میبینید یک حرف است و یک عدد. میگویید این حرف است! درحالیکه حرف نیست. آن خودش یک عدد است. در این عدد، a یعنی ده، b یعنی یازده. همین تا f که f پانزده است. وقتی به f رسیدید یعنی شما شانزده رقم دارید. رقم به این معنا که یعنی نماد. شانزده نماد دارید که با آن یک اعدادی بر مبنای شانزده میسازید. چرا؟ چون میخواستید از بیتهای اضافی که در بایت درست کردهاند استفاده کنند. اینها با هم خلوط نشوند. یعنی وقتی بخش مهم کامپیوتر با مبنای شانزده اداره میشود، قاطی نکنید با اینکه میگویند کامپیوتر با مبنای دو دویی کار میکند. مبنای دو دویی در بیتهایی است که پردازش میشود. هر کدام از این بیتها وقتی بایتی میشود که چندتا عدد را نشان میدهد، بعداً دیدند به جای اینکه روی مبنای ده برویم، بهتر این است که روی مبنای شانزده برویم. شانزده ها معادل اعداد باینزی هستند که بهراحتی چندین سیستم معادل هم کار انجام میدهند. همه اینها درکی ندارند. همانطوری که عرض کردم در درگاههایی است که رفتوبرگشت صورت میگیرد و ذخیره سازی میشود.
سؤال اصلی من این این بود: با این توضیحاتی که عرض کردم، تا بایت بگویند تا بیت بگویند، ما عینکی پیدا کردیم که میبینیم اصلاً مفهوم بیت یک معنا است و در سختافزار ما بیت نداریم. درست است که بدنه فیزیکی علی البدل نشان میدهد و میتواند نماد شود اما مفهوم بیت یک مفهومی است که بشر آن را درک میکند و اعمال میکند؛ و بایت و سائر آن. بنابراین همه اینها نرمافزار هستند. همه حالت نرم دارند. یعنی مربوط به ذهن ما هستند که سختافزار را مدیریت میکنیم و بر آن قرارداد میکنیم. ما اینها را میفهمیم و انجام میدهیم، ولی خود آن ماشین که نمیفهمد. خود آن ماشین، سخت افزارش است و اموری که مرتب در آن صورت میگیرد در متن سختافزار است. نرمافزار در ذهن ما شکل میگیرند. در این لایه بههیچوجه فهم نداریم و حالت صوری محض دارد.
این را هم عرض کنم؛ اگر یادتان باشد عرض کردم که هر چیزی میتواند نماد و نشانه قرار بگیرد. هر چیزی که میتواند نشانه قرار بگیرد سه چیز در آن هست. یکی معنای ذاتی خودش است. یعنی میتوانیم توضیح دهیم که این نماد چیست. مثلاً میگوییم «ز» یک صوت است که معنای ذاتی دارد. یعنی توصیفی است که تبیین میکند نفس این نماد چیست. دوم معنایی دارد که مناسب به آن است؛ هر شیءای که معنای ذاتی و توصیف ذاتی دارد، یک چیزهایی با آن مناسب است. اصلاً تشبیهات از کجا میآید؟ از اینجا میآید که اشیاء با هم رابطهها دارند و شباهتها دارند. اینها هم در دستگاه خدای متعال تکوینی است. هر چیزی که میتواند نشانه شود دو معنا دارد که از آن جدا نمیشود؛ معنای ذاتی خودش و معنای مناسب طبع معنای ذاتی. اینها را که کنار بگذاریم، در دستگاه بشر هر شیءای میتواند نشانه قراردادی شود. یعنی ما قرارداد کنیم که این شیء بر یک معنا دلالت کند و با یک معنا جوش بخورد؛ دلالت وضعیه و قرن اکیدی که در ذهن با وضع صورت میگیرد. در اینجا است که وقتی میگوییم یک چیزی معنا دارد، آن معنای قراردادی قابل درک برای سطح ماشین نیست. قرارداد کار بشر است. آن دو معنا را هم بشر درک میکند ولی اینجا در ماشین این قرارداد را نداریم. خود این عملیة الوضع و قرارداد را میتوانیم در سطح هوش مصنوعی پیاده کنیم یا نه؟ بله، میشود. یعنی برنامه به حدی میرسد که خودش بین نمادها با معانی رابطه برقرار میکند. بین این دو ارتباط برقرار میکند. قرن اکیدی که در ذهن ما میشود را آن جا میگوید این با این مرتبط است. ارتباط بین آنها برای این هوش مصنوعی امر آسانی است اما نه در سطح ماشین که چیزی نمی فهمد. در سطحی که خود آن معانی فعال هستند. ان شاء الله در جلسه بعدی عرض میکنم. در لایههای بعدی به یک سطحی میرسیم که در آن سطح فعال میشود؛ یعنی پایه فراهم شده برای فعال شدن آگاهی پایه محور و امثال آن.
شاگرد:…
استاد: وقتی پیچیده شد، شأنیت ظهور یک معنا را پیدا میکند. نه اشراق. اشراقی که آن را بدهند منظورم نیست. منظورم این نیست که در موطن تجرد باشد و آن را بدهند. مثل مثال آب؛ اکسیژن جدا و هیدروژن جدا خواص آب را ندارند. همین جوری در کنار هم تا به ترکیب آب در نیایند که آب نیستند. خدای متعال یک ترکیب غامض شیمیایی برای آنها تشکیل میدهد تا یک پایه درست شود. نه اینکه از جای دیگر اشراق نفسانی شود. پایه برای اینکه یک طبیعتی که آب است در اینجا ظهور کند. اگر این غموض نبود آن ظهور نمی کرد، ولو الآن در اینجا اشراقی صورت نمیگیرد. اشراق بهمعنای اشراق نفسانی. پایهای است که هیدروژن و اکسیژن ترکیب شدند و حقیقت مولکول آب پدید آمده. وقتی هم این مولکول ها تجمیع شدند یک چیزی به نام آب داریم، با خواصی که کاملاً متفاوت از خواص هیدروژن و اکسیژن است. من اینها را عرض میکنم. در بحث ما غامض شدن مهم است. یعنی وقتی بیتها به نحو کمال غموض کنار هم قرار گرفتند و منظم شدند، الآن دیگر وقتش است که چیزی ظهور میکند که نفس مندی هم در آن نیست، اما مثل آب که این همه خواص دارد، آن هم خواص دارد. ما اسم آن خواص را آگاهی پایه محور گذاشتیم. همینی که خدمت آقایان عرض کردم. میبینیم که به از استاد شده؛ بهخاطر غموض پایه ظهور کرده؛ چیزهایی ظهور کرده که نفس مشرق آنها هم آن را دارد. نظیر آن هم در امور فیزیکی زیاد است.
والحمد لله رب العالمین
کلید: زبان ماشین، بیت، بایت، اعداد باینری، اعداد هگزدسیمال، آگاهی پایه محور، هوش مصنوعی، درک معنا، رابطه سختافزار و نرمافزار،