पाठ्यपुस्तक ऑनलाइन उपलब्ध है।


Please post any issues on the provided GitHub link.

कृपया किसी भी समस्या को दिए गए GitHub लिंक पर पोस्ट करें।


This version was compiled on Wednesday, December 6th, 2023.

यह संस्करण बुधवार, 6 दिसंबर, 2023 को संकलित किया गया था।


This work is licensed under a Creative Commons license.

यह कार्य क्रिएटिव कॉमन्स लाइसेंस के अंतर्गत लाइसेंस प्राप्त है।


The book is dedicated to Ravit, Alma, and Goren.

यह पुस्तक रविट, अल्मा और गोरेन को समर्पित है।


The preface provides an introduction to the book's content.

प्रस्तावना पुस्तक की सामग्री का परिचय देती है।


Chapter 1 covers mathematical background.

अध्याय 1 गणितीय पृष्ठभूमि को शामिल करता है।


The book explores computation and representation.

पुस्तक गणना और प्रतिनिधित्व की पड़ताल करती है।


Finite computation is discussed in Part I.

परिमेय गणना भाग I में चर्चा की गई है।


The concept of syntactic sugar is explained.

सिंटैक्टिक शुगर की अवधारणा को समझाया गया है।


The book delves into efficient algorithms.

पुस्तक कुशल एल्गोरिदम में उतरती है।


NP completeness and the Cook-Levin Theorem are important topics.

एनपी पूर्णता और कुक-लेविन प्रमेय महत्वपूर्ण विषय हैं।


Randomized computation is also a key area of study.

यादृच्छिक गणना भी अध्ययन का एक प्रमुख क्षेत्र है।


Cryptography is one of the advanced topics covered.

क्रिप्टोग्राफी उन्नत विषयों में से एक है।


The book includes appendices for additional information.

पुस्तक में अतिरिक्त जानकारी के लिए परिशिष्ट शामिल हैं।


The student is encouraged to put in the effort.

छात्र को प्रयास करने के लिए प्रोत्साहित किया जाता है।


The book provides examples of algorithms.

पुस्तक एल्गोरिदम के उदाहरण प्रदान करती है।


The importance of negative results is discussed.

नकारात्मक परिणामों के महत्व पर चर्चा की गई है।


पुस्तक संकेतन और सम्मेलनों का उपयोग करती है।


The Church-Turing Thesis is a central concept.

चर्च-ट्यूरिंग थीसिस एक केंद्रीय अवधारणा है।


एल्गोरिदम कुशलता से डेटा को सॉर्ट करता है।


She enjoys reading novels in her free time.

वह अपने खाली समय में उपन्यास पढ़ना पसंद करती है।


The company's profits increased significantly this quarter.

इस तिमाही में कंपनी का मुनाफा काफी बढ़ गया।


क्या आप कृपया मुझे नमक दे सकते हैं?


The research paper explores the impact of climate change.

शोध पत्र जलवायु परिवर्तन के प्रभाव की पड़ताल करता है।


He is a highly skilled software engineer.

वह एक कुशल सॉफ्टवेयर इंजीनियर हैं।


The government announced new economic policies.

सरकार ने नई आर्थिक नीतियों की घोषणा की।


I am feeling a bit under the weather today.

आज मैं थोड़ा बीमार महसूस कर रहा हूँ।


The complex equation required advanced mathematical knowledge.

जटिल समीकरण के लिए उन्नत गणितीय ज्ञान की आवश्यकता थी।


The artist's work was displayed in a prestigious gallery.

कलाकार की कलाकृति एक प्रतिष्ठित गैलरी में प्रदर्शित की गई थी।


The project's deadline is approaching rapidly.

परियोजना की समय सीमा तेजी से आ रही है।


The scientific study provided compelling evidence.

वैज्ञानिक अध्ययन ने सम्मोहक सबूत प्रदान किए।


She is fluent in several foreign languages.

वह कई विदेशी भाषाओं में धाराप्रवाह है।


The company is investing heavily in renewable energy.

कंपनी नवीकरणीय ऊर्जा में भारी निवेश कर रही है।


The intricate design of the building was impressive.

इमारत का जटिल डिज़ाइन प्रभावशाली था।


The economic forecast predicts a recession.

आर्थिक पूर्वानुमान मंदी की भविष्यवाणी करता है।


वह अपने क्षेत्र में एक प्रसिद्ध विशेषज्ञ हैं।


The algorithm's efficiency was significantly improved.

एल्गोरिदम की दक्षता में काफी सुधार हुआ।


The political situation remains highly volatile.

राजनीतिक स्थिति अत्यधिक अस्थिर बनी हुई है।


The philosophical debate explored complex ethical dilemmas.

दार्शनिक बहस ने जटिल नैतिक दुविधाओं की पड़ताल की।


The book discusses the limitations of context-free grammars.

यह पुस्तक संदर्भ-मुक्त व्याकरण की सीमाओं पर चर्चा करती है।


Exercises are provided at the end of each chapter.

प्रत्येक अध्याय के अंत में अभ्यास दिए गए हैं।


The theorem's computational variant is explained in detail.

प्रमेय के कम्प्यूटेशनल संस्करण को विस्तार से समझाया गया है।


We will explore the concept of polynomial-time reductions.

हम बहुपद-समय में कमी की अवधारणा का पता लगाएंगे।


The chapter covers the Cook-Levin Theorem.

अध्याय कुक-लेविन प्रमेय को शामिल करता है।


क्या होगा अगर P, NP के बराबर हो?


The book delves into space-bounded computation.

पुस्तक स्पेस-बाउंडेड गणना में उतरती है।


Probability theory is essential for understanding randomized computation.

संभाव्यता सिद्धांत यादृच्छिक गणना को समझने के लिए आवश्यक है।


We will analyze the power of randomization.

हम यादृच्छिकीकरण की शक्ति का विश्लेषण करेंगे।


Cryptography is a fascinating field of study.

क्रिप्टोग्राफी अध्ययन का एक आकर्षक क्षेत्र है।


यह पुस्तक क्वांटम कंप्यूटिंग की पड़ताल करती है।


Let's discuss the double-slit experiment.

आइए डबल-स्लिट प्रयोग पर चर्चा करें।


The concept of quantum amplitudes is explained.

क्वांटम आयाम की अवधारणा को समझाया गया है।


Bell's Inequality is a key topic in quantum mechanics.

बेल की असमानता क्वांटम यांत्रिकी में एक महत्वपूर्ण विषय है।


Quantum computing offers exciting possibilities.

क्वांटम कंप्यूटिंग रोमांचक संभावनाएं प्रदान करता है।


Shor's algorithm is a significant development.

शोर का एल्गोरिदम एक महत्वपूर्ण विकास है।


The book provides further explorations of the topics.

पुस्तक विषयों की आगे की खोज प्रदान करती है।


The text includes bibliographical notes for each chapter.

पाठ में प्रत्येक अध्याय के लिए ग्रंथ सूची संबंधी नोट्स शामिल हैं।


The material is suitable for advanced learners.

यह सामग्री उन्नत शिक्षार्थियों के लिए उपयुक्त है।


This book is a comprehensive guide to the subject.

यह पुस्तक विषय के लिए एक व्यापक मार्गदर्शिका है।


The algorithm efficiently solves the problem.

यह एल्गोरिदम समस्या को कुशलता से हल करता है।


Can you please explain the concept in simpler terms?

क्या आप कृपया इस अवधारणा को सरल शब्दों में समझा सकते हैं?


The news report covered the recent economic developments.

समाचार रिपोर्ट में हाल के आर्थिक घटनाक्रमों को शामिल किया गया।


The company is developing new software applications.

कंपनी नए सॉफ्टवेयर एप्लिकेशन विकसित कर रही है।


मुझे आपको देखकर बहुत खुशी हुई।


The research paper presents a novel approach.

शोध पत्र एक नए दृष्टिकोण को प्रस्तुत करता है।


The meeting will be held tomorrow morning.

बैठक कल सुबह आयोजित की जाएगी।


वह इस क्षेत्र में एक प्रसिद्ध विशेषज्ञ हैं।


The data analysis revealed interesting insights.

डेटा विश्लेषण ने दिलचस्प अंतर्दृष्टि का खुलासा किया।


Please provide more details about the project.

कृपया परियोजना के बारे में अधिक जानकारी प्रदान करें।


सरकार ने नई नीतियों की घोषणा की।


The technology has the potential to revolutionize the industry.

इस तकनीक में उद्योग में क्रांति लाने की क्षमता है।


The weather forecast predicts rain tomorrow.

मौसम विभाग कल बारिश की भविष्यवाणी करता है।


The company's profits increased significantly this year.

इस वर्ष कंपनी का मुनाफा काफी बढ़ गया।


The complex calculations require advanced mathematical skills.

जटिल गणनाओं के लिए उन्नत गणितीय कौशल की आवश्यकता होती है।


मुझे कुछ किराने का सामान खरीदना है।


The new regulations will affect all businesses.

नए नियम सभी व्यवसायों को प्रभावित करेंगे।


The presentation was very informative and engaging.

प्रस्तुति बहुत जानकारीपूर्ण और आकर्षक थी।


The project is facing some unexpected challenges.

परियोजना को कुछ अप्रत्याशित चुनौतियों का सामना करना पड़ रहा है।


The scientific community is excited about the discovery.

वैज्ञानिक समुदाय इस खोज से उत्साहित है।


This book introduces the fundamental concepts of theoretical computer science.

यह पुस्तक सैद्धांतिक कंप्यूटर विज्ञान की बुनियादी अवधारणाओं का परिचय देती है।


Algorithms are the heart of computer science, enabling us to solve complex problems.

कलन विधि कंप्यूटर विज्ञान का दिल हैं, जो हमें जटिल समस्याओं को हल करने में सक्षम बनाते हैं।


The concept of computation arises in various natural and human-made systems.

गणना की अवधारणा विभिन्न प्राकृतिक और मानव निर्मित प्रणालियों में उत्पन्न होती है।


Understanding the duality between code and data is crucial in computer science.

कंप्यूटर विज्ञान में कोड और डेटा के बीच की द्वैतता को समझना महत्वपूर्ण है।


This book aims to introduce students to a new way of thinking about computation.

इस पुस्तक का उद्देश्य छात्रों को गणना के बारे में सोचने का एक नया तरीका सिखाना है।


The book uses programming metaphors to describe models of computation.

पुस्तक गणना के मॉडल का वर्णन करने के लिए प्रोग्रामिंग रूपकों का उपयोग करती है।


Proofs in this book are often constructive and algorithmic.

इस पुस्तक में प्रमाण अक्सर रचनात्मक और एल्गोरिथम होते हैं।


Students should understand that some problems are inherently intractable.

छात्रों को यह समझना चाहिए कि कुछ समस्याएं स्वाभाविक रूप से दुष्कर हैं।


The book touches on cryptography and computational hardness.

पुस्तक क्रिप्टोग्राफी और कम्प्यूटेशनल कठोरता पर प्रकाश डालती है।


The author aims to convey these concepts in the simplest possible way.

लेखक का लक्ष्य इन अवधारणाओं को यथासंभव सरल तरीके से व्यक्त करना है।


The book does not assume fluency with any particular programming language.

पुस्तक किसी विशेष प्रोग्रामिंग भाषा में प्रवाह की धारणा नहीं रखती है।


The book is challenging because it brings together a variety of ideas.

यह पुस्तक चुनौतीपूर्ण है क्योंकि यह विभिन्न विचारों को एक साथ लाती है।


The best way to engage with this material is to read actively.

इस सामग्री के साथ जुड़ने का सबसे अच्छा तरीका है सक्रिय रूप से पढ़ना।


It is more important to understand the definitions than the theorems.

प्रमेयों की तुलना में परिभाषाओं को समझना अधिक महत्वपूर्ण है।


This book gives a different way of thinking about computation.

यह पुस्तक गणना के बारे में सोचने का एक अलग तरीका देती है।


Computation and information are the basic building blocks of the 21st century.

गणना और सूचना 21वीं सदी के बुनियादी निर्माण खंड हैं।


Boolean circuits are a more natural model of computation.

बूलियन सर्किट गणना का एक अधिक स्वाभाविक मॉडल हैं।


Finite functions are arguably easier to grasp than infinite ones.

परिमेय कार्यों को अनंत कार्यों की तुलना में समझना आसान है।


The book starts with Boolean Circuits as the initial computational model.

पुस्तक प्रारंभिक गणना मॉडल के रूप में बूलियन सर्किट से शुरू होती है।


The practical motivation can be better appreciated after students see the undecidability of semantic properties.

छात्रों द्वारा अर्थ संबंधी गुणों की अनिर्णीतता देखने के बाद व्यावहारिक प्रेरणा को बेहतर ढंग से सराहा जा सकता है।


Logarithmic functions are always smaller than polynomial functions.

लघुगणकीय फलन हमेशा बहुपद फलनों से छोटे होते हैं।


The Riemann Hypothesis is one of the most famous unsolved problems in mathematics.

रीमैन परिकल्पना गणित की सबसे प्रसिद्ध अनसुलझी समस्याओं में से एक है।


Mathematical proofs are a sequence of logical deductions.

गणितीय प्रमाण तार्किक निष्कर्षों की एक श्रृंखला हैं।


Understanding what a statement means is often more than halfway towards understanding why it is true.

किसी कथन का अर्थ समझना अक्सर यह समझने से आधा अधिक होता है कि वह सत्य क्यों है।


Writing a program involves understanding the task, planning, and converting the plan into code.

एक प्रोग्राम लिखने में कार्य को समझना, योजना बनाना और योजना को कोड में बदलना शामिल है।


प्रमाणों के लिए पाठक एक इंसान होता है।


A mathematical proof is a specific genre of writing.

एक गणितीय प्रमाण लेखन की एक विशिष्ट शैली है।


The proof should have a clear logical flow.

प्रमाण में एक स्पष्ट तार्किक प्रवाह होना चाहिए।


Proofs by contradiction are a common pattern.

विरोधाभास द्वारा प्रमाण एक सामान्य पैटर्न हैं।


There are no natural numbers a, b such that the square root of 2 equals a/b.

कोई प्राकृतिक संख्याएँ a, b ऐसी नहीं हैं कि वर्गमूल 2, a/b के बराबर हो।


For every natural number n, either n or n+1 is even.

प्रत्येक प्राकृतिक संख्या n के लिए, या तो n या n+1 सम है।


If b squared is greater than or equal to 4ac, then there is a solution to the quadratic equation.

यदि b वर्ग 4ac से बड़ा या उसके बराबर है, तो द्विघात समीकरण का एक हल है।


If and only if statements require proving both directions.

यदि और केवल यदि कथनों के लिए दोनों दिशाओं को साबित करने की आवश्यकता होती है।


Topological sorting is used in task scheduling.

टोपोलॉजिकल सॉर्टिंग का उपयोग कार्य शेड्यूलिंग में किया जाता है।


A layering of a directed graph assigns a natural number to each vertex.

एक निर्देशित ग्राफ का लेयरिंग प्रत्येक शीर्ष को एक प्राकृतिक संख्या निर्दिष्ट करता है।


A directed graph is acyclic if and only if it has a valid layering.

एक निर्देशित ग्राफ अचक्रीय होता है यदि और केवल यदि इसमें एक मान्य लेयरिंग हो।


We will use induction on the number of vertices.

हम शीर्षों की संख्या पर प्रेरण का उपयोग करेंगे।


The base case is when there are no vertices.

आधार मामला तब होता है जब कोई शीर्ष नहीं होते हैं।


We make the inductive hypothesis that every DAG with at most n-1 vertices has a layering.

हम आगमनात्मक परिकल्पना करते हैं कि अधिकतम n-1 शीर्षों वाले प्रत्येक DAG में एक लेयरिंग है।


