الگوریتم یا الخوارزمی چیست؟
امروز برایتان داستانی خواهم گفت، از حکمت و دانش و افتخار ایران. شاید همین حالا این مقاله را در یک گوشی همراه یا کامپیوتر میخوانید و تصور میکنید تکنولوژیهای عصر حاضر همگی از ایالات متحده یا اروپا به مشرق زمین صادر شده اند؛ اما سخت در اشتباهید. گرچه هم اکنون ایرانیان زیادی به کشورهایی که ادعای پیشرو بودن در علم دارند مهاجرت می کنند و تعداد بسیاری دانشمند، متخصص حرفه ای و مهندس های هندی، ایرانی، پاکستانی و … از مشرق برای تحول دانش جهانی در تلاشند اما باید بدانید در گذشته نیز اتفاقات علمی بزرگ دنیا به دست ایرانیان به نام رقم خورده است. تا جایی که به پاس تلاش های امثال آن ها عنوان پدر علم کامپیوتر به دانشمندی همچون خوارزمی داده شده است.
بله او پدر علم کامپیوتر لقب گرفته است، محمد بن موسی الخوارزمی. اطلاعات دقیقی از زمان تولد محمد در دست نیست. برخی 780 سال، 900 سال یا 1200 سال پیش را به زمان زندگی او نسبت داده اند. در زمان زندگی او ایران بسیار بزرگ تر از آنچه امروز به عنوان مرزبندی سرزمینمان می شناسیم بوده است. محمد در خراسان بزرگ متولد می شود. بخشی از ایران که هم اکنون کشور ازبکستان نام دارد. دوران جوانی اش را در پایتخت ایران یعنی بغداد مرکز علم و حکمت ایران سپری کرده است و جزء نام آوران ریاضیات در زمان خود بوده است.
او یکی از محققین علوم ریاضی، ستاره شناسی و زمین شناسی موسسه علمی به نام «خانه حکمت» بغداد بوده است. جالب است که نزدیک به 1000 سال پیش، ایران، مهد علم و تمدن بوده است و دانشمندی را به تمدن بشری هدیه کرده است که اگر نبود امروز من برای شما داستان او را در این جعبه جادویی شگفتانگیز تایپ نمیکردم!
بیانصافی است که بگوییم تنها به خاطر ابداع چیزی به نام الگوریتم او را پدر علم کامپیوتر نامیدهاند. چراکه کامپیوتر که واژهای انگلیسی است به معنای محاسبهگر است و محاسبه تمام و کمال علم ریاضیات است و محمد خوارزمی عمر خویشتن را در جَبر که بخش مهمی از ریاضیات و محاسبات است وقف کرده است.
گفتهشده محمد خوارزمی یک مترجم توانمند نیز بوده است و بسیاری از اسناد و کتابهای زبان سانسکریت و یونانی را به عربی که زبان پایتخت ایران در آن روزگار بوده است ترجمه کرده است.
خوارزمی در زمینههای ریاضیات، نجوم و زمینشناسی کشفهای زیادی کرده است. برخی از اکتشافات وی عبارتاند از:
اختراع جبر
مشهورترین اثر خوارزمی توسعه جبر بود، شاخهای از ریاضیات که به نمادها و عملیات بین آنها میپردازد. جبر یکرشته بسیار مهم در ریاضیات است و بنیان علم و تکنولوژی مُدرن را تشکیل میدهد. خوارزمی جبر را در کتاب مشهور خود در ریاضیات، به نام حصاب الجبر و المقابالا، تعریف کرده است. این کتاب بسیار معروف بود و قبل از اینکه اروپاییان در علم جایگاهی پیدا کنند، برای آموزش و یادگیری جبر به بسیاری از زبانها ترجمه شد. این کتاب همچنین در مورد حل معادلات درجهیک و درجه دوم بحث کرده است که امروز در ریاضیات پیشرفته دانشگاهی همچنان جزء مباحث پایه است و در همه رشتههای مهندسی معادلات نقش کلیدی را بازی میکنند. او معادلات را هم ازنظر تحلیلی و هم ازنظر هندسی در کتابش بررسی کرده است. همچنین برخی از روشهای حل مسائل جبری را در این کتاب نوشته است.
شاید جالب است که بدانید محمد خوارزمی اولین کسی است که برای نمایش کسر اعداد از اعشار استفاده کرده است!
الگوریتمها
الگوریتم یک کلمه انگلیسی است که اکنون برای تعریف فرایندی که در آن مراحل خاصی برای حل یک مسئله انجام میشود، استفاده میشود. این کلمه درواقع همان الخوارزمی است که در زمان اروپاییان به لاتین تبدیلشده به Algorithmi و سپس به انگلیسی Algorithm تغییر شکل یافته است. مفهوم الگوریتمها برای اولین بار توسط الخوارزمی برای حل برخی مشکلات در مراحل تعریفشده محاسبات ارائه شد. امروزه، کامپیوتر بهطور گستردهای از الگوریتمها برای حل انواع مختلفی از مسائل و تصمیمگیری استفاده میکند. به دلیل معرفی مفهوم الگوریتمها، از خوارزمی بهعنوان پدر علم کامپیوتر یاد میشود.
بهبودهای ساعتهای آفتابی
ساعت خورشیدی ابزاری است که با کمک موقعیت خورشید زمان را نشان میدهد. خورشید سایهای از نشانگر را روی صفحهای ایجاد میکند که حاوی نشانههای دوره زمانی است. وقتی خورشید موقعیت خود را تغییر میدهد، سایه نشانگر روی علائم میچرخد. خوارزمی طراحی ساعتهای آفتابی را بهبود بخشید و آنها را به ابزاری جهانی برای بررسی زمان در هر قسمت از جهان تبدیل کرد.
توسعه نقشه
خوارزمی با کمک 70 جغرافیدان نقشه دقیق آن زمان را تهیه کرد.
خوارزمی در زمان خلیفه مسلمان مأمون، رئیس خانه حکمت (بیت الحکمه) شد.
اما برگردیم سر ماجرای اصلی خودمان. واقعاً الگوریتم چیست؟
آیا میتوانیم یک الگوریتم را با انگشت نشان بدهیم و بگوییم هِی یک الگوریتم، چه جالب! من آن را دیدم.
برای اینکه بفهمیم در یک الگوریتم واقعاً چه اتفاقی میافتد یک ساختار ساده را در نظر بگیرید. در هر الگوریتم یک سری داده وجود دارد. دادهها ورودی الگوریتم هستند. پس از ورود دادهها یک سری دستورالعمل داریم که ممکن است عملیات ریاضی یا منطقی باشند و سپس بر اساس آنها یک سری خروجی خواهیم داشت.
می خوای در این زمینه اطلاعاتت بیشتر بشه؟ می تونی برای اینکه بفهمی زبان برنامه نویسی چیه بعد تموم شدن این مطلب، ادامه بدی و مقاله بعدی ما رو دراین باره بخونی:
الگوریتمها کجا هستند؟
همهجا. در سیستمهای بانکی، دستگاه قضایی، مرکز پلیس، مرکز خدمات مشتریان و … . هر جا مسئلهای در کار باشد قطعاً به الگوریتمی موردنیاز است که ماشینهای کامپیوتری بتوانند آنها را مرحلهبهمرحله حل کنند و پاسخ درست را برای ما پیدا کنند.
دیدگاهتان را بنویسید