Select any text and click on the icon to listen!

आमोद कारखानिस

जब शतरंज जैसे दिमागी खेल का सबसे चालाक खिलाड़ी कम्प्‍यूटर से हार गया तो इस बात पर बहस होने लगी कि क्या चिंतन-सृजन में भी मशीनें आदमी से बेहतर हो गई हैं? आखिर एक मशीन कैसे तय कर लेती है कि कब कौन सी चाल बेहतर होगी और किस चाल से दी जा सकती है मात?

कुछ दिनों पहले ‘डीप ब्लूच‘ कम्प्‍यूटर और शतरंज के विश्वविजेता गैरी कास्पारोव के बीच हुए मुकाबले में अंतिम बाज़ी कम्प्‍यूटर ने मार ली। शतरंज को हम सब दिगामी कौशल का खेल मानते हैं। कम्प्‍यूटर द्वारा शतरंज के विश्वविजेता को हराने की घटना है कि क्या इस क्षेत्र में भी कम्प्‍यूटर हम पर हावी हो गया है?

इसी के साथ एक और सवाल कौंधता है कि क्या कम्प्‍यूटर मानवीय बौद्धिक कुशाग्रता से अधिक प्रभावशाली बन गया है? और आखिर कम्प्‍यूटर शतरंज खेलता कैसे है? इस एक लेख में इन सब सवालों पर बात करना संभव नहीं है परन्तु इन सवालों के जवाब की दिशा में कुछ संकेत देने की कोशिश तो की ही जा सकती है।

शतरंज के खेल क एक खास बात है कि उसमें बहुत-सी चालों के बोरे में एक साथ सोचना पड़ता है। खेल में हर चाल चलते वक्त खूब सारी संभावित चालें होती हैं – जिनमें से आपको किसी एक चाल को इस आधार पर चुनना होता है कि उन सब संभावित चालों में से किस चाल को खेलने/चलने पर आपकी स्थिति आपके खिलाफ खेल रहे खिलाड़ी से बेहतर होगी। यानी आपको उन सब संभावित चालों के बारे में काफी आगे तक सोचना पड़ता है कि उनमें क्या–क्या परिस्थितियां बन सकती हैं। शतरंज के खेल या ऐसे ही किसी अन्य काम के लिए कम्प्‍यूटर को ज़रूरत है कृत्रिम बुद्धि(Artificial Intelligence) की। इसलिए शतरंज के बारे में बात आगे बढ़ाने से पहले ज़रा देख लें कि आखिर ‘कृत्रिम बुद्धि’ क्या बला है।

कृत्रिम बुद्धि यानी . . . .
स्कूल में जो बच्चा गणित में अच्छें अंक प्राप्त करता है उसे हम बड़ा होनहार और बुद्धिमान मानते हैं। केलकुलेटर तो गणितीय गणनाओं में मनुष्य से कई गुना तेज़ है परन्तु इसे हम कृत्रिम बुद्धि नहीं कहते। ऐसे केलकुलेटर को हम मनुष्य की आज्ञा का अत्यन्त तेज़ गति से पालन करने वाला यंत्र ही मानते हैं केवल।

खुद की गणित की परीक्षाओं को याद कीजिए। प्रश्नपत्र में कुछ सवाल आसान होते हैं, यानी ऐसे सवाल जिन्हें सुलझाने का तरीका हमें सिखाया गया है। इन सवालों को वे सब विद्यार्थी जिन्होंने सवाल सुलझाने का वह तरीका अच्छे से याद कर रखा है, सुलझा सकते हैं। परन्तु अगर कोई सवाल पेचीदा तरीके से प्रस्तुत किया गया हो तो हमारा यह रटा-रटाया तरीका नहीं चलेगा। अब कोई नया तरीका सोचना पड़ेगा – जो हमें कक्षा में सिखाई गई बातों पर आधारित हो। यहां ध्यान देने योग्य बात यह है कि इस कठिन सवाल में न केवल सवाल का हल ढूंढना है, परन्तु  उस हल तक पहुंचने का रास्ता भी तलाशना होगा। यदि सवाल हल करने का तरीका ढूंढने का यह ‘तरीका’ हम कम्प्‍यूटर को सिखा दें तो उसे ‘कृत्रिम बुद्धि’ का दर्जा दे सकते हैं।


# क बिन्दु के निर्देशांक (4, 5) हैं और ख बिन्दु  के (12, 18) क और ख के बीच की दूरी क्या है?

अगर आपको इसे हल करने का सूत्र मालूम हो तो इस प्रश्न का जवाब एकदम आसान है। यह एक पहले किस्म का सवाल है जिसमें केवल जवाब महत्वपूर्ण है।

# अब दूसरे किस्म के सवाल पर विचार करते हैं। हमारे पास दो बीकर हैं – एक का आयतन तीन लीटर है और दूसरे का चार लीटर। बीकर पर नापने के लिए और कोई निशान नहीं लगा है, और न ही हमारे पास नापने का अन्य कोई साधन है। हमें चार लीटर वाले बीकर में ठीक दो लीटर पानी चाहिए। क्या यह संभव है? कैसे?

इस प्रश्न में हल ‘क्या’ है, की बजाए ‘कैसे’ का इस्तेमाल किया गया है। यह कोई सूत्र के ज़रिए हल ढूंढने वाला सवाल नहीं है, इसमें हमें तरीका तलाशना है। थोड़ा-सा सोचकर हम इस सवाल कैसे सुलझाए जा सकते हैं यही तरीका कम्प्‍यूटर को भी सिखाना है। थोड़ा सोचिए इसे सुलझाने के लिए आपने किस तरह का तर्क लगाया।


साथ ही इस वाक्य पर भी ज़रा गौर करें ‘’कोई नया तरीका.... जो हमें कक्षा में सिखाई गई बातों पर आधारित हो।‘’ यानी कि समस्या का हल ढूंढने के लिए हमें ‘क्लास’ में पढ़ाई हुई बातों का ज्ञान ज़रूरी है क्यों कि हमारा नया तरीका उस ज्ञान पर आधारित है।

इसका अर्थ यह निकला कि ‘कृत्रिम बुद्धि’ से किसी समस्या को सुलझाना है तो उसकी दो प्रमुख ज़रूरतें हैं:

  1. ज्ञान का एक भंडार।
  2. जवाब तक पहुंचने का रास्ता खोज पाना।

कम्प्‍यूटर से सवाल-जवाब . . . .
अब तक हम गणित की बात कर रहे थे। मनुष्य की बुद्धि के दायरे में तो भाषा भी आती है। ‘कृत्रिम बुद्धि’ पर कोई भी लेख ‘एलीज़ा’ का जिक्र किए बिना पूरा नहीं हो सकता। ‘एलीज़ा’ 1966 में बनाया गया एक ऐसा कम्प्‍यूटर प्रोग्राम था जो एक मनोवैज्ञानिक चिकित्सक की तरह बर्ताव करता था। ‘एलीज़ा’ मानसिक मदद के लिए आए मरीजों के साथ बातचीत करती थी। यह बातचीत एक कम्प्‍यूटर स्क्रीन के माध्यम से होती थी। मरीज़ अपनी बात या जवाब कम्प्‍यूटर पर टाइप कर देता और ‘एलीज़ा’ अपने प्रश्न भी कम्प्‍यूटर स्क्रीन पर प्रस्तुत करती।

मरीज़ का पता होता था कि वह कम्प्‍यूटर से बात कर रहा है इसलिए उसे ‘एलीज़ा’ के प्रश्नों के नि:संकोच जवाब देने में कोई हिचकिचाहट नहीं होती थी।

‘एलीज़ा’ ने कृत्रिम बुद्धि और ‘मनोविज्ञान के शोध’ में अत्यन्त महत्वपूर्ण भूमिका निभाई। ‘एलीज़ा’ से वार्तालाप का एक नमूना यहां प्रस्तुत है। हालां‍कि ‘एलीज़ा’ के सवाल बहुत ही मानवीय थे, वे एक अत्यन्त आसान प्रोग्राम पर आधारित थे। ‘एलीज़ा’ का भाषा और मानव-शास्त्र का ज्ञान कुछ सरल नियमों पर आधारित थे। ‘एलीजा’ अपने ‘ज्ञान के भंडार’ में से ढूंढती थी कि मरीज़ के आखिरी वाक्‍य पर कौन-सा नियम लागू होता है और उसके मुताबिक फिर अपनी प्रतिक्रिया तैयार कर लेती थी। उदाहरण के लिए अगर मरीज़ ने टाइप किया – ‘’मेरा भाई मेरे साथ बहुत बुरी तरह से पेश आता है।‘’ तो एलीजा शायद पूछे, ‘’तुम्हारे परि‍वार में और कौन तुम्हारे साथ बुरी तरह से पेश आता है? नियमों की पहचान कुछ खास शब्दों से हो जाती थी इसलिए सही जवाब या प्रतिक्रिया के लिए बहुत ज़्यादा तलाश भी नहीं करनी पड़ती थी ‘एलीज़ा’ को। जब और कोई नियम न मिले तो, ‘’इसके बारे में मुझे और बताओं।‘’ ऐसे वाक्यों को दुमछल्ले की तरह चिपका दो।

