يتأمل دونالد كنوث ، وهو خبير في الخوارزميات ، أكثر من 50 عامًا من العمل في ابتكاره الرئيسي ، وهو كتاب "فن البرمجة" ، الذي لا يزال يكمله
دونالد كنوت في منزله في ستانفورد ، كاليفورنيا. عيّن الكمال زاحف ، عين مكافأة للعثور على أخطاء في كتبه.طوال نصف قرن ، احتل عالم الكمبيوتر في جامعة ستانفورد دونالد كنوث ، الذي يذكرنا بقليل من يودا - على الرغم من طوله 193 سم ويرتدي نظارة - مكانة مهيمنة كمعلم روحي في مجال الخوارزميات.
وهو مؤلف كتاب "فن البرمجة" ، وهو دراسة لا يزال يكتبها حتى يومنا هذا ، حيث يصل إلى 4 مجلدات ، وهو من أعمال حياته. نُشر المجلد الأول في عام 1968 ، وتم تضمين جميع المجلدات معًا (تم بيعها في مجموعة بقيمة 250 دولارًا [أو 12500 متر مكعب / تقريبًا. تقريبًا.]) في عام 2013 في قائمة الكتب التي شكلت القرن الماضي للعلوم ، جمعها عالم أمريكي. ويشمل أيضًا الطبعة الخاصة لسيرة تشارلز داروين السيرة الذاتية ، وكتاب توم وولف "
شباب ما تحتاجون إليه " ، وكتاب راشيل كارسون "
الربيع الصامت " ، والدراسات التي كتبها ألبرت أينشتاين ، وجون فون نيومان ، وريتشارد فاينمان.
"فن البرمجة" ، الذي طبع في أكثر من مليون نسخة ، هو الكتاب المقدس في هذا المجال. "يشبه الكتاب المقدس الحقيقي - إنه طويل وشامل للغاية ؛ يقول بيتر نورفيج ، مدير الأبحاث في Google: "لا توجد كتب شاملة أخرى". بعد 652 صفحة ، يتم إغلاق المجلد باقتباس على الغلاف الخلفي لكتاب من إعداد بيل غيتس: "إذا كنت تستطيع قراءة الكتاب بالكامل ، فأرسل لي سيرتك الذاتية".
يفتح بمقطع من مجموعة وصفات McCall:
إليك كتاب طلبت نشره بآلاف الرسائل. استغرقنا سنوات لاختبار واختبار الوصفات التي لا تعد ولا تحصى من أجل تزويدك فقط بالأفضل والمثيرة والمثالية.
يسرد الكتاب الخوارزميات والوصفات التي تغذي العصر الرقمي - على الرغم من أن الدكتور كنوت يحب الإشارة إلى ذلك ، يمكن العثور على الخوارزميات أيضًا على الأجهزة البابلية التي يبلغ عمرها 3800 عامًا. إنه خوارزمي يحظى باحترام كبير. تتم تسمية بعض من أهم الأنماط من بعده ، على سبيل المثال ،
خوارزمية Knut - Morris - Pratt لإيجاد سلسلة فرعية في السلسلة. تم اختراعه في عام 1970 ويعثر على كل تكرارات سلسلة معينة من الحروف في النص - على سبيل المثال ، عندما تضغط على Ctrl-F للبحث عن كلمة في وثيقة ما.
يبلغ الدكتور كنوت الآن 80 عامًا ، وكان يرتدي ثيابًا عادية كما كان عندما كان مهووسًا شابًا عندما كان يبدأ هذه الأوديسة: قميص بأكمام طويلة معلق تحت قميص وبنطلون قصير الأكمام - على الأقل هذا الوقت من العام. في تلك الأيام ، كتب برامج في كود الآلة ، لعبت مع الأصفار وغيرها.
وقال الدكتور نورفيغ: "أوضح كنوت أنه يمكن فهم النظام على طول الطريق حتى مستوى رموز الماكينات". اليوم ، عندما تتحكم الخوارزميات (وتتداخل) في حياتنا ، لا يتوفر للمبرمج العادي الوقت للحفر في الفوضى الثنائية ؛ فهو يعمل مع التسلسلات الهرمية التجريدية ، مع طبقات الكود - وغالبًا مع سلاسل الكود المستعارة من المكتبات. لكن نخبة المبرمجين تنخفض في بعض الأحيان إلى أدنى المستويات.
وقال نورفيج خلال اجتماع لفريق Google Trips في ماونتن فيو: "في Google ، نجمع أحيانًا شفرة من ما لدينا". "وفي بعض الأحيان ، عندما تحتاج إلى خدمة مليارات المستخدمين ، عليك القيام بذلك بكفاءة. يمكن أن يتحول تحسين الكفاءة بنسبة 10٪ إلى مليارات الدولارات ، ولتحقيق هذا المستوى الأخير من الكفاءة ، يلزمك فهم ما يحدث لأسسها ذاتها. "
الدكتور كنوت في كاليفورنيا تك ، حيث حصل على الدكتوراه في عام 1963.أو كما أوضح أندريه برودر ، عالم Google الشهير وأحد طلاب Knuth السابقين ، أثناء الاجتماع: "نحن بحاجة إلى بعض الأسس النظرية لعملنا. نحن لسنا بحاجة إلى خوارزميات تافهة ، محرجة ، من الدرجة الثانية. لا نريد أن يقول الخوارزميون الآخرون: "نعم يا رفاق أغبياء".
يعد تطبيق Google Trips ، الذي تم إطلاقه في عام 2016 ، خوارزمية سفر للترفيه السياحي طوال اليوم. عمل الفريق على "
زيادة جودة أسوأ أيام " - على سبيل المثال ، يجب أن تتجنب الخوارزمية الاضطرار إلى إرسال المستخدم عدة مرات إلى نفس الأماكن لاستكشاف مناطق الجذب المختلفة. كانت مستوحاة من خوارزمية عمرها 300 عام اخترعها عالم الرياضيات السويسري [وكذلك الألماني والروسي] ليونارد يولر ، الذي أراد أن يسلك طريقًا عبر مدينة كونيغسبرغ البروسية [الآن كالينينغراد] ، يعبر جميع جسوره السبعة مرة واحدة فقط. يعالج كنوت مشكلة أويلر الكلاسيكية في المجلد الأول من أطروحته. قام ذات مرة بتطبيق طريقة Euler لبرمجة ماكينة الخياطة التي يتم التحكم فيها بواسطة الكمبيوتر.
اتباع عقيدة كنوت يساعد على تجنب حماقة. يشتهر بتقديم مفهوم "البرمجة الأدبية" ، مع التأكيد على أهمية كتابة التعليمات البرمجية التي لا يمكن لأجهزة الكمبيوتر قراءتها فحسب ، بل أيضًا الأشخاص - وهو مفهوم يبدو اليوم وكأنه شيء قديم الطراز. ادعى كنوت أن بعض برامج الكمبيوتر يمكن اعتبارها أعمالًا أدبية ، إلى جانب قصائد إليزابيث بيشوب ورواية الرعوية الأمريكية للفيليب روث تستحق جائزة بوليتزر.
هو أيضا سيئ السمعة لكماله. راندال مونرو ، مؤلف الرسوم الكاريكاتورية xkcd و Thing Explainer ، علم أولاً بـ Knut من المبرمجين الذين ذكروا الجائزة التي وعد بدفعها لأي شخص وجد خطأً في أي من كتبه. كما يتذكر مونرو ، "تحدث الناس عن تلقي مثل هذا الفحص كما لو كان نوبل في علوم الكمبيوتر."
يمكن للمعايير الصعبة من كنوت ، الأدبية والباقية على حد سواء ، أن تشرح لماذا لم يكتمل عمل حياته كلها. وقد ناقش مع سيرجي برين ، المؤسس المشارك لـ Google وطالبه السابق ، ما إذا كان برين سينهي درجة الدكتوراه قبل أن ينهي Knut دراسته.
خوارزمية الفجر
في سن ال 19 ، نشر كنوت أول عمل فني له ، "
نظام الجهد والأوزان والمقاييس " في مجلة ماد [كانت مجلة فكاهية ، و potrebibi هي الكلمة البولندية المستخدمة في اللغة الإنجليزية للإشارة إلى السخافة. على سبيل المثال ، قدم Knut في عمله مقياسًا جديدًا لطول potrecybi ، مساوٍ لسُمك العدد السادس والعشرين من المجلة / تقريبًا. ترجمة.]. أصبح متخصصًا في علوم الكمبيوتر حتى قبل ظهور علوم الكمبيوتر ، حيث درس الرياضيات في المؤسسة التعليمية ، والتي تسمى الآن جامعة كيز في المنطقة الغربية الاحتياطية. درس البرامج المختارة المكتوبة من أجل حاسب مدرسة IBM 650 الرئيسي ، وجهاز كمبيوتر عشري ، ولقاءات عدم الدقة ، وإعادة كتابتها والكتاب المدرسي المستخدم في الفصل الدراسي. وكهواية ، قام بحساب إحصائيات فريق كرة السلة ، وكتب برنامجًا ساعدهم على الفوز بدوريته ، وذلك بفضل قيام الصحفي التلفزيوني الشهير والتر كرونكايت بتصوير قصة تلفزيونية عنه بعنوان "Electronic Trainer".
خلال العطلة الصيفية ، كسب Knut أموالًا أكثر من مدرسيه في السنة من خلال إنشاء برامج ترجمة. المترجم يشبه المترجم ، فهو يحول لغة برمجة عالية المستوى (تذكرنا بالجبر) إلى لغة منخفضة المستوى (أحيانًا تكون رمز ثنائي غامض) ، ومن الناحية المثالية ، يحسن البرنامج في هذه العملية. في علوم الكمبيوتر ، يعد التحسين فنًا ينعكس في قول Knuth آخر: "التحسين المبكر هو أصل كل الشرور".
ونتيجة لذلك ، أصبح كنوت نفسه مترجمًا ، واكتشف بطريق الخطأ منطقة جديدة ، أطلق عليها فيما بعد "تحليل الخوارزميات". استعان به الناشر لكتابة كتاب عن المترجمين ، لكن المشروع تحول إلى كتاب يجمع كل ما يعرفه عن كيفية كتابة البرامج لأجهزة الكمبيوتر - إلى كتاب عن الخوارزميات.
كنوت ، في عام 1981 ، كان يدرس عدد 1957 من مجلة ماد ، التي نشرت مقاله الفني الأول.
فن البرمجة ، المجلدات 1-4."بحلول وقت بداية عصر النهضة ، كان هناك بالفعل شكوك حول أصل هذه الكلمة ،" يبدأ الكتاب. "حاول اللغويون الأوائل فهم أصله من خلال إنشاء مجموعات مثل algiros [morbid] + arithmos [number]." في الحقيقة ، لا يزال كنوت ، ظهر هذا الاسم تكريما للمؤلف الفارسي لكتاب القرن التاسع ، أبو عبد الله محمد بن موسى الخوارزمي ، الذي بدا اسمه في السجل اللاتيني وكأنه "خوارزمية". ذهب كنوت ، الذي لم يكتف أبدًا بتدابير نصف ، في رحلة حج في عام 1979 إلى وطن الخوارزمي ، إلى أوزبكستان [بشكل
أكثر دقة ، شارك في مؤتمر عُقد في أورجينتش / تقريبا. perev. ].
من البداية ، أراد كنوت أن يكتب كتابًا واحدًا. سرعان ما حدث الانفجار الكبير في علوم الكمبيوتر ، لذا قام بمراجعة مشروعه وتقسيمه إلى سبعة مجلدات. الآن هو إصدار مجلدات فرعية أو مشكلات. "المجلد 4 ، العدد 5" ، حيث من بين أشياء أخرى ، أشياء مثل "التراجع" و "روابط الرقص" ، كان من المفترض أن يتم إصدارها مرة أخرى في عام 2018. ومع ذلك ، فقد تأخر حتى أبريل ، حيث يجد المؤلف باستمرار المزيد والمزيد من المهام الجديدة التي يريد بالتأكيد تقديمها.
لتحسين فرص الوصول إلى نهاية العمل ، ظل Knut يراقب وقته لفترة طويلة. تقاعد في سن 55 ، وتقييد الخطابة ، ورفض البريد الإلكتروني (على الأقل رسميا). يتذكر أندريه برودر أن إدارة الوقت كانت سمة مميزة لمعلمه في الثمانينات.
التقى كنوت عادةً الطلاب يوم الجمعة في الصباح حتى بدأ قضاء الأمسيات في مختبر جون مكارثي ، أحد الرواد في مجال الذكاء الاصطناعي ، للوصول إلى أجهزة الكمبيوتر عندما يكونون حراً. خوفا من أن الكتاب عزيز على قلبه بدأ يرعى ظهور أنظمة النشر الرقمي ، حدد كنوت لنفسه هدف تطوير نظام كمبيوتر لمجموعة الطباعة TeX ، والتي لا تزال المعيار الذهبي لجميع أشكال الاتصالات والمنشورات العلمية. يعتبره البعض أكبر مساهمة من Knut ، والمساهمة الأكبر في دار الطباعة منذ وقت غوتنبرغ.
حدث هذا التأخير لمدة عشر سنوات في وقت كان فيه أشخاص مختلفون يستخدمون أجهزة الكمبيوتر ، وعندما كانوا يعملون بشكل أسرع في الليل ، عندما ينام معظم الناس. لذلك ، تحولت كنوت إلى نمط حياة ليلية ، غيرت الجدول الزمني لمدة 12 ساعة ، وغيرت الوقت للقاءات مع الطلاب من 8 إلى 12 ليلا يوم الجمعة. تتذكر برودر: "عندما أخبرت صديقتي أننا لا نستطيع أن نفعل أي شيء مساء الجمعة ، لأنني كان لدي موعد مع المشرف في الساعة 10 مساءً ، فكرت:" يبدو هذا غبيًا لدرجة أنه يبدو صحيحًا " ".
ومع ذلك ، عندما يقرر Knut الحضور في مكان ما شخصيًا ، فإنه يكرس كل اهتمامه لهذا الحدث. وقالت جينيفر تشيس ، العضو المنتدب لشركة مايكروسوفت ريسيرش: "أن تكون معه متعة". "إنه في الحد الأقصى في المجتمع. إذا كانت لديك وظيفة تحسين تمثل الدفء والعمق ، فسيكون ذلك دون. "
يناقش Knut الخطوط مع Hermann Zapf ، مطور الخطوط.الأحد مع الخوارزميات
كنوت يعيش في ستانفورد ويلتقي مع الناس يوم الأحد. ما خصصه طوال اليوم كان استثنائياً - فهو عادة غير متوفر أثناء نومه أثناء النهار ، وهو طقوس مقدسة تمتد من 13 إلى 16 ساعة. بدأ يومه مبكراً ، في الكنيسة اللوثرية الأولى في بالو ألتو ، حيث قدم درسًا لمدرسة الأحد أمام حشد من الناس تجمعوا في غرفة بلا كراسي. في طريقه إلى المنزل ، يبدأ في التفكير في الرياضيات.
وقال "لن أعرف كل شيء". "ستكون حياتي أسوأ بكثير إذا لم تكن هناك أسئلة أعرف الإجابات عليها ، وإذا لم تكن هناك أسئلة لن أعرف الإجابات عنها." ثم قام بجولة في منزل "كاليفورنيا الحديث" الذي بناه هو وزوجته في عام 1970. مكتبه مليء بأكوام من محركات الأقراص المحمولة ومزينة بالحرف اليدوية جيل ، مصمم جرافيك ، في عيد الحب. الأكثر إثارة للإعجاب هو غرفة الموسيقى ، التي بنيت حول جهاز مخصص مع 812 أنابيب. انتهى اليوم في حفلة مع البيرة والألغاز.
الألغاز ، والألعاب ، وكتابة
رواية عن
الأرقام السريالية ، وتأليف الموسيقي 90 دقيقة الوسائط المتعددة التكوين
فانتازيا Apocalyptica - مثل هذه الأشياء
بدء تشغيله. قسم واحد من كتابه يسمى الألغاز ضد العالم الحقيقي. أرسل مقتطفاً من الكتاب إلى فريق من الأب والابن ، مارتن ديمين ، فنان ، وإريك ديمين ، أخصائي تكنولوجيا المعلومات يعمل في معهد ماساتشوستس للتكنولوجيا ، حيث ضمّن كنوت "
خطوط ألغاز الخوارزمية " في الكتاب.
"لقد فوجئت بسرور" ، قال إريك ديمين. "الدخول في هذا الكتاب هو شرف". وذكر مقولة أخرى من كنوت ، وهو مؤتمر ملهم
ترفيهي مع الخوارزميات كل سنتين: "ربما كان الهدف الرئيسي هو السعادة دائمًا."
وقال ديمان ، ثم تحولت هذه المنطقة إلى منطقة عملية. المهندسون والعلماء والفنانون - يجتمعون جميعًا لحل المشكلات الحقيقية ، مثل البروتين القابل للطي ، والروبوتات ، والأكياس الهوائية ، باستخدام
أساليب الأوريغامي التي طورها ديمان ،
والورق القابل للطي ، وتجليدها في أشكال مختلفة.
بالطبع ، كل هذه الفوضى الخوارزمية تسبب مشاكل حقيقية. الخوارزميات التي يكتبها الأشخاص - تقترب من المهام المعقدة بشكل متزايد ، وإصدار التعليمات البرمجية المليئة بالأخطاء والتحيزات - هي بالفعل شيء غير سار. لكن الأسوأ من ذلك ، هذه خوارزميات لم يكتبها الناس ، بل الآلات.
لا يزال المبرمجون يدربون آلاتهم ويغذونهم البيانات. تعد البيانات مجالًا جديدًا للأخطاء والتحيز ، وأصعب من الصعب التقاطها وتصحيحها. ومع ذلك ، كما قال كيفن سلافن ، أستاذ مشارك في معهد ماساتشوستس للتكنولوجيا وسائل الإعلام مختبر ، "نحن الآن نكتب خوارزميات غير قادرة على القراءة. يمثل هذا لحظة تاريخية فريدة عندما نعمل مع الأفكار والإجراءات والمحاولات التي تسببها الفيزياء ، والتي تنشأ من الناس ، ولكن لا يفهمها الناس. " وكثيرا ما
يلاحظ سلافين: "لديك مستقبل مشرق ، إذا كنت خوارزمية".
كنوت في مكتبه في المنزل ، 1999.
ملاحظاتوستكون رائعة للغاية إذا كنت خوارزمية ضليعة في Knut. وقال الدكتور نورفيج من جوجل: "اليوم ، يستخدم المبرمجون ما استخدمه كنوت وآخرون كمكونات لخوارزمياتهم ، ويجمعون هذا مع كل أنواع الأشياء الأخرى التي يحتاجونها".
"مع الذكاء الاصطناعى نفعل نفس الشيء. إن الخطوة المدمجة هي تلقائية ، بناءً على البيانات ، وليس بناءً على عمل المبرمج. نحتاج إلى أن يكون الذكاء الاصطناعي قادرًا على دمج المكونات من أجل الحصول على الإجابة الصحيحة بناءً على البيانات. ومع ذلك ، يجب أن تقرر ما هي هذه المكونات. قد يحدث أن يكون كل مكون من المكونات صفحة أو فصلًا من Knut ، حيث ستكون هذه هي أفضل طريقة لإنجاز المهمة. "
لذلك نحن محظوظون لأن كنوت يواصل القيام بذلك. إنه يعتقد أن الأمر سيستغرق 25 عامًا أخرى لإكمال "فن البرمجة" ، على الرغم من أن هذا التقييم لم يتغير منذ الثمانينات. هل ستحصل الخوارزميات التي تكتب خوارزميات أخرى على الفصل في الكتاب أم في الصفحة في الخاتمة؟ "بالتأكيد لا ،" قال كنوت.
وأضاف "أنا قلق بشأن تأثير الخوارزميات على العالم". - بدأ كل شيء بحقيقة أن علماء الكمبيوتر كانوا قلقين لأن لا أحد كان يستمع إليهم. أنا الآن قلق من أن الكثير من الناس يستمعون إلينا. "
☃