न्यूनतम लेयरिंग अद्वितीय है।


आज मौसम सुहावना है।


क्या आप कृपया मुझे नमक दे सकते हैं?


I am going to the market to buy some groceries.

मैं कुछ किराने का सामान खरीदने के लिए बाज़ार जा रहा हूँ।


The company announced its quarterly earnings report.

कंपनी ने अपनी तिमाही आय रिपोर्ट की घोषणा की।


The algorithm efficiently sorts the data.

एल्गोरिदम कुशलता से डेटा को सॉर्ट करता है।


Despite the challenges, they persevered and succeeded.

चुनौतियों के बावजूद, वे डटे रहे और सफल हुए।


The conference will be held in Delhi next month.

सम्मेलन अगले महीने दिल्ली में आयोजित किया जाएगा।


वह अपने क्षेत्र में एक प्रसिद्ध विशेषज्ञ हैं।


The research paper explores the impact of climate change.

शोध पत्र जलवायु परिवर्तन के प्रभाव की पड़ताल करता है।


The government implemented new policies to boost the economy.

सरकार ने अर्थव्यवस्था को बढ़ावा देने के लिए नई नीतियां लागू कीं।


The intricate design of the building is quite impressive.

इमारत का जटिल डिज़ाइन काफी प्रभावशाली है।


The software update includes several bug fixes and performance enhancements.

सॉफ्टवेयर अपडेट में कई बग फिक्स और प्रदर्शन वृद्धि शामिल हैं।


The philosophical debate centered on the nature of consciousness.

दार्शनिक बहस चेतना की प्रकृति पर केंद्रित थी।


The company's innovative approach disrupted the industry.

कंपनी के नवीन दृष्टिकोण ने उद्योग को बाधित कर दिया।


The economic downturn had a significant impact on global markets.

आर्थिक मंदी का वैश्विक बाजारों पर महत्वपूर्ण प्रभाव पड़ा।


The complex equation required advanced mathematical techniques to solve.

जटिल समीकरण को हल करने के लिए उन्नत गणितीय तकनीकों की आवश्यकता थी।


The artist's evocative use of color created a sense of wonder.

कलाकार के रंग के मार्मिक उपयोग ने आश्चर्य की भावना पैदा की।


The political landscape is constantly evolving, presenting new challenges.

राजनीतिक परिदृश्य लगातार विकसित हो रहा है, जिससे नई चुनौतियाँ पेश हो रही हैं।


The scientific community is actively researching potential cures for the disease.

वैज्ञानिक समुदाय इस बीमारी के संभावित इलाज पर सक्रिय रूप से शोध कर रहा है।


The intricate details of the historical event were meticulously documented.

ऐतिहासिक घटना के जटिल विवरणों को सावधानीपूर्वक प्रलेखित किया गया था।


When we write down text or make a drawing we are representing ideas or experiences as sequences of symbols.

जब हम पाठ लिखते हैं या कोई चित्र बनाते हैं तो हम विचारों या अनुभवों को प्रतीकों की श्रृंखला के रूप में दर्शाते हैं।


Even our brain does not store the actual sensory inputs we experience, but rather only a representation of them.

यहां तक कि हमारा दिमाग भी हमारे द्वारा अनुभव किए गए वास्तविक संवेदी इनपुट को संग्रहीत नहीं करता है, बल्कि केवल उनका प्रतिनिधित्व करता है।


To use objects such as numbers, images, graphs, or others as inputs for computation, we need to define precisely how to represent these objects as binary strings.

गणना के लिए संख्याओं, छवियों, रेखांकन, या अन्य जैसी वस्तुओं का इनपुट के रूप में उपयोग करने के लिए, हमें सटीक रूप से परिभाषित करने की आवश्यकता है कि इन वस्तुओं को बाइनरी स्ट्रिंग के रूप में कैसे दर्शाया जाए।


A representation scheme is a way to map an object x to a binary string E(x) ∈ {0,1} *.

एक प्रतिनिधित्व योजना एक वस्तु x को एक बाइनरी स्ट्रिंग E(x) ∈ {0,1} * पर मैप करने का एक तरीका है।


For example, a representation scheme for natural numbers is a function E : ℕ → {0,1} *.

उदाहरण के लिए, प्राकृतिक संख्याओं के लिए एक प्रतिनिधित्व योजना एक फ़ंक्शन E : ℕ → {0,1} * है।


Of course, we cannot merely represent all numbers as the string “0011”.

बेशक, हम सभी संख्याओं को केवल स्ट्रिंग “0011” के रूप में नहीं दर्शा सकते।


A minimal requirement is that if two numbers x and x' are different then they would be represented by different strings.

एक न्यूनतम आवश्यकता यह है कि यदि दो संख्याएँ x और x' भिन्न हैं तो उन्हें अलग-अलग स्ट्रिंग द्वारा दर्शाया जाएगा।


Another way to say this is that we require the encoding function E to be one to one.

इसे कहने का एक और तरीका यह है कि हमें एन्कोडिंग फ़ंक्शन E को एक से एक होने की आवश्यकता है।


We now show how we can represent natural numbers as binary strings.

अब हम दिखाते हैं कि हम प्राकृतिक संख्याओं को बाइनरी स्ट्रिंग के रूप में कैसे दर्शा सकते हैं।


We can use any one of those as well as many others to represent a number as a string.

हम किसी भी एक का उपयोग कर सकते हैं और साथ ही कई अन्य संख्याओं को एक स्ट्रिंग के रूप में दर्शाने के लिए।


However, for the sake of concreteness, we use the binary basis as our default representation of natural numbers as strings.

हालांकि, स्पष्टता के लिए, हम प्राकृतिक संख्याओं को स्ट्रिंग के रूप में दर्शाने के लिए अपने डिफ़ॉल्ट प्रतिनिधित्व के रूप में बाइनरी आधार का उपयोग करते हैं।


For example, we represent the number six as the string 110 since 1⋅2^2 +1⋅2^1 +0⋅2^0 = 6.

उदाहरण के लिए, हम संख्या छह को स्ट्रिंग 110 के रूप में दर्शाते हैं क्योंकि 1⋅2^2 +1⋅2^1 +0⋅2^0 = 6।


If n is even, then the least significant digit of n’s binary representation is 0, while if n is odd then this digit equals 1.

यदि n सम है, तो n के बाइनरी प्रतिनिधित्व का सबसे कम महत्वपूर्ण अंक 0 है, जबकि यदि n विषम है तो यह अंक 1 के बराबर है।


The function NtS is defined recursively: for every n > 1 we define rep(n) in terms of the representation of the smaller number ⌊n/2⌋.

फ़ंक्शन NtS को पुनरावर्ती रूप से परिभाषित किया गया है: प्रत्येक n > 1 के लिए हम छोटी संख्या ⌊n/2⌋ के प्रतिनिधित्व के संदर्भ में rep(n) को परिभाषित करते हैं।


Throughout most of this book, the particular choices of representation of numbers as binary strings would not matter much.

इस पुस्तक के अधिकांश भाग में, संख्याओं को बाइनरी स्ट्रिंग के रूप में दर्शाने के विशेष विकल्प बहुत मायने नहीं रखेंगे।


We can implement the binary representation in Python as follows:

हम पायथन में बाइनरी प्रतिनिधित्व को इस प्रकार लागू कर सकते हैं:


We can also use Python to implement the inverse transformation, mapping a string back to the natural number it represents.

हम पायथन का उपयोग व्युत्क्रम परिवर्तन को लागू करने के लिए भी कर सकते हैं, एक स्ट्रिंग को वापस उस प्राकृतिक संख्या पर मैप करना जिसका वह प्रतिनिधित्व करता है।


It is natural for us to think of 236 as the “actual” number, and of 11101100 as “merely” its representation.

हमारे लिए 236 को “वास्तविक” संख्या के रूप में और 11101100 को “केवल” इसके प्रतिनिधित्व के रूप में सोचना स्वाभाविक है।


However, for most Europeans in the middle ages CCXXXVI would be the “actual” number and 236 (if they have even heard about it) would be the weird Hindu-Arabic positional representation.

हालांकि, मध्य युग के अधिकांश यूरोपीय लोगों के लिए CCXXXVI “वास्तविक” संख्या होगी और 236 (यदि उन्होंने इसके बारे में सुना भी है) अजीब हिंदू-अरबी स्थितिगत प्रतिनिधित्व होगा।


We have seen that natural numbers can be represented as binary strings.

हमने देखा है कि प्राकृतिक संख्याओं को बाइनरी स्ट्रिंग के रूप में दर्शाया जा सकता है।


If S = {0,1,2,3,4,5,6,7,8,9} and T = {0,1}, then the table below defines a function F ∶ S → T.

यदि S = {0,1,2,3,4,5,6,7,8,9} और T = {0,1} है, तो नीचे दी गई तालिका एक फ़ंक्शन F ∶ S → T को परिभाषित करती है।


Note that this function is the same as the function defined by the rule F(x) = (x mod 2).

ध्यान दें कि यह फ़ंक्शन उसी फ़ंक्शन के समान है जिसे नियम F(x) = (x mod 2) द्वारा परिभाषित किया गया है।


If F ∶ S → T satisfies that F(x) ≠ F(y) for all x ≠ y then we say that F is one-to-one.

यदि F ∶ S → T इस प्रकार है कि सभी x ≠ y के लिए F(x) ≠ F(y) है, तो हम कहते हैं कि F एक-से-एक है।


If F satisfies that for every y ∈ T there is some x ∈ S such that F(x) = y then we say that F is onto.

यदि F इस प्रकार है कि प्रत्येक y ∈ T के लिए कुछ x ∈ S है जैसे कि F(x) = y, तो हम कहते हैं कि F आच्छादक है।


A function that is both one-to-one and onto is known as a bijective function or simply a bijection.

एक फ़ंक्शन जो एक-से-एक और आच्छादक दोनों है, उसे एक द्विभाजित फ़ंक्शन या बस एक द्विभाजन के रूप में जाना जाता है।


A bijection from a set S to itself is also known as a permutation of S.

एक सेट S से स्वयं तक एक द्विभाजन को S का क्रमपरिवर्तन भी कहा जाता है।


If F ∶ S → T is a bijection then for every y ∈ T there is a unique x ∈ S such that F(x) = y.

यदि F ∶ S → T एक द्विभाजन है, तो प्रत्येक y ∈ T के लिए एक अद्वितीय x ∈ S है जैसे कि F(x) = y।


हम इस मान x को F−1(y) द्वारा दर्शाते हैं।


Giving a bijection between two sets is often a good way to show they have the same size.

दो सेटों के बीच एक द्विभाजन देना अक्सर यह दिखाने का एक अच्छा तरीका है कि उनका आकार समान है।


In fact, the standard mathematical definition of the notion that “S and T have the same cardinality” is that there exists a bijection f ∶ S → T.

वास्तव में, इस धारणा की मानक गणितीय परिभाषा कि “S और T की कार्डिनैलिटी समान है” यह है कि एक द्विभाजन f ∶ S → T मौजूद है।


Further, the cardinality of a set S is defined to be n if there is a bijection from S to the set {0,...,n − 1}.

इसके अतिरिक्त, एक सेट S की कार्डिनैलिटी को n के रूप में परिभाषित किया गया है यदि S से सेट {0,...,n − 1} तक एक द्विभाजन है।


As we will see later in this book, this is a definition that generalizes to defining the cardinality of infinite sets.

जैसा कि हम इस पुस्तक में बाद में देखेंगे, यह एक ऐसी परिभाषा है जो अनंत सेटों की कार्डिनैलिटी को परिभाषित करने के लिए सामान्यीकृत होती है।


Partial functions: We will sometimes be interested in partial functions from S to T.

आंशिक फ़ंक्शन: हम कभी-कभी S से T तक आंशिक फ़ंक्शन में रुचि रखते हैं।


A partial function is allowed to be undefined on some subset of S.

एक आंशिक फ़ंक्शन को S के कुछ सबसेट पर अपरिभाषित होने की अनुमति है।


That is, if F is a partial function from S to T, then for every s ∈ S, either there is (as in the case of standard functions) an element F(s) in T, or F(s) is undefined.

अर्थात, यदि F, S से T तक एक आंशिक फ़ंक्शन है, तो प्रत्येक s ∈ S के लिए, या तो एक तत्व F(s) T में है (जैसा कि मानक फ़ंक्शन के मामले में होता है), या F(s) अपरिभाषित है।


For example, the partial function F(x) = √x is only defined on non-negative real numbers.

उदाहरण के लिए, आंशिक फ़ंक्शन F(x) = √x केवल गैर-नकारात्मक वास्तविक संख्याओं पर परिभाषित है।


When we want to distinguish between partial functions and standard (i.e., non-partial) functions, we will call the latter total functions.

जब हम आंशिक फ़ंक्शन और मानक (अर्थात, गैर-आंशिक) फ़ंक्शन के बीच अंतर करना चाहते हैं, तो हम बाद वाले को कुल फ़ंक्शन कहेंगे।


When we say “function” without any qualifier then we mean a total function.

जब हम बिना किसी योग्यता के “फ़ंक्शन” कहते हैं तो हमारा मतलब एक कुल फ़ंक्शन होता है।


The notion of partial functions is a strict generalization of functions, and so every function is a partial function, but not every partial function is a function.

आंशिक फ़ंक्शन की धारणा फ़ंक्शन का एक सख्त सामान्यीकरण है, और इसलिए प्रत्येक फ़ंक्शन एक आंशिक फ़ंक्शन है, लेकिन हर आंशिक फ़ंक्शन एक फ़ंक्शन नहीं है।


When we want to emphasize that a function f from A to B might not be total, we will write f ∶ A → p B.

जब हम इस बात पर ज़ोर देना चाहते हैं कि A से B तक का एक फ़ंक्शन f कुल नहीं हो सकता है, तो हम f ∶ A → p B लिखेंगे।


If a vertex has in-neighbors, then there exists an in-neighbor u of v such that f(u) = f(v) - 1.

यदि किसी शीर्ष के इन-पड़ोसी हैं, तो एक इन-पड़ोसी u मौजूद है जो v का है जैसे कि f(u) = f(v) - 1।


For every layering f, g : V → ℕ of G, if both f and g are minimal then f = g.

G के प्रत्येक लेयरिंग f, g : V → ℕ के लिए, यदि f और g दोनों न्यूनतम हैं तो f = g।


The definition of minimality in Theorem 1.26 implies that for every vertex v ∈ V, we cannot move it to a lower layer without making the layering invalid.

प्रमेय 1.26 में न्यूनतमता की परिभाषा का तात्पर्य है कि प्रत्येक शीर्ष v ∈ V के लिए, हम लेयरिंग को अमान्य बनाए बिना इसे निचली परत में नहीं ले जा सकते।


If v is a source (i.e., has in-degree zero) then a minimal layering f must put it in layer 0.

यदि v एक स्रोत है (अर्थात, इन-डिग्री शून्य है) तो एक न्यूनतम लेयरिंग f को इसे परत 0 में रखना होगा।


For every other v, if f(v) = i, then we cannot modify this to set f(v) ≤ i - 1 since there is an in-neighbor u of v satisfying f(u) = i - 1.

प्रत्येक अन्य v के लिए, यदि f(v) = i, तो हम इसे f(v) ≤ i - 1 सेट करने के लिए संशोधित नहीं कर सकते क्योंकि v का एक इन-पड़ोसी u है जो f(u) = i - 1 को संतुष्ट करता है।


What Theorem 1.26 says is that a minimal layering f is unique in the sense that every other minimal layering is equal to f.

प्रमेय 1.26 का कहना है कि एक न्यूनतम लेयरिंग f इस अर्थ में अद्वितीय है कि हर दूसरा न्यूनतम लेयरिंग f के बराबर है।


