تصور کنید در سال ۱۹۶۶، بدون داشتن حتی یک تراشه گرافیکی یا مدل هوش مصنوعی، بتوانید با یک قلم روی تبلت بنویسید و رایانه با دقت ۹۰ درصد متوجه منظور شما شود. این دستاورد خیرهکننده متعلق به سامانه GRAIL است که ثابت کرد برای درک دستخط، لزوماً به «جعبههای سیاه» مدرن نیاز نیست.
به نقل از مستندات تاریخی، نرمافزار زبان ورودی گرافیکی (Graphical Input Language یا GRAIL) محصول شرکت RAND Corporation بود. این سیستم به کاربران اجازه میداد بهجای استفاده از کیبورد، موش یا جویاستیک، مستقیماً روی یک تبلت مربعشکل، متن بنویسند یا اشکال هندسی رسم کنند. هر آنچه کاربر میکشید، همان بود که سیستم پردازش میکرد؛ اگر کاربر میخواست جعبهای روی صفحه ظاهر شود، آن را رسم میکرد و اگر متنی میخواست، آن را با دست مینوشت.
زمینه و بستر پروژه GRAIL
این فناوری در زمانی ظهور کرد که تعامل انسان و رایانه به دستورات خشک و مکانیکی محدود بود. در سال ۱۹۶۴، پژوهشگران ام. آر. دیویس (M.R. Davis) و تی. او. الیس (T.O. Ellis) استدلال کردند که رابطهای موجود، احتمال بهرهبرداری کامل کاربران از تواناییهای ماشین را کاهش میدهند. آنها به دنبال راهی بودند تا مهارت دست انسان با یک ابزار قلممانند روی یک سطح افقی (شبیه به یک تختهشبکه یا کاغذ) را به جریان ارتباطی طبیعی تبدیل کنند.
گابریل گرونر، یکی از ارکان کلیدی این پروژه، در سال ۱۹۶۶ تأکید کرد که این طرح بازشناسی به کاربران اجازه میداد بهجای درگیر شدن با مکانیسمهای عملیاتی، روی حل مسئله خود تمرکز کنند. هدف صریح GRAIL این بود که «روشهایی را بررسی کند که از طریق آنها کاربر بتواند بهطور مستقیم، طبیعی و آسان با مسئله خود تعامل داشته باشد.»
زیرساخت سختافزاری
زیرساخت سختافزاری این سیستم، تبلت RAND بود؛ سطحی با ابعاد ۱۰.۲۴ در ۱۰.۲۴ اینچ که دارای رزولوشن ۱۰۰ خط در هر اینچ بود. این سختافزار میتوانست بیش از یک میلیون موقعیت مجزای قلم را دیجیتالی کند. یک سوئیچ حساس به فشار در نوک قلم، وضعیت «پایین بودن» (pen-down) یا «بالا بودن» (pen-up) قلم را هر ۴ میلیثانیه یکبار به واحد پردازش مرکزی (CPU) گزارش میداد.

