روند نمادگذاری
- ظهور ما به الاشتراک معانی و نمادها در ماشین
- ذخیره نمادها و معانی در حافظه ماشین و تطبیق مصادیق بر آنها توسط پردازشگر
- تفاوت هوش مصنوعی با اتاق چینی
- چینش بیتها و سطوح مختلف نمادها؛ پایهای برای ظهور معنا
ظهور ما به الاشتراک معانی و نمادها در ماشین
حالا در اینجا دو بیت را کنار هم گذاشتهایم؛ من به کمّ مثال زدم، چون از بیت شروع کردم و الا گفتم خیلی مصداق دارد. در اینجا دو بیت را کنار هم گذاشتیم و الآن این دو بیت، دو هست و متعدد. اگر سه تا کنیم، سه هست و متعدد. اگر چهارتا کنیم، چهار هست و متعدد. خب در اینجا از مطلب بسیار مهم نمادهای قراردادی استفاده میکنیم. اگر نماد قراردادی نداشتیم، باز کامپیوتر نداشتیم؛ مثل نوع داده بولین که اگر جبر بولی وارد نشده بود، کامپیوتر نداشتیم، در اینجا هم اگر نماد نداشتیم، هیچکدام از این هوش مصنوعی و ... هم نبود. نمادگذاری به چه معنا است؟ یعنی الآن در اینجا دو بیت کنار هم گذاشتیم، وقتی دو تا 1 شد، دو تا 1، عدد است و مصداقی است برای دو تا یک دستگاه باینری. همین عدد - که عدد نود و نه آنها است و بعدش صد میشود- وقتی به دستگاه دهدهی میآید، برای همان عدد، نماد میگذاریم. نمادش چند است؟ یازده آنها، نمادش 3 است. سهای که در دستگاه دهدهی میگذاریم، با دو تا یک آن دستگاه که فرقی ندارد و عدد، همان است؛ یعنی صفر شده، بعد یک، و بعد دو و بعد سه. نمادی که در دستگاه دودویی روی آن میگذاریم، 11 است و نمادی که در دستگاه ده دهی میگذاریم، 3 است. این نماد، مهم است، ولی آن عدد، یکی است آنچه که واقعیتش است، نمادها نشانش میدهند. این نمادها در بحث ما خیلی مهم هستند؛ یعنی اگر نمادگذاری نداشتیم، ظهور درک و آگاهی به نحو پایهمحوری که الآن میخواهیم بگوییم، نداشتیم. لذا شما باید بعداً کاملاً به مسأله تسمیه و قرن الاکید - که وضع هست - اهمیت بدهید؛ اگر نباشد، همه اینها به هم میریزد.
الآن ما یک امری داریم که در اینجا ظهور کرده و معانی مختلفی در ضمن آن ظهور کرده. یکی مفهوم نوع عدد سه است، یا اینکه سه بیت کنار هم بگذاریم که باز هم این مصداقی از سه است و مصداقی از تعدد است. اینها یک چیزهای خیلی واضحی است. دنبالهای که میخواهم عرض کنم، این است: شما در اینجا میتوانید دو نماد بگذارید؛ نمادهایی هم که فرض میگیریم هیچ انس ذهنیای به آنها نداریم؛ مثلاً سه بیت کنار هم میگذاریم. حالا از عملگر منطقی که صحبت شد که با آن کار داریم، استفاده میکنیم، یعنی میخواهیم این سه بیت در کنار هم را ساماندهی کنیم. کجا؟ در پایه. میگوییم برای این سه تا که کنار هم هستند، یک نماد 3 میگذاریم که اگر بخواهیم این نماد را دو جور بیان کنیم، یکی همین 3 خودمان را میگذاریم، و یکی هم به صورت (1+1+1). هر دوی اینها نماد است و فرقی نمیکند. 3، نماد است و (1+1+1) هم نماد است. این نماد را برای این سه بیتی که کنار هم هستند، قرار میدهیم. یک نماد دیگر هم میآوریم؛ مثلاً نماد مثلث. مثلث هم میتواند نماد شود؛ مثلث برای حیث تعدد این سه تا. مگر متعدد نیست؟! حالا اگر یک بود، یک نماد مربع برای آن میگذاریم. اگر ظهور تعدد در آن نشده، میگوییم یک است. میگوییم این مربع است. مربع نماد این است که متعدد نیست. آن چه که دوتا است یا سه تا است و متعدد است، برای حیث تعدد آن، نماد مثلث را میگذاریم.
حالا به پایه میآییم و میگوییم ۱ و مربع؛ واو منطقی که بولین و عملگر بود. اگر شما اینجا برای مجموعش یک نماد بگذارید، میگویید ۱ و مربع، یعنی یک که عدد است به اضافه وصف وحدت؛ چون مربع بهمعنای وحدت و لاتعدد شد. برای کل این «یک و مربع» که یعنی یک و معنای واحد، یک نماد بگذارید؛ مثلاً دایره. حالا تا دایره میگوییم، باید ببینیم در دل دایره چیست؟ دایره، یعنی یکی که واحد است؛ همان اشارهگرهایی که چند جلسه قبل عرض شد.
الآن در نمادگذاری، نماد دایره ما، دل دارد؛ یعنی در دلش یک و واحد است. حالا اگر گفتیم دو تا ۲ و مثلث، که مثلث بهمعنای تعدد بود؛ الآن هم مانعی ندارد که وقتی مطلب به ذهنتان آمد، خود کلمه تعدد را میگذاریم؛ این، خودش نماد است؛ چه فرقی میکند؟ اسم، اسم است و علامت، علامت است. حالا ما فرض میگیریم و میگوییم «یک و لاتعدد» و میگوییم «دو و تعدد». برای مجموع «دو و تعدد» نمادی میگذاریم و برای «سه و تعدد» میتوانیم نماد بگذارید و … همینطور جلو میرود. نکته این است که وقتی تعدد را بهعنوان یک نماد قرار دادیم، اگر طوری باشد که از اندرون این نمادها و مشترکات خبر داریم، یعنی بعداً از ورای یک، با هر عددی مواجه شوید، میبینید آن عدد، هم پنج است و تعدد. اگر بخواهید پنج را باز کنید، میبینید در آن دو عملگر هست: پنج، یعنی یک به اضافه یک، به اضافه یک، به اضافه یک، به اضافه یک. این عملگر، الآن عملگر عددی است و دارد عدد را با هم جمع میکند و میگوید پنج پدید میآید؛ عملگر حسابی است. اما اگر بگویید (1+1+1+1+1 و تعدد)، این «و»، دیگر ریاضی نیست، منطقی است. با این «و» که بهعنوان تعدد آوردهاید، دارید یک ترکیب درست میکنید. این واو که در پنج گفتید، بعد میبینید با شش، در پرانتز ریاضی، یکی نیستند و مختلف هستند و نمادش هم مختلف است، اما در آن «و» که تعدد باشد، مشترک هستند. اما در همین «و»، با واحد مشترک نیستند.
شما در اینجا دارید در پایه، یک ما به الاشتراک بین ورای یک، به نمایش درمیآورید. یعنی شما دارید در بستر پایه آن را به ظهور میآورید. آن دستگاه، نمیفهمد تعدد به چه معنا است. مثل اتاق چینی که نمیفهمد صفر و یک، متعدد است و درک افلاطونی - که نفسمند باشد - از تعدد ندارد، اما میتواند بفهمد که پنج و شش، یک ما به الاشتراکی دارند که آن ما به الاشتراک را با یک ندارند. این فهمیدن، فهمیدنی پایهمحور است، نه فهمیدن ذهنی، بلکه فهمیدنی در سطح پایه است. ولی او میبیند و میگوید «و» و این واوها دارد عملی را انجام میدهد که در سطح پایه، ما به الاشتراک بین مصادیق متعدد را میتواند بفهمد. کلمه فهم نفسانی نیاورید، بلکه فهمی در متن پایه؛ یعنی تشخیص پایهمحور.
شاگرد: این تشخیص به ناظر برمیگردد. همه اینها به این برمیگردد که مدار، باز است یا بسته است. این نمادگذاریها و این تشخیص، به زبان برنامهنویسی برمیگردد که ناظر، آن را نوشته است که آن هم به نفس مجرد افلاطونی برمیگردد.
استاد: فعلاً گامهای بعدی مانده.
آنچه که میخواهم عرض کنم، این است که شما باید ببینید از اینجا به بعد چه مراحلی طی شده؛ فعلاً همین قدمهای واضحش را ببینید. همین اندازه که عرض کردم؛ الآن با قلم و کاغذ، بدون اینکه کاغذ درکی از تعدد داشته باشد، کاری کردید که تعدد را بهعنوان وصف، در کنار مصداقش که سه است، با واو منطقی، ما به الاشتراک درست کنید. این را قبول دارید که ما به الاشتراک درست کردید؟! اگر درک به آن صورت نباشد، مشکلی نیست. فعلاً ببینید از همین امر ساده چه مراحلی طی میشود؛ مراحل بعدیای که مدام جلو میرود. این اندازهای که الآن گفتم اگر اشکالی دارید بفرمایید. شما الآن توانستید در پایه، ما به الاشتراک را به ظهور بیاورید، اما نه به درک عقلانی ما به الاشتراک؛ خیلی تفاوت است. فرض ما سر ظهور در پایه است که با واو منطقی و در پرانتز گذاشتن اینها، این را به ظهور آوردید.
الآن به آن دو زبان مهم هوش مصنوعی از روز اول - «Lisp» و «Prolog» - اگر نگاه کنید در آنها همین کار را میکنند؛ یعنی پردازش لیسپ یا پردازش منطقی . قدیمیترین هم «Logic Programming» است، یعنی ما اعداد را با منطق به هم پیوند میدهیم؛ بهصورت پسرفت و پیشرفت؛ بعداً توضیحش را میدهم و میبینید چه کارهایی شده؛ کارهای هنگفتی شده. از همین چیز سادهای که میگویم، وقتی جلو میروید، میبینید ساعتها فکر شده؛ چه ذهنها و چه کارهایی که از همین چیزهای ساده اینطور شده؛ مثل همین صفر و یک. اصل صفر و یک، خیلی آسان است، اما تا شما بخواهید آن را به پردازشگر برسانید و دستهبندی کنید و آدرس بدهید، رجیسترها، بافرها، سگمنتها، باسها، رم، سیپییو که چه دم و دستگاهی است! اینها را فکر و فکر کردهاند، تا الآن میبینید این دستگاه دارد کار خودش را انجام میدهد.
ذخیره نمادها و معانی در حافظه ماشین و تطبیق مصادیق بر آنها توسط پردازشگر
اما مهم این است که چون ریخت ذهن حوزوی ما این است که میخواهیم از پایه برای ما واضح شود، من دنبال این هستم و از واضحترین چیزهایی که میتوانیم الآن تصورش کنیم، عرض میکنم و وقتی این را تصور کردیم که الآن چطور ما به الاشتراک بین دو چیز را -بدون اینکه بهعنوان درک ما به الاشتراک که نفسانی است، صورت داده باشیم- با یک واو منطقی در پایه سامان دادیم؛ یعنی آن را در پرانتز گذاشتیم و بعداً اگر یک ماشینی باشد که این را پردازش کند، با هر چیزی که مواجه میشود، میفهمد که این متعدد است. بعداً هم وقتی شیءگرا شد، در شیءگرا همین تعدد را میگوییم که وصف است، یا میگوییم یک کلاس است. در حافظه، اینها را از هم جدا میکند؛ هر کدام هم با نماد جدا. میگوید یک کلاس ایجاد کن؛ یعنی در بخشی از حافظه چیزی ایجاد کن - که در آنجا تنها خصوصیات تعدد را جاسازی میکند - و یک جای دیگر، فقط خصوصیات سه را بگذار، ولی اینها به هم مربوط هستند، یعنی با واوهای منطقی و «or»، خود دستگاه پایه، میفهمد که سه در کلاس تعدد است و مصداقی از آن است و از آن ارث میبرد؛ ارثبری را بعداً عرض میکنم؛ در شیءگرائی، کارهای عظیمی شده. تعدد، یک کلاس است که سه، نمونه و «instance» آن میشود. وقتی خود این دستگاه، میداند که این، نمونهای از تعدد است، دیگر میداند که با وحدت فرق میکند. یعنی تمام اوصافی را که سر جایش برای تعدد تعریف کردهاید، سه هم از آن ارث میبرد. چرا؟ چون به جای اینکه تعدد را از سه در بیاورید، شما در حافظه، برای تعدد، یک کلاس درست کردهاید؛ تعدد بهعنوان یک کلاس است؛ بعد شما میگویید آنکه درکی از معنا ندارد! درک افلاطونی از معنا ندارد، اما در نظام خودش چیزی را دارد که کاملاً به مصداق خودش میدهد و با یک عملگر «is» میتوانید بفهمید تعدد هست یا نیست؛ سه، متعدد هست یا نیست. با یک عملگر ساده به او میگویید؛ میگویید بسنج که سه، متعدد هست یا نه؟ سریع میگوید بله. تعدد، نماد دارد، سه هم نماد دارد؛ شما میگویید: «آیا (is) سه، متعدد است؟» او چه چیزی برمیگرداند؟ یک را. یعنی بله. اما وقتی واحد دارید، میگویید، «آیا (is) یک متعدد است؟»، صفر برمیگرداند، یعنی: نه. درست و غلط، بله و نه؛ این، دارد کار انجام میدهد.
تفاوت هوش مصنوعی با اتاق چینی
شاگرد: همان اتاق چینی پیشرفته است.
استاد: پیشرفت یعنی چه؟ در گامهای بعدی، خودش چیزهایی را یاد میگیرد که شما فکرش را نکردهاید؛ یاد میگیرد. خودش به شما چیزی میگوید که میگویید عجب! راست میگویی! چیز خوبی پیدا کردی! این را چکارش میکنید؟! این چه پیشرفتی است؟! در اتاق چینی که ما پیشرفت نداشتیم. در آنجا تنها قواعد را به آن یادداده بودند. اما یکی از مهمترین گامها در هوش مصنوعی، یادگیری ماشین است. بعد هم خطایابی و تصحیح خطا است. خودش میرود و میفهمد اشتباه کرده، برمیگردد و تصحیح میکند.
اتفاقاً چرا از نمادگرائی به شبکههای عصبی آمدند؟ مشکلی که داشتند این بود: سیستم خبره بود و خیلی کار از آن برمیآمد، اما نمیتوانست خودش را تصحیح کند؛ خودتصحیحکن نبود. لذا برگشتند و از طریق شبکه عصبی، آنها را خودتصحیحکن کردند. خودتصحیحکن یعنی چه؟ یعنی جایی که ما به چیزی فکر میکنیم و میرویم و برمیگردیم، اما حل نمیکنیم، او میرود و برمیگردد و راهحل ارائه میدهد. این چه اتاق چینی پیشرفتهای است؟! بعد شما میگویید به دلش برو و ببین جز صفر و یک چیزی نیست! خب فرض ما این است که میخواهیم پایهمحور باشد. اگر غیر از صفر و یک باشد که از فرض ما خارج شده.
چینش بیتها و سطوح مختلف نمادها؛ پایهای برای ظهور معنا
شاگرد: هر اتفاقی میخواهد بیفتد، باید همینجا بیفتد. یعنی اگر اینجا شکل گرفت که گرفت و اگر نگرفت، بعدش دیگر اتفاق خاصی نمیافتد و فقط مرتباً پیچیده میشود.
استاد: پیچیدگی، چندجور است. ما دو جور پیچیدگی کل داریم. کلها دو جور هستند: کلی که میگوییم «لیس الکل الا الاجزاء بالاسر»؛ این فرمایش شما است. میگوییم اجزاء این است، هر چه هم غامض و پیچیده شود، «لیس الکل الا الاجزاء بالاسر» و همین است. اما یک کلهایی داریم که کل، چیزی است غیر از اجزاء بالاسر؛ آب، غیر از این است که آن دو را مخلوط کنیم؛ اگر مقداری اکسیژن مایع و هیدروژن مایع را در ظرف بریزیم، الآن آب داریم یا نداریم؟! نداریم. پس معلوم میشود ریخت ترکیبی H2O، ریختی است که ثالثی را پدید میآورد که صرفاً «لیس الاجزاء بالاسر» نیست؛ بگویید برو ببین غیر از H2O چیزی نداریم؟! میگوییم میرویم و میبینیم غیر از H2O چیزی نداریم، اما درعینحال، آبی داریم که غیر از H2O است. این را چطور تحلیل میکنید؟!
شاگرد: هیدروژن و اکسیژن، چیزهایی دارند که ما از آنها غافل هستیم و وقتی ترکیب میشوند، بروز میکنند. یعنی هیدروژن و اکسیژن را درست نشناختهایم.
استاد: اشارهگری که در جلسات قبل عرض کردم، همین است. وقتی در پایه، اجزائی داشته باشیم …؛ شما الآن میگویید جز صفر و یک چیزی نیست. اینها آمدهاند فکر کردهاند و صفر و یک را با اعداد، به چیزهایی برگرداندهاند که مرکب است و مؤلفههایی دارد. اولین کاری که کردند، بایت را درست کردند؛ بایت یک کاراکتر است. بعد از بایت، word درست کردند که word، دو بایت است. بعد، با 20 بایت، یک شیء درست کردند. آن شیئی که این دستگاه با آن مواجه است، بهعنوان یک نمادی که در آن چیزهایی هست، برخورد میکند. آنجا شما چه میگویید؟! یعنی دستگاه در این سطح، دیگر با بیت سر و کار ندارد. چرا؟ چون همه آنها را یک جا ذخیره کرده. شما وقتی یک پاکت میآورید، میگویید مثلاً در این پاکت عدس است. یک پاکت دیگر میآورید و میگویید این نخود است؛ اگر با بیتها این کار را کردید، یعنی اینها را پاکت پاکت کردهاید و میگویید این اسم جدا دارد و با این نماد با آن برخورد کن. الآن دیگر نمیتوانید بگویید جز صفر و یک چیزی نیست؛ شما صفر و یکها را با نمادهای جدا و با مقاصد جدا بستهبندی کردهاید.
الآن هوش مصنوعی وقتی قیافه کسی را ببیند، میفهمد. حتی اگر حدود قیافه را ببیند، تشخیص میدهد که او فلانی است. یعنی از طریق تشخیص الگو، همین نرمافزار، قیافهها را تشخیص میدهد. چطور؟ بهخاطر اینکه شما در مسیر دستهبندی این بیتها خیلی کار کردهاید. دستهبندی این بیتها بسیار مهم است. برای دستههای مختلف، نماد گذاشتهاید و الآن او با این نمادها بهعنوان یک منفرد برخورد میکند، نه بهعنوان بیت. الآن سر و کار او با یک چیزی است و به یک چیزی اشاره میکند که در دل او اوصاف است و آن اوصاف را نزد خودش دارد. الآن یک ربات، وقتی چیزی به چشمش میآید میفهمد که این از آنهایی است که به چشم من بهعنوان یک ربات آمده. همه اینها را جدا دارد. چرا؟ چون شما همه چیز را دستهبندی کردهاید. این دستهبندیها مهم است.
ان شاء الله مبادی اینها را ببینید و مطالعه کنید؛ یعنی ببینید که این بیتها را چطور دستهبندی کردهاند. انواع رجیسترها، انواع بافرها، انواع کارها و ارتباطهایی که بین اینها بهعنوان واحد برقرار میکنند. تازه هنوز به هوش مصنوعی نرسیدهایم. اینها تازه مبادی همان اسمبلی و زبانهای C و ... است و هنوز به زبانهای سطح بالا و شیءگرا نرسیدهایم. اگر مبادی اینها روشن شود، اشکالاتی که به ذهن میآید، روشن میشود.
والحمد لله رب العالمین