The idea is to prove the theorem by induction on the layers.

विचार परतों पर प्रेरण द्वारा प्रमेय को सिद्ध करना है।


If f and g are minimal then they must agree on the source vertices, since both f and g should assign these vertices to layer 0.

यदि f और g न्यूनतम हैं तो उन्हें स्रोत शीर्षों पर सहमत होना चाहिए, क्योंकि f और g दोनों को इन शीर्षों को परत 0 पर निर्दिष्ट करना चाहिए।


We can then show that if f and g agree up to layer i-1, then the minimality property implies that they need to agree in layer i as well.

फिर हम दिखा सकते हैं कि यदि f और g परत i-1 तक सहमत हैं, तो न्यूनतमता गुण का तात्पर्य है कि उन्हें परत i में भी सहमत होने की आवश्यकता है।


In the actual proof we use a small trick to save on writing.

वास्तविक प्रमाण में हम लिखने पर बचत करने के लिए एक छोटी सी चाल का उपयोग करते हैं।


Rather than proving the statement that f = g (or in other words that f(v) = g(v) for every v ∈ V), we prove the weaker statement that f(v) ≤ g(v) for every v ∈ V.

इस कथन को साबित करने के बजाय कि f = g (या दूसरे शब्दों में कि प्रत्येक v ∈ V के लिए f(v) = g(v)), हम कमजोर कथन साबित करते हैं कि प्रत्येक v ∈ V के लिए f(v) ≤ g(v)।


However, since f and g are just labels we give to two minimal layerings, by simply changing the names “f” and “g” the same proof also shows that g(v) ≤ f(v) for every v ∈ V and hence that f = g.

हालांकि, चूंकि f और g केवल लेबल हैं जो हम दो न्यूनतम लेयरिंग को देते हैं, केवल नामों “f” और “g” को बदलकर, वही प्रमाण यह भी दर्शाता है कि प्रत्येक v ∈ V के लिए g(v) ≤ f(v) और इसलिए कि f = g।


प्रमेय 1.26 का प्रमाण।


Let G = (V, E) be a DAG and f, g : V → ℕ be two minimal valid layerings of G.

मान लीजिए G = (V, E) एक DAG है और f, g : V → ℕ G के दो न्यूनतम मान्य लेयरिंग हैं।


We will prove that for every v ∈ V, f(v) ≤ g(v).

हम साबित करेंगे कि प्रत्येक v ∈ V के लिए, f(v) ≤ g(v)।


Since we didn’t assume anything about f, g except their minimality, the same proof will imply that for every v ∈ V, g(v) ≤ f(v) and hence that f(v) = g(v) for every v ∈ V, which is what we needed to show.

चूंकि हमने f, g के बारे में उनकी न्यूनतमता के अलावा कुछ भी नहीं माना, वही प्रमाण यह दर्शाता है कि प्रत्येक v ∈ V के लिए, g(v) ≤ f(v) और इसलिए कि प्रत्येक v ∈ V के लिए f(v) = g(v), जो हमें दिखाने की आवश्यकता थी।


We will prove that f(v) ≤ g(v) for every v ∈ V by induction on i = f(v).

हम i = f(v) पर प्रेरण द्वारा प्रत्येक v ∈ V के लिए f(v) ≤ g(v) साबित करेंगे।


The case i = 0 is immediate: since in this case f(v) = 0, g(v) must be at least f(v).

मामला i = 0 तत्काल है: चूंकि इस मामले में f(v) = 0, g(v) कम से कम f(v) होना चाहिए।


For the case i > 0, by the minimality of f, if f(v) = i then there must exist some in-neighbor u of v such that f(u) = i-1.

मामले i > 0 के लिए, f की न्यूनतमता से, यदि f(v) = i तो v का कोई इन-पड़ोसी u होना चाहिए जैसे कि f(u) = i-1।


By the induction hypothesis we get that g(u) ≥ i-1, and since g is a valid layering it must hold that g(v) > g(u) which means that g(v) ≥ i = f(v).

प्रेरण परिकल्पना से हमें पता चलता है कि g(u) ≥ i-1, और चूंकि g एक मान्य लेयरिंग है, इसलिए यह होना चाहिए कि g(v) > g(u) जिसका अर्थ है कि g(v) ≥ i = f(v)।


आज धूप बहुत तेज चमक रही है।


क्या आप कृपया मुझे नमक दे सकते हैं?


I am going to the market to buy some vegetables.

मैं कुछ सब्जियां खरीदने के लिए बाजार जा रहा हूँ।


The company announced a new product launch.

कंपनी ने एक नए उत्पाद के लॉन्च की घोषणा की।


The research team is working on a new algorithm.

अनुसंधान टीम एक नए एल्गोरिदम पर काम कर रही है।


Despite the challenges, they persevered and succeeded.

चुनौतियों के बावजूद, वे डटे रहे और सफल हुए।


The government implemented new policies to boost the economy.

सरकार ने अर्थव्यवस्था को बढ़ावा देने के लिए नई नीतियां लागू कीं।


The data analysis revealed significant trends.

डेटा विश्लेषण ने महत्वपूर्ण रुझानों का खुलासा किया।


The complexities of international relations are vast.

अंतर्राष्ट्रीय संबंधों की जटिलताएँ बहुत बड़ी हैं।


The implications of the new technology are far-reaching.

नई तकनीक के निहितार्थ दूरगामी हैं।


The philosophical debate centered on the nature of consciousness.

दार्शनिक बहस चेतना की प्रकृति पर केंद्रित थी।


The economic forecast predicted a period of slow growth.

आर्थिक पूर्वानुमान में धीमी वृद्धि की अवधि की भविष्यवाणी की गई थी।


The algorithm's efficiency was significantly improved.

एल्गोरिदम की दक्षता में काफी सुधार हुआ।


The historical context is crucial for understanding the events.

घटनाओं को समझने के लिए ऐतिहासिक संदर्भ महत्वपूर्ण है।


The company's strategic plan involves market expansion.

कंपनी की रणनीतिक योजना में बाजार का विस्तार शामिल है।


The scientific community is debating the ethical implications.

वैज्ञानिक समुदाय नैतिक निहितार्थों पर बहस कर रहा है।


The intricate details of the project were meticulously planned.

परियोजना के जटिल विवरणों की सावधानीपूर्वक योजना बनाई गई थी।


The political landscape is constantly shifting and evolving.

राजनीतिक परिदृश्य लगातार बदल रहा है और विकसित हो रहा है।


The long-term consequences of climate change are concerning.

जलवायु परिवर्तन के दीर्घकालिक परिणाम चिंताजनक हैं।


The complex interplay of factors makes prediction difficult.

कारकों की जटिल अंतःक्रिया भविष्यवाणी को कठिन बना देती है।


The proof of Lemma 2.20 is not the only or even the best way to transform an arbitrary representation into prefix-free form.

प्रमेय 2.20 का प्रमाण मनमानी प्रतिनिधित्व को उपसर्ग-मुक्त रूप में बदलने का एकमात्र या सबसे अच्छा तरीका नहीं है।


Exercise 2.10 asks you to construct a more efficient prefix-free transformation satisfying |E(o)| ≤ |E(o)| + O(log|E(o)|).

अभ्यास 2.10 आपको एक अधिक कुशल उपसर्ग-मुक्त परिवर्तन बनाने के लिए कहता है जो |E(o)| ≤ |E(o)| + O(log|E(o)|) को संतुष्ट करता है।


We start with the “Python proof” of Lemma 2.20: a way to transform an arbitrary representation into one that is prefix free.

हम प्रमेय 2.20 के “पाइथन प्रमाण” से शुरू करते हैं: एक मनमानी प्रतिनिधित्व को एक ऐसे में बदलने का एक तरीका जो उपसर्ग मुक्त हो।


The Braille system is another way to encode letters and other symbols as binary strings.

ब्रेल प्रणाली अक्षरों और अन्य प्रतीकों को बाइनरी स्ट्रिंग्स के रूप में एन्कोड करने का एक और तरीका है।


We can represent a letter or symbol by a string, and then if this representation is prefix-free, we can represent a sequence of symbols by merely concatenating the representation of each symbol.

हम एक अक्षर या प्रतीक को एक स्ट्रिंग द्वारा दर्शा सकते हैं, और फिर यदि यह प्रतिनिधित्व उपसर्ग-मुक्त है, तो हम प्रत्येक प्रतीक के प्रतिनिधित्व को जोड़कर प्रतीकों के एक क्रम को दर्शा सकते हैं।


Unicode is the representation of (at the time of this writing) about 128,000 symbols as numbers (known as code points) between 0 and 1,114,111.

यूनिकोड (इस लेखन के समय) लगभग 128,000 प्रतीकों का संख्याओं के रूप में प्रतिनिधित्व है (जिन्हें कोड पॉइंट के रूप में जाना जाता है) जो 0 और 1,114,111 के बीच हैं।


The Braille system was invented in 1821 by Louis Braille when he was just 12 years old.

ब्रेल प्रणाली का आविष्कार 1821 में लुई ब्रेल ने किया था जब वह सिर्फ 12 साल के थे।


We can use programming languages to probe how our computing environment represents various values.

हम यह जांचने के लिए प्रोग्रामिंग भाषाओं का उपयोग कर सकते हैं कि हमारा कंप्यूटिंग वातावरण विभिन्न मानों का प्रतिनिधित्व कैसे करता है।


In the architecture we used, a negative number is represented using the two’s complement approach.

हमने जिस आर्किटेक्चर का उपयोग किया, उसमें एक ऋणात्मक संख्या को दो के पूरक दृष्टिकोण का उपयोग करके दर्शाया गया है।


Once we can represent numbers and lists of numbers, then we can also represent vectors (which are just lists of numbers).

एक बार जब हम संख्याओं और संख्याओं की सूचियों का प्रतिनिधित्व कर सकते हैं, तो हम वैक्टर (जो केवल संख्याओं की सूचियाँ हैं) का भी प्रतिनिधित्व कर सकते हैं।


To represent an image, we can represent the color at each pixel by a list of three numbers corresponding to the intensity of Red, Green and Blue.

एक छवि का प्रतिनिधित्व करने के लिए, हम प्रत्येक पिक्सेल पर रंग को लाल, हरे और नीले रंग की तीव्रता के अनुरूप तीन संख्याओं की एक सूची द्वारा दर्शा सकते हैं।


A video can be represented as a list of images.

एक वीडियो को छवियों की एक सूची के रूप में दर्शाया जा सकता है।


A graph on n vertices can be represented as an n × n adjacency matrix.

n शीर्षों पर एक ग्राफ को n × n आसन्न मैट्रिक्स के रूप में दर्शाया जा सकता है।


Another representation for graphs is the adjacency list representation.

ग्राफ के लिए एक अन्य प्रतिनिधित्व आसन्न सूची प्रतिनिधित्व है।


If we have a way of representing objects from a set S as binary strings, then we can represent lists of these objects by applying a prefix-free transformation.

यदि हमारे पास सेट S से वस्तुओं को बाइनरी स्ट्रिंग्स के रूप में दर्शाने का एक तरीका है, तो हम एक उपसर्ग-मुक्त परिवर्तन लागू करके इन वस्तुओं की सूचियों का प्रतिनिधित्व कर सकते हैं।


We will typically identify an object with its representation as a string.

हम आमतौर पर किसी वस्तु को उसके प्रतिनिधित्व के साथ एक स्ट्रिंग के रूप में पहचानेंगे।


Abstractly, a computational process is some process that takes an input which is a string of bits and produces an output which is a string of bits.

अमूर्त रूप से, एक कम्प्यूटेशनल प्रक्रिया कुछ ऐसी प्रक्रिया है जो एक इनपुट लेती है जो बिट्स की एक स्ट्रिंग है और एक आउटपुट उत्पन्न करती है जो बिट्स की एक स्ट्रिंग है।


For example, consider the task of finding any solution for a given set of equations.

उदाहरण के लिए, समीकरणों के दिए गए सेट के लिए कोई भी समाधान खोजने के कार्य पर विचार करें।


We will be interested in questions such as: For a given function F, can it be the case that there is no algorithm to compute F?

हमें ऐसे प्रश्नों में दिलचस्पी होगी जैसे: किसी दिए गए फ़ंक्शन F के लिए, क्या ऐसा हो सकता है कि F की गणना करने के लिए कोई एल्गोरिदम न हो?


A program computes a function, but it is not the same as a function, popular programming language terminology notwithstanding.

एक प्रोग्राम एक फ़ंक्शन की गणना करता है, लेकिन यह एक फ़ंक्शन के समान नहीं है, लोकप्रिय प्रोग्रामिंग भाषा शब्दावली के बावजूद।


Early vacuum tubes were roughly the size of lightbulbs.

शुरुआती वैक्यूम ट्यूब लगभग बल्ब के आकार के थे।


In the 1950’s they were supplanted by transistors.

1950 के दशक में, उनकी जगह ट्रांजिस्टर ने ले ली।


Computers started to be implemented using integrated circuits.

कंप्यूटरों को इंटीग्रेटेड सर्किट का उपयोग करके लागू करना शुरू कर दिया गया।


In 1965, Gordon Moore predicted that the number of transistors per integrated circuit would double every year.

1965 में, गॉर्डन मूर ने भविष्यवाणी की थी कि प्रति इंटीग्रेटेड सर्किट में ट्रांजिस्टर की संख्या हर साल दोगुनी हो जाएगी।


This would lead to such wonders as home computers.

इससे होम कंप्यूटर जैसे आश्चर्यजनक परिणाम सामने आएंगे।


Since then, adjusted versions of Moore’s law have been running strong.

तब से, मूर के नियम के संशोधित संस्करण मजबूत गति से चल रहे हैं।


Exponential growth cannot be sustained forever.

घातीय वृद्धि को हमेशा के लिए बनाए नहीं रखा जा सकता है।


We can use transistors to implement various Boolean functions.

हम विभिन्न बूलियन कार्यों को लागू करने के लिए ट्रांजिस्टर का उपयोग कर सकते हैं।


This means that if there exists a AND/OR/NOT circuit to compute a function.

इसका मतलब है कि यदि किसी फ़ंक्शन की गणना के लिए AND/OR/NOT सर्किट मौजूद है।


Computation can be based on biological or chemical systems.

गणना जैविक या रासायनिक प्रणालियों पर आधारित हो सकती है।


Researchers have managed to create transistors, and from them logic gates, based on DNA molecules.

शोधकर्ताओं ने डीएनए अणुओं पर आधारित ट्रांजिस्टर और उनसे लॉजिक गेट बनाने में कामयाबी हासिल की है।


One motivation for DNA computing is to achieve increased parallelism or storage density.

डीएनए कंप्यूटिंग का एक उद्देश्य बढ़ी हुई समानांतरता या भंडारण घनत्व प्राप्त करना है।


Brains have served humanity throughout history.

मस्तिष्क ने पूरे इतिहास में मानवता की सेवा की है।


A neural network can be thought of as a Boolean circuit.

एक तंत्रिका नेटवर्क को एक बूलियन सर्किट के रूप में सोचा जा सकता है।


For example, the threshold function corresponding to w,t is the function.

उदाहरण के लिए, w,t के अनुरूप थ्रेसहोल्ड फ़ंक्शन फ़ंक्शन है।


Many machine learning algorithms use artificial neural networks.

कई मशीन लर्निंग एल्गोरिदम कृत्रिम तंत्रिका नेटवर्क का उपयोग करते हैं।


We can implement computation using many other physical media.

हम कई अन्य भौतिक माध्यमों का उपयोग करके गणना लागू कर सकते हैं।


The NAND function is another simple function that is extremely useful.

NAND फ़ंक्शन एक और सरल फ़ंक्शन है जो बेहद उपयोगी है।


We can compute AND, OR, and NOT by composing only the NAND function.

हम केवल NAND फ़ंक्शन की रचना करके AND, OR, और NOT की गणना कर सकते हैं।


For every Boolean circuit C of s gates, there exists a NAND circuit C' of at most 3s gates that computes the same function as C.

s गेट्स के प्रत्येक बूलियन सर्किट C के लिए, अधिकतम 3s गेट्स का एक NAND सर्किट C' मौजूद है जो C के समान फ़ंक्शन की गणना करता है।


The NAND gate is a fundamental building block in digital circuits.

NAND गेट डिजिटल सर्किट में एक बुनियादी निर्माण खंड है।


We can use NAND gates to build all other logic gates.

हम अन्य सभी लॉजिक गेट बनाने के लिए NAND गेट का उपयोग कर सकते हैं।


The concept of universality is crucial in computer science.

कम्प्यूटर विज्ञान में सार्वभौमिकता की अवधारणा महत्वपूर्ण है।


A program is a set of instructions for a computer.

एक प्रोग्राम कंप्यूटर के लिए निर्देशों का एक समूह है।


Distinguishing between specification and implementation is important.

विशिष्टीकरण और कार्यान्वयन के बीच अंतर करना महत्वपूर्ण है।


Algorithms provide a recipe for computation.

एल्गोरिदम गणना के लिए एक नुस्खा प्रदान करते हैं।


The NAND operation is easily implementable in the physical world.

NAND ऑपरेशन भौतिक दुनिया में आसानी से लागू किया जा सकता है।


We can compute many functions using NAND.

हम NAND का उपयोग करके कई कार्यों की गणना कर सकते हैं।


Boolean circuits are a fundamental model of computation.

बूलियन सर्किट गणना का एक मौलिक मॉडल हैं।


The exercises cover universal and non-universal gate sets.

अभ्यास सार्वभौमिक और गैर-सार्वभौमिक गेट सेट को कवर करते हैं।


Syntactic sugar makes code more readable.

सिंटैक्टिक शुगर कोड को अधिक पठनीय बनाता है।


User-defined procedures enhance code organization.

उपयोगकर्ता-परिभाषित प्रक्रियाएं कोड संगठन को बढ़ाती हैं।


The IF function is essential for conditional statements.

IF फ़ंक्शन सशर्त कथनों के लिए आवश्यक है।


Every finite function can be computed by a Boolean circuit.

प्रत्येक परिमित फ़ंक्शन की गणना एक बूलियन सर्किट द्वारा की जा सकती है।


Gate complexity is an important consideration in circuit design.

गेट जटिलता सर्किट डिजाइन में एक महत्वपूर्ण विचार है।


The concept of 'syntactic sugar' is important in programming.

'सिंटैक्टिक शुगर' की अवधारणा प्रोग्रामिंग में महत्वपूर्ण है।


Understanding the basics of NAND gates is crucial for computer science students.

कंप्यूटर विज्ञान के छात्रों के लिए NAND गेट की मूल बातें समझना महत्वपूर्ण है।


The efficiency of a circuit is often measured by its gate count.

एक सर्किट की दक्षता अक्सर उसके गेट गणना से मापी जाती है।


The book delves into the theory of computation.

पुस्तक गणना के सिद्धांत में गहराई से उतरती है।


The ability to define procedures simplifies complex programs.

प्रक्रियाओं को परिभाषित करने की क्षमता जटिल कार्यक्रमों को सरल बनाती है।


We will see that we would obtain the same computational power if we instead used addition and multiplication.

हम देखेंगे कि यदि हम इसके बजाय जोड़ और गुणा का उपयोग करते हैं तो हमें समान कम्प्यूटेशनल शक्ति प्राप्त होगी।


We can make the definition of an algorithm fully formal, and so give a precise mathematical meaning to statements such as “Algorithm A computes function f”.

हम एक एल्गोरिदम की परिभाषा को पूरी तरह से औपचारिक बना सकते हैं, और इस प्रकार बयानों को एक सटीक गणितीय अर्थ दे सकते हैं जैसे “एल्गोरिदम ए फ़ंक्शन f की गणना करता है”।


We will see that we would obtain the same computational power if we instead used addition and multiplication, and essentially every other operation that could be reasonably thought of as a basic step.

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


We can write Python code that corresponds to following such a list of instructions.

हम पायथन कोड लिख सकते हैं जो इस तरह के निर्देशों की सूची का पालन करने के अनुरूप है।


This is how modern electronic computers operate.

आधुनिक इलेक्ट्रॉनिक कंप्यूटर इसी तरह काम करते हैं।


Boolean circuits provide a precise notion of “composing basic operations together”.

बूलियन सर्किट “बुनियादी कार्यों को एक साथ जोड़ने” की एक सटीक धारणा प्रदान करते हैं।


Each gate corresponds to either the OR, AND, or NOT operation.

प्रत्येक गेट या तो OR, AND, या NOT ऑपरेशन से मेल खाता है।


The wires carry a signal that represents either the value 0 or 1.

तार एक संकेत ले जाते हैं जो या तो मान 0 या 1 का प्रतिनिधित्व करता है।


We evaluate an n-input Boolean circuit C on an input x ∈ {0,1} n by placing the bits of x on the inputs, and then propagating the values on the wires until we reach an output.

हम इनपुट x ∈ {0,1} n पर एक n-इनपुट बूलियन सर्किट C का मूल्यांकन इनपुट पर x के बिट्स रखकर करते हैं, और फिर तारों पर मानों को तब तक प्रसारित करते हैं जब तक हम एक आउटपुट तक नहीं पहुँच जाते।


Boolean circuits are a mathematical model that does not necessarily correspond to a physical object, but they can be implemented physically.

बूलियन सर्किट एक गणितीय मॉडल हैं जो जरूरी नहीं कि किसी भौतिक वस्तु के अनुरूप हों, लेकिन उन्हें शारीरिक रूप से लागू किया जा सकता है।


We will begin to answer some of these questions.

हम इन सवालों में से कुछ का जवाब देना शुरू करेंगे।


We will see more examples of the power of simple operations to compute more complex operations including addition, multiplication, sorting and more.

हम जोड़, गुणा, छँटाई और बहुत कुछ सहित अधिक जटिल कार्यों की गणना करने के लिए सरल कार्यों की शक्ति के अधिक उदाहरण देखेंगे।


We will also discuss how to physically implement simple operations such as AND, OR and NOT using a variety of technologies.

हम यह भी चर्चा करेंगे कि विभिन्न तकनीकों का उपयोग करके AND, OR और NOT जैसे सरल कार्यों को शारीरिक रूप से कैसे लागू किया जाए।


Define ALLEQ ∶ {0,1} 4 → {0,1} to be the function that on input x ∈ {0,1} 4 outputs 1 if and only if x 0 = x 1 = x 2 = x 3.

ALLEQ ∶ {0,1} 4 → {0,1} को वह फ़ंक्शन होने दें जो इनपुट x ∈ {0,1} 4 पर 1 आउटपुट करता है यदि और केवल यदि x 0 = x 1 = x 2 = x 3।


Another way to describe the function ALLEQ is that it outputs 1 on an input x ∈ {0,1} 4 if and only if x = 0 4 or x = 1 4.

फ़ंक्शन ALLEQ का वर्णन करने का एक और तरीका यह है कि यह इनपुट x ∈ {0,1} 4 पर 1 आउटपुट करता है यदि और केवल यदि x = 0 4 या x = 1 4।


We can phrase the condition x = 1 4 as x 0 ∧ x 1 ∧ x 2 ∧ x 3 which can be computed using three AND gates.

हम स्थिति x = 1 4 को x 0 ∧ x 1 ∧ x 2 ∧ x 3 के रूप में व्यक्त कर सकते हैं जिसकी गणना तीन AND गेट का उपयोग करके की जा सकती है।


We defined Boolean circuits informally as obtained by connecting AND, OR, and NOT gates via wires so as to produce an output from an input.

हमने बूलियन सर्किट को अनौपचारिक रूप से परिभाषित किया है, जो AND, OR, और NOT गेट को तारों के माध्यम से जोड़कर इनपुट से आउटपुट उत्पन्न करने के लिए प्राप्त किया जाता है।


However, to be able to prove theorems about the existence or non-existence of Boolean circuits for computing various functions we need to: 1. Formally define a Boolean circuit as a mathematical object.

हालांकि, विभिन्न कार्यों की गणना के लिए बूलियन सर्किट के अस्तित्व या गैर-अस्तित्व के बारे में प्रमेय साबित करने में सक्षम होने के लिए हमें आवश्यकता है: 1. औपचारिक रूप से एक बूलियन सर्किट को एक गणितीय वस्तु के रूप में परिभाषित करें।


The inputs are vertices with no incoming edges, while each gate has the appropriate number of incoming edges based on the function it computes.

इनपुट ऐसे शीर्ष हैं जिनमें कोई आने वाले किनारे नहीं हैं, जबकि प्रत्येक गेट में उस फ़ंक्शन के आधार पर आने वाले किनारों की उचित संख्या होती है जिसकी वह गणना करता है।


हम समानांतर किनारों की अनुमति देंगे।


The NAND function is a fundamental building block in digital logic.

NAND फ़ंक्शन डिजिटल तर्क में एक बुनियादी निर्माण खंड है।


Conditional statements can be implemented using the IF function.

शर्तिया बयानों को IF फ़ंक्शन का उपयोग करके लागू किया जा सकता है।


We can replace 'if-then-else' code with the IF function.

हम 'if-then-else' कोड को IF फ़ंक्शन से बदल सकते हैं।


The IF function acts as a multiplexing function.

IF फ़ंक्शन एक मल्टीप्लेक्सिंग फ़ंक्शन के रूप में कार्य करता है।


Addition and multiplication can be implemented using NAND gates.

NAND गेट्स का उपयोग करके जोड़ और गुणा को लागू किया जा सकता है।


The LOOKUP function is crucial for various computational tasks.

LOOKUP फ़ंक्शन विभिन्न कम्प्यूटेशनल कार्यों के लिए महत्वपूर्ण है।


Every finite function can be computed by a Boolean circuit.

हर सीमित फ़ंक्शन को एक बूलियन सर्किट द्वारा गणना की जा सकती है।


The NAND gate is universal; it can implement any logic function.

NAND गेट सार्वभौमिक है; यह किसी भी तर्क फ़ंक्शन को लागू कर सकता है।


यह प्रोग्राम दो n-बिट पूर्णांकों को जोड़ता है।


We can use syntactic sugar to simplify the code.

हम कोड को सरल बनाने के लिए सिंटैक्टिक शुगर का उपयोग कर सकते हैं।


The circuit adds two-digit binary numbers.

सर्किट दो अंकों की बाइनरी संख्याओं को जोड़ता है।


The number of lines in the program can be optimized.

कार्यक्रम में लाइनों की संख्या को अनुकूलित किया जा सकता है।


The LOOKUP function takes an input and an index.

LOOKUP फ़ंक्शन एक इनपुट और एक इंडेक्स लेता है।


हम NAND की सार्वभौमिकता को साबित कर सकते हैं।


प्रमाण k पर प्रेरण का उपयोग करता है।


The function G can be computed using LOOKUP.

फ़ंक्शन G की गणना LOOKUP का उपयोग करके की जा सकती है।


We initialize variables to represent the function's output.

हम फ़ंक्शन के आउटपुट का प्रतिनिधित्व करने के लिए चर को आरंभ करते हैं।


The improved bound reduces the number of gates.

बेहतर सीमा गेट्स की संख्या को कम करती है।


The alternative proof avoids syntactic sugar.

वैकल्पिक प्रमाण सिंटैक्टिक शुगर से बचता है।


सर्किट फ़ंक्शन f की गणना करता है।


आज मौसम सुहावना है।


क्या आप कृपया मुझे नमक दे सकते हैं?


I am going to the market to buy some vegetables.

मैं कुछ सब्जियां खरीदने के लिए बाजार जा रहा हूँ।


The company announced a new product launch.

कंपनी ने एक नए उत्पाद के लॉन्च की घोषणा की।


He is a very talented musician and composer.

वह एक बहुत ही प्रतिभाशाली संगीतकार और रचनाकार हैं।


The government is implementing new policies to boost the economy.

सरकार अर्थव्यवस्था को बढ़ावा देने के लिए नई नीतियाँ लागू कर रही है।


The algorithm efficiently sorts the data.

एल्गोरिदम कुशलता से डेटा को सॉर्ट करता है।


The research paper explores the impact of climate change.

शोध पत्र जलवायु परिवर्तन के प्रभाव की पड़ताल करता है।


The software requires a minimum of 8GB of RAM.

सॉफ्टवेयर को कम से कम 8GB रैम की आवश्यकता है।


Despite the challenges, they persevered and succeeded.

चुनौतियों के बावजूद, उन्होंने हार नहीं मानी और सफलता प्राप्त की।


The intricate details of the design were impressive.

डिजाइन के जटिल विवरण प्रभावशाली थे।


The philosophical implications of the discovery are profound.

खोज के दार्शनिक निहितार्थ गहन हैं।


The economic forecast predicts a period of sustained growth.

आर्थिक पूर्वानुमान सतत विकास की अवधि की भविष्यवाणी करता है।


The complex equation was solved using advanced calculus.

उन्नत कलन का उपयोग करके जटिल समीकरण को हल किया गया।


The company's strategic plan involves global expansion.

कंपनी की रणनीतिक योजना में वैश्विक विस्तार शामिल है।


The judge delivered a verdict after a lengthy deliberation.

न्यायाधीश ने लंबी विचार-विमर्श के बाद फैसला सुनाया।


The nuances of the language are fascinating to study.

भाषा की बारीकियां अध्ययन करने के लिए आकर्षक हैं।


The implications of quantum entanglement are still being explored.

क्वांटम उलझाव के निहितार्थ अभी भी खोजे जा रहे हैं।


The artist's magnum opus was a masterpiece of surrealism.

कलाकार की उत्कृष्ट कृति अतियथार्थवाद की एक उत्कृष्ट कृति थी।


The intricate interplay of factors led to the crisis.

कारकों की जटिल अंतःक्रिया ने संकट को जन्म दिया।


यह कोड एक NAND-CIRC प्रोग्राम का मूल्यांकन करता है।


The function GET retrieves a value from Vartable.

GET फ़ंक्शन Vartable से एक मान प्राप्त करता है।


The UPDATE function modifies the Vartable.

UPDATE फ़ंक्शन Vartable को संशोधित करता है।


The program uses a list-of-tuples representation.

प्रोग्राम टुपल्स के प्रतिनिधित्व की एक सूची का उपयोग करता है।


The code calculates the maximum index in the list L.

कोड सूची L में अधिकतम सूचकांक की गणना करता है।


इनपुट मान Vartable में लोड किए जाते हैं।


The program iterates through the list of tuples.

प्रोग्राम टुपल्स की सूची के माध्यम से पुनरावृति करता है।


The NAND operation is performed on the values.

NAND ऑपरेशन मानों पर किया जाता है।


The output values are returned from the function.

आउटपुट मान फ़ंक्शन से वापस किए जाते हैं।


उदाहरण XOR फ़ंक्शन का परीक्षण करता है।


XOR(0,1) का आउटपुट 1 है।


XOR(1,1) का आउटपुट 0 है।


Understanding GET and LOOKUP is crucial.

GET और LOOKUP को समझना महत्वपूर्ण है।


The UPDATE function for arrays of length 2^ell is defined.

2^ell लंबाई की सरणियों के लिए UPDATE फ़ंक्शन को परिभाषित किया गया है।


The EQUALS function is used within UPDATE.

EQUALS फ़ंक्शन का उपयोग UPDATE के भीतर किया जाता है।


The total number of lines to compute UPDATE is O(s log s).