تام الیس، یکی از مخترعان و مدیران پروژه برای هر دو بخش تبلت و نرمافزار GRAIL، اغلب در تصاویر تاریخی در حال استفاده از این سیستم دیده میشود. این سختافزار به گونهای طراحی شده بود که یک رابط ظریف و جادویی باشد؛ تا حدی که تونی هواره (Tony Hoare) معتقد بود این سیستم نسبت به تقریباً تمام جانشینان بعدی خود برتری داشت. عملکرد سیستم بر این اساس بود که موقعیت استایلوس را بهصورت جفتمختصات (x, y) و در لحظه به CPU ارسال میکرد.
حل مشکل نویز
اما یک مشکل فنی وجود داشت: چون تبلت موقعیتها را روی یک شبکه گسسته گزارش میداد، منحنیهای نرم بهصورت پلهپله یا دندانهدار (jaggies) ظاهر میشدند. این پدیده نویز کوانتش (Quantization Noise) نام دارد؛ یعنی خطایی که هنگام تقریب یک مقدار پیوسته توسط مجموعهای از مقادیر گسسته ایجاد میشود. گابریل گرونر برای حل این مشکل، یک طرح نرمکننده بر اساس فیلترهای پاسخ-ضربه بینهایت (Infinite Impulse Response Filter) پیاده کرد.
در این روش:
- سیستم هر نقطه خام جدید را با نقطه نرمشده قبلی میانگین میگرفت.
- از نظر هندسی، این کار با رسم یک خط مستقیم بین نقطه کوانتیده و آخرین نقطه نرمشده و سپس لغزاندن نقطه کوانتیده روی آن خط انجام میشد.
- این فرآیند نویز کوانتش را حذف میکرد در حالی که ژست کلی ضربه قلم را حفظ مینمود.
- با این حال، نرمسازی یک فرآیند تخریبی است؛ جزئیات ریز و تزیینات کوچک قلم از بین میروند.
- نرمسازی بیش از حد (بالای ۸۰ درصد) باعث ایجاد «اثر سیاهچاله» میشد که در آن منحنی بهسرعت در خود جمع میشد و فرو میپاشید.
کاهش دادهها از طریق لاغر کردن (Thinning)
برای کاهش نیازهای پردازشی روی رایانه IBM System/360، گرونر از یک طرح «لاغر کردن» دادهها استفاده کرد. این کار ضروری بود زیرا حرکت کند اشارهگر میتوانست تعداد بیش از حدی از نقاط داده غیرضروری تولید کند. این برنامه به قدری بهینه بود که بهصورت بلادرنگ روی System/360 اجرا میشد و به زبان اسمبلی IBM 360 نوشته شده بود.
مکانیسم این کار به شرح زیر بود:
- سیستم یک مربع فرضی دور اولین نقطه داده رسم میکرد.
- تمام نقاط بعدی که داخل این مربع میافتادند، دور ریخته میشدند.
- مربع سپس دور اولین نقطهای که خارج از مرز قرار داشت، جابهجا میشد.
- اندازه این مربع، میزان تهاجمی بودن فرآیند لاغر کردن را تعیین میکرد.
این روش به سیستم اجازه داد تا حدود ۷۰ درصد از نقاط داده خام را بدون از دست دادن شکل ضروری نویسه حذف کند و بدین ترتیب نیازهای پردازشی برنامه اسمبلی IBM 360 را بهشدت کاهش دهد.
تحلیل انحنا و جهت
پس از لاغر شدن دادهها، سیستم به هر قطعه (segment) یک جهت اصلی (بالا، پایین، چپ یا راست) اختصاص میداد. گرونر دریافت که چهار جهت، در ترکیب با سایر ویژگیها، توصیف کافی برای بازشناسی فراهم میکند و در عین حال، نسبت به طرحهای هشت-جهتی (که توسط پژوهشگرانی چون کول و برنشتاین استفاده میشد)، تنوع نمادهای کمتری ایجاد میکند.
جهت بر اساس مستطیلی تعیین میشد که توسط دو نقطه تشکیل میشد:
- چپ/راست: اگر عرض مستطیل بیشتر از ارتفاع آن بود (|XTj - XTj-1| >= |YTj - YTj-1|). اگر تفاضل مختصات X مثبت بود، جهت «راست» و اگر منفی بود، «چپ» تشخیص داده میشد.
- بالا/پایین: اگر ارتفاع مستطیل بیشتر از عرض آن بود (|XTj - XTj-1| < |YTj - YTj-1|). اگر تفاضل مختصات Y مثبت بود، جهت «بالا» و اگر منفی بود، «پایین» بود.
بهجای ذخیره هر نقطه، GRAIL فقط تغییرات جهت را ثبت میکرد. برای مثال، حرف 'L' به دو قطعه جهتی ساده میشد: پایین و راست (▼ ▶). یک دایره یا حرف 'O' ممکن بود با پنج قطعه توصیف شود: راست، پایین، چپ، بالا، راست (▶ ▼ ◀ ▲ ▶). این کار یک نمایش بسیار فشرده از انحنای ضربه قلم ایجاد میکرد.
تشخیص گوشه و رفع ابهام
دادههای جهتی بهتنهایی نمیتوانستند تفاوت بین اشکال مشابه را تشخیص دهند؛ مثلاً عدد '5' و حرف 'S' هر دو ممکن بود توالی ◀ ▼ ▶ ▼ ◀ را تولید کنند. برای حل این ابهام، گرونر الگوریتم تشخیص گوشه (Corner Detection) را با استفاده از «۱۶ جهت» پیاده کرد که در واقع لبههای یک دایره تقسیم شده به ۱۶ برش بودند.
- یک گوشه زمانی شناسایی میشد که قلم برای دو قطعه در یک جهت از این ۱۶ جهت حرکت میکرد، سپس جهت را حداقل ۹۰ درجه تغییر میداد و دوباره برای دو قطعه دیگر در جهت جدید ادامه میداد.
- تغییر جهت باید بلافاصله یا از طریق یک چرخش تک-قطعهای رخ میداد.
- این قابلیت اجازه میداد سیستم تفاوت بین عدد '5' با گوشههای تیز و حرف 'S' منحنی، یا تفاوت یک مستطیل و دایره را تشخیص دهد.
- گرونر از این ۱۶ زاویه برای رندر کردن رد قلم کاربر روی صفحه از طریق اتصال قطعات خطی استفاده کرد.
- روش جایگزین دیگری که گرونر به آن اشاره کرد، تشخیص تجمع نقاط داده بود، زیرا کاربران معمولاً هنگام رسم گوشهها، سرعت خود را تا حد توقف کاهش میدهند.
درخت تصمیم
هر علامت در یک توصیف ضربه (stroke description) نسبت به یک جعبه محصور فرضی بستهبندی میشد. این توصیف، ارتفاع و عرض نماد را به صورت کسری از اینچ، نسبت ابعاد (aspect ratio) و مرکز آن را نسبت به مبدأ تبلت ثبت میکرد.
برای مکانیابی ویژگیهای کلیدی، سیستم ناحیه مستطیلی نماد را به یک شبکه ۴ در ۴ تقسیم میکرد. نقطه شروع (پایین آمدن قلم)، نقطه پایان (بالا رفتن قلم) و مکان گوشهها، هر کدام به گونهای کدگذاری میشدند که در یکی از این ۱۶ ناحیه قرار داشته باشند.
شناسایی نهایی بر اساس یک درخت تصمیم (Decision Tree) کدنویسی شده به صورت دستی — زنجیرهای از دستورات if — انجام میشد. فرآیند با فیلتر کردن نویسههای احتمالی بر اساس چهار جهت اصلی اول شروع میشد:
- تطبیق فوری: ضربهای که به سمت پایین و سپس راست حرکت میکرد (▼ ▶) میتوانست بلافاصله به عنوان 'L' شناسایی شود. ضربهای که با ▶ ◀ ▶ ◀ شروع میشد، به عنوان '3' شناخته میشد.
- رفع ابهام: اگر ضربهای با ▶ ▼ ◀ ▲ شروع میشد، میتوانست 'O'، '2' یا '3' باشد.
- تمایز نهایی: عدد '2' شناسایی میشد اگر ضربه در گوشه پایین-راست تمام میشد؛ عدد '3' اگر در گوشه پایین-چپ پایان مییافت؛ و حرف 'O' اگر نقاط شروع و پایان در بالای نماد به یکدیگر نزدیک بودند.
میراث و کاربردها
در حالی که نسخهای که توسط جک شیدلر (Jack Schaedler) ارائه شد بر حروف بزرگ تک-ضربه تمرکز دارد، سیستم اصلی GRAIL نویسههای چند-ضربه را نیز مدیریت میکرد و به کاربران اجازه میداد بدون نیاز به تطبیق سبک نوشتار خود با ماشین، بهطور طبیعی بنویسند. آلن کی اشاره کرد که یکی از انگیزههای اصلی، حذف نیاز به آموزش تایپ بود.
کار گرونر فراتر از الفبای لاتین رفت. در سال ۱۹۶۷، او یادداشتی درباره بهکارگیری این طرح بازشناسی برای ورودی زبان چینی جهت کمک به وظایف ترجمه نوشت. چون نویسههای چینی دارای توالی ضربات استاندارد (canonical) هستند، این ایده بسیار موفق بود و عملاً ورودی دستنویس برای ترجمه را دههها پیش از معادلهای مدرنی مانند گوگل ترنسلیت پیشنمایش کرد.
این رویکرد ثابت میکند که ارتباط با پهنای باند بالا از طریق رسم، بدون نیاز به «جعبه سیاه» هوش مصنوعی مدرن ممکن است. GRAIL فقط برای متن نبود؛ بلکه برای ایجاد ترسیمات ساختاریافته، نمودارهای جریانی و حتی برنامههای اجرایی بر اساس آن ترسیمات استفاده میشد. این سیستم، رسم کردن را به عنوان روش اصلی ارتباط با رایانههای شخصی متصور بود.
برای کسانی که به تکامل رابطها علاقهمندند، بررسی آثار ایوان ساترلند و سیستم Sketchpad، نوآوریهای XEROX Parc یا سخنرانیهای ریچارد همینگ، نگاهی مکمل به این دوران میاندازد. شما میتوانید یادداشتهای اصلی گرونر در شرکت RAND، از جمله اثر سال ۱۹۶۹ او درباره «مطالعه سیستمهای شیمیایی کینتیک» و «راهنمای ترمینالهای نمایشگر ارتقایافته انسان» را در آرشیو موزه تاریخ رایانه (Computer History Museum) بیابید.
گام بعدی شما
- برای درک عمیقتر تکامل رابطها، آثار ایوان ساترلند و سیستم Sketchpad را بررسی کنید.
- یادداشتهای اصلی گرونر در آرشیو موزه تاریخ رایانه (Computer History Museum) برای مطالعه در دسترس است.
- بررسی کنید که چگونه درختهای تصمیم ساده در سیستمهای امروزی با مدلهای احتمالی جایگزین شدهاند.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو