Paint Splatters और Perl प्रोग्रामिंग भाषा के संबंध पर शोध-पत्र का परिचय
- SIGBOVIK 2019 सम्मेलन में स्वीकृत और "Unwitting Participation Ribbon" से सम्मानित शोध-पत्र
- दीवार पर paint उछालने पर 93% संभावना के साथ एक वैध Perl प्रोग्राम बन जाता है
- optical character recognition (OCR) software का उपयोग करके एक अनुभवजन्य दृष्टिकोण अपनाया गया
- Paint Splatter से बने Perl प्रोग्रामों की विशेषताओं का विश्लेषण किया गया है, और 7 ऐसे Paint Splatter उदाहरण दिए गए हैं जो वैध Perl प्रोग्राम नहीं थे
शोध-पत्र की पूरक सामग्री का परिचय
- एक ही पेज पर सभी Paint Splatter और उनके संबंधित वैध Perl source code दिखाए गए हैं
- जिन images को वैध Perl प्रोग्राम के रूप में parse नहीं किया गया, उन्हें लाल रंग में "अवैध" के रूप में चिह्नित किया गया है
- यदि अलग-अलग OCR settings के साथ कई वैध Perl प्रोग्राम पहचाने गए, तो लेखक की सौंदर्य-बोध के अनुसार सबसे "रोचक" वाले का चयन किया गया
- मुख्य dataset के रूप में उपयोग की गई 100 Paint Splatter images वाला tarball उपलब्ध कराया गया है
पेपर submission deadline के बाद पाए गए दिलचस्प Paint Splatter Perl प्रोग्राम उदाहरण
lerzfijglpFiji-j string के रूप में पहचाना गया splatter, जिसे Perl में संख्यात्मक 0 के रूप में evaluate किया जाता है
*?- string के रूप में पहचानी गई image, जिसे Perl में संख्यात्मक 0 के रूप में evaluate किया जाता है
;i;c;;#\\\\?z{;?;;fn':.; string के रूप में पहचानी गई image, जिसे Perl में string "c" के रूप में evaluate किया जाता है
;E,'_', string के रूप में पहचानी गई image, जिसे Perl में string "E_" के रूप में evaluate किया जाता है
GN⁺ की राय
- यह प्रोग्रामिंग भाषा की विशेषताओं को एक अनोखे और मज़ेदार विचार से परखने वाला शोध-पत्र लगता है। यह Perl की syntactic flexibility को विडंबनापूर्ण तरीके से दिखाने वाला अच्छा उदाहरण हो सकता है।
- लेकिन यह भी जिज्ञासा होती है कि क्या इस शोध के नतीजे Perl language design की समस्याओं की ओर इशारा करते हैं। क्या 93% यादृच्छिक strings का parse हो जाना भाषा की अस्पष्टता को नहीं दिखाता?
- अगर ऐसा ही प्रयोग दूसरी programming languages पर लागू किया जाए, तो क्या परिणाम आएंगे—यह जानना दिलचस्प होगा। भाषाओं के बीच परिणामों की तुलना से language design philosophy के अंतर की झलक मिल सकती है।
- programming language grammar को इस तरह visualise करना भी एक रोचक प्रयास हो सकता है। इससे grammar की complexity या regularity को दृश्य रूप में समझने में मदद मिल सकती है।
1 टिप्पणियां
Hacker News टिप्पणियाँ
यह गलत है कि OCR software टेक्स्ट न होने वाली images से भी टेक्स्ट output बनाता रहता है। याद है, 10 साल पहले जब मैंने पुरानी किताबों को OCR से scan किया था, तब छोटे illustrations, दाग, धूल वगैरह से बने बेकार टेक्स्ट को संभालना कितना झुंझलाहट भरा था। लगता है इस क्षेत्र में तब से बहुत प्रगति नहीं हुई है।
Concatenative भाषाओं में यह गुण होता है कि हर token sequence एक वैध program बन जाती है।
इसमें एक मजेदार footnote है:
"Illegal division by zero at /tmp/quine.pl line 1."अगर सही जगह save किया जाए, तो"Illegal division by zero at /tmp/quine.pl line 1."output करता है। ऐसा क्यों होता है, यह पाठक के लिए अभ्यास के रूप में छोड़ा गया है।संबंधित पोस्ट:
यह पोस्ट एक खास "optical character recognition" program के बारे में है, जो paint splatter को characters के रूप में पहचानता है। लगता है यह program लगभग हमेशा किसी-न-किसी character combination के रूप में चीजों को पहचान लेने की प्रवृत्ति रखता है।
इसे करने के कई तरीकों में से, यह तरीका बिल्कुल स्वागतयोग्य है और इसकी भावना के अनुरूप भी है। लेकिन यह रंग और खाली जगह के patches को 0 और 1 मानकर पूरे को program की तरह देखने जैसे दूसरे संभावित तरीकों का पहला आभास भी देता है। ऐसे मामलों में ज्यादातर चीजें अर्थहीन noise होंगी।
एक छोर पर mostly noise है और दूसरे छोर पर mostly meaning। यहाँ खेल के भीतर का खेल यह है कि paint splatter को जितना संभव हो उतना अधिक meaning देने वाली interpretation ढूँढी जाए। लेकिन meaning सचमुच संरचना से आनी चाहिए, सिर्फ इस वजह से नहीं कि नियम meaning देखने के लिए कितने आक्रामक हैं।
यह "लाइन noise से अलग पहचानना असंभव" वाले पुराने मजाक का एक चतुर रूपांतर है।
Generative AI का उपयोग करके ऐसे नए और innovative paint splatter अधिक तेजी से बनाए जा सकते हैं जिन्हें काम करने वाले software के रूप में आँका जाए। Generative AI creators की एक नई श्रेणी को text-to-image workflow का उपयोग करने और उसका लाभ उठाने में सक्षम बनाता है, और हर आकार के business को value देता है। नए AI models विभिन्न high-resolution content में काम करने वाला software और machine-readable code embed कर सकते हैं, जिससे दर्शक आकर्षित होते हैं और creators को audience बढ़ाने के नए और रोचक तरीके मिलते हैं।
यह 1 अप्रैल को पोस्ट किया गया था। इससे कुछ संकेत मिलता है।
एक Perl programmer के रूप में, मेरा मानना है कि जो 7% काम नहीं करते, वे bug हैं.