UPDATE की गणना करने के लिए लाइनों की कुल संख्या O(s log s) है।


The implementation involves careful book keeping.

कार्यान्वयन में सावधानीपूर्वक बहीखाता शामिल है।


The total number of lines for computing EVAL is O(s^2 log s).

EVAL की गणना करने के लिए लाइनों की कुल संख्या O(s^2 log s) है।


NAND does not offer arrays with efficient random access.

NAND कुशल यादृच्छिक पहुंच के साथ सरणियाँ प्रदान नहीं करता है।


It is possible to improve the bound of Theorem 5.10.

प्रमेय 5.10 की सीमा में सुधार करना संभव है।


The number of functions that can be computed using small circuits is much smaller than the total number of functions.

छोटे सर्किट का उपयोग करके गणना की जा सकने वाली कार्यों की संख्या कुल कार्यों की संख्या से बहुत कम है।


A function mapping {0,1} to {0,1} can be identified with the list of its four values.

{0,1} से {0,1} तक मैपिंग करने वाले एक फ़ंक्शन को इसके चार मानों की सूची के साथ पहचाना जा सकता है।


The number of functions mapping {0,1} to {0,1} is equal to the number of possible lists of values.

{0,1} से {0,1} तक मैपिंग करने वाले कार्यों की संख्या मानों की संभावित सूचियों की संख्या के बराबर है।


This yields the following corollary: Theorem 5.3— Counting argument lower bound.

यह निम्नलिखित परिणाम देता है: प्रमेय 5.3— गणना तर्क निचली सीमा।


There is a constant δ > 0, such that for every sufficiently large n, there is a function f : {0,1}n → {0,1}.

एक स्थिरांक δ > 0 है, जैसे कि प्रत्येक पर्याप्त रूप से बड़े n के लिए, एक फ़ंक्शन f : {0,1}n → {0,1} है।


प्रमाण सरल है।


If we let c be the constant such that |SIZE n(s)| ≤ 2 c s log s and δ = 1/c, then setting s = δ2n/n we see that |SIZE n(δ2n/n)| ≤ 2 c δ2n = 2 2n.

यदि हम c को स्थिरांक मानते हैं जैसे कि |SIZE n(s)| ≤ 2 c s log s और δ = 1/c, तो s = δ2n/n सेट करने पर हम देखते हैं कि |SIZE n(δ2n/n)| ≤ 2 c δ2n = 2 2n।


We have seen before that every function mapping {0,1}n to {0,1} can be computed by an O(2n/n) line program.

हमने पहले देखा है कि {0,1}n से {0,1} तक मैपिंग करने वाले प्रत्येक फ़ंक्शन की गणना O(2n/n) लाइन प्रोग्राम द्वारा की जा सकती है।


Some functions f : {0,1}n → {0,1} cannot be computed by a Boolean circuit using fewer than exponential (in n) number of gates.

कुछ फ़ंक्शन f : {0,1}n → {0,1} को घातीय से कम (n में) गेट्स की संख्या का उपयोग करके एक बूलियन सर्किट द्वारा गणना नहीं की जा सकती है।


In fact, as we explore in the exercises, this is the case for most functions.

वास्तव में, जैसा कि हम अभ्यासों में पता लगाते हैं, यह अधिकांश कार्यों के लिए मामला है।


Hence functions that can be computed in a small number of lines are the exception, rather than the rule.

इसलिए, ऐसे फ़ंक्शन जिनकी गणना कुछ ही पंक्तियों में की जा सकती है, नियम के बजाय अपवाद हैं।


The ASCII representation is not the shortest representation for NAND-CIRC programs.

ASCII प्रतिनिधित्व NAND-CIRC प्रोग्राम के लिए सबसे छोटा प्रतिनिधित्व नहीं है।


NAND-CIRC programs are equivalent to circuits with NAND gates.

NAND-CIRC प्रोग्राम NAND गेट्स वाले सर्किट के बराबर हैं।


We prove Theorem 5.5 by coming up with a list f0, ..., f2n of functions.

हम कार्यों की एक सूची f0, ..., f2n के साथ आकर प्रमेय 5.5 को सिद्ध करते हैं।


We can show that for every i, the number of gates to compute fi is at most 10n larger than the number of gates to compute fi-1.

हम दिखा सकते हैं कि प्रत्येक i के लिए, fi की गणना करने के लिए गेट्स की संख्या fi-1 की गणना करने के लिए गेट्स की संख्या से अधिकतम 10n अधिक है।


By Theorem 4.15 the class SIZE n (10 ⋅ 2n/n) contains all functions from {0,1}n to {0,1}, while by Theorem 5.3, there is some function f : {0,1}n → {0,1} that is not contained in SIZE n (0.1 ⋅ 2n/n).

प्रमेय 4.15 के अनुसार वर्ग SIZE n (10 ⋅ 2n/n) में {0,1}n से {0,1} तक के सभी फ़ंक्शन शामिल हैं, जबकि प्रमेय 5.3 के अनुसार, कुछ फ़ंक्शन f : {0,1}n → {0,1} है जो SIZE n (0.1 ⋅ 2n/n) में शामिल नहीं है।


In other words, for every sufficiently large n, SIZE n (0.1 2n/n) ⊊ SIZE n (10 2n/n).

दूसरे शब्दों में, प्रत्येक पर्याप्त रूप से बड़े n के लिए, SIZE n (0.1 2n/n) ⊊ SIZE n (10 2n/n)।


For every sufficiently large n and 10n < s < 0.1⋅2n/n, SIZE n (s) ⊊ SIZE n (s+10n).

प्रत्येक पर्याप्त रूप से बड़े n और 10n < s < 0.1⋅2n/n के लिए, SIZE n (s) ⊊ SIZE n (s+10n)।


To prove the theorem we need to find a function f : {0,1}n → {0,1} such that f can be computed by a circuit of s + 10n gates but it cannot be computed by a circuit of s gates.

प्रमेय को सिद्ध करने के लिए हमें एक फ़ंक्शन f : {0,1}n → {0,1} खोजना होगा जैसे कि f की गणना s + 10n गेट्स के एक सर्किट द्वारा की जा सकती है लेकिन इसकी गणना s गेट्स के एक सर्किट द्वारा नहीं की जा सकती है।


We will do so by coming up with a sequence of functions f0, f1, f2, ..., fN with the following properties:

हम ऐसा कार्यों के एक क्रम f0, f1, f2, ..., fN के साथ आकर करेंगे जिसमें निम्नलिखित गुण हैं:


We will discuss quantum computing in much more detail in Chapter 23.

हम अध्याय 23 में क्वांटम कंप्यूटिंग पर अधिक विस्तार से चर्चा करेंगे।


Governments rely on cryptography to protect state secrets.

सरकारें राज्य के रहस्यों की रक्षा के लिए क्रिप्टोग्राफी पर निर्भर हैं।


We can think of programs both as describing a process, as well as simply a list of symbols.

हम प्रोग्रामों को एक प्रक्रिया का वर्णन करने के साथ-साथ प्रतीकों की एक सूची के रूप में भी सोच सकते हैं।


The main challenge to the PECTT is quantum computing.

PECTT के लिए मुख्य चुनौती क्वांटम कंप्यूटिंग है।


Every function can be computed by many programs.

प्रत्येक फ़ंक्शन की गणना कई प्रोग्रामों द्वारा की जा सकती है।


We can describe a circuit/program as a string.

हम एक सर्किट/प्रोग्राम को एक स्ट्रिंग के रूप में वर्णित कर सकते हैं।


The main take-aways from Chapter 3, Chapter 4, and Chapter 5 are as follows.

अध्याय 3, अध्याय 4 और अध्याय 5 से मुख्य बातें इस प्रकार हैं।


In this chapter, we extend our definition of computational tasks.

इस अध्याय में, हम कम्प्यूटेशनल कार्यों की अपनी परिभाषा का विस्तार करते हैं।


For example, the standard elementary school multiplication algorithm is a single algorithm.

उदाहरण के लिए, मानक प्राथमिक विद्यालय गुणन एल्गोरिदम एक एकल एल्गोरिदम है।


We will sometimes call a function F : {0,1}* -> {0,1} infinite.

हम कभी-कभी एक फ़ंक्शन F : {0,1}* -> {0,1} को अनंत कहेंगे।


For every Boolean function F : {0,1}* -> {0,1}, we can define the set L F = {x|F(x) = 1}.

प्रत्येक बूलियन फ़ंक्शन F : {0,1}* -> {0,1} के लिए, हम सेट L F = {x|F(x) = 1} को परिभाषित कर सकते हैं।


The membership or decision problem for a language L, is the task of determining, given x ∈ {0,1}*, whether or not x ∈ L.

एक भाषा L के लिए सदस्यता या निर्णय समस्या, यह निर्धारित करने का कार्य है, x ∈ {0,1}* दिए जाने पर, कि x ∈ L है या नहीं।


This is a mathematically well-defined function.

यह एक गणितीय रूप से अच्छी तरह से परिभाषित फ़ंक्शन है।


The Twin prime conjecture posits that for every n there exists p > n such that both p and p + 2 are primes.

जुड़वां अभाज्य अनुमान बताता है कि प्रत्येक n के लिए p > n मौजूद है जैसे कि p और p + 2 दोनों अभाज्य हैं।


We will typically not be concerned with low-level details.

हम आम तौर पर निम्न-स्तरीय विवरणों से चिंतित नहीं होंगे।


Functions with a single bit of output are known as Boolean functions.

एकल बिट आउटपुट वाले फ़ंक्शन को बूलियन फ़ंक्शन के रूप में जाना जाता है।


Boolean functions are central to the theory of computation.

बूलियन फ़ंक्शन गणना के सिद्धांत के लिए केंद्रीय हैं।


We can compute BMULT via any programming language.

हम किसी भी प्रोग्रामिंग भाषा के माध्यम से BMULT की गणना कर सकते हैं।


For every function F : {0,1}* -> {0,1}*, there exists a Boolean function BF : {0,1}* -> {0,1}.

प्रत्येक फ़ंक्शन F : {0,1}* -> {0,1}* के लिए, एक बूलियन फ़ंक्शन BF : {0,1}* -> {0,1} मौजूद है।


In this chapter, we discuss functions that take as input strings of arbitrary length.

इस अध्याय में, हम उन कार्यों पर चर्चा करते हैं जो मनमानी लंबाई की स्ट्रिंग को इनपुट के रूप में लेते हैं।


The algorithm efficiently sorts the data.

एल्गोरिदम कुशलता से डेटा को सॉर्ट करता है।


She enjoys reading novels in her free time.

वह अपने खाली समय में उपन्यास पढ़ना पसंद करती है।


The company announced a new product launch.

कंपनी ने एक नए उत्पाद के लॉन्च की घोषणा की।


क्या आप कृपया उसे दोहरा सकते हैं?


The research paper explores complex mathematical concepts.

शोध पत्र जटिल गणितीय अवधारणाओं की पड़ताल करता है।


He is a well-known figure in the community.

वह समुदाय में एक प्रसिद्ध व्यक्ति हैं।


The government implemented new policies.

सरकार ने नई नीतियां लागू कीं।


आपका पसंदीदा रंग क्या है?


सॉफ्टवेयर अपडेट ने कई बग्स को ठीक किया।


वह एक प्रतिभाशाली संगीतकार हैं।


आर्थिक पूर्वानुमान वृद्धि की भविष्यवाणी करता है।


क्या आप इसमें मेरी मदद कर सकते हैं?


The study analyzed the impact of climate change.

अध्ययन ने जलवायु परिवर्तन के प्रभाव का विश्लेषण किया।


वह एक सम्मानित नेता हैं।


The new regulations will affect businesses.

नए नियम व्यवसायों को प्रभावित करेंगे।


आपका दिन कैसा था?


The complex system requires careful maintenance.

जटिल प्रणाली को सावधानीपूर्वक रखरखाव की आवश्यकता है।


वह एक सफल उद्यमी हैं।


The market experienced a significant downturn.

बाजार में एक महत्वपूर्ण गिरावट आई।


मुझे समझ नहीं आया।


The machine starts in some initial state and then reads its input one bit at a time.

मशीन कुछ प्रारंभिक अवस्था में शुरू होती है और फिर एक समय में अपना इनपुट एक बिट पढ़ती है।


In computer science, such a program is called a single-pass constant-memory algorithm.

कंप्यूटर विज्ञान में, ऐसे प्रोग्राम को सिंगल-पास कांस्टेंट-मेमोरी एल्गोरिदम कहा जाता है।


We can specify a DFA of C states by a list of C ⋅ 2 rules.

हम C राज्यों के एक DFA को C ⋅ 2 नियमों की एक सूची द्वारा निर्दिष्ट कर सकते हैं।


Every single-pass constant-memory algorithm corresponds to such a machine.

प्रत्येक सिंगल-पास कांस्टेंट-मेमोरी एल्गोरिदम ऐसी मशीन के अनुरूप होता है।


The difficulty in computing TWINP using Python arises from the fact that we do not know for each particular n what is the circuit Cn in this collection.

पाइथन का उपयोग करके TWINP की गणना करने में कठिनाई इस तथ्य से उत्पन्न होती है कि हम प्रत्येक विशेष n के लिए यह नहीं जानते हैं कि इस संग्रह में सर्किट Cn क्या है।


We say that a function F : {0,1}* -> {0,1} is DFA computable if there exists some DFA that computes F.

हम कहते हैं कि एक फ़ंक्शन F : {0,1}* -> {0,1} DFA कम्प्यूट करने योग्य है यदि कोई DFA है जो F की गणना करता है।


If an algorithm uses c bits of memory, then the contents of its memory can be represented as a string of length c.

यदि कोई एल्गोरिदम c बिट मेमोरी का उपयोग करता है, तो इसकी मेमोरी की सामग्री को लंबाई c की एक स्ट्रिंग के रूप में दर्शाया जा सकता है।


For example, recall the Python program that computes the XOR function.

उदाहरण के लिए, उस पायथन प्रोग्राम को याद करें जो XOR फ़ंक्शन की गणना करता है।


In Chapter 7, we will present Turing machines, which are the central models of computation for unbounded input length functions.

अध्याय 7 में, हम ट्यूरिंग मशीनों को प्रस्तुत करेंगे, जो असीमित इनपुट लंबाई कार्यों के लिए गणना के केंद्रीय मॉडल हैं।


DFAs turn out to be equivalent in power to regular expressions.

DFAs नियमित अभिव्यक्तियों के लिए शक्ति में समतुल्य साबित होते हैं।


At a high level, an algorithm is a recipe for computing an output from an input via a combination of the following steps:

उच्च स्तर पर, एक एल्गोरिदम निम्नलिखित चरणों के संयोजन के माध्यम से एक इनपुट से एक आउटपुट की गणना करने की एक विधि है:


We can think of such an algorithm as a “machine” that can be in one of C states, for some constant C.

हम ऐसे एल्गोरिदम को एक “मशीन” के रूप में सोच सकते हैं जो कुछ स्थिरांक C के लिए, C राज्यों में से एक में हो सकता है।


The machine starts in some initial state and then reads its input x ∈ {0,1}* one bit at a time.

मशीन कुछ प्रारंभिक अवस्था में शुरू होती है और फिर एक समय में अपना इनपुट x ∈ {0,1}* एक बिट पढ़ती है।


The output of the machine is based on the final state.

मशीन का आउटपुट अंतिम अवस्था पर आधारित होता है।


At the end of the computation, we will also have a rule of the form “If the final state is one of the following ... then output 1, otherwise output 0”.

गणना के अंत में, हमारे पास “यदि अंतिम अवस्था निम्नलिखित में से एक है ... तो 1 आउटपुट करें, अन्यथा 0 आउटपुट करें” के रूप में एक नियम भी होगा।


We can also describe a C-state DFA as a labeled graph of C vertices.