एलीजा और मरीज़ की गुफ्तगू

मरीज़: सब पुरूष एक जैसे होते हैं।
एलीज़ा: किस तरह से?
मरीज़: वे सब हमें किसी न किसी चीज़ के बारे में परेशान करते रहते हैं।
एलीज़ा: क्या तुम कोई उदाहरण सोच सकती हो?
मरीज़: देखो न, मेरे पुरूष मित्र ने मुझे यहां भेज दिया।
एलीज़ा: तुम्हारे मित्र ने तुम्हें यहां क्यों भेज दिया?
मरीज़: उसका कहना है कि मैं हर समय परेशान रहती हूं।
एलीज़ा: मुझे यह सुनकर दु:ख हुआ कि तुम पेरशान रहती हो।

आपने देखा कि ये नियम एकदम अंदाज़न हैं। इन नियमों को अंदाज़न रखने के कई फायदे हैं जिनसे ऐसा आभास मिलता था कि ‘एलीजा’ वाजिब सवाल पूछ रही है। परन्तु इस सरलता की वजह से ‘एलीज़ा’ की समझ बहुत ही सतही होती और कई बार वह बहक भी जाती थी।

‘एलीज़ा’ के बाद बनाए गए मनोवैज्ञानकि कम्प्‍यूटरों के बारे में बात करना हमारे प्रमुख उद्देश्य शतरंज से थोड़ा हटकर होगा। इसलिए फिर लौट चलते हैं शतरंज की तरफ।

बाज़ी की शुरूआत . . .
खेल की बिसात पर सभी मोहरे सजा रखे हैं, अब खेल की शुरूआत कैसे की जाए? माना कि कम्प्‍यूटर सफेद मोहरों से खेल रहा है। उसकी पहली चाल क्या होगी? क्या‍–क्या संभावनाएं हैं? आपने बॉक्सी में दी जानकारी देखकर पाया होगा कि उसके पास कुल 20 संभावनाएं अब सवाल यह है कि वह इनमें से कौन-सी चाल चले।

इस उलझन का जवाब कई तरह से दिया जा सकता है।

  1. कोई भी चाल चलें खास फर्क नहीं पड़ता, अभी तो बाज़ी की शुरूआत ही हुई है। किसी भी चाल से अपना कोई भी मोहरा खतरे में नहीं पड़ सकता।
  2. यह तो हरेक की अपनी स्टाइल पर निर्भर करता है, मैं तो रानी वाला प्यादा आगे बढ़ाता हूं क्योंकि मुझे ‘सिसिलियन डिफेंस’ पसंद है।
  3. मैं सबसे पहले दाहिना घोड़ा बाहर निकालता हूं क्योंकि घोड़ा जल्द–से-जल्द आगे बढ़ाने पर बाद में बहुत काम आ सकता है।

आइए सभी जवाबों का बारी-बारी से विश्लेषण करें।

कम्प्युटर के लिए शुरुआती चालें

1. कम्प्युटर किसी भी प्यादे को एक घर आगे चल सकता है   - संभावित चालें आठ 
2. कम्प्युटर किसी भी प्यादे को दो घर आगे चल सकता है     - संभावित चालें आठ 
3. बाएं घोड़े को दो खाने में से किसी एक में रखा जा सकता है  - संभावित चालें 2
4. बाएं घोड़े को दो खाने में से किसी एक में रखा जा सकता है  - संभावित चालें 2

पहला जवाब प्रत्येक चाल के मूल्यांकन की तरफ इशारा करता है परन्तु उसमें सुझाया गया आकलन का पैमाना नाकाफी है। शतरंज की अगली चाल क्या होगी यह आप केवल इस आधार पर तय नहीं कर सकते कि उससे कोई मोहरा खतरे में पड़ जाएगा या सुरक्षित रहेगा। शतरंज का कोई भी अच्छा खिलाड़ी बहुत से अन्य पहलुओं पर भी गौर करेगा– क्या उस चाल से चैसबोर्ड के महत्वपूर्ण हिस्सों पर उसकी पकड़ बनेगी यानी कि उसे स्थिति लाभ मिलेगा, कहीं इस चाल की वजह से बाद में वह किसी खतरे में तो नहीं फंस जाएगा, क्या कोई तरीका है जिससे वह सामने वाले के राजा को खत्म‍ करके मात दे सकता है... आदि।

किसी भी शतरंज खेल सकने वाले कम्प्‍यूटर प्रोग्राम की यह एक महत्वपूर्ण ज़रूरत होगी- संभावित चालों का मूल्यांकन कर पाने की क्षमता। और मूल्यांकन का एक सटीक तरीका।

दूसरा जवाब शतरंज के एक जाने पहचाने तरीके- ‘सिसिलियन डिफेंस’ से खेल की शुरूआत की बात करता है। शतरंज के उस्तादों ने बहुत-सी शुरूआती चालें तय करके रखी हुई हैं जिनमें कि एक हद तक सुनिश्चित होता है कि आप कौन-सा मोहरा आगे बढ़ाएंगे, सामने वाला क्या जवाब देगा, फिर आपकी चाल क्या होगी... इत्यादि।

शुरूआत की कुछ चालों के लिए तो यह तरीका काफी कारगर होता है परन्तु़ शतरंज की बिसात पर पैदा हो सकने वाली प्रत्येक स्थिति और उसका उचित जवाब कम्प्यूटर की याददाश्त (Memory) में डाल देना तकरीबन नामुमकिन है। ऐसा इसलिए क्यों कि शतरंज की बिसात पर पैदा हो सकने वाली स्थितियों की संभावनाएं बहुत ज़्यादा हैं। उन सबको सोच पाना और विश्लेषण कर पाना असंभव होगा।

मान लीजिए कि कम्प्‍यूटर के पास इस तरह के ज्ञान का भंडार मौजूद है फिर भी कम्प्‍यूटर के लिए हर बार यह खोज पाना कि बिसात की स्थिति उन लाखों करोड़ों स्थितियों में से किससे मेल खाती है, काफी मुश्किल होगा। साथ ही इस खोज में समय भी बहुत ज़्यादा लगेगा। ‘एलीला’ कम्प्‍यूटर प्रोग्राम की तरह अंदाजन भाषा के नियमों को पकड़ने से यहां हमारा काम नहीं चल सकता।

इसलिए याद की गई स्थितियों के आधार पर चाल चलने का तरीका कुछ शुरूआती चालों के लिए ज़रूर काम में आ सकता है परन्तु शतरंज का पूरा खेल इस तरीके से नहीं खेल जा सकता।

तीसरे जवाब में मानवीय दिमाग की एक और खासियत की तरफ इशारा किया गया है- अनुभव से सीखना।

जवाब देने वाले ने अनुभव से यह सीखा है कि शुरू से ही घोड़े को आगे रखना फायदेमंद होता है– इसलिए वह मौका मिलते ही घोड़े को अन्य मोहरों से आगे ले जाना पसंद करेगा। हमें कम्प्‍यूटर प्रोग्राम में चालों का मूल्यांकन करने वाले हिस्से में इस तरह की सीखने की क्षमता भी डालनी होगी।

मूल्यांकन के आधार....
शुरूआती बॉक्स में दिए गए सवाल में हम चार लीटर वाले बीकर में दो लीटर पानी डालने वाले सवाल की समस्त संभावित स्थितियों की एक सूची बना सकता हैं। उदाहरणत: इस सवाल में दस संभव स्थितियां हैं। सबसे पहले हम इनमें से कोई भी एक तरीका अपनाकर देखेंगे अगर उससे सवाल हल नहीं होता तो दूसरा तरीका अपनाएंगे और इस तरह एक के बाद एक प्रयास करते रहेंगे।

परन्तु शतरंज के खेल में एक और पेचीदगी है कि शतरंज में एक बार चाल चलने के बाद आप उसे वापस नहीं ले सकते। फिर शतरंज में हर कदम पर संभावित चालों की संख्या भी बहुत ज़्यादा होती है और एक गलत चाल चल देने से हारने की संभावना एकदम बढ़ जाती है। सही चालन की खोज सटीक मूल्यांकन से ही हो सकती है इसलिए पहले यह समझना होगा कि आखिर ‘मूल्यांकन’ किस आधार पर करें।

कम्प्‍यूटर द्वारा शतरंज खेलने के प्रोग्राम बनाने में ‘मूल्यांकन के सटीक व सक्षम तरीके विकसित करने’ पर काफी शोधकार्य हुए हैं। सन् 1955 के आसपास अलग-अलग मोहरों की कुल संख्या के आधार पर आकलन करने का एक आसान-सा प्रोग्राम बनाया था। इस दिशा में सन् 1960 में आर्थर सैम्युल ने पहला महत्वपूर्ण प्रयास किया। उसने अपने शतरंज प्रोग्राम में खेल के नतीजे पर असर डालने वाले बहुत से कारकों को आकलन के दायरे में रखा। मोहरों की संख्या के अलावा, आगे बढ़ पाने की क्षमता, बिसात के बीच वाले खानों पर नियंत्रय, अपनी जगह से और कही जा पाने की संभावना.... आदि जैसे पहलू चाल के मूल्यांकन की गणनाओं में शामिल किए गए थे। यह भी ख्याल रखा गया था कि प्रत्येक कारक कितना महत्व‍पूर्ण है, यानी कि मूल्यांकन में इसका वज़न कितना होना चाहिए। इन सब कारकों को उनके महत्व से गुणा करके जोड़ दिया जाता जिससे चाल के मूल्यांकन के लिए एक समीकरण मिल जाता।

(1 मोहरों की संख्या में फायदा) (2 आगे बढ़ पाने की क्षमता) (3 बिसात के बीच के खानों पर नियंत्रण) ....

यहां पर संख्याएं 1, 2, 3 कारकों का महत्व दर्शा रही हैं।

आकलन के लिए इस तरह का एक समीकरण होने के बावजूद विभिन्न( चालों का मूल्यांकन कर पाना इतना आसान नहीं होता। और यह तय कर पाना कि किस दिशा में बढ़ना उचित होगा और भी कठिन होता है। इस बात को हम पहाड़ की चोटी खोजने वाले उदाहरण से बखूबी समझ सकते हें।

मान लीजिए कि हमें एवरेस्ट शिखर पर चढ़ना है और अभी हम ‘बेस कैम्प’ में हैं। एवरेस्ट पर चढ़ने के लिए न तो हमारे पास कोई बना बनाया रास्ता है और न ही इस इलाके का तैयार नक्शा है। अब सवाल है कि हम अपना रास्ता कैसे खोजें।

हमें यह तो मालूम है कि एवरेस्ट सबसे ऊंचा शिखर है। अत: हमारे हर कदम का मूल्यांकन करके हम देखें कि क्या हम हर कदम में पहले की अपेक्षा ऊंचाई पर पहुंचे हैं। इसलिए हमें चारों तरफ कदम रखकर देखना होगा कि किस कदम से हम सबसे ज़्यादा ऊंचाई पाते हैं, और उस दिशा में हम आगे बढ़ जाएंगे। हर कदम पर इस तरह का आकलन करना होगा।

यह तरीका तब तक तो ठीक है अगर हम उसी पहाड़ी पर हैं जहां हमारा लक्ष्य है। अगर हम किसी उपशिखर पर पहुंच गए तो?... वहां से तो हर रास्ता नीचे ही उतरता है इसलिए वहां यह तरीका असफल रहेगा।

इस तरह की समस्या सुलझाने के भी कुछ तरीके हैं – ऐसे हालात में आप अपनी पहले वाली स्थिति पर लौटकर फिर नया रास्ता खोजने की कोशिश कर सकते हैं। पहाड़ पर चढ़ने का यह एक ‘स्थानीय’ तरीका है। इसका मतलब है कि इसमें आप केवल तुरन्त की संभावनाओं और परिणामों का आकलन करके निर्णय लेते हैं- सभी संभावनाओं के सभी परणिामों पर विचार नहीं करते।

शतरंज में अगली चाल . . . .
शतरंज में यह ज़रूरी होता है कि हम आगे की कई चालों के बारे में सोचें। यह सोचना न सिर्फ इसलिए मुश्किल होता है क्यों कि हर चरण पर संभावित चालों क संख्या बहुत ज़्यादा होती है, बल्कि इसलिए भी क्योंकि यह भी सोचना पड़ता है कि विपक्षी खिलाड़ी क्या चाल चलेगा। हालांकि कम्प्‍यूटर ‘खोज और मूल्यांकन’ का काम अत्यन्त तेज़ी से कर सकता है फिर भी संभावनाएं इतनी ज़्यादा हैं कि किसी भी स्तर पर संर्पूण खोजबीन नहीं की जा सकती।

इसलिए हमें ऐसा कोई तरीका ढूंढना होगा जो खोज का दायरा सीमित कर सके। आइए देखें कि अधिकतम-न्यूनतम नामक एक ऐसा तरीका कैसे काम करता है।

फायदे-नुकसान वाली चालें

संभावि‍त चालें: एक चरण की खेज

मान लीजिए हम ‘क’ स्थिति में हैं। यहां से तीन संभव चालें हैं – ख, ग और घ। (देखिए चित्र : 1 ) इन तीनों चालों का आकलन करने पर समझ में आता है कि किसी पैमाने पर उनका मूल्य क्रमश: 8, 3 और -2 आ रहा है। इस पैमाने पर अंक जितना बड़ा हो, चाल उतनी ही बेहतर है। स्‍वाभाविक है कि हम ‘ख’ चाल चुनेंगे जिससे हमें सर्वाधिक फायदा हो रहा हो। यह एक ऐसा मूल्यांकन है जिसमें हम सिर्फ अपनी एक चाल तक सीमित हैं। विपक्षी का जवाब क्या होगा इस पर विचार नहीं कर रहे हैं। लेकिन हमें आगे के एक-दो चरणों में अपनी और विपक्षी की चालों पर विचार करना हो तो अन्य संभव चालों को भी मूल्यांकन के दायरे में लाना होगा। संभावित चालें : दो चरण की खोज

अब हम अगली चाल की संभावनाओं की खोज करते हैं। चित्र: 2 के अनुसार हमें अगले स्तर के मूल्यांकन पर च-छ-ज-प-फ-म-न संभावनाएं मिलती हैं। ख-ग-घ वे चालें हैं जिनमें से हमें अपनी अगली चाल चुनना है। स्वाभाविक है कि इनमें से हम वह चाल चुनेंगे जिसमें सबसे ज़्यादा फायदा हो।

अगर हम ‘ख’ चाल चलते हैं क्योंकि चरण एक की संभावित चालों से हमें पता चला है कि वह हमारे लिए सबसे ज़्यादा फायदेमंद है – तो यकीनन हमारा विरोधी खिलाड़ी ‘छ’ चाल चलेगा क्योंकि उससे हमें सबसे कम फायदा होगा।

चरण दो संभावित चालों से समझ में आता है कि अगर हम ‘ख’ चाल चलें तो विरोधी ‘छ’ (-6) चलेगा, अगर हम ‘ग’ चले तो सामने वाला ‘फ’ (-2) और अगर ‘घ’ चाल चलें तो विपक्षी ‘म’ (-4) चलेगा।

इसलिए शायद हम ‘क’ स्थिति में ‘ग’ चाल चलेंगे ताकि अगली चाल में हमें नुकसान कम हो।

शायद आपका ध्यान इस ओर ज़रूर गया होगा कि हमने ‘न’ स्थिति का आकलन नहीं किया है। इसकी ज़रूरत इसलिए नहीं है क्योंकि हमें पता चल चुका है कि हमारी अभी तक की सबसे बेहतर चाल ग (3), के जवाब में विपक्षी खिलाड़ी की ‘फ’ (-2) चाल के मुकाबले ‘म’ (-4) चाल हमारे लिए काफी बुरी है। और चूंकि अगली चाल विरोधी को खेलनी है इसलिए अगर हम ‘घ’ चाल चलें तो सामने वाल म (-4) तो चलेगा ही। यह जानते हुए भला हम ‘ग’ की तुलना में ‘घ’ चाल क्यों चलें – और इसीलिए ‘न’ चाल का मूल्यांकन करने की क्या ज़रूरत है?

इसी तरह अधिकतम-न्यूनतम तरीके का इस्तेमाल करते हुए हम और गहराई में जा सकते हैं – अपने आप को संभावित चालों के दो चरणों तक सीमित रखने के बजाए कई चरणों तक खोज कर सकते हैं। समझने में आसानी हो इसलिए हमने यहां पर दोनों चरणों में बहुत कम संभावनाओं का जिक्र किया है। दरअसल शतरंज में संभावित चालें कहीं ज़्यादा होंगी और हम शायद छह – सात चरणों तक विश्लेषण करें। ऐसी स्थिति में ‘न’ का मूल्यांकन न करने से हमें न सिर्फ उस एक चाल के मूल्यांकन की बचत होती है, परन्तु उससे शुरू होने वाली बहुत-सी संभावित चालों और उनके मूल्यांकन का प्रयास भी बच जाएगा।

इस तरह की अधिकतम नयूनतम खोज हम चाहे जिस गहराई तक ले जा सकते हैं। परन्तु उतना ही ज़रूरी और हमत्वपूर्ण है यह तय कर पाना कि यह मूल्यांकन कहां पर रोक दिया जाए।

ऊपर के उदाहरण में संभव है कि ‘छ’ चाल में हमारा कोई मोहरा कुर्बान हो रहा हो – शायद ‘छ’ (-6) का मूल्य उतना ज़्यादा ऋणात्मक इसलिए है क्यों कि हमारा कोई प्रमुख मोहरा मर रहा है (देखिए चित्र-3)। अगर हम अपनी खेज यहीं रोक दें तो हम ‘ख’ चाल को इसलिए छोड़ देंगे क्योंकि अगले चरा पर वह हमारे लिए नुकसान दायक हो सकती है। संभव है कि अगली चाल में हमें भी विरोधी का उतना ही महत्वपूर्ण मोहरा मिल जाए जिससे दोनों चालों का कुल असर ‘शून्य‘ हो जाए। अगर ऐसा होता है तो चाल ‘चाल’ ‘ग’ से बेहतर है।

ऐसी अच्छी चालें छूट न जाएं इसलिए शतरंज खेलने वाले कम्प्‍यूटर प्रोग्राम अपनी खोज और आकलन तब तक जारी रखते हैं जब तक कि उस शाखा में बड़े-बड़े उतार-चढ़ाव खत्‍म न हो जाएं। यानी स्थिति शांत होती दिखाई दे तब तक मूल्‍यांकन और खोज जारी रखा जाता है।

शह और मात की सही चाल . . .
शतरंज के खेल में शुरूआती चालों और मात देने के लिए अंतिम चालें कैसे चली जाएं – इन दोनों पर खूब शोध हुए हैं। कौन-सी स्थिति बनने पर कौन-सी चालें चलना फायदेमंद होगा इसके विस्तृत ब्यौरे किताबों में होते हैं। कम्प्‍यूटर के लिए शुरूआती तयशुदा चालें चलना आसान है – परन्तु यह तय करना एक पेचीदा मसला बन जाता है कि कब कम्प्‍यूटर खेल के आखिरी हिस्से में किताबी –चालें चलना शुरू करे। किताबों में तो इस तरह से जानकारी दी होती है कि अगर मोहरे इन स्थितियों में हों तो आप इस तरह से चालें चलकर मात दे सकते हैं।

बिसात पर रखे हुए सब मोहरों की स्थिति किताबी जानकारी से एकदम मेल खाए यह ज़रूरी नहीं है – इसलिए ज़रूरी बन जाता है कि कम्प्‍यूटर बिसात पर रखे हुए मोहरों की स्थिति से वह जानकारी निकाल पाए जिसके आधार पर तय किया जा सके कि आखिरी चालें चलने का समय आ गया है या नहीं। यह एक हिस्सा है जिसमें मानव मस्तिष्क का कोई सानी नहीं।

शतरंज के खेल में शुरूआती और अंतिम चालों के लिए किताबी चालों का विस्तृत भंडार और बीच के खेल के लिए खोज और मूल्यांकन की पद्धति का इस्तेमाल आदि तरीकों को अपनाकर ही बेहतरीन कम्‍प्‍यूटर प्रोग्राम बन पाए हैं जिनकी वजह से ‘डीप ब्लू’ द्वारा शतरंज विश्व विजेता को हराना संभव हो पाया है।


 

 

14.271MBMemory Usage281msRequest Duration
Joomla! Version4.4.5
PHP Version8.1.31
Identityguest
Response200
Templatej51_maya
Database
Server
mysql
Version
8.0.40
Collation
utf8mb4_0900_ai_ci
Conn Collation
utf8mb4_0900_ai_ci
$_GET
[]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
[]
$_SERVER
array:56 [ "USER" => "eklavyaco" "HOME" => "/home/eklavyaco" "PATH_TRANSLATED" => "/home/eklav...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1744715499 "last" => 1744715499...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:18 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (542.17KB) (6.17ms)
  • afterInitialise (1.31MB) (39.44ms)
  • afterRoute (3.17MB) (19.53ms)
  • beforeRenderComponent com_content (73.11KB) (4.55ms)
  • Before Access::preloadComponents (all components) (34.2KB) (1.15ms)
  • After Access::preloadComponents (all components) (119.27KB) (2.27ms)
  • Before Access::preloadPermissions (com_content) (4.16KB) (69μs)
  • After Access::preloadPermissions (com_content) (3.54MB) (12.22ms)
  • Before Access::getAssetRules (id:3170 name:com_content.article.2550) (258.8KB) (271μs)
  • After Access::getAssetRules (id:3170 name:com_content.article.2550) (8.47KB) (237μs)
  • afterRenderComponent com_content (751.68KB) (37.56ms)
  • afterDispatch (2.28KB) (276μs)
  • beforeRenderRawModule mod_menu () (1.99MB) (91.61ms)
  • afterRenderRawModule mod_menu () (1.13MB) (11.24ms)
  • beforeRenderModule mod_menu () (696B) (21μs)
  • afterRenderModule mod_menu () (26.88KB) (282μs)
  • beforeRenderRawModule mod_menu () (24.38KB) (69μs)
  • afterRenderRawModule mod_menu () (26.45KB) (2.89ms)
  • beforeRenderModule mod_menu () (696B) (18μs)
  • afterRenderModule mod_menu () (26.27KB) (162μs)
  • beforeRenderRawModule mod_menu () (24.48KB) (58μs)
  • afterRenderRawModule mod_menu () (65.22KB) (172μs)
  • beforeRenderModule mod_menu () (696B) (6μs)
  • afterRenderModule mod_menu () (1.64KB) (74μs)
  • beforeRenderRawModule mod_menu (More) (19.64KB) (1.11ms)
  • afterRenderRawModule mod_menu (More) (12.04KB) (488μs)
  • beforeRenderModule mod_menu (More) (704B) (6μs)
  • afterRenderModule mod_menu (More) (12.94KB) (1.02ms)
  • beforeRenderRawModule mod_menu (Gallery) (16B) (86μs)
  • afterRenderRawModule mod_menu (Gallery) (13.38KB) (429μs)
  • beforeRenderModule mod_menu (Gallery) (704B) (6μs)
  • afterRenderModule mod_menu (Gallery) (2.98KB) (169μs)
  • beforeRenderRawModule mod_menu (Magazine) (32B) (71μs)
  • afterRenderRawModule mod_menu (Magazine) (21.47KB) (414μs)
  • beforeRenderModule mod_menu (Magazine) (704B) (7μs)
  • afterRenderModule mod_menu (Magazine) (12.3KB) (836μs)
  • beforeRenderRawModule mod_menu (Books) (32B) (81μs)
  • afterRenderRawModule mod_menu (Books) (26.94KB) (533μs)
  • beforeRenderModule mod_menu (Books) (704B) (7μs)
  • afterRenderModule mod_menu (Books) (12.18KB) (688μs)
  • beforeRenderRawModule mod_menu (Eklavya) (32B) (69μs)
  • afterRenderRawModule mod_menu (Eklavya) (53.14KB) (773μs)
  • beforeRenderModule mod_menu (Eklavya) (704B) (7μs)
  • afterRenderModule mod_menu (Eklavya) (12.05KB) (718μs)
  • beforeRenderRawModule mod_related_items (Related Articles) (1.89KB) (68μs)
  • afterRenderRawModule mod_related_items (Related Articles) (16.7KB) (1.54ms)
  • beforeRenderModule mod_related_items (Related Articles) (704B) (8μs)
  • afterRenderModule mod_related_items (Related Articles) (8.75KB) (529μs)
  • beforeRenderRawModule mod_articles_category (Articles) (7.7KB) (43μs)
  • Before Access::getAssetRules (id:8 name:com_content) (54.08KB) (2.83ms)
  • After Access::getAssetRules (id:8 name:com_content) (6.95KB) (67μs)
  • afterRenderRawModule mod_articles_category (Articles) (29.24KB) (7.25ms)
  • beforeRenderModule mod_articles_category (Articles) (704B) (15μs)
  • afterRenderModule mod_articles_category (Articles) (13.98KB) (894μs)
  • beforeRenderRawModule mod_search (Search module) (8.53KB) (101μs)
  • afterRenderRawModule mod_search (Search module) (2.59KB) (123μs)
  • beforeRenderModule mod_search (Search module) (720B) (4μs)
  • afterRenderModule mod_search (Search module) (1.26KB) (80μs)
  • beforeRenderRawModule mod_breadcrumbs (Breadcrumb) (2.41KB) (44μs)
  • afterRenderRawModule mod_breadcrumbs (Breadcrumb) (14.77KB) (982μs)
  • beforeRenderModule mod_breadcrumbs (Breadcrumb) (704B) (8μs)
  • afterRenderModule mod_breadcrumbs (Breadcrumb) (1.21KB) (173μs)
  • beforeRenderRawModule mod_menu (Search test Menu in content top) (1.95KB) (38μs)
  • afterRenderRawModule mod_menu (Search test Menu in content top) (19.65KB) (478μs)
  • beforeRenderModule mod_menu (Search test Menu in content top) (736B) (7μs)
  • afterRenderModule mod_menu (Search test Menu in content top) (12.23KB) (97μs)
  • beforeRenderRawModule mod_finder (search 22) (352B) (19μs)
  • afterRenderRawModule mod_finder (search 22) (237.79KB) (5.42ms)
  • beforeRenderModule mod_finder (search 22) (720B) (13μs)
  • afterRenderModule mod_finder (search 22) (1.23KB) (197μs)
  • beforeRenderRawModule mod_jfilters_filters (JFilters Filters) (672B) (32μs)
  • afterRenderRawModule mod_jfilters_filters (JFilters Filters) (253.09KB) (13.17ms)
  • beforeRenderModule mod_jfilters_filters (JFilters Filters) (736B) (17μs)
  • afterRenderModule mod_jfilters_filters (JFilters Filters) (1.23KB) (209μs)
  • beforeRenderRawModule mod_search (Search (Top)) (56B) (94μs)
  • afterRenderRawModule mod_search (Search (Top)) (944B) (39μs)
  • beforeRenderModule mod_search (Search (Top)) (720B) (3μs)
  • afterRenderModule mod_search (Search (Top)) (1.23KB) (71μs)
  • afterRender (359.45KB) (5.63ms)
  • 1 x beforeRenderRawModule mod_menu () (1.99MB) (32.65%)
    91.61ms
    1 x afterInitialise (1.31MB) (14.06%)
    39.44ms
    1 x afterRenderComponent com_content (751.68KB) (13.39%)
    37.56ms
    1 x afterRoute (3.17MB) (6.96%)
    19.53ms
    1 x afterRenderRawModule mod_jfilters_filters (JFilters Filters) (253.09KB) (4.69%)
    13.17ms
    1 x After Access::preloadPermissions (com_content) (3.54MB) (4.36%)
    12.22ms
    1 x afterRenderRawModule mod_menu () (1.13MB) (4.01%)
    11.24ms
    1 x afterRenderRawModule mod_articles_category (Articles) (29.24KB) (2.58%)
    7.25ms
    1 x afterLoad (542.17KB) (2.2%)
    6.17ms
    1 x afterRender (359.45KB) (2.01%)
    5.63ms
    1 x afterRenderRawModule mod_finder (search 22) (237.79KB) (1.93%)
    5.42ms
    1 x beforeRenderComponent com_content (73.11KB) (1.62%)
    4.55ms
    1 x afterRenderRawModule mod_menu () (26.45KB) (1.03%)
    2.89ms
    1 x Before Access::getAssetRules (id:8 name:com_content) (54.08KB) (1.01%)
    2.83ms
    1 x After Access::preloadComponents (all components) (119.27KB) (0.81%)
    2.27ms
    1 x afterRenderRawModule mod_related_items (Related Articles) (16.7KB) (0.55%)
    1.54ms
    1 x Before Access::preloadComponents (all components) (34.2KB) (0.41%)
    1.15ms
    1 x beforeRenderRawModule mod_menu (More) (19.64KB) (0.4%)
    1.11ms
    1 x afterRenderModule mod_menu (More) (12.94KB) (0.36%)
    1.02ms
    1 x afterRenderRawModule mod_breadcrumbs (Breadcrumb) (14.77KB) (0.35%)
    982μs
    1 x afterRenderModule mod_articles_category (Articles) (13.98KB) (0.32%)
    894μs
    1 x afterRenderModule mod_menu (Magazine) (12.3KB) (0.3%)
    836μs
    1 x afterRenderRawModule mod_menu (Eklavya) (53.14KB) (0.28%)
    773μs
    1 x afterRenderModule mod_menu (Eklavya) (12.05KB) (0.26%)
    718μs
    1 x afterRenderModule mod_menu (Books) (12.18KB) (0.25%)
    688μs
    1 x afterRenderRawModule mod_menu (Books) (26.94KB) (0.19%)
    533μs
    1 x afterRenderModule mod_related_items (Related Articles) (8.75KB) (0.19%)
    529μs
    1 x afterRenderRawModule mod_menu (More) (12.04KB) (0.17%)
    488μs
    1 x afterRenderRawModule mod_menu (Search test Menu in content top) (19.65KB) (0.17%)
    478μs
    1 x afterRenderRawModule mod_menu (Gallery) (13.38KB) (0.15%)
    429μs
    1 x afterRenderRawModule mod_menu (Magazine) (21.47KB) (0.15%)
    414μs
    1 x afterRenderModule mod_menu () (26.88KB) (0.1%)
    282μs
    1 x afterDispatch (2.28KB) (0.1%)
    276μs
    1 x Before Access::getAssetRules (id:3170 name:com_content.article.2550) (258.8KB) (0.1%)
    271μs
    1 x After Access::getAssetRules (id:3170 name:com_content.article.2550) (8.47KB) (0.08%)
    237μs
    1 x afterRenderModule mod_jfilters_filters (JFilters Filters) (1.23KB) (0.07%)
    209μs
    1 x afterRenderModule mod_finder (search 22) (1.23KB) (0.07%)
    197μs
    1 x afterRenderModule mod_breadcrumbs (Breadcrumb) (1.21KB) (0.06%)
    173μs
    1 x afterRenderRawModule mod_menu () (65.22KB) (0.06%)
    172μs
    1 x afterRenderModule mod_menu (Gallery) (2.98KB) (0.06%)
    169μs
    1 x afterRenderModule mod_menu () (26.27KB) (0.06%)
    162μs
    1 x afterRenderRawModule mod_search (Search module) (2.59KB) (0.04%)
    123μs
    1 x beforeRenderRawModule mod_search (Search module) (8.53KB) (0.04%)
    101μs
    1 x afterRenderModule mod_menu (Search test Menu in content top) (12.23KB) (0.03%)
    97μs
    1 x beforeRenderRawModule mod_search (Search (Top)) (56B) (0.03%)
    94μs
    1 x beforeRenderRawModule mod_menu (Gallery) (16B) (0.03%)
    86μs
    1 x beforeRenderRawModule mod_menu (Books) (32B) (0.03%)
    81μs
    1 x afterRenderModule mod_search (Search module) (1.26KB) (0.03%)
    80μs
    1 x afterRenderModule mod_menu () (1.64KB) (0.03%)
    74μs
    1 x beforeRenderRawModule mod_menu (Magazine) (32B) (0.03%)
    71μs
    1 x afterRenderModule mod_search (Search (Top)) (1.23KB) (0.03%)
    71μs
    1 x beforeRenderRawModule mod_menu (Eklavya) (32B) (0.02%)
    69μs
    1 x Before Access::preloadPermissions (com_content) (4.16KB) (0.02%)
    69μs
    1 x beforeRenderRawModule mod_menu () (24.38KB) (0.02%)
    69μs
    1 x beforeRenderRawModule mod_related_items (Related Articles) (1.89KB) (0.02%)
    68μs
    1 x After Access::getAssetRules (id:8 name:com_content) (6.95KB) (0.02%)
    67μs
    1 x beforeRenderRawModule mod_menu () (24.48KB) (0.02%)
    58μs
    3 x beforeRenderModule mod_menu () (696B) (0.02%)
    45μs
    1 x beforeRenderRawModule mod_breadcrumbs (Breadcrumb) (2.41KB) (0.02%)
    44μs
    1 x beforeRenderRawModule mod_articles_category (Articles) (7.7KB) (0.02%)
    43μs
    1 x afterRenderRawModule mod_search (Search (Top)) (944B) (0.01%)
    39μs
    1 x beforeRenderRawModule mod_menu (Search test Menu in content top) (1.95KB) (0.01%)
    38μs
    1 x beforeRenderRawModule mod_jfilters_filters (JFilters Filters) (672B) (0.01%)
    32μs
    1 x beforeRenderRawModule mod_finder (search 22) (352B) (0.01%)
    19μs
    1 x beforeRenderModule mod_jfilters_filters (JFilters Filters) (736B) (0.01%)
    17μs
    1 x beforeRenderModule mod_articles_category (Articles) (704B) (0.01%)
    15μs
    1 x beforeRenderModule mod_finder (search 22) (720B) (0%)
    13μs
    1 x beforeRenderModule mod_breadcrumbs (Breadcrumb) (704B) (0%)
    8μs
    1 x beforeRenderModule mod_related_items (Related Articles) (704B) (0%)
    8μs
    1 x beforeRenderModule mod_menu (Books) (704B) (0%)
    7μs
    1 x beforeRenderModule mod_menu (Search test Menu in content top) (736B) (0%)
    7μs
    1 x beforeRenderModule mod_menu (Magazine) (704B) (0%)
    7μs
    1 x beforeRenderModule mod_menu (Eklavya) (704B) (0%)
    7μs
    1 x beforeRenderModule mod_menu (More) (704B) (0%)
    6μs
    1 x beforeRenderModule mod_menu (Gallery) (704B) (0%)
    6μs
    1 x beforeRenderModule mod_search (Search module) (720B) (0%)
    4μs
    1 x beforeRenderModule mod_search (Search (Top)) (720B) (0%)
    3μs
143 statements were executed, 3 of which were duplicates, 140 unique74.6ms3.56MB
  • SELECT @@SESSION.sql_mode;197μs1.57KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:334Copy
  • SELECT `data` FROM `j4_session` WHERE `session_id` = ?394μs1.61KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:261Copy
  • SELECT `session_id` FROM `j4_session` WHERE `session_id` = :session_id LIMIT 1360μs1.61KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `j4_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)460μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `extension_id` AS `id`,`element` AS `option`,`params`,`enabled` FROM `j4_extensions` WHERE `type` = 'component' AND `state` = 0 AND `enabled` = 1753μs2.36KB/libraries/src/Component/ComponentHelper.php:399Copy
  • SELECT `id`,`rules` FROM `j4_viewlevels`350μs976B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `j4_usergroups` AS `a` LEFT JOIN `j4_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest446μs1.63KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `folder` AS `type`,`element` AS `name`,`params` AS `params`,`extension_id` AS `id` FROM `j4_extensions` WHERE `enabled` = 1 AND `type` = 'plugin' AND `state` IN (0,1) AND `access` IN (:preparedArray1) ORDER BY `ordering`1.21ms4.27KBParams/libraries/src/Plugin/PluginHelper.php:294Copy
  • SELECT * FROM j4_rsform_config323μs2.56KB/administrator/components/com_rsform/helpers/config.php:52Copy
  • SELECT `m`.`id`,`m`.`menutype`,`m`.`title`,`m`.`alias`,`m`.`note`,`m`.`link`,`m`.`type`,`m`.`level`,`m`.`language`,`m`.`browserNav`,`m`.`access`,`m`.`params`,`m`.`home`,`m`.`img`,`m`.`template_style_id`,`m`.`component_id`,`m`.`parent_id`,`m`.`path` AS `route`,`e`.`element` AS `component` FROM `j4_menu` AS `m` LEFT JOIN `j4_extensions` AS `e` ON `m`.`component_id` = `e`.`extension_id` WHERE ( (`m`.`published` = 1 AND `m`.`parent_id` > 0 AND `m`.`client_id` = 0) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :currentDate1)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :currentDate2) ORDER BY `m`.`lft`2.56ms167.05KBParams/libraries/src/Menu/SiteMenu.php:166Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `j4_categories` AS `s` INNER JOIN `j4_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`6.09ms2.15MBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT * FROM `j4_languages` WHERE `published` = 1 ORDER BY `ordering` ASC420μs2.22KB/libraries/src/Language/LanguageHelper.php:142Copy
  • SELECT `id`,`home`,`template`,`s`.`params`,`inheritable`,`parent` FROM `j4_template_styles` AS `s` LEFT JOIN `j4_extensions` AS `e` ON `e`.`element` = `s`.`template` AND `e`.`type` = 'template' AND `e`.`client_id` = `s`.`client_id` WHERE `s`.`client_id` = 0 AND `e`.`enabled` = 1639μs1.14KB/administrator/components/com_templates/src/Model/StyleModel.php:773Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `j4_assets` WHERE `name` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15,:preparedArray16,:preparedArray17,:preparedArray18,:preparedArray19,:preparedArray20,:preparedArray21,:preparedArray22,:preparedArray23,:preparedArray24,:preparedArray25,:preparedArray26,:preparedArray27,:preparedArray28,:preparedArray29,:preparedArray30,:preparedArray31,:preparedArray32,:preparedArray33,:preparedArray34,:preparedArray35,:preparedArray36,:preparedArray37,:preparedArray38,:preparedArray39,:preparedArray40,:preparedArray41,:preparedArray42,:preparedArray43,:preparedArray44,:preparedArray45,:preparedArray46,:preparedArray47)1.36ms8.12KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `j4_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 06.33ms345.8KBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `j4_content`1.63ms2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:625Copy
  • UPDATE `j4_content` SET `hits` = (`hits` + 1) WHERE `id` = '2550'5.24ms2.55KB/libraries/src/Table/Table.php:1325Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `j4_content` AS `a` INNER JOIN `j4_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `j4_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `j4_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `j4_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `j4_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)1.24ms104.63KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `j4_categories` AS `s` INNER JOIN `j4_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`3.62ms21.19KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `j4_contentitem_tag_map` AS `m` INNER JOIN `j4_tags` AS `t` ON `m`.`tag_id` = `t`.`id` WHERE `m`.`type_alias` = :contentType AND `m`.`content_item_id` = :id AND `t`.`published` = 1 AND `t`.`access` IN (:preparedArray1)614μs5.2KBParams/libraries/src/Helper/TagsHelper.php:388Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `j4_categories` AS `s` INNER JOIN `j4_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`3.38ms21.19KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note FROM j4_fields AS a LEFT JOIN `j4_languages` AS l ON l.lang_code = a.language LEFT JOIN j4_users AS uc ON uc.id=a.checked_out LEFT JOIN j4_viewlevels AS ag ON ag.id = a.access LEFT JOIN j4_users AS ua ON ua.id = a.created_user_id LEFT JOIN j4_fields_groups AS g ON g.id = a.group_id LEFT JOIN `j4_fields_categories` AS fc ON fc.field_id = a.id WHERE ( (`a`.`context` = :context AND (`fc`.`category_id` IS NULL OR `fc`.`category_id` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5)) AND `a`.`access` IN (:preparedArray6)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray7)) AND `a`.`state` = :state) AND (`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform ORDER BY a.ordering ASC869μs6.06KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `j4_categories` AS `s` INNER JOIN `j4_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`3.11ms21.19KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT m.id, m.title, m.module, m.position, m.content, m.showtitle, m.params,am.params AS extra, 0 AS menuid, m.publish_up, m.publish_down FROM j4_modules AS m LEFT JOIN j4_extensions AS e ON e.element = m.module AND e.client_id = m.client_id LEFT JOIN j4_advancedmodules as am ON am.module_id = m.id WHERE m.published = 1 AND e.enabled = 1 AND m.client_id = 0 ORDER BY m.position, m.ordering1.19ms50.67KB/plugins/system/advancedmodules/src/Helper.php:191Copy
  • SELECT m.condition_id,m.item_id FROM j4_conditions_map as m LEFT JOIN j4_conditions as c ON c.id = m.condition_id WHERE `m`.`extension` = 'com_advancedmodules' AND `c`.`published` = 1498μs1.75KB/administrator/components/com_conditions/src/Model/ItemModel.php:821Copy
  • SHOW FULL COLUMNS FROM `j4_conditions`869μs2.08KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:625Copy
  • SELECT * FROM `j4_conditions` WHERE `id` = '14'223μs2.06KB/libraries/src/Table/Table.php:755Copy
  • SELECT * FROM j4_conditions_groups as g WHERE g.condition_id = 14246μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:1034Copy
  • SELECT * FROM j4_conditions_rules as r WHERE r.group_id = 14250μs1.13KB/administrator/components/com_conditions/src/Model/GroupModel.php:108Copy
  • SELECT m.extension,m.item_id,m.table,m.name_column FROM j4_conditions_map as m WHERE m.condition_id = 14 ORDER BY m.extension,m.item_id173μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:907Copy
  • SELECT `id`,`title` AS `value` FROM `j4_modules`323μs3.38KB/administrator/components/com_conditions/src/Helper/Helper.php:184Copy
  • SHOW FULL COLUMNS FROM `j4_modules`1.01ms2.2KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:625Copy
  • SELECT `id`,`published` AS `value` FROM `j4_modules`211μs14.38KB/administrator/components/com_conditions/src/Helper/Helper.php:184Copy
  • SELECT * FROM `j4_conditions` WHERE `id` = '15'359μs2.06KB/libraries/src/Table/Table.php:755Copy
  • SELECT * FROM j4_conditions_groups as g WHERE g.condition_id = 15256μs1008B/administrator/components/com_conditions/src/Model/ItemModel.php:1034Copy
  • SELECT m.extension,m.item_id,m.table,m.name_column FROM j4_conditions_map as m WHERE m.condition_id = 15 ORDER BY m.extension,m.item_id209μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:907Copy
  • SELECT * FROM `j4_conditions` WHERE `id` = '16'271μs2.06KB/libraries/src/Table/Table.php:755Copy
  • SELECT * FROM j4_conditions_groups as g WHERE g.condition_id = 16165μs1008B/administrator/components/com_conditions/src/Model/ItemModel.php:1034Copy
  • SELECT m.extension,m.item_id,m.table,m.name_column FROM j4_conditions_map as m WHERE m.condition_id = 16 ORDER BY m.extension,m.item_id260μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:907Copy
  • SELECT * FROM `j4_conditions` WHERE `id` = '18'299μs2.06KB/libraries/src/Table/Table.php:755Copy
  • SELECT * FROM j4_conditions_groups as g WHERE g.condition_id = 18149μs1008B/administrator/components/com_conditions/src/Model/ItemModel.php:1034Copy
  • SELECT m.extension,m.item_id,m.table,m.name_column FROM j4_conditions_map as m WHERE m.condition_id = 18 ORDER BY m.extension,m.item_id128μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:907Copy
  • SELECT * FROM `j4_conditions` WHERE `id` = '23'189μs2.06KB/libraries/src/Table/Table.php:755Copy
  • SELECT * FROM j4_conditions_groups as g WHERE g.condition_id = 23179μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:1034Copy
  • SELECT * FROM j4_conditions_rules as r WHERE r.group_id = 19134μs1.13KB/administrator/components/com_conditions/src/Model/GroupModel.php:108Copy
  • SELECT m.extension,m.item_id,m.table,m.name_column FROM j4_conditions_map as m WHERE m.condition_id = 23 ORDER BY m.extension,m.item_id137μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:907Copy
  • SELECT * FROM `j4_conditions` WHERE `id` = '24'179μs2.06KB/libraries/src/Table/Table.php:755Copy
  • SELECT * FROM j4_conditions_groups as g WHERE g.condition_id = 24185μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:1034Copy
  • SELECT * FROM j4_conditions_rules as r WHERE r.group_id = 20158μs1.13KB/administrator/components/com_conditions/src/Model/GroupModel.php:108Copy
  • SELECT m.extension,m.item_id,m.table,m.name_column FROM j4_conditions_map as m WHERE m.condition_id = 24 ORDER BY m.extension,m.item_id190μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:907Copy
  • SELECT * FROM `j4_conditions` WHERE `id` = '25'144μs2.06KB/libraries/src/Table/Table.php:755Copy
  • SELECT * FROM j4_conditions_groups as g WHERE g.condition_id = 25153μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:1034Copy
  • SELECT * FROM j4_conditions_rules as r WHERE r.group_id = 21148μs1.13KB/administrator/components/com_conditions/src/Model/GroupModel.php:108Copy
  • SELECT m.extension,m.item_id,m.table,m.name_column FROM j4_conditions_map as m WHERE m.condition_id = 25 ORDER BY m.extension,m.item_id140μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:907Copy
  • SELECT * FROM `j4_conditions` WHERE `id` = '53'132μs2.06KB/libraries/src/Table/Table.php:755Copy
  • SELECT * FROM j4_conditions_groups as g WHERE g.condition_id = 53155μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:1034Copy
  • SELECT * FROM j4_conditions_rules as r WHERE r.group_id = 45275μs1.13KB/administrator/components/com_conditions/src/Model/GroupModel.php:108Copy
  • SELECT m.extension,m.item_id,m.table,m.name_column FROM j4_conditions_map as m WHERE m.condition_id = 53 ORDER BY m.extension,m.item_id153μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:907Copy
  • SELECT * FROM `j4_conditions` WHERE `id` = '29'250μs2.06KB/libraries/src/Table/Table.php:755Copy
  • SELECT * FROM j4_conditions_groups as g WHERE g.condition_id = 29222μs1008B/administrator/components/com_conditions/src/Model/ItemModel.php:1034Copy
  • SELECT m.extension,m.item_id,m.table,m.name_column FROM j4_conditions_map as m WHERE m.condition_id = 29 ORDER BY m.extension,m.item_id175μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:907Copy
  • SELECT * FROM `j4_conditions` WHERE `id` = '31'150μs2.06KB/libraries/src/Table/Table.php:755Copy
  • SELECT * FROM j4_conditions_groups as g WHERE g.condition_id = 31165μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:1034Copy
  • SELECT * FROM j4_conditions_rules as r WHERE r.group_id = 43184μs1.13KB/administrator/components/com_conditions/src/Model/GroupModel.php:108Copy
  • SELECT m.extension,m.item_id,m.table,m.name_column FROM j4_conditions_map as m WHERE m.condition_id = 31 ORDER BY m.extension,m.item_id168μs9.02KB/administrator/components/com_conditions/src/Model/ItemModel.php:907Copy
  • SELECT * FROM `j4_conditions` WHERE `id` = '36'160μs2.06KB/libraries/src/Table/Table.php:755Copy
  • SELECT * FROM j4_conditions_groups as g WHERE g.condition_id = 36174μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:1034Copy
  • SELECT * FROM j4_conditions_rules as r WHERE r.group_id = 31167μs1.14KB/administrator/components/com_conditions/src/Model/GroupModel.php:108Copy
  • SELECT m.extension,m.item_id,m.table,m.name_column FROM j4_conditions_map as m WHERE m.condition_id = 36 ORDER BY m.extension,m.item_id170μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:907Copy
  • SELECT * FROM `j4_conditions` WHERE `id` = '10'150μs2.06KB/libraries/src/Table/Table.php:755Copy
  • SELECT * FROM j4_conditions_groups as g WHERE g.condition_id = 10255μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:1034Copy
  • SELECT * FROM j4_conditions_rules as r WHERE r.group_id = 10187μs1.14KB/administrator/components/com_conditions/src/Model/GroupModel.php:108Copy
  • SELECT m.extension,m.item_id,m.table,m.name_column FROM j4_conditions_map as m WHERE m.condition_id = 10 ORDER BY m.extension,m.item_id180μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:907Copy
  • SELECT * FROM `j4_conditions` WHERE `id` = '37'174μs2.06KB/libraries/src/Table/Table.php:755Copy
  • SELECT * FROM j4_conditions_groups as g WHERE g.condition_id = 37259μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:1034Copy
  • SELECT * FROM j4_conditions_rules as r WHERE r.group_id = 32258μs1.14KB/administrator/components/com_conditions/src/Model/GroupModel.php:108Copy
  • SELECT m.extension,m.item_id,m.table,m.name_column FROM j4_conditions_map as m WHERE m.condition_id = 37 ORDER BY m.extension,m.item_id440μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:907Copy
  • SELECT * FROM `j4_conditions` WHERE `id` = '35'274μs2.06KB/libraries/src/Table/Table.php:755Copy
  • SELECT * FROM j4_conditions_groups as g WHERE g.condition_id = 35241μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:1034Copy
  • SELECT * FROM j4_conditions_rules as r WHERE r.group_id = 30203μs1.14KB/administrator/components/com_conditions/src/Model/GroupModel.php:108Copy
  • SELECT m.extension,m.item_id,m.table,m.name_column FROM j4_conditions_map as m WHERE m.condition_id = 35 ORDER BY m.extension,m.item_id175μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:907Copy
  • SELECT * FROM `j4_conditions` WHERE `id` = '51'177μs2.06KB/libraries/src/Table/Table.php:755Copy
  • SELECT * FROM j4_conditions_groups as g WHERE g.condition_id = 51142μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:1034Copy
  • SELECT * FROM j4_conditions_rules as r WHERE r.group_id = 41149μs1.16KB/administrator/components/com_conditions/src/Model/GroupModel.php:108Copy
  • SELECT m.extension,m.item_id,m.table,m.name_column FROM j4_conditions_map as m WHERE m.condition_id = 51 ORDER BY m.extension,m.item_id158μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:907Copy
  • SELECT * FROM `j4_conditions` WHERE `id` = '54'189μs2.06KB/libraries/src/Table/Table.php:755Copy
  • SELECT * FROM j4_conditions_groups as g WHERE g.condition_id = 54124μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:1034Copy
  • SELECT * FROM j4_conditions_rules as r WHERE r.group_id = 46160μs1.13KB/administrator/components/com_conditions/src/Model/GroupModel.php:108Copy
  • SELECT m.extension,m.item_id,m.table,m.name_column FROM j4_conditions_map as m WHERE m.condition_id = 54 ORDER BY m.extension,m.item_id211μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:907Copy
  • SELECT * FROM `j4_conditions` WHERE `id` = '7'166μs2.06KB/libraries/src/Table/Table.php:755Copy
  • SELECT * FROM j4_conditions_groups as g WHERE g.condition_id = 7116μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:1034Copy
  • SELECT * FROM j4_conditions_rules as r WHERE r.group_id = 7233μs1.14KB/administrator/components/com_conditions/src/Model/GroupModel.php:108Copy
  • SELECT m.extension,m.item_id,m.table,m.name_column FROM j4_conditions_map as m WHERE m.condition_id = 7 ORDER BY m.extension,m.item_id215μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:907Copy
  • SELECT * FROM `j4_conditions` WHERE `id` = '45'190μs2.06KB/libraries/src/Table/Table.php:755Copy
  • SELECT * FROM j4_conditions_groups as g WHERE g.condition_id = 45267μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:1034Copy
  • SELECT * FROM j4_conditions_rules as r WHERE r.group_id = 39231μs1.16KB/administrator/components/com_conditions/src/Model/GroupModel.php:108Copy
  • SELECT m.extension,m.item_id,m.table,m.name_column FROM j4_conditions_map as m WHERE m.condition_id = 45 ORDER BY m.extension,m.item_id309μs1.11KB/administrator/components/com_conditions/src/Model/ItemModel.php:907Copy
  • SELECT * FROM `j4_conditions` WHERE `id` = '50'189μs2.06KB/libraries/src/Table/Table.php:755Copy
  • SELECT * FROM j4_conditions_groups as g WHERE g.condition_id = 50241μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:1034Copy
  • SELECT * FROM j4_conditions_rules as r WHERE r.group_id = 40180μs1.16KB/administrator/components/com_conditions/src/Model/GroupModel.php:108Copy
  • SELECT m.extension,m.item_id,m.table,m.name_column FROM j4_conditions_map as m WHERE m.condition_id = 50 ORDER BY m.extension,m.item_id172μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:907Copy
  • SELECT * FROM `j4_conditions` WHERE `id` = '11'179μs2.06KB/libraries/src/Table/Table.php:755Copy
  • SELECT * FROM j4_conditions_groups as g WHERE g.condition_id = 11156μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:1034Copy
  • SELECT * FROM j4_conditions_rules as r WHERE r.group_id = 11150μs1.13KB/administrator/components/com_conditions/src/Model/GroupModel.php:108Copy
  • SELECT m.extension,m.item_id,m.table,m.name_column FROM j4_conditions_map as m WHERE m.condition_id = 11 ORDER BY m.extension,m.item_id232μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:907Copy
  • SELECT * FROM `j4_conditions` WHERE `id` = '30'167μs2.06KB/libraries/src/Table/Table.php:755Copy
  • SELECT * FROM j4_conditions_groups as g WHERE g.condition_id = 30160μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:1034Copy
  • SELECT * FROM j4_conditions_rules as r WHERE r.group_id = 25179μs1.13KB/administrator/components/com_conditions/src/Model/GroupModel.php:108Copy
  • SELECT m.extension,m.item_id,m.table,m.name_column FROM j4_conditions_map as m WHERE m.condition_id = 30 ORDER BY m.extension,m.item_id308μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:907Copy
  • SELECT * FROM `j4_conditions` WHERE `id` = '5'189μs2.06KB/libraries/src/Table/Table.php:755Copy
  • SELECT * FROM j4_conditions_groups as g WHERE g.condition_id = 5260μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:1034Copy
  • SELECT * FROM j4_conditions_rules as r WHERE r.group_id = 5236μs1.13KB/administrator/components/com_conditions/src/Model/GroupModel.php:108Copy
  • SELECT m.extension,m.item_id,m.table,m.name_column FROM j4_conditions_map as m WHERE m.condition_id = 5 ORDER BY m.extension,m.item_id191μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:907Copy
  • SELECT * FROM `j4_conditions` WHERE `id` = '52'570μs2.06KB/libraries/src/Table/Table.php:755Copy
  • SELECT * FROM j4_conditions_groups as g WHERE g.condition_id = 52386μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:1034Copy
  • SELECT * FROM j4_conditions_rules as r WHERE r.group_id = 42256μs1.13KB/administrator/components/com_conditions/src/Model/GroupModel.php:108Copy
  • SELECT m.extension,m.item_id,m.table,m.name_column FROM j4_conditions_map as m WHERE m.condition_id = 52 ORDER BY m.extension,m.item_id325μs1.02KB/administrator/components/com_conditions/src/Model/ItemModel.php:907Copy
  • SELECT * FROM `j4_conditions` WHERE `id` = '4'183μs2.06KB/libraries/src/Table/Table.php:755Copy
  • SELECT * FROM j4_conditions_groups as g WHERE g.condition_id = 4297μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:1034Copy
  • SELECT * FROM j4_conditions_rules as r WHERE r.group_id = 4172μs1.13KB/administrator/components/com_conditions/src/Model/GroupModel.php:108Copy
  • SELECT m.extension,m.item_id,m.table,m.name_column FROM j4_conditions_map as m WHERE m.condition_id = 4 ORDER BY m.extension,m.item_id205μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:907Copy
  • SELECT * FROM `j4_conditions` WHERE `id` = '1'190μs2.06KB/libraries/src/Table/Table.php:755Copy
  • SELECT * FROM j4_conditions_groups as g WHERE g.condition_id = 1187μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:1034Copy
  • SELECT * FROM j4_conditions_rules as r WHERE r.group_id = 1172μs1.14KB/administrator/components/com_conditions/src/Model/GroupModel.php:108Copy
  • SELECT m.extension,m.item_id,m.table,m.name_column FROM j4_conditions_map as m WHERE m.condition_id = 1 ORDER BY m.extension,m.item_id332μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:907Copy
  • SELECT * FROM `j4_conditions` WHERE `id` = '2'197μs2.06KB/libraries/src/Table/Table.php:755Copy
  • SELECT * FROM j4_conditions_groups as g WHERE g.condition_id = 2197μs1KB/administrator/components/com_conditions/src/Model/ItemModel.php:1034Copy
  • SELECT * FROM j4_conditions_rules as r WHERE r.group_id = 2188μs1.14KB/administrator/components/com_conditions/src/Model/GroupModel.php:108Copy
  • SELECT m.extension,m.item_id,m.table,m.name_column FROM j4_conditions_map as m WHERE m.condition_id = 2 ORDER BY m.extension,m.item_id188μs17KB/administrator/components/com_conditions/src/Model/ItemModel.php:907Copy
  • SELECT a.params FROM j4_advancedmodules AS a WHERE a.module_id = 191249μs840B/plugins/system/advancedmodules/src/Helper.php:151Copy
  • SELECT a.params FROM j4_advancedmodules AS a WHERE a.module_id = 189205μs840B/plugins/system/advancedmodules/src/Helper.php:151Copy
  • SELECT a.params FROM j4_advancedmodules AS a WHERE a.module_id = 188184μs840B/plugins/system/advancedmodules/src/Helper.php:151Copy
  • SELECT a.params FROM j4_advancedmodules AS a WHERE a.module_id = 185228μs840B/plugins/system/advancedmodules/src/Helper.php:151Copy
  • SELECT `metakey` FROM `j4_content` WHERE `id` = :id274μs1.63KBParams/modules/mod_related_items/src/Helper/RelatedItemsHelper.php:88Copy
  • SELECT a.params FROM j4_advancedmodules AS a WHERE a.module_id = 223165μs840B/plugins/system/advancedmodules/src/Helper.php:151Copy
  • SELECT `a`.`id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,CASE WHEN `a`.`publish_up` IS NULL THEN `a`.`created` ELSE `a`.`publish_up` END AS `publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`metadata`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`featured`,`a`.`language`,LENGTH(`a`.`fulltext`) AS `readmore`,`a`.`ordering`,`fp`.`featured_up`,`fp`.`featured_down`,CASE WHEN `c`.`published` = 2 AND `a`.`state` > 0 THEN 2 WHEN `c`.`published` != 1 THEN 0 ELSE `a`.`state` END AS `state`,`c`.`title` AS `category_title`,`c`.`path` AS `category_route`,`c`.`access` AS `category_access`,`c`.`alias` AS `category_alias`,`c`.`language` AS `category_language`,`c`.`published`,`c`.`published` AS `parents_published`,`c`.`lft`,CASE WHEN `a`.`created_by_alias` > ' ' THEN `a`.`created_by_alias` ELSE `ua`.`name` END AS `author`,`ua`.`email` AS `author_email`,`uam`.`name` AS `modified_by_name`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,COALESCE(NULLIF(ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1), 0), 0) AS `rating`,COALESCE(NULLIF(`v`.`rating_count`, 0), 0) AS `rating_count` FROM `j4_content` AS `a` LEFT JOIN `j4_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `j4_users` AS `ua` ON `ua`.`id` = `a`.`created_by` LEFT JOIN `j4_users` AS `uam` ON `uam`.`id` = `a`.`modified_by` LEFT JOIN `j4_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `j4_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `j4_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE `a`.`access` IN (:preparedArray1) AND `c`.`access` IN (:preparedArray2) AND `c`.`published` = 1 AND `a`.`state` = :condition AND `a`.`catid` IN (:preparedArray3) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) ORDER BY a.ordering ASC4.37ms473.06KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • SELECT a.params FROM j4_advancedmodules AS a WHERE a.module_id = 224208μs840B/plugins/system/advancedmodules/src/Helper.php:151Copy
  • SELECT `name`,`element` FROM `j4_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1431μs1KB/administrator/components/com_finder/src/Helper/LanguageHelper.php:135Copy
  • SELECT `title` FROM `j4_finder_taxonomy` WHERE `parent_id` = 1 AND `state` = 1 AND `access` IN (1)424μs936B/administrator/components/com_finder/src/Indexer/Taxonomy.php:314Copy
  • SELECT a.id, a.parent_id, a.config_name, a.name, a.context, a.label, a.alias, a.display, a.state, a.access, a.root, a.ordering, a.checked_out, a.checked_out_time, a.created_time, a.updated_time, a.language,`a`.`attribs` AS `attributes` FROM `j4_jfilters_filters` AS `a` WHERE `a`.`access` IN (:preparedArray1) AND `a`.`state` IN (:preparedArray2,:preparedArray3) ORDER BY a.ordering ASC568μs4.52KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • SELECT SUM(CASE WHEN `a`.`next_execution` <= :now THEN 1 ELSE 0 END) AS due_count,SUM(CASE WHEN `a`.`locked` IS NULL THEN 0 ELSE 1 END) AS locked_count FROM `j4_scheduler_tasks` AS `a` WHERE `a`.`state` = 1394μs1.68KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:466Copy
  • SELECT `session_id` FROM `j4_session` WHERE `session_id` = ?247μs1.63KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:291Copy
  • UPDATE `j4_session` SET `data` = ? , `time` = ? WHERE `session_id` = ?261μs912BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:318Copy
    Select and listen