हम C-स्टेट DFA को C शीर्षों के एक लेबल वाले ग्राफ के रूप में भी वर्णित कर सकते हैं।


For every state s and bit σ, we add a directed edge labeled with σ between s and the state s′ such that if the DFA is at state s and reads σ then it transitions to s′.

प्रत्येक अवस्था s और बिट σ के लिए, हम s और अवस्था s′ के बीच σ के साथ एक निर्देशित किनारा जोड़ते हैं, जैसे कि यदि DFA अवस्था s पर है और σ पढ़ता है तो यह s′ पर संक्रमण करता है।


Formally, a DFA is specified by (1) the table of the C ⋅ 2 rules, which can be represented as a transition function T that maps a state s ∈ [C] and bit σ ∈ {0,1} to the state s′ ∈ [C] which the DFA will transition to from state s on input σ and (2) the set 𝒫 of accepting states.

औपचारिक रूप से, एक DFA को (1) C ⋅ 2 नियमों की तालिका द्वारा निर्दिष्ट किया गया है, जिसे एक संक्रमण फ़ंक्शन T के रूप में दर्शाया जा सकता है जो एक अवस्था s ∈ [C] और बिट σ ∈ {0,1} को अवस्था s′ ∈ [C] पर मैप करता है, जिस पर DFA इनपुट σ पर अवस्था s से संक्रमण करेगा और (2) स्वीकार करने वाली अवस्थाओं का सेट 𝒫।


The algorithm checks if 'e' matches the empty string.

एल्गोरिदम जांचता है कि क्या 'ई' खाली स्ट्रिंग से मेल खाता है।


यदि e = "" तो 1 लौटाएँ।


एल्गोरिदम 6.10 बहुत कुशल नहीं है।


For example, given an expression involving concatenation or the “star” operation and a string of length n, it can make n recursive calls.

उदाहरण के लिए, एक अभिव्यक्ति दी गई है जिसमें संयोजन या “स्टार” ऑपरेशन शामिल है और लंबाई n की एक स्ट्रिंग है, यह n पुनरावर्ती कॉल कर सकता है।


Fortunately, it turns out that there is a much more efficient algorithm that can match regular expressions in linear (i.e., O(n)) time.

सौभाग्य से, यह पता चला है कि एक बहुत अधिक कुशल एल्गोरिदम है जो रैखिक (यानी, O(n)) समय में नियमित अभिव्यक्तियों का मिलान कर सकता है।


We will see a formal definition of time complexity in Chapter 13.

हम अध्याय 13 में समय जटिलता की एक औपचारिक परिभाषा देखेंगे।


मान लीजिए कि e एक नियमित अभिव्यक्ति है।


Then there is an O(n) time algorithm that computes Φe.

फिर एक O(n) समय एल्गोरिदम है जो Φe की गणना करता है।


This makes sense since in practice we often want to compute Φe(x) for a small regular expression e and a large document x.

यह समझ में आता है क्योंकि व्यवहार में हम अक्सर एक छोटे नियमित अभिव्यक्ति e और एक बड़े दस्तावेज़ x के लिए Φe(x) की गणना करना चाहते हैं।


We prove Theorem 6.12 by obtaining more efficient recursive algorithm.

हम अधिक कुशल पुनरावर्ती एल्गोरिदम प्राप्त करके प्रमेय 6.12 को सिद्ध करते हैं।


The idea is that for every regular expression e and symbol σ in its alphabet, it is possible to define a regular expression e[σ] such that e[σ] matches a string x if and only if e matches the string xσ.

विचार यह है कि प्रत्येक नियमित अभिव्यक्ति e और उसके वर्णमाला में प्रतीक σ के लिए, एक नियमित अभिव्यक्ति e[σ] को परिभाषित करना संभव है जैसे कि e[σ] एक स्ट्रिंग x से मेल खाता है यदि और केवल यदि e स्ट्रिंग xσ से मेल खाता है।


Algorithm 6.13 computes the restriction e[σ] given a regular expression e and an alphabet symbol σ.

एल्गोरिदम 6.13 एक नियमित अभिव्यक्ति e और एक वर्णमाला प्रतीक σ को देखते हुए प्रतिबंध e[σ] की गणना करता है।


It always terminates, since the recursive calls it makes are always on expressions smaller than the input expression.

यह हमेशा समाप्त होता है, क्योंकि यह जो पुनरावर्ती कॉल करता है वह हमेशा इनपुट अभिव्यक्ति से छोटी अभिव्यक्तियों पर होता है।


Algorithm 6.14 — Regular expression matching in linear time.

एल्गोरिदम 6.14 — रैखिक समय में नियमित अभिव्यक्ति मिलान।


By the definition of a restriction, for every σ ∈ Σ and x′ ∈ Σ∗, the expression e matches x′σ if and only if e[σ] matches x′.

प्रतिबंध की परिभाषा के अनुसार, प्रत्येक σ ∈ Σ और x′ ∈ Σ∗ के लिए, अभिव्यक्ति e x′σ से मेल खाती है यदि और केवल यदि e[σ] x′ से मेल खाता है।


The only remaining task is to analyze its running time.

केवल शेष कार्य इसके चलने के समय का विश्लेषण करना है।


For simplicity, let us restrict our attention to the case that the alphabet Σ is equal to {0,1}.

सरलता के लिए, आइए हम अपने ध्यान को उस मामले तक सीमित रखें कि वर्णमाला Σ {0,1} के बराबर है।


Define C(ℓ) to be the maximum number of operations that Algorithm 6.13 takes when given as input a regular expression e over {0,1} of at most ℓ symbols.

C(ℓ) को संचालन की अधिकतम संख्या के रूप में परिभाषित करें जो एल्गोरिदम 6.13 लेता है जब इनपुट के रूप में अधिकतम ℓ प्रतीकों की {0,1} पर एक नियमित अभिव्यक्ति e दी जाती है।


This solves to O(n) where the implicit constant in the O notation can (and will) depend on e but crucially, not on the length of the input x.

यह O(n) तक हल हो जाता है जहाँ O संकेतन में निहित स्थिरांक e पर निर्भर कर सकता है (और होगा) लेकिन महत्वपूर्ण रूप से, इनपुट x की लंबाई पर नहीं।


Specifically, no matter how long the string x is, we can compute Φe(x) by maintaining only a constant amount of memory and moreover making a single pass over x.

विशेष रूप से, स्ट्रिंग x कितनी भी लंबी क्यों न हो, हम केवल एक स्थिर मात्रा में मेमोरी बनाए रखकर और इसके अलावा x पर एक ही पास बनाकर Φe(x) की गणना कर सकते हैं।


The Turing machine starts in the START state.

ट्यूरिंग मशीन START अवस्था में शुरू होती है।


It moves right, looking for the first symbol that is 0 or 1.

यह दाईं ओर बढ़ता है, पहले प्रतीक की तलाश में जो 0 या 1 है।


If it finds ∅ before it hits such a symbol then it moves to the OUTPUT_1 state.

यदि इसे ऐसा प्रतीक मिलने से पहले ∅ मिल जाता है, तो यह OUTPUT_1 अवस्था में चला जाता है।


Once the machine finds a symbol b ∈ {0,1}, it deletes b from the tape by writing the × symbol.

एक बार मशीन को एक प्रतीक b ∈ {0,1} मिल जाता है, तो यह × प्रतीक लिखकर टेप से b को हटा देती है।


The machine enters either the RIGHT_b mode and starts moving rightwards until it hits the first ∅ or × symbol.

मशीन या तो RIGHT_b मोड में प्रवेश करती है और दाईं ओर तब तक बढ़ना शुरू करती है जब तक कि वह पहले ∅ या × प्रतीक तक नहीं पहुँच जाती।


In the state LOOK_FOR_b, the machine checks whether the value on the tape is b.

LOOK_FOR_b अवस्था में, मशीन जाँचती है कि टेप पर मान b है या नहीं।


If it is, then the machine deletes it by changing its value to ×, and moves to the state RETURN.

यदि ऐसा है, तो मशीन इसके मान को × में बदलकर इसे हटा देती है, और RETURN अवस्था में चली जाती है।


The OUTPUT_b states mean that the machine will eventually output the value b.

OUTPUT_b अवस्थाओं का मतलब है कि मशीन अंततः मान b को आउटपुट करेगी।


The formal definition of Turing machines is as follows:

ट्यूरिंग मशीनों की औपचारिक परिभाषा इस प्रकार है:


A (one tape) Turing machine M with k states and alphabet Σ ⊇ {0,1,▷,∅} is represented by a transition function.

k अवस्थाओं और वर्णमाला Σ ⊇ {0,1,▷,∅} वाली एक (एक टेप) ट्यूरिंग मशीन M को एक संक्रमण फ़ंक्शन द्वारा दर्शाया जाता है।


For every x ∈ {0,1}*, the output of M on input x, denoted by M(x), is the result of the following process:

प्रत्येक x ∈ {0,1}* के लिए, इनपुट x पर M का आउटपुट, जिसे M(x) द्वारा दर्शाया गया है, निम्नलिखित प्रक्रिया का परिणाम है:


We initialize T to be the sequence ▷, x0, x1, ..., xn-1, ∅, ∅, ...

हम T को क्रम ▷, x0, x1, ..., xn-1, ∅, ∅, ... के रूप में आरंभ करते हैं।


हम i = 0 और s = 0 को भी आरंभ करते हैं।


फिर हम निम्नलिखित प्रक्रिया को दोहराते हैं:


s ← s', T[i] ← σ' सेट करें।


If D = R then set i → i+1, if D = L then set i → max{i-1, 0}.

यदि D = R तो i → i+1 सेट करें, यदि D = L तो i → max{i-1, 0} सेट करें।


If the process above halts, then M’s output, denoted by M(x), is the string y ∈ {0,1}* obtained by concatenating all the symbols in {0,1} in positions T[0], ..., T[i] where i + 1 is the first location in the tape containing ∅.

यदि उपरोक्त प्रक्रिया रुक जाती है, तो M का आउटपुट, जिसे M(x) द्वारा दर्शाया गया है, स्ट्रिंग y ∈ {0,1}* है जो T[0], ..., T[i] में सभी प्रतीकों को जोड़कर प्राप्त किया जाता है जहाँ i + 1 टेप में पहला स्थान है जिसमें ∅ है।


If the Turing machine does not halt then we denote M(x) = ⊥.

यदि ट्यूरिंग मशीन नहीं रुकती है तो हम M(x) = ⊥ को दर्शाते हैं।


We can precisely define what it means for a function to be computable by any possible algorithm.

हम सटीक रूप से परिभाषित कर सकते हैं कि किसी भी संभावित एल्गोरिदम द्वारा एक फ़ंक्शन का गणना योग्य होना क्या है।


The concept of Turing completeness is fundamental to computer science.

ट्यूरिंग पूर्णता की अवधारणा कंप्यूटर विज्ञान के लिए मौलिक है।


RAM machines are closer to the architecture of modern computers.

रैम मशीनें आधुनिक कंप्यूटरों की वास्तुकला के करीब हैं।


Turing machines and RAM machines are equivalent in computational power.

ट्यूरिंग मशीनें और रैम मशीनें कम्प्यूटेशनल शक्ति में समतुल्य हैं।


We can encode an element of Σ using a binary string.

हम एक बाइनरी स्ट्रिंग का उपयोग करके Σ के एक तत्व को एन्कोड कर सकते हैं।


The Church-Turing Thesis is a widely believed claim.

चर्च-ट्यूरिंग थीसिस एक व्यापक रूप से स्वीकृत दावा है।


Many programming languages are Turing complete.

कई प्रोग्रामिंग भाषाएँ ट्यूरिंग पूर्ण हैं।


This chapter discusses the equivalence between different computational models.

यह अध्याय विभिन्न कम्प्यूटेशनल मॉडलों के बीच समानता पर चर्चा करता है।


Cellular automata are also Turing equivalent.

सेल्यूलर ऑटोमेटा भी ट्यूरिंग समतुल्य हैं।


The lambda calculus is a model for expressing computation.

लैम्डा कैलकुलस गणना व्यक्त करने का एक मॉडल है।


NAND-RAM extends NAND-TM by adding features.

NAND-RAM, सुविधाओं को जोड़कर NAND-TM का विस्तार करता है।


The word size is an important parameter.

शब्द का आकार एक महत्वपूर्ण पैरामीटर है।


RAM machines can perform arithmetic operations.

रैम मशीनें अंकगणितीय संचालन कर सकती हैं।


The choice of the next instruction can depend on the state.

अगले निर्देश का चुनाव स्थिति पर निर्भर हो सकता है।


We will not give a formal definition of RAM Machines.

हम रैम मशीनों की औपचारिक परिभाषा नहीं देंगे।


NAND-RAM includes conditional statements.

NAND-RAM में सशर्त कथन शामिल हैं।


The proof involves transforming a NAND-RAM program.

प्रमाण में एक NAND-RAM प्रोग्राम को बदलना शामिल है।


We can simulate indexed access in NAND-TM.

हम NAND-TM में अनुक्रमित पहुंच का अनुकरण कर सकते हैं।


Two dimensional arrays can be implemented.

दो आयामी सरणियों को लागू किया जा सकता है।


Simulating NAND-RAM with NAND-TM is a matter of implementing algorithms.

NAND-TM के साथ NAND-RAM का अनुकरण एल्गोरिदम को लागू करने का मामला है।


Recursion can be implemented using the stack data structure.

पुनरावर्तन को स्टैक डेटा संरचना का उपयोग करके लागू किया जा सकता है।


The machine simulates each iteration of the program by updating its state and tape accordingly.

मशीन प्रोग्राम के प्रत्येक पुनरावृत्ति का अनुकरण करके अपनी स्थिति और टेप को तदनुसार अपडेट करती है।


We can encode the set {L, R, S, H} using {0, 1}2.

हम सेट {L, R, S, H} को {0, 1}2 का उपयोग करके एन्कोड कर सकते हैं।


The key observation is that by Theorem 4.12 we can compute every finite function using a NAND-CIRC program.

मुख्य अवलोकन यह है कि प्रमेय 4.12 द्वारा हम NAND-CIRC प्रोग्राम का उपयोग करके प्रत्येक परिमित फ़ंक्शन की गणना कर सकते हैं।


The Turing machine will enter into a special loop to copy the results of the Y array into the output and then halt.

ट्यूरिंग मशीन वाई सरणी के परिणामों को आउटपुट में कॉपी करने और फिर रुकने के लिए एक विशेष लूप में प्रवेश करेगी।


We will come back to this question of measuring the number of computation steps later in this course.

हम इस पाठ्यक्रम में बाद में गणना चरणों की संख्या को मापने के इस प्रश्न पर वापस आएंगे।


Indeed, NAND-TM programs are not as much a different model from Turing machines as they are simply a reformulation of the same model using programming language notation.

वास्तव में, NAND-TM प्रोग्राम ट्यूरिंग मशीनों से उतने अलग मॉडल नहीं हैं, जितने कि वे प्रोग्रामिंग भाषा संकेतन का उपयोग करके उसी मॉडल का पुनर्गठन हैं।


You can think of the difference between a Turing machine and a NAND-TM program as the difference between representing a number using decimal or binary notation.

आप ट्यूरिंग मशीन और NAND-TM प्रोग्राम के बीच के अंतर को दशमलव या बाइनरी नोटेशन का उपयोग करके एक संख्या का प्रतिनिधित्व करने के बीच के अंतर के रूप में सोच सकते हैं।


In contrast, the difference between a function F and a Turing machine that computes F is much more profound.

इसके विपरीत, एक फ़ंक्शन F और एक ट्यूरिंग मशीन जो F की गणना करती है, के बीच का अंतर बहुत अधिक गहरा है।


These are models where each individual program/circuit can compute a finite function f : {0, 1}n → {0, 1}m.

ये ऐसे मॉडल हैं जहाँ प्रत्येक व्यक्तिगत प्रोग्राम/सर्किट एक परिमित फ़ंक्शन f : {0, 1}n → {0, 1}m की गणना कर सकता है।


The key difference between NAND-CIRC and NAND-TM is that NAND-TM allows us to express the fact that the algorithm for computing parities of length-100 strings is really the same one as the algorithm for computing parities of length-5 strings.

NAND-CIRC और NAND-TM के बीच मुख्य अंतर यह है कि NAND-TM हमें इस तथ्य को व्यक्त करने की अनुमति देता है कि लंबाई-100 स्ट्रिंग्स की समानता की गणना करने का एल्गोरिदम वास्तव में लंबाई-5 स्ट्रिंग्स की समानता की गणना करने के एल्गोरिदम के समान है।


That is, one can think of the NAND-TM program for general parity as the “seed” out of which we can grow NAND-CIRC programs for length 10, length 100, or length 1000 parities as needed.

अर्थात, कोई सामान्य समानता के लिए NAND-TM प्रोग्राम को “बीज” के रूप में सोच सकता है जिससे हम आवश्यकतानुसार लंबाई 10, लंबाई 100, या लंबाई 1000 समानता के लिए NAND-CIRC प्रोग्राम विकसित कर सकते हैं।


This notion of a single algorithm that can compute functions of all input lengths is known as uniformity of computation.

सभी इनपुट लंबाई के कार्यों की गणना कर सकने वाले एक ही एल्गोरिदम की इस धारणा को गणना की एकरूपता के रूप में जाना जाता है।


Hence we think of Turing machines / NAND-TM as uniform models of computation, as opposed to Boolean circuits or NAND-CIRC, which are non-uniform models, in which we have to specify a different program for every input length.

इसलिए हम ट्यूरिंग मशीनों / NAND-TM को गणना के समान मॉडल के रूप में सोचते हैं, इसके विपरीत बूलियन सर्किट या NAND-CIRC, जो गैर-समान मॉडल हैं, जिसमें हमें प्रत्येक इनपुट लंबाई के लिए एक अलग प्रोग्राम निर्दिष्ट करना होगा।


Turing machines can have inputs and outputs that are longer than the description of the machine as a string, and in particular there exists a Turing machine that can “self replicate” in the sense that it can print its own code.

ट्यूरिंग मशीनों में इनपुट और आउटपुट हो सकते हैं जो एक स्ट्रिंग के रूप में मशीन के विवरण से लंबे होते हैं, और विशेष रूप से एक ट्यूरिंग मशीन मौजूद है जो इस अर्थ में “स्वयं प्रतिकृति” कर सकती है कि यह अपना स्वयं का कोड प्रिंट कर सकती है।


The notion of “self replication”, and the related notion of “self reference” are crucial to many aspects of computation, and beyond that to life itself, whether in the form of digital or biological programs.

“स्वयं प्रतिकृति” की धारणा, और “स्वयं संदर्भ” की संबंधित धारणा, गणना के कई पहलुओं के लिए महत्वपूर्ण हैं, और उससे परे जीवन के लिए, चाहे वह डिजिटल या जैविक कार्यक्रमों के रूप में हो।


For now, what you ought to remember is the following differences between uniform and non-uniform computational models:

अभी के लिए, आपको जो याद रखना चाहिए वह समान और गैर-समान कम्प्यूटेशनल मॉडल के बीच निम्नलिखित अंतर हैं:


Non-uniform computational models: Examples are NAND-CIRC programs and Boolean circuits.

गैर-समान कम्प्यूटेशनल मॉडल: उदाहरण NAND-CIRC प्रोग्राम और बूलियन सर्किट हैं।


Uniform computational models: Examples are Turing machines and NAND-TM programs.

समान कम्प्यूटेशनल मॉडल: उदाहरण ट्यूरिंग मशीन और NAND-TM प्रोग्राम हैं।


They are equivalent to NAND-TM programs, which add loops and arrays to NAND-CIRC.

वे NAND-TM प्रोग्राम के समतुल्य हैं, जो NAND-CIRC में लूप और सरणियाँ जोड़ते हैं।


Unlike NAND-CIRC or Boolean circuits, the number of steps that a Turing machine takes on a given input is not fixed in advance.

NAND-CIRC या बूलियन सर्किट के विपरीत, किसी दिए गए इनपुट पर ट्यूरिंग मशीन द्वारा उठाए गए चरणों की संख्या पहले से तय नहीं होती है।


All programming languages we are familiar with are Turing equivalent.

हम सभी प्रोग्रामिंग भाषाओं से परिचित हैं जो ट्यूरिंग के समतुल्य हैं।


When we want to prove a theorem about all programs/algorithms, we can use Turing machines.

जब हम सभी प्रोग्रामों/एल्गोरिदम के बारे में एक प्रमेय को सिद्ध करना चाहते हैं, तो हम ट्यूरिंग मशीनों का उपयोग कर सकते हैं।


When we want to show that a function can be computed we can use RAM machines.

जब हम यह दिखाना चाहते हैं कि एक फ़ंक्शन की गणना की जा सकती है, तो हम रैम मशीनों का उपयोग कर सकते हैं।


We can use a simpler model such as Turing machines when we want to prove something can’t be done.

जब हम यह साबित करना चाहते हैं कि कुछ नहीं किया जा सकता है, तो हम ट्यूरिंग मशीनों जैसे एक सरल मॉडल का उपयोग कर सकते हैं।


The programmer has to be able to think in terms of conceptual hierarchies.

प्रोग्रामर को वैचारिक पदानुक्रमों के संदर्भ में सोचने में सक्षम होना चाहिए।


In algorithms courses, one typically describes algorithms in English.

एल्गोरिदम पाठ्यक्रमों में, कोई आमतौर पर अंग्रेजी में एल्गोरिदम का वर्णन करता है।


If we wanted to give more details on how to implement breadth first search in a programming language such as Python or C.

यदि हम पायथन या सी जैसी प्रोग्रामिंग भाषा में चौड़ाई-प्रथम खोज को कैसे लागू करें, इस पर अधिक विवरण देना चाहते हैं।


One of the most important skills for a computer scientist is the ability to move up and down hierarchies of abstractions.

एक कंप्यूटर वैज्ञानिक के लिए सबसे महत्वपूर्ण कौशलों में से एक अमूर्तता के पदानुक्रमों को ऊपर और नीचे ले जाने की क्षमता है।


Sometimes, to be precise, we give a low level specification of exactly how an object maps into a binary string.

कभी-कभी, सटीक होने के लिए, हम एक वस्तु को एक बाइनरी स्ट्रिंग में कैसे मैप किया जाता है, इसकी एक निम्न-स्तरीय विशिष्टता देते हैं।


Hence, in cases where the precise representation doesn’t make a difference, we would often talk about our algorithms as taking as input an object.

इसलिए, उन मामलों में जहां सटीक प्रतिनिधित्व कोई अंतर नहीं करता है, हम अक्सर अपने एल्गोरिदम के बारे में एक वस्तु को इनपुट के रूप में लेने के बारे में बात करेंगे।


Up until now we have used the term “algorithm” informally.

अब तक हमने अनौपचारिक रूप से “एल्गोरिदम” शब्द का प्रयोग किया है।


A computational model is Turing complete if we can map every Turing machine into a program for that model.

एक कम्प्यूटेशनल मॉडल ट्यूरिंग पूर्ण है यदि हम प्रत्येक ट्यूरिंग मशीन को उस मॉडल के लिए एक प्रोग्राम में मैप कर सकते हैं।


A computational model is Turing equivalent if the other direction holds as well.

एक कम्प्यूटेशनल मॉडल ट्यूरिंग के समतुल्य है यदि दूसरी दिशा भी लागू होती है।


Some examples of Turing equivalent models include Turing machines and programming languages.

ट्यूरिंग समतुल्य मॉडल के कुछ उदाहरणों में ट्यूरिंग मशीनें और प्रोग्रामिंग भाषाएँ शामिल हैं।


Many physical systems can be described as consisting of a large number of elementary components that interact with one another.

कई भौतिक प्रणालियों का वर्णन एक बड़ी संख्या में प्राथमिक घटकों से मिलकर किया जा सकता है जो एक दूसरे के साथ संपर्क करते हैं।


A dead cell becomes alive only if exactly three of its neighbors are alive.

एक मृत कोशिका तभी जीवित हो जाती है जब उसके ठीक तीन पड़ोसी जीवित हों।


We can write a program that simulates the evolution of any cellular automaton.

हम एक प्रोग्राम लिख सकते हैं जो किसी भी सेलुलर ऑटोमेटन के विकास का अनुकरण करता है।


Even one dimensional cellular automata can be Turing complete.

यहां तक कि एक आयामी सेलुलर ऑटोमेटा भी ट्यूरिंग पूर्ण हो सकता है।


The key idea is that at every point in the computation of a Turing machine, the only cell that can change is the one where the head is located.

मुख्य विचार यह है कि ट्यूरिंग मशीन की गणना में हर बिंदु पर, केवल वही सेल बदल सकता है जहां सिर स्थित है।


The λ calculus has inspired functional programming languages such as LISP, ML and Haskell.

λ कैलकुलस ने LISP, ML और Haskell जैसी कार्यात्मक प्रोग्रामिंग भाषाओं को प्रेरित किया है।


Solution: λy.x is the function that on input y ignores its input and outputs x.

समाधान: λy.x वह फलन है जो इनपुट y पर अपने इनपुट को अनदेखा करता है और x आउटपुट करता है।


Hence (λx.(λy.x))2 yields the function y ↦ 2 (or, using λ notation, the function λy.2).

इसलिए (λx.(λy.x))2 फलन y ↦ 2 (या, λ संकेतन का उपयोग करते हुए, फलन λy.2) उत्पन्न करता है।


In a λ expression of the form λx.e, the expression e can itself involve the λ operator.

λx.e के रूप के λ व्यंजक में, व्यंजक e स्वयं λ ऑपरेटर को शामिल कर सकता है।


Thus for example the function λx.(λy.x+y) maps x to the function y ↦ x+y.

इस प्रकार उदाहरण के लिए फलन λx.(λy.x+y) x को फलन y ↦ x+y पर मैप करता है।


In particular, if we invoke the function (8.3) on a to obtain some function f, and then invoke f on b, we obtain the value a + b.

विशेष रूप से, यदि हम कुछ फलन f प्राप्त करने के लिए फलन (8.3) को a पर लागू करते हैं, और फिर f को b पर लागू करते हैं, तो हमें मान a + b प्राप्त होता है।


Generally, we can use the λ expression λx.(λy.f(x,y)) to simulate the effect of a two argument function (x,y) ↦ f(x,y).

आम तौर पर, हम दो तर्क फलन (x,y) ↦ f(x,y) के प्रभाव का अनुकरण करने के लिए λ व्यंजक λx.(λy.f(x,y)) का उपयोग कर सकते हैं।


इस तकनीक को करीइंग के रूप में जाना जाता है।


We will use the shorthand λx,y.e for λx.(λy.e).

हम λx.(λy.e) के लिए संक्षिप्त नाम λx,y.e का उपयोग करेंगे।


If f = λx.(λy.e) then (f a)b corresponds to applying fa and then invoking the resulting function on b, obtaining the result of replacing in e the occurrences of x with a and occurrences of b with y.

यदि f = λx.(λy.e) तो (f a)b, fa को लागू करने और फिर b पर परिणामी फलन को लागू करने के अनुरूप है, जिससे e में x की घटनाओं को a से और b की घटनाओं को y से बदलने का परिणाम प्राप्त होता है।


We now provide a formal description of the λ calculus.

अब हम λ कलन का एक औपचारिक विवरण प्रदान करते हैं।


We start with “basic expressions” that contain a single variable such as x or y and build more complex expressions of the form (e e′) and λx.e where e, e′ are expressions and x is a variable idenifier.

हम “मूल व्यंजकों” से शुरू करते हैं जिनमें x या y जैसे एक चर होता है और (e e′) और λx.e के रूप के अधिक जटिल व्यंजकों का निर्माण करते हैं जहाँ e, e′ व्यंजक हैं और x एक चर पहचानकर्ता है।


Formally λ expressions are defined as follows: Definition 8.12— λ expression..

औपचारिक रूप से λ व्यंजकों को इस प्रकार परिभाषित किया गया है: परिभाषा 8.12— λ व्यंजक।


A λ expression is either a single variable identifier or an expression e of the one of the following forms:

एक λ व्यंजक या तो एक एकल चर पहचानकर्ता है या निम्नलिखित रूपों में से एक का व्यंजक e है:


Application: e = (e′ e′′), where e′ and e′′ are λ expressions.

अनुप्रयोग: e = (e′ e′′), जहाँ e′ और e′′ λ व्यंजक हैं।


Abstraction: e = λx.(e′) where e′ is a λ expression.

एब्स्ट्रैक्शन: e = λx.(e′) जहाँ e′ एक λ व्यंजक है।


Definition 8.12 is a recursive definition since we defined the concept of λ expressions in terms of itself.

परिभाषा 8.12 एक पुनरावर्ती परिभाषा है क्योंकि हमने λ व्यंजकों की अवधारणा को स्वयं के संदर्भ में परिभाषित किया है।


This might seem confusing at first, but in fact you have known recursive definitions since you were an elementary school student.

यह पहली बार में भ्रमित करने वाला लग सकता है, लेकिन वास्तव में आप प्राथमिक विद्यालय के छात्र होने के बाद से पुनरावर्ती परिभाषाओं को जानते हैं।


Consider how we define an arithmetic expression: it is an expression that is either just a number, or has one of the forms (e+e′), (e−e′), (e×e′), or (e÷e′), where e and e′ are other arithmetic expressions.

विचार करें कि हम एक अंकगणितीय व्यंजक को कैसे परिभाषित करते हैं: यह एक ऐसा व्यंजक है जो या तो केवल एक संख्या है, या निम्नलिखित रूपों में से एक है (e+e′), (e−e′), (e×e′), या (e÷e′), जहाँ e और e′ अन्य अंकगणितीय व्यंजक हैं।


Variables in a λ expression can either be free or bound to a λ operator (in the sense of Section 1.4.7).

λ व्यंजक में चर या तो मुक्त हो सकते हैं या λ ऑपरेटर से बंधे हो सकते हैं (अनुभाग 1.4.7 के अर्थ में)।


The concept of a universal machine is fundamental to computer science.

एक सार्वभौमिक मशीन की अवधारणा कंप्यूटर विज्ञान के लिए मौलिक है।


Turing machines are theoretical models of computation.

ट्यूरिंग मशीनें गणना के सैद्धांतिक मॉडल हैं।


A universal Turing machine can simulate any other Turing machine.

एक सार्वभौमिक ट्यूरिंग मशीन किसी भी अन्य ट्यूरिंग मशीन का अनुकरण कर सकती है।


The halting problem is a classic example of an undecidable problem.

हाल्टिंग समस्या एक अनिर्णीत समस्या का एक क्लासिक उदाहरण है।


Reductions are used to prove the uncomputability of functions.

कार्यों की अघुलनशीलता को साबित करने के लिए कटौती का उपयोग किया जाता है।


The Church-Turing thesis is a cornerstone of theoretical computer science.

चर्च-ट्यूरिंग थीसिस सैद्धांतिक कंप्यूटर विज्ञान का एक आधारशिला है।


A computer program can be represented as a string of characters.

एक कंप्यूटर प्रोग्राम को अक्षरों की एक स्ट्रिंग के रूप में दर्शाया जा सकता है।


The universal machine concept revolutionized the field of computing.

सार्वभौमिक मशीन की अवधारणा ने कंप्यूटिंग के क्षेत्र में क्रांति ला दी।


Understanding the limits of computation is crucial.

गणना की सीमाओं को समझना महत्वपूर्ण है।


The halting problem asks whether a program will eventually stop.

हाल्टिंग समस्या पूछती है कि क्या कोई प्रोग्राम अंततः रुक जाएगा।


The existence of uncomputable functions is a profound result.

अघुलनशील कार्यों का अस्तित्व एक गहरा परिणाम है।


A reduction transforms one problem into another.

एक कटौती एक समस्या को दूसरी में बदल देती है।


The universal machine is a meta-circular evaluator.

सार्वभौमिक मशीन एक मेटा-सर्कुलर मूल्यांकनकर्ता है।


The proof of the universal Turing machine is not that hard.

सार्वभौमिक ट्यूरिंग मशीन का प्रमाण इतना कठिन नहीं है।


मशीन यू खुद का मूल्यांकन कर सकती है।


The concept of self-reference leads to counter-intuitive phenomena.

स्व-संदर्भ की अवधारणा प्रति-सहज ज्ञान युक्त घटनाओं की ओर ले जाती है।


The universal program underlies the information technology revolution.

सार्वभौमिक कार्यक्रम सूचना प्रौद्योगिकी क्रांति का आधार है।


We do not need to build a new physical machine to simulate a new Turing machine.

हमें एक नई ट्यूरिंग मशीन का अनुकरण करने के लिए एक नई भौतिक मशीन बनाने की आवश्यकता नहीं है।


The halting problem is a canonical example of uncomputability.

हाल्टिंग समस्या अघुलनशीलता का एक शास्त्रीय उदाहरण है।


Reductions are a key technique in proving uncomputability.

कटौती अघुलनशीलता को साबित करने में एक प्रमुख तकनीक है।


You can use an array or a dictionary to encode the transition function.

आप संक्रमण फ़ंक्शन को एन्कोड करने के लिए एक सरणी या शब्दकोश का उपयोग कर सकते हैं।


The interpreter will continue the simulation until the machine halts.

दुभाषिया तब तक सिमुलेशन जारी रखेगा जब तक मशीन रुक नहीं जाती।


This is a concept that has a long history in computer science.

यह एक ऐसी अवधारणा है जिसका कंप्यूटर विज्ञान में लंबा इतिहास रहा है।


We can represent every Turing machine as a string.

हम प्रत्येक ट्यूरिंग मशीन को एक स्ट्रिंग के रूप में दर्शा सकते हैं।


Given the string representation of a Turing machine and an input, we can simulate its execution.

ट्यूरिंग मशीन के स्ट्रिंग प्रतिनिधित्व और इनपुट को देखते हुए, हम इसके निष्पादन का अनुकरण कर सकते हैं।


The details of the representation scheme of Turing machines as strings are immaterial for almost all applications.

ट्यूरिंग मशीनों को स्ट्रिंग के रूप में दर्शाने की योजना का विवरण लगभग सभी अनुप्रयोगों के लिए महत्वहीन है।


We can easily write a Python program that evaluates a Turing machine.

हम आसानी से एक पायथन प्रोग्राम लिख सकते हैं जो ट्यूरिंग मशीन का मूल्यांकन करता है।


With enough effort, we can translate this Python code line by line to a Turing machine.

पर्याप्त प्रयास से, हम इस पायथन कोड को लाइन दर लाइन ट्यूरिंग मशीन में अनुवादित कर सकते हैं।


The only issue is that NAND-RAM doesn’t have the dictionary data structure built in.

एकमात्र मुद्दा यह है कि NAND-RAM में डिक्शनरी डेटा संरचना अंतर्निहित नहीं है।


We can represent a dictionary as simply a list of pairs.

हम एक शब्दकोश को केवल जोड़े की एक सूची के रूप में दर्शा सकते हैं।


The argument in the proof is a very inefficient way to implement the dictionary data structure.

प्रमाण में तर्क शब्दकोश डेटा संरचना को लागू करने का एक बहुत ही अक्षम तरीका है।


Researchers have attempted to find the smallest possible universal Turing machines.

शोधकर्ताओं ने सबसे छोटी संभव सार्वभौमिक ट्यूरिंग मशीनों को खोजने का प्रयास किया है।


The existence of even a single such machine is already extremely fundamental.

यहां तक कि एक ऐसी मशीन का अस्तित्व भी पहले से ही अत्यंत मौलिक है।


Because we can simulate every Turing machine by a NAND-TM program and vice versa.

क्योंकि हम प्रत्येक ट्यूरिंग मशीन को एक NAND-TM प्रोग्राम द्वारा और इसके विपरीत अनुकरण कर सकते हैं।


More generally we can say that for every model, there exists a program that computes the map.

अधिक सामान्यतः हम कह सकते हैं कि प्रत्येक मॉडल के लिए, एक ऐसा प्रोग्राम मौजूद है जो मानचित्र की गणना करता है।


Compilers for programming languages are often used to compile themselves.

प्रोग्रामिंग भाषाओं के लिए संकलक अक्सर खुद को संकलित करने के लिए उपयोग किए जाते हैं।


There are universal Turing machines known that require a very small number of states.

ऐसे सार्वभौमिक ट्यूरिंग मशीनें हैं जो बहुत कम संख्या में राज्यों की आवश्यकता होती हैं।


Therefore a natural guess is that NAND-TM programs could compute every infinite function.

इसलिए एक स्वाभाविक अनुमान यह है कि NAND-TM प्रोग्राम प्रत्येक अनंत फ़ंक्शन की गणना कर सकते हैं।


हालांकि, यह गलत साबित होता है।


The notion of an “uncomputable function” thus seems to be a contradiction in terms.

इस प्रकार “अगणनीय फ़ंक्शन” की धारणा शब्दों में एक विरोधाभास प्रतीत होती है।


If we know that HALT is uncomputable, and we want to show that some other function BLAH is uncomputable, then we can do so via a contrapositive argument.

यदि हम जानते हैं कि HALT की गणना नहीं की जा सकती है, और हम यह दिखाना चाहते हैं कि कोई अन्य फ़ंक्शन BLAH की गणना नहीं की जा सकती है, तो हम इसे एक विरोधाभासी तर्क के माध्यम से कर सकते हैं।


The Halting problem turns out to be a linchpin of uncomputability.

हाल्टिंग समस्या अघुलनशीलता का एक महत्वपूर्ण हिस्सा साबित होती है।


A reduction-based proof has two components.

कमी पर आधारित प्रमाण के दो घटक होते हैं।


The algorithm to compute R is known as a reduction since the transformation R modifies an input to HALT to an input to BLAH.

R की गणना करने के लिए एल्गोरिदम को एक कमी के रूप में जाना जाता है क्योंकि परिवर्तन R, HALT के इनपुट को BLAH के इनपुट में बदल देता है।


एक कमी एक एल्गोरिदम है।


In general, to reduce a function F to G, the reduction should satisfy F(w) = G(R(w)) for every input w to F.

सामान्य तौर पर, एक फ़ंक्शन F को G तक कम करने के लिए, कमी को F के प्रत्येक इनपुट w के लिए F(w) = G(R(w)) को संतुष्ट करना चाहिए।


Here is a concrete example for a proof by reduction.

यहाँ कमी द्वारा प्रमाण का एक ठोस उदाहरण दिया गया है।


HALTONZERO seems like a potentially easier function to compute than the full-fledged HALT function.

HALTONZERO पूर्ण HALT फ़ंक्शन की तुलना में गणना करने के लिए एक संभावित आसान फ़ंक्शन की तरह लगता है।


The proof of Theorem 9.9 is below, but before reading it you might want to pause for a couple of minutes and think how you would prove it yourself.

प्रमेय 9.9 का प्रमाण नीचे दिया गया है, लेकिन इसे पढ़ने से पहले आप कुछ मिनट के लिए रुक सकते हैं और सोच सकते हैं कि आप इसे स्वयं कैसे साबित करेंगे।


We will assume, towards the sake of contradiction, that HALTONZERO is computable by some algorithm A.

हम विरोधाभास की खातिर मान लेंगे कि HALTONZERO की गणना कुछ एल्गोरिदम A द्वारा की जा सकती है।


Since this is our first proof by reduction from the Halting problem, we will spell it out in more details than usual.

चूंकि यह हाल्टिंग समस्या से कमी द्वारा हमारा पहला प्रमाण है, इसलिए हम इसे सामान्य से अधिक विवरण में बताएंगे।


Description of the reduction: We will describe the operation of our algorithm B, and how it makes “function calls” to the hypothetical algorithm A.

कमी का विवरण: हम अपने एल्गोरिदम B के संचालन का वर्णन करेंगे, और यह कैसे काल्पनिक एल्गोरिदम A को “फ़ंक्शन कॉल” करता है।


The machine M' ignores its input z and simply runs M on x.

मशीन M' अपने इनपुट z को अनदेखा करती है और बस M को x पर चलाती है।


The algorithm B does not actually execute the machine N M,x.

एल्गोरिदम B वास्तव में मशीन N M,x को निष्पादित नहीं करता है।


The analysis is obtained by proving the following claim.

विश्लेषण निम्नलिखित दावे को साबित करके प्राप्त किया जाता है।


For every strings M, x, z, the machine N M,x constructed by Algorithm B in Step 1 satisfies that N M,x halts on z if and only if the program described by M halts on the input x.

प्रत्येक स्ट्रिंग M, x, z के लिए, चरण 1 में एल्गोरिदम B द्वारा निर्मित मशीन N M,x इस बात से संतुष्ट है कि N M,x z पर रुकता है यदि और केवल यदि M द्वारा वर्णित प्रोग्राम इनपुट x पर रुकता है।


In particular if we instantiate this claim with the input z = 0 to N M,x, we see that HALTONZERO(N M,x) = HALT(M,x).

विशेष रूप से यदि हम इस दावे को N M,x के इनपुट z = 0 के साथ उदाहरण देते हैं, तो हम देखते हैं कि HALTONZERO(N M,x) = HALT(M,x)।


A reduction is an algorithm, which means that, as discussed in Remark 0.3, a reduction has three components.

एक कमी एक एल्गोरिदम है, जिसका अर्थ है कि, जैसा कि टिप्पणी 0.3 में चर्चा की गई है, एक कमी के तीन घटक होते हैं।


This technique is quite common in reductions and elsewhere, and we will use it time and again in this book.

यह तकनीक कमियों और अन्य जगहों पर काफी आम है, और हम इस पुस्तक में इसका बार-बार उपयोग करेंगे।


We define a semantic specification on programs to be some property that does not depend on the code of the program but just on the function that the program computes.

हम कार्यक्रमों पर एक अर्थ संबंधी विनिर्देश को कुछ ऐसी संपत्ति के रूप में परिभाषित करते हैं जो कार्यक्रम के कोड पर निर्भर नहीं करती है, बल्कि केवल उस फ़ंक्शन पर निर्भर करती है जिसकी गणना कार्यक्रम करता है।


मशीन इनपुट x पर रुक जाती है।


Unlike in the case of finite computation, there are actually functions that are inherently uncomputable.

सीमित गणना के मामले के विपरीत, वास्तव में ऐसे कार्य हैं जो स्वाभाविक रूप से अगणनीय हैं।


सिद्ध करें कि NANDRAMHALT अगणनीय है।


Let TIMEDHALT be the function that on input (a string representing) a triple (M, x, T).

मान लीजिए कि TIMEDHALT वह फ़ंक्शन है जो इनपुट (एक स्ट्रिंग का प्रतिनिधित्व) एक ट्रिपल (M, x, T) पर है।


सिद्ध करें कि TIMEDHALT की गणना की जा सकती है।


Suppose that F and G are computable functions.

मान लीजिए कि F और G गणना योग्य कार्य हैं।


Prove that H is necessarily computable or give an example of a pair F and G of computable functions such that H will not be computable.

सिद्ध करें कि H आवश्यक रूप से गणना योग्य है या गणना योग्य कार्यों की एक जोड़ी F और G का एक उदाहरण दें जैसे कि H की गणना नहीं की जा सकेगी।


Prove that the following function FINITE is uncomputable.

सिद्ध करें कि निम्नलिखित फ़ंक्शन FINITE अगणनीय है।


On input P, we define FINITE(P) = 1 if and only if P is a string that represents a NAND++ program such that there only a finite number of inputs x.

इनपुट P पर, हम FINITE(P) = 1 को परिभाषित करते हैं यदि और केवल यदि P एक स्ट्रिंग है जो एक NAND++ प्रोग्राम का प्रतिनिधित्व करता है जैसे कि केवल सीमित संख्या में इनपुट x हैं।


Prove Theorem 9.13 without using Rice’s Theorem.

राइस प्रमेय का उपयोग किए बिना प्रमेय 9.13 को सिद्ध करें।


Let EQ be the function defined as follows: given a string representing a pair of Turing machines, EQ(M, M') = 1 if and only if M and M' are functionally equivalent.

मान लीजिए कि EQ फ़ंक्शन को इस प्रकार परिभाषित किया गया है: ट्यूरिंग मशीनों की एक जोड़ी का प्रतिनिधित्व करने वाली एक स्ट्रिंग को देखते हुए, EQ(M, M') = 1 यदि और केवल यदि M और M' कार्यात्मक रूप से समतुल्य हैं।


For each of the following two functions, say whether it is computable or not.

निम्नलिखित दो कार्यों में से प्रत्येक के लिए, कहें कि क्या यह गणना योग्य है या नहीं।


Given a NAND-TM program P, an input x, and a number k, when we run P on x, does the index variable i ever reach k?

एक NAND-TM प्रोग्राम P, एक इनपुट x, और एक संख्या k को देखते हुए, जब हम x पर P चलाते हैं, तो क्या इंडेक्स चर i कभी k तक पहुँचता है?


Let F be the function that is defined as follows.

मान लीजिए कि F वह फ़ंक्शन है जिसे इस प्रकार परिभाषित किया गया है।


On input a string P that represents a NAND-RAM program and a String M that represents a Turing machine, F(P, M) = 1 if and only if there exists some input x such P halts on x but M does not halt on x.

इनपुट पर एक स्ट्रिंग P जो एक NAND-RAM प्रोग्राम का प्रतिनिधित्व करता है और एक स्ट्रिंग M जो एक ट्यूरिंग मशीन का प्रतिनिधित्व करता है, F(P, M) = 1 यदि और केवल यदि कुछ इनपुट x मौजूद है जैसे P x पर रुक जाता है लेकिन M x पर नहीं रुकता है।


Define a function F to be recursively enumerable if there exists a Turing machine M such that for every x, if F(x) = 1 then M(x) = 1, and if F(x) = 0 then M does not halt on x.

एक फ़ंक्शन F को पुनरावर्ती रूप से गणनीय के रूप में परिभाषित करें यदि कोई ट्यूरिंग मशीन M मौजूद है जैसे कि प्रत्येक x के लिए, यदि F(x) = 1 तो M(x) = 1, और यदि F(x) = 0 तो M x पर नहीं रुकता है।


Prove that every computable F is also recursively enumerable.

सिद्ध करें कि प्रत्येक गणना योग्य F भी पुनरावर्ती रूप से गणनीय है।


Prove that there exists F that is not computable but is recursively enumerable.

सिद्ध करें कि एक F मौजूद है जो गणना योग्य नहीं है लेकिन पुनरावर्ती रूप से गणनीय है।


Prove that there exists a function F such that F is not recursively enumerable.

सिद्ध करें कि एक फ़ंक्शन F मौजूद है जैसे कि F पुनरावर्ती रूप से गणनीय नहीं है।


Show that any G satisfying (b) must be semantic.

दिखाएँ कि (b) को संतुष्ट करने वाला कोई भी G अर्थपूर्ण होना चाहिए।