இந்த வழிமுறை தரவை திறமையாக வரிசைப்படுத்துகிறது.


Please provide the necessary inputs for the program.

நிரலுக்கான தேவையான உள்ளீடுகளை வழங்கவும்.


The company was founded based on the non-existence of an algorithm.

ஒரு வழிமுறை இல்லாததன் அடிப்படையில் நிறுவனம் நிறுவப்பட்டது.


The algorithm's efficiency is crucial for large datasets.

பெரிய தரவுத்தொகுப்புகளுக்கு வழிமுறையின் திறன் முக்கியமானது.


The computer performs many operations per second.

கணினி ஒரு நொடிக்கு பல செயல்பாடுகளைச் செய்கிறது.


The research paper discusses the algorithm's complexity.

ஆராய்ச்சி கட்டுரை வழிமுறையின் சிக்கலைப் பற்றி விவாதிக்கிறது.


The algorithm is used for matrix multiplication.

இந்த வழிமுறை அணி பெருக்கலுக்குப் பயன்படுத்தப்படுகிறது.


The algorithm's performance was analyzed.

வழிமுறையின் செயல்பாடு பகுப்பாய்வு செய்யப்பட்டது.


The algorithm is a key component of the system.

இந்த வழிமுறை அமைப்பின் முக்கிய அங்கமாகும்.


The algorithm's running time depends on the input size.

வழிமுறையின் இயங்கும் நேரம் உள்ளீட்டு அளவைப் பொறுத்தது.


The algorithm was implemented in the programming language.

இந்த வழிமுறை நிரலாக்க மொழியில் செயல்படுத்தப்பட்டது.


இந்த வழிமுறை ரகசிய குறியீட்டு முறையில் பயன்படுத்தப்படுகிறது.


வழிமுறையின் திறன் மேம்படுத்தப்பட்டது.


இந்த வழிமுறையைப் புரிந்துகொள்வது கடினம்.


The algorithm is used for image processing.

இந்த வழிமுறை பட செயலாக்கத்திற்கு பயன்படுத்தப்படுகிறது.


The algorithm's steps are clearly defined.

வழிமுறையின் படிகள் தெளிவாக வரையறுக்கப்பட்டுள்ளன.


The algorithm is based on mathematical principles.

இந்த வழிமுறை கணிதக் கொள்கைகளை அடிப்படையாகக் கொண்டது.


The algorithm's performance is evaluated.

வழிமுறையின் செயல்பாடு மதிப்பிடப்படுகிறது.


The algorithm is used for data compression.

இந்த வழிமுறை தரவு சுருக்கத்திற்கு பயன்படுத்தப்படுகிறது.


வழிமுறையின் வடிவமைப்பு புதுமையானது.


This book is about theoretical computer science.

இந்த புத்தகம் கோட்பாட்டு கணினி அறிவியலைப் பற்றியது.


கணக்கீடு பல அமைப்புகளில் எழுகிறது.


The notion of universality is important.

உலகளாவிய கருத்து முக்கியமானது.


We can define a mathematical model of computation.

கணக்கீட்டின் கணித மாதிரியை நாம் வரையறுக்கலாம்.


Some problems are inherently intractable.

சில சிக்கல்கள் உள்ளார்ந்த முறையில் கையாள முடியாதவை.


இந்தப் புத்தகம் ரகசியக் குறியீட்டைப் பற்றிப் பேசுகிறது.


Students should understand the basic idea.

மாணவர்கள் அடிப்படை யோசனையைப் புரிந்து கொள்ள வேண்டும்.


The formal notation should help elucidate the ideas.

முறைப்படுத்தப்பட்ட குறியீடு கருத்துக்களை தெளிவுபடுத்த உதவும்.


This book does not assume programming fluency.

இந்தப் புத்தகம் நிரலாக்கத் திறனை எடுத்துக் கொள்ளாது.


Proofs are often constructive and algorithmic.

நிரூபணங்கள் பெரும்பாலும் ஆக்கபூர்வமானவை மற்றும் வழிமுறை சார்ந்தவை.


The accompanying website is a work in progress.

இணைந்த இணையதளம் இன்னும் உருவாக்கத்தில் உள்ளது.


இந்தப் புத்தகம் சவாலாக இருக்கலாம்.


இந்த குறிப்புகளை தீவிரமாகப் படியுங்கள்.


வரையறைகளைப் புரிந்து கொள்ளுங்கள்.


It is more important to understand definitions than theorems.

தேற்றங்களை விட வரையறைகளைப் புரிந்துகொள்வது மிகவும் முக்கியம்.


இந்தப் புத்தகம் குறியீடு துணுக்குகளைக் கொண்டுள்ளது.


இந்த விஷயத்தைப் படிப்பது முக்கியம்.


Computation and information are the basic building blocks.

கணக்கீடு மற்றும் தகவல் ஆகியவை அடிப்படை கட்டுமானத் தொகுதிகள் ஆகும்.


இந்தப் புத்தகம் உங்கள் ஆர்வத்தைத் தூண்டும்.


Boolean circuits are more fundamental than automata.

பூலியன் சுற்றுகள் தானியங்கிகளை விட மிகவும் அடிப்படையானவை.


பாடநூல் இணையத்தில் கிடைக்கும்.


Please post any issues on the GitHub repository.

ஏதேனும் சிக்கல்கள் இருந்தால், GitHub களஞ்சியத்தில் பதிவிடுங்கள்.


இந்த பதிப்பு புதன் கிழமை அன்று தொகுக்கப்பட்டது.


The book is licensed under a Creative Commons license.

இந்தப் புத்தகம் கிரியேட்டிவ் காமன்ஸ் உரிமத்தின் கீழ் உரிமம் பெற்றது.


This work is dedicated to Ravit, Alma and Goren.

இந்த படைப்பு ரவித், அல்மா மற்றும் கோரன் ஆகியோருக்கு அர்ப்பணிக்கப்பட்டுள்ளது.


The book covers topics in theoretical computer science.

இந்தப் புத்தகம் கோட்பாட்டு கணினி அறிவியல் தொடர்பான தலைப்புகளை உள்ளடக்கியது.


Chapter 1 discusses mathematical background.

அத்தியாயம் 1 கணித பின்னணியைப் பற்றி விவாதிக்கிறது.


The book explores computation and representation.

இந்தப் புத்தகம் கணக்கீடு மற்றும் பிரதிநிதித்துவத்தை ஆராய்கிறது.


வரையறுக்கப்பட்ட கணக்கீடு ஒரு முக்கிய கருத்தாகும்.


The text explains the concept of syntactic sugar.

உரை சொற்றொடர் சர்க்கரையின் கருத்தை விளக்குகிறது.


The book delves into efficient algorithms.

இந்தப் புத்தகம் திறமையான வழிமுறைகளை ஆராய்கிறது.


NP முழுமை ஒரு முக்கியமான தலைப்பு.


The book also covers randomized computation.

இந்தப் புத்தகம் சீரற்ற கணக்கீட்டையும் உள்ளடக்கியது.


Cryptography is discussed in the advanced topics section.

மேம்பட்ட தலைப்புகள் பகுதியில் ரகசிய எழுத்துமுறை விவாதிக்கப்படுகிறது.


Proofs and algorithms are also explored.

நிரூபணங்களும் வழிமுறைகளும் ஆராயப்படுகின்றன.


Quantum computing is a fascinating area.

குவாண்டம் கணினி ஒரு அற்புதமான பகுதி.


The preface provides an introduction to the book.

முன்னுரை புத்தகத்திற்கான அறிமுகத்தை வழங்குகிறது.


The book includes exercises for the student.

புத்தகத்தில் மாணவர்களுக்கான பயிற்சிகள் உள்ளன.


The author provides bibliographical notes.

ஆசிரியர் நூலியல் குறிப்புகளை வழங்குகிறார்.


The book discusses the importance of negative results.

புத்தகம் எதிர்மறை முடிவுகளின் முக்கியத்துவத்தை விவாதிக்கிறது.


The algorithm efficiently solves the problem.

அந்த வழிமுறை சிக்கலை திறமையாக தீர்க்கிறது.


Can you explain the concept in simpler terms?

இந்த கருத்தை இன்னும் எளிமையான வார்த்தைகளில் விளக்க முடியுமா?


The research paper presents a novel approach.

ஆராய்ச்சி கட்டுரை ஒரு புதிய அணுகுமுறையை முன்வைக்கிறது.


நிறுவனம் புதிய மென்பொருளை உருவாக்கி வருகிறது.


அவர் ஒரு சிறந்த கணிதவியலாளர்.


The data analysis revealed interesting patterns.

தரவு பகுப்பாய்வு சுவாரஸ்யமான வடிவங்களை வெளிப்படுத்தியது.


திட்டத்திற்கு கவனமாக திட்டமிடல் தேவை.


The algorithm's efficiency is a key factor.

வழிமுறையின் திறன் ஒரு முக்கிய காரணியாகும்.


The results were statistically significant.

முடிவுகள் புள்ளிவிவர ரீதியாக முக்கியத்துவம் வாய்ந்தவை.


The code needs to be optimized for performance.

செயல்திறனுக்காக குறியீடு மேம்படுத்தப்பட வேண்டும்.


The study explores the impact of social media.

இந்த ஆய்வு சமூக ஊடகங்களின் தாக்கத்தை ஆராய்கிறது.


The model accurately predicts the outcome.

மாதிரி துல்லியமாக முடிவை கணிக்கிறது.


The team collaborated effectively on the project.

குழு திட்டத்தில் திறம்பட ஒத்துழைத்தது.


The software update includes new features.

மென்பொருள் புதுப்பிப்பில் புதிய அம்சங்கள் உள்ளன.


The experiment yielded unexpected results.

சோதனை எதிர்பாராத முடிவுகளை அளித்தது.


The research aims to improve healthcare.

இந்த ஆராய்ச்சி சுகாதாரத்தை மேம்படுத்துவதை நோக்கமாகக் கொண்டுள்ளது.


The algorithm's complexity is O(n log n).

வழிமுறையின் சிக்கலானது O(n log n) ஆகும்.


The findings challenge existing theories.

கண்டுபிடிப்புகள் ஏற்கனவே உள்ள கோட்பாடுகளை கேள்விக்குள்ளாக்குகின்றன.


அமைப்பு அளவிடுதலுக்காக வடிவமைக்கப்பட்டுள்ளது.


The study uses advanced statistical methods.

இந்த ஆய்வு மேம்பட்ட புள்ளிவிவர முறைகளைப் பயன்படுத்துகிறது.


The book discusses the limitations of context-free grammars.

இந்தப் புத்தகம் சூழல்-சாரா இலக்கணங்களின் வரம்புகளைப் பற்றி விவாதிக்கிறது.


Can uniform algorithms simulate non-uniform ones?

சீரான வழிமுறைகள் சீரற்றவற்றை உருவகப்படுத்த முடியுமா?


The chapter explores the concept of polynomial-time reductions.

இந்தப் பிரிவு பல்லுறுப்புக்கோவை நேரக் குறைப்பு என்ற கருத்தை ஆராய்கிறது.


P ஆனது NP க்கு சமமாக இருந்தால் என்ன ஆகும்?


The algorithm finds the shortest path in a graph.

இந்த வழிமுறை வரைபடத்தில் மிகக் குறுகிய பாதையைக் கண்டறிகிறது.


குக்-லெவின் தேற்றத்தை நாம் ஆராய்வோம்.


The book provides an introduction to efficient algorithms.

இந்தப் புத்தகம் திறமையான வழிமுறைகளுக்கு ஒரு அறிமுகத்தை வழங்குகிறது.


The study of quantum computing is fascinating.

குவாண்டம் கணினியின் ஆய்வு மிகவும் கவர்ச்சிகரமானது.


This section covers the basics of probability theory.

இந்தப் பிரிவு நிகழ்தகவு கோட்பாட்டின் அடிப்படைகளை உள்ளடக்கியது.


The chapter discusses the time hierarchy theorem.

இந்தப் பிரிவு நேர படிநிலை தேற்றத்தைப் பற்றி விவாதிக்கிறது.


The research explores the concept of NP completeness.

இந்த ஆராய்ச்சி NP முழுமை என்ற கருத்தை ஆராய்கிறது.


The article explains the importance of public key cryptography.

கட்டுரை பொது-முக்கிய குறியாக்கத்தின் முக்கியத்துவத்தை விளக்குகிறது.


The algorithm's running time is analyzed.

வழிமுறையின் இயங்கும் நேரம் பகுப்பாய்வு செய்யப்படுகிறது.


The theorem is a cornerstone of computer science.

இந்த தேற்றம் கணினி அறிவியலின் ஒரு முக்கிய அங்கமாகும்.


The concept of space-bounded computation is discussed.

வெளி-வரையறுக்கப்பட்ட கணக்கீட்டு கருத்து விவாதிக்கப்படுகிறது.


The paper delves into the topic of derandomization.

இந்த கட்டுரை சீரற்ற தன்மையை நீக்குதல் என்ற தலைப்பில் ஆராய்கிறது.


The proof utilizes the extended Church-Turing Thesis.

இந்த ஆதாரம் விரிவாக்கப்பட்ட சர்ச்-டூரிங் கருதுகோளைப் பயன்படுத்துகிறது.


The study examines the implications of P versus NP.

இந்த ஆய்வு P மற்றும் NP ஆகியவற்றின் தாக்கங்களை ஆராய்கிறது.


The research explores the application of quantum Fourier transform.

இந்த ஆராய்ச்சி குவாண்டம் ஃபூரியர் மாற்றத்தின் பயன்பாட்டை ஆராய்கிறது.


The algorithm's efficiency is a key consideration in its design.

வழிமுறையின் திறன் அதன் வடிவமைப்பில் ஒரு முக்கிய கருத்தாகும்.


இன்று வானிலை இனிமையாக உள்ளது.


உப்பு கொஞ்சம் எடுத்துத்தர முடியுமா?


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 update includes several bug fixes and performance improvements.

மென்பொருள் புதுப்பிப்பில் பல பிழை திருத்தங்கள் மற்றும் செயல்திறன் மேம்பாடுகள் உள்ளன.


Despite the challenges, they persevered and achieved their goals.

சவால்கள் இருந்தபோதிலும், அவர்கள் விடாமுயற்சியுடன் தங்கள் இலக்குகளை அடைந்தனர்.


The intricate design of the temple is a testament to the skill of the artisans.

கோவிலின் சிக்கலான வடிவமைப்பு கைவினைஞர்களின் திறமைக்கு ஒரு சான்றாகும்.


The philosophical treatise delves into the nature of existence and consciousness.

தத்துவார்த்த கட்டுரை இருப்பு மற்றும் உணர்வு பற்றிய தன்மையை ஆராய்கிறது.


The economic forecast predicts a period of sustained growth in the coming years.

பொருளாதார கணிப்பு வரவிருக்கும் ஆண்டுகளில் நிலையான வளர்ச்சியை முன்னறிவிக்கிறது.


The complex interplay of factors contributed to the market volatility.

சந்தையின் ஏற்ற இறக்கத்திற்கு காரணிகளின் சிக்கலான தொடர்பு காரணமாக இருந்தது.


The quantum entanglement phenomenon continues to baffle scientists.

குவாண்டம் பிணைப்பு நிகழ்வு விஞ்ஞானிகளை தொடர்ந்து குழப்பத்தில் ஆழ்த்துகிறது.


The computational model simulates the behavior of complex systems.

கணக்கீட்டு மாதிரி சிக்கலான அமைப்புகளின் நடத்தையை உருவகப்படுத்துகிறது.


The implications of the new legislation are far-reaching and multifaceted.

புதிய சட்டத்தின் தாக்கங்கள் தொலைநோக்குடையவை மற்றும் பலதரப்பட்டவை.


The artist's oeuvre reflects a deep understanding of human emotions.

கலைஞரின் படைப்புகள் மனித உணர்ச்சிகளின் ஆழமான புரிதலை பிரதிபலிக்கின்றன.


The intricate details of the ancient civilization are slowly being uncovered by archaeologists.

பண்டைய நாகரிகத்தின் சிக்கலான விவரங்கள் தொல்பொருள் ஆராய்ச்சியாளர்களால் மெதுவாக வெளிப்படுத்தப்படுகின்றன.


The convergence of various technological advancements has revolutionized the industry.

பல்வேறு தொழில்நுட்ப முன்னேற்றங்களின் ஒன்றுகூடல் தொழில்துறையில் புரட்சியை ஏற்படுத்தியுள்ளது.


அந்த வழிமுறை தரவை திறமையாக வரிசைப்படுத்துகிறது.


She enjoys reading novels in her free time.

அவள் தனது ஓய்வு நேரத்தில் நாவல்கள் படிப்பதை விரும்புகிறாள்.


The company announced a new product launch.

நிறுவனம் ஒரு புதிய தயாரிப்பு வெளியீட்டை அறிவித்தது.


Despite the challenges, they succeeded in their mission.

சவால்கள் இருந்தபோதிலும், அவர்கள் தங்கள் பணியில் வெற்றி பெற்றனர்.


Could you please provide more details about the project?

தயவுசெய்து திட்டத்தைப் பற்றி மேலும் விவரங்களை வழங்க முடியுமா?


The research paper explores the impact of climate change.

ஆராய்ச்சி கட்டுரை காலநிலை மாற்றத்தின் தாக்கத்தை ஆராய்கிறது.


He is a highly respected professor at the university.

அவர் பல்கலைக்கழகத்தில் மிகவும் மதிக்கப்படும் பேராசிரியர்.


The government implemented new economic policies.

அரசாங்கம் புதிய பொருளாதாரக் கொள்கைகளை அமல்படுத்தியது.


The complex system requires careful analysis.

சிக்கலான அமைப்பு கவனமாக பகுப்பாய்வு செய்யப்பட வேண்டும்.


She is fluent in several foreign languages.

அவள் பல வெளிநாட்டு மொழிகளில் சரளமாக பேசுகிறாள்.


The artist's work is known for its vibrant colors and bold strokes.

அந்த கலைஞரின் படைப்பு அதன் துடிப்பான வண்ணங்கள் மற்றும் தைரியமான கோடுகளுக்கு பெயர் பெற்றது.


The team is working diligently to meet the deadline.

காலக்கெடுவைச் சந்திக்க குழுவினர் விடாமுயற்சியுடன் உழைக்கின்றனர்.


The scientific community is debating the latest findings.

அறிவியல் சமூகம் சமீபத்திய கண்டுபிடிப்புகளைப் பற்றி விவாதிக்கிறது.


The ancient ruins provide valuable insights into the past.

பண்டைய இடிபாடுகள் கடந்த காலத்தைப் பற்றிய மதிப்புமிக்க நுண்ணறிவை வழங்குகின்றன.


The new technology has the potential to revolutionize the industry.

புதிய தொழில்நுட்பம் தொழில்துறையில் புரட்சியை ஏற்படுத்தும் திறன் கொண்டது.


The economic forecast predicts a period of growth.

பொருளாதார முன்னறிவிப்பு வளர்ச்சி காலத்தை முன்னறிவிக்கிறது.


The philosophical debate explored the nature of reality.

தத்துவ விவாதம் யதார்த்தத்தின் இயல்பை ஆராய்ந்தது.


The intricate design of the building is a marvel of engineering.

கட்டிடத்தின் சிக்கலான வடிவமைப்பு பொறியியலின் ஒரு அதிசயம்.


Despite facing numerous setbacks, the project was ultimately successful.

பல பின்னடைவுகளை சந்தித்த போதிலும், திட்டம் இறுதியில் வெற்றி பெற்றது.


The implications of the discovery are far-reaching and significant.

கண்டுபிடிப்பின் விளைவுகள் தொலைநோக்குடையவை மற்றும் குறிப்பிடத்தக்கவை.


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 to a binary string.

ஒரு பிரதிநிதித்துவத் திட்டம் என்பது ஒரு பொருளை ஒரு இரும சரத்திற்கு வரைபடமாக்குவதற்கான ஒரு வழியாகும்.


For example, a representation scheme for natural numbers is a function.

உதாரணமாக, இயல் எண்களுக்கான ஒரு பிரதிநிதித்துவத் திட்டம் ஒரு செயல்பாடு ஆகும்.


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

நிச்சயமாக, நாம் அனைத்து எண்களையும் சரமாக பிரதிநிதித்துவப்படுத்த முடியாது.


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

குறைந்தபட்ச தேவை என்னவென்றால், இரண்டு எண்கள் வேறுபட்டால், அவை வெவ்வேறு சரங்களால் குறிக்கப்படும்.


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

இதைச் சொல்வதற்கான மற்றொரு வழி என்னவென்றால், குறியீட்டுச் செயல்பாடு ஒன்றுக்கு ஒன்றாக இருக்க வேண்டும்.


Representing each one the digits as a bitmap image, which can be thought of as a string.

ஒவ்வொரு இலக்கத்தையும் ஒரு பிட்மேப் படமாகப் பிரதிநிதித்துவப்படுத்துதல், இதை ஒரு சரமாக நினைக்கலாம்.


Using this scheme we can represent a natural number of decimal digits as a string.

இந்த திட்டத்தைப் பயன்படுத்தி, தசம இலக்கங்களின் இயல் எண்ணை ஒரு சரமாகப் பிரதிநிதித்துவப்படுத்தலாம்.


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 since.

உதாரணமாக, ஆறு என்ற எண்ணை சரமாக பிரதிநிதித்துவப்படுத்துகிறோம்.


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

சமமாக இருந்தால், இன் இரும பிரதிநிதித்துவத்தின் மிகக் குறைந்த முக்கிய இலக்கம் ஆகும், அதே சமயம் ஒற்றையாக இருந்தால், இந்த இலக்கம் சமம்.


Just like the number corresponds to “chopping off” the least significant decimal digit.

எண் மிகக் குறைந்த முக்கிய தசம இலக்கத்தை “வெட்டுவதற்கு” ஒத்திருக்கிறது.


Hence the binary representation can be formally defined as the following function.

எனவே இரும பிரதிநிதித்துவத்தை பின்வரும் செயல்பாடாக முறையாக வரையறுக்கலாம்.


செயல்பாடு மீண்டும் மீண்டும் வரையறுக்கப்படுகிறது.


It is also possible to define non-recursively.

மீண்டும் மீண்டும் இல்லாமல் வரையறுக்க முடியும்.


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

இந்தப் புத்தகத்தின் பெரும்பகுதியில், எண்களை இரும சரங்களாகக் குறிப்பதற்கான குறிப்பிட்ட தேர்வுகள் அதிகம் பொருட்படுத்தப்படாது.


The function F maps elements from set S to set T.

சார்பு F ஆனது S கணத்தில் உள்ள உறுப்புகளை T கணத்திற்கு வரைபடம் செய்கிறது.


If F(x) ≠ F(y) for all x ≠ y, then F is one-to-one.

எல்லா x ≠ y க்கும் F(x) ≠ F(y) எனில், F ஒன்றுக்கொன்று.


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

ஒரு கணம் S இலிருந்து அதே கணத்திற்கு வரையறுக்கப்படும் இருவழிச் சார்பு S இன் வரிசைமாற்றம் என்றும் அழைக்கப்படுகிறது.


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

இரண்டு கணங்களுக்கு இடையே ஒரு இருவழிச் சார்பைக் கொடுப்பது, அவை ஒரே அளவைக் கொண்டுள்ளன என்பதைக் காட்ட ஒரு நல்ல வழியாகும்.


We can represent finite functions as a directed graph.

வரையறுக்கப்பட்ட சார்புகளை ஒரு திசை வரைபடமாக குறிப்பிடலாம்.


The onto condition corresponds to requiring that every vertex in the codomain of the function has in-degree at least one.

மேல் சார்பு நிபந்தனை, சார்பின் துணை களத்தில் உள்ள ஒவ்வொரு முனைக்கும் குறைந்தபட்சம் ஒன்று உள்-பாகை இருக்க வேண்டும் என்பதைக் குறிக்கிறது.


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

ஒரு பகுதி சார்பு, S இன் சில உட்கணங்களில் வரையறுக்கப்படாததாக இருக்க அனுமதிக்கப்படுகிறது.


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

உதாரணமாக, பகுதி சார்பு F(x) = √x ஆனது எதிர்மறையற்ற மெய்யெண்களில் மட்டுமே வரையறுக்கப்படுகிறது.


Verifying that you can prove the following results is an excellent way to brush up on functions.

பின்வரும் முடிவுகளை நீங்கள் நிரூபிக்க முடியும் என்பதை சரிபார்ப்பது, சார்புகளைப் பற்றி அறிந்து கொள்ள ஒரு சிறந்த வழியாகும்.


If F : S → T and G : T → U are one-to-one functions, then their composition H : S → U defined as H(s) = G(F(s)) is also one to one.

F : S → T மற்றும் G : T → U ஆகியவை ஒன்றுக்கொன்று சார்புகளாக இருந்தால், அவற்றின் கலவை H : S → U, H(s) = G(F(s)) என வரையறுக்கப்படுகிறது, இதுவும் ஒன்றுக்கொன்று.


Graphs are ubiquitous in Computer Science.

கணினி அறிவியலில் வரைபடங்கள் எங்கும் நிறைந்தவை.


Graphs come in two basic flavors: undirected and directed.

வரைபடங்கள் இரண்டு அடிப்படை வகைகளில் வருகின்றன: திசையற்ற மற்றும் திசை.


An undirected graph G = (V, E) consists of a set V of vertices and a set E of edges.

ஒரு திசையற்ற வரைபடம் G = (V, E) முனைகளின் கணம் V மற்றும் விளிம்புகளின் கணம் E ஆகியவற்றைக் கொண்டுள்ளது.


We say that two vertices u, v ∈ V are neighbors, if the edge {u, v} is in E.

விளிம்பு {u, v} ஆனது E இல் இருந்தால், இரண்டு முனைகள் u, v ∈ V ஆகியவை அண்டை முனைகள் என்று கூறுகிறோம்.


We define the degree of u to be the number of neighbors u has.

u இன் பாகையை u கொண்டிருக்கும் அண்டை முனைகளின் எண்ணிக்கை என வரையறுக்கிறோம்.


A path in the graph is a tuple (u0, ..., uk) ∈ Vk+1, for some k > 0 such that ui+1 is a neighbor of ui for every i ∈ [k].

வரைபடத்தில் உள்ள ஒரு பாதை என்பது (u0, ..., uk) ∈ Vk+1, சில k > 0 க்கு, ui+1 ஆனது ஒவ்வொரு i ∈ [k] க்கும் ui இன் அண்டை முனையாகும்.


A simple path is a path (u0, ..., uk-1) where all the ui’s are distinct.

ஒரு எளிய பாதை என்பது (u0, ..., uk-1) பாதை, இதில் ui கள் அனைத்தும் வேறுபட்டவை.


We say that the graph G is connected if every pair of vertices in it is connected.

வரைபடம் G ஆனது இணைக்கப்பட்டுள்ளது என்று கூறுகிறோம், அதில் உள்ள ஒவ்வொரு முனை ஜோடியும் இணைக்கப்பட்டிருந்தால்.


In any undirected graph G = (V, E), the sum of the degrees of all vertices is equal to twice the number of edges.

எந்தவொரு திசையற்ற வரைபடத்திலும் G = (V, E), அனைத்து முனைகளின் பாகைகளின் கூட்டுத்தொகை விளிம்புகளின் எண்ணிக்கையை இரு மடங்கிற்கு சமம்.


The connectivity relation is transitive.

இணைப்பு உறவு கடப்புத்தன்மை கொண்டது.


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

உள்-அயலவர்கள் இருந்தால், v இன் உள்-அயலவர் u உள்ளது, இதனால் 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 என அமைக்க முடியாது, ஏனெனில் f(u) = i - 1 ஐ பூர்த்தி செய்யும் v இன் உள்-அயலவர் u உள்ளது.


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, we prove the weaker statement that f(v) ≤ g(v) for every v ∈ V.

f = g என்ற கூற்றை நிரூபிப்பதற்குப் பதிலாக, ஒவ்வொரு 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 என்றால், f(u) = i - 1 ஆக இருக்கும் v இன் சில உள்-அயலவர் u இருக்க வேண்டும்.


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).


The algorithm efficiently sorts the data.

அந்த வழிமுறை தரவை திறமையாக வரிசைப்படுத்துகிறது.


Please provide the input for the function.

செயல்பாட்டிற்கான உள்ளீட்டை வழங்கவும்.


The research paper discusses computational complexity.

ஆராய்ச்சி கட்டுரை கணக்கீட்டு சிக்கலைப் பற்றி விவாதிக்கிறது.


நிறுவனம் புதிய மென்பொருளை உருவாக்கி வருகிறது.


He is studying theoretical computer science.

அவர் கோட்பாட்டு கணினி அறிவியலைப் படிக்கிறார்.


நிரல் எந்த பிழையும் இல்லாமல் இயங்குகிறது.


The data structure is optimized for performance.

தரவு கட்டமைப்பு செயல்திறனுக்காக உகந்ததாக உள்ளது.


The professor explained the concept clearly.

பேராசிரியர் கருத்தை தெளிவாக விளக்கினார்.


நாளை கூட்டம் நடைபெறும்.


அவள் ஒரு சிறந்த மாணவி.


இன்று வானிலை நன்றாக உள்ளது.


He enjoys reading books in his free time.

அவர் தனது ஓய்வு நேரத்தில் புத்தகங்களைப் படிப்பதை விரும்புகிறார்.


அரசு புதிய கொள்கைகளை அறிவித்தது.


பொருளாதாரம் வேகமாக வளர்ந்து வருகிறது.


The company's profits increased significantly.

நிறுவனத்தின் லாபம் கணிசமாக அதிகரித்தது.


குழு ஒரு புதிய திட்டத்தில் பணிபுரிந்து வருகிறது.


The algorithm's efficiency is crucial for large datasets.

பெரிய தரவுத்தொகுப்புகளுக்கு வழிமுறையின் திறன் முக்கியமானது.


The complexity of the problem requires a sophisticated solution.

பிரச்சனையின் சிக்கலானது ஒரு அதிநவீன தீர்வை தேவைப்படுத்துகிறது.


The function's output depends on the input parameters.

செயல்பாட்டின் வெளியீடு உள்ளீட்டு அளவுருக்களைப் பொறுத்தது.


The software update includes several bug fixes and performance improvements.

மென்பொருள் புதுப்பிப்பில் பல பிழை திருத்தங்களும், செயல்திறன் மேம்பாடுகளும் அடங்கும்.


The Braille system encodes letters and symbols as binary strings.

பிரெய்லி முறை எழுத்துக்களையும் குறியீடுகளையும் இரும சரங்களாக குறியீடாக்குகிறது.


We can represent a letter or symbol by a string.

ஒரு எழுத்து அல்லது குறியீட்டை ஒரு சரத்தால் குறிக்க முடியும்.


The ASCII representation is fixed-length, it is automatically prefix-free.

ASCII பிரதிநிதித்துவம் நிலையான நீளம் கொண்டது, இது தானாகவே முன்னொட்டு இல்லாதது.


Unicode is the representation of about 128,000 symbols as numbers.

யுனிகோட் என்பது சுமார் 128,000 சின்னங்களை எண்களாகக் குறிக்கும் முறையாகும்.


The Braille system was invented in 1821 by Louis Braille.

பிரெய்லி முறை 1821 இல் லூயிஸ் பிரெய்லியால் கண்டுபிடிக்கப்பட்டது.


We can represent lists of lists, and thus, can represent matrices.

பட்டியல்களின் பட்டியலை நாம் குறிப்பிடலாம், இதனால், அணிவரிசைகளை குறிப்பிட முடியும்.


A video can be represented as a list of images.

ஒரு வீடியோவை படங்களின் பட்டியலாகக் குறிப்பிடலாம்.


We can represent the color at each pixel by a list of three numbers.

ஒவ்வொரு பிக்சலிலும் உள்ள நிறத்தை மூன்று எண்களின் பட்டியலாகக் குறிப்பிடலாம்.


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

n முனைகள் கொண்ட ஒரு வரைபடத்தை ஒரு அடுத்தடுத்த அணிவரிசையாகக் குறிப்பிடலாம்.


We can transform an undirected graph to a directed graph.

ஒரு திசையில்லாத வரைபடத்தை ஒரு திசை வரைபடமாக மாற்றலாம்.


Another representation for graphs is the adjacency list representation.

வரைபடங்களுக்கான மற்றொரு பிரதிநிதித்துவம் அடுத்தடுத்த பட்டியல் பிரதிநிதித்துவம் ஆகும்.


We can represent nested lists of items using strings.

சரங்களைப் பயன்படுத்தி உருப்படிகளின் உட்பொதிக்கப்பட்ட பட்டியல்களைக் குறிப்பிடலாம்.


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

ஒரு பொருளை அதன் பிரதிநிதித்துவத்துடன் ஒரு சரமாக அடையாளம் காண்போம்.


A computational process takes an input and produces an output.

ஒரு கணக்கீட்டு செயல்முறை உள்ளீட்டை எடுத்து வெளியீட்டை உருவாக்குகிறது.


We focus on the specification and not the implementation.

நாம் விவரக்குறிப்பில் கவனம் செலுத்துகிறோம், செயல்படுத்துவதில் அல்ல.


Given two integers, compute their product.

இரண்டு முழு எண்களைக் கொடுத்தால், அவற்றின் பெருக்கலைக் கணக்கிடுங்கள்.


Given an integer z > 1, compute its factorization.

ஒரு முழு எண் z > 1 கொடுக்கப்பட்டால், அதன் காரணியைக் கணக்கிடுங்கள்.


Given a graph and two vertices, compute the shortest path.

ஒரு வரைபடம் மற்றும் இரண்டு முனைகள் கொடுக்கப்பட்டால், மிகக் குறுகிய பாதையைக் கணக்கிடுங்கள்.


Determine whether a Python program has an infinite loop.

ஒரு பைதான் நிரலில் முடிவிலா லூப் உள்ளதா எனத் தீர்மானிக்கவும்.


A function is not the same as a program.

ஒரு செயல்பாடு ஒரு நிரல் போன்றதல்ல.


The book will address the issues mentioned earlier.

புத்தகத்தில் முன்பு குறிப்பிட்ட பிரச்சினைகள் பற்றி விவாதிக்கப்படும்.


We can make the definition of an algorithm fully formal.

ஒரு வழிமுறையின் வரையறையை முழுமையாக முறைப்படுத்த முடியும்.


AND/OR/NOT ஆகியவற்றின் தேர்வு தன்னிச்சையானது.


We would obtain the same computational power.

நாம் அதே கணக்கீட்டு சக்தியைப் பெறுவோம்.


We can compute such AND/OR/NOT-based algorithms in the real world.

நாம் நிஜ உலகில் இதுபோன்ற AND/OR/NOT அடிப்படையிலான வழிமுறைகளை கணக்கிட முடியும்.


Such an algorithm is clearly well specified.

அத்தகைய வழிமுறை தெளிவாக நன்கு வரையறுக்கப்பட்டுள்ளது.


It can be executed by a human with a pen and paper.

ஒரு மனிதனால் பேனா மற்றும் காகிதத்துடன் இதை இயக்க முடியும்.


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

அத்தகைய அறிவுறுத்தல்களின் பட்டியலைப் பின்பற்றுவதற்கு ஏற்றவாறு பைத்தான் குறியீட்டை எழுதலாம்.


We can directly implement operations such as AND, OR, and NOT.

AND, OR மற்றும் NOT போன்ற செயல்பாடுகளை நேரடியாக செயல்படுத்தலாம்.


Modern electronic computers operate this way.

நவீன மின்னணு கணினிகள் இந்த வழியில் செயல்படுகின்றன.


We will begin to answer some of these questions.

இந்த கேள்விகளில் சிலவற்றிற்கு நாம் பதிலளிக்கத் தொடங்குவோம்.


We will see more examples of the power of simple operations.

எளிய செயல்பாடுகளின் சக்தியின் மேலும் பல எடுத்துக்காட்டுகளைப் பார்ப்போம்.


Boolean circuits provide a precise notion of composing basic operations.

பூலியன் சுற்றுகள் அடிப்படை செயல்பாடுகளை ஒன்றிணைப்பதற்கான துல்லியமான கருத்தை வழங்குகின்றன.


A Boolean circuit is composed of gates and inputs connected by wires.

ஒரு பூலியன் சுற்று கம்பிகளால் இணைக்கப்பட்ட வாயில்கள் மற்றும் உள்ளீடுகளைக் கொண்டுள்ளது.


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

கம்பிகள் 0 அல்லது 1 என்ற மதிப்பை பிரதிநிதித்துவப்படுத்தும் ஒரு சமிக்ஞையை எடுத்துச் செல்கின்றன.


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

ஒவ்வொரு வாயிலும் OR, AND அல்லது NOT செயல்பாட்டிற்கு ஒத்திருக்கிறது.


ஒரு OR வாயிலுக்கு இரண்டு உள்வரும் கம்பிகள் உள்ளன.


உள்ளீடு வெளியே செல்லும் கம்பிகளை மட்டுமே கொண்டுள்ளது.


We also designate some gates as output gates.

நாம் சில வாயில்களை வெளியீட்டு வாயில்களாகவும் நியமிக்கிறோம்.


Boolean circuits are a mathematical model.

பூலியன் சுற்றுகள் ஒரு கணித மாதிரி ஆகும்.


The circuit uses AND, OR, and NOT gates.

அந்த சுற்று AND, OR மற்றும் NOT வாயில்களைப் பயன்படுத்துகிறது.


NAND gates can be used to build any other logic gate.

NAND வாயில்களைப் பயன்படுத்தி வேறு எந்த லாஜிக் கேட்டும் உருவாக்க முடியும்.


The function computes the output based on the inputs.

செயல்பாடு உள்ளீடுகளின் அடிப்படையில் வெளியீட்டைக் கணக்கிடுகிறது.


We can implement more complex features using basic building blocks.

அடிப்படை கட்டுமானத் தொகுதிகளைப் பயன்படுத்தி, மேலும் சிக்கலான அம்சங்களை நாம் செயல்படுத்த முடியும்.


This is a special case of a general phenomenon.

இது ஒரு பொதுவான நிகழ்வின் ஒரு சிறப்பு வழக்கு.


The program is designed to compute the majority function.

பெரும்பான்மை செயல்பாட்டை கணக்கிட இந்த நிரல் வடிவமைக்கப்பட்டுள்ளது.


Confusing specification and implementation is a common mistake.

விவரக்குறிப்பு மற்றும் செயலாக்கத்தை குழப்புவது ஒரு பொதுவான தவறு.


An algorithm is a recipe for performing a computation.

ஒரு வழிமுறை என்பது ஒரு கணக்கீட்டைச் செய்வதற்கான ஒரு செய்முறையாகும்.


The NAND operation is easily implementable in the physical world.

NAND செயல்பாடு இயற்பியல் உலகில் எளிதில் செயல்படுத்தக்கூடியது.


We can use NAND to compute many other functions.

நாம் மற்ற பல செயல்பாடுகளை கணக்கிட NAND ஐப் பயன்படுத்தலாம்.


The exercises cover several examples of universal and non-universal gate sets.

பயிற்சிகள் உலகளாவிய மற்றும் உலகளாவிய அல்லாத கேட் தொகுப்புகளின் பல எடுத்துக்காட்டுகளை உள்ளடக்கியது.


It is crucial to distinguish between specification and implementation.

விவரக்குறிப்பு மற்றும் செயலாக்கத்திற்கு இடையே வேறுபடுத்துவது முக்கியம்.


A function corresponds to the specification of a computational task.

ஒரு செயல்பாடு ஒரு கணக்கீட்டு பணியின் விவரக்குறிப்புக்கு ஒத்திருக்கிறது.


A program corresponds to the implementation of how to compute the desired output.

ஒரு நிரல் விரும்பிய வெளியீட்டை எவ்வாறு கணக்கிடுவது என்பதற்கான செயலாக்கத்திற்கு ஒத்திருக்கிறது.


Even within the same computational model there can be many different ways to compute the same function.

ஒரே கணக்கீட்டு மாதிரியிலும் கூட, ஒரே செயல்பாட்டை கணக்கிட பல வழிகள் இருக்கலாம்.


The algorithm is a sequence of elementary operations.

வழிமுறை என்பது அடிப்படை செயல்பாடுகளின் ஒரு வரிசையாகும்.


The set {AND, OR, NOT} is one candidate definition for elementary operations.

{AND, OR, NOT} தொகுப்பு அடிப்படை செயல்பாடுகளுக்கான ஒரு வேட்பாளர் வரையறையாகும்.


The NAND operation is another candidate definition.

NAND செயல்பாடு மற்றொரு வேட்பாளர் வரையறையாகும்.


We can formally define the notion of a function.

ஒரு செயல்பாட்டின் கருத்தை நாம் முறையாக வரையறுக்க முடியும்.


சுற்று f என்ற செயல்பாட்டை கணக்கிடுகிறது.


We can compute f using a Boolean circuit.

பூலியன் சுற்றைப் பயன்படுத்தி f ஐ கணக்கிடலாம்.


The size of the circuit is at most O(n * 2^n) gates.

சுற்றின் அளவு அதிகபட்சம் O(n * 2^n) வாயில்கள் ஆகும்.


Every function f can be computed by a circuit.

ஒவ்வொரு செயல்பாடும் f ஒரு சுற்று மூலம் கணக்கிடப்படலாம்.


We define SIZE(s) to be the set of functions.

SIZE(s) செயல்பாடுகளின் தொகுப்பாக வரையறுக்கிறோம்.


ஒரு நிரல் ஒரு செயல்பாட்டை கணக்கிடுகிறது.


The distinction between programs and functions is crucial.

நிரல்களுக்கும் செயல்பாடுகளுக்கும் உள்ள வேறுபாடு முக்கியமானது.


ஒரு சுற்று ஒரு செயல்பாட்டை கணக்கிடுகிறது.


Every function can be computed by many circuits.

ஒவ்வொரு செயல்பாட்டையும் பல சுற்றுகளால் கணக்கிட முடியும்.


f ஆனது SIZE n,1(s) இல் உள்ளது என்று கூறுகிறோம்.


Theorem 4.12 shows that every function g is computable.

தேற்றம் 4.12 ஒவ்வொரு செயல்பாடு g கணக்கிடக்கூடியது என்று காட்டுகிறது.


We would get essentially the same class.

நாம் அடிப்படையில் அதே வகுப்பைப் பெறுவோம்.


f ஒரு NAND சுற்று மூலம் கணக்கிடப்பட்டால்.


The results can be phrased as showing that.

முடிவுகளைக் காட்டுவதாகக் கூறலாம்.


Unlike programming languages such as Python.

பைத்தான் போன்ற நிரலாக்க மொழிகளைப் போலல்லாமல்.


ஒரே NAND-CIRC நிரல் இல்லை.


எங்கள் கவனம் வரையறுக்கப்பட்ட செயல்பாடுகளில் இருக்கும்.


We will discuss how to extend the definition.

வரையறையை எவ்வாறு விரிவுபடுத்துவது என்பதைப் பற்றி விவாதிப்போம்.


ஒரு மாறிலி c உள்ளது என்பதை நிரூபிக்கவும்.


Y[0] என்ற மாறியை மறுபெயரிடலாம்.


Gordon Moore’s article “predicting” the implications of radically improving transistor density.

கॉर्डன் மூரின் கட்டுரை, டிரான்சிஸ்டர் அடர்த்தியை தீவிரமாக மேம்படுத்துவதன் தாக்கங்களை 'முன்னறிவிக்கிறது'.


Figure 3.18: The exponential growth in computing power over the last 120 years.

படம் 3.18: கடந்த 120 ஆண்டுகளில் கணினி சக்தியில் ஏற்பட்ட அதிவேக வளர்ச்சி.


Graph by Steve Jurvet- son, extending a prior graph of Ray Kurzweil.

ஸ்டீவ் ஜுர்வெட்சன் வரைந்த வரைபடம், ரே குர்ஸ்வீலின் முந்தைய வரைபடத்தை விரிவுபடுத்துகிறது.


Figure 3.19: Implementing logical gates using transis- tors.

படம் 3.19: டிரான்சிஸ்டர்களைப் பயன்படுத்தி லாஜிக்கல் கேட்களை செயல்படுத்துதல்.


Early vacuum tubes were roughly the size of lightbulbs (and looked very much like them too).

ஆரம்பகால வெற்றிடக் குழாய்கள் ஏறக்குறைய மின்விளக்குகளின் அளவாக இருந்தன (மேலும் அவை அப்படியே இருந்தன).


In the 1950’s they were supplanted bytransistors, which implement the same logic usingsemiconduc- torswhich are materials that normally do not conduct electricity but whose conductivity can be modified and controlled by inserting impu- rities (“doping”) and applying an external electric field (this is known as thefield effect).

1950 களில் அவை டிரான்சிஸ்டர்களால் மாற்றப்பட்டன, அவை அதே லாஜிக்கை குறைக்கடத்திகளைப் பயன்படுத்தி செயல்படுத்துகின்றன, அவை பொதுவாக மின்சாரத்தை கடத்தாத பொருட்கள், ஆனால் அவற்றின் கடத்துத்திறனை அசுத்தங்களைச் செருகுவதன் மூலம் மாற்றியமைக்கலாம் மற்றும் கட்டுப்படுத்தலாம் (“டோப்பிங்”) மற்றும் வெளிப்புற மின்சார புலத்தைப் பயன்படுத்துவதன் மூலம் (இது ஃபீல்ட் விளைவு என அழைக்கப்படுகிறது).


In the 1960’s computers started to be implemented usingintegrated circuitswhich enabled much greater density.

1960 களில், ஒருங்கிணைந்த சுற்றுகளைப் பயன்படுத்தி கணினிகள் செயல்படுத்தத் தொடங்கின, இது அதிக அடர்த்தியை அனுமதித்தது.


In 1965, Gordon Moore predicted that the number of transistors per integrated circuit would double every year (see Fig. 3.16), and that this would lead to “such wonders as home computers —or at least terminals con- nected to a central computer— automatic controls for automobiles, and personal portable communications equipment”.

1965 ஆம் ஆண்டில், கார்டன் மூர், ஒருங்கிணைந்த சுற்றுக்கு டிரான்சிஸ்டர்களின் எண்ணிக்கை ஒவ்வொரு ஆண்டும் இரட்டிப்பாகும் என்று கணித்தார் (படம் 3.16 ஐப் பார்க்கவும்), மேலும் இது “வீட்டு கணினிகள் போன்ற அதிசயங்களுக்கு வழிவகுக்கும் - அல்லது குறைந்தபட்சம் ஒரு மைய கணினியுடன் இணைக்கப்பட்ட முனையங்கள் - ஆட்டோமொபைல்களுக்கான தானியங்கி கட்டுப்பாடுகள் மற்றும் தனிப்பட்ட சிறிய தகவல் தொடர்பு உபகரணங்கள்”.


Since then, (ad- justed versions of) this so-called “Moore’s law” have been running strong, though exponential growth cannot be sustained forever, and some physical limitations are already becoming apparent.

அப்போதிருந்து, இந்த 'மூரின் விதி' என்று அழைக்கப்படுவது வலுவாக இயங்கி வருகிறது, இருப்பினும் அதிவேக வளர்ச்சியை எப்போதும் தக்கவைக்க முடியாது, மேலும் சில உடல்ரீதியான வரம்புகள் ஏற்கனவே தெளிவாகத் தெரிய வருகின்றன.


3.5.2 Logical gates from transistors We can use transistors to implement various Boolean functions such asAND,OR, andNOT.

3.5.2 டிரான்சிஸ்டர்களிலிருந்து லாஜிக்கல் கேட்கள் நாம் AND, OR, மற்றும் NOT போன்ற பல்வேறு பூலியன் செயல்பாடுகளைச் செயல்படுத்த டிரான்சிஸ்டர்களைப் பயன்படுத்தலாம்.


For each two-input gate퐺 ∶ {0,1} 2 → {0,1}, such an implementation would be a system with two input wires푥,푦 and one output wire푧, such that if we identify high voltage with “1” and low voltage with “0”, then the wire푧will be equal to “1” if and only if applying퐺to the values of the wires푥and푦is1(see Fig. 3.19 andFig. 3.20).

ஒவ்வொரு இரண்டு-உள்ளீட்டு கேட்퐺 ∶ {0,1} 2 → {0,1} க்கும், அத்தகைய செயல்படுத்தல் இரண்டு உள்ளீட்டு கம்பிகள்푥,푦 மற்றும் ஒரு வெளியீட்டு கம்பி푧 கொண்ட ஒரு அமைப்பாக இருக்கும், இதனால் உயர் மின்னழுத்தத்தை “1” என்றும் குறைந்த மின்னழுத்தத்தை “0” என்றும் அடையாளம் கண்டால், கம்பி푧 “1” க்கு சமமாக இருக்கும், மேலும் கம்பிகளின் மதிப்புகளுக்கு퐺 ஐப் பயன்படுத்துவது மட்டுமே என்றால்푥and푦is1 (படம் 3.19 மற்றும் படம் 3.20 ஐப் பார்க்கவும்).


This means that if there exists a AND/OR/NOT circuit to compute a function푔 ∶ {0,1} 푛 → {0,1} 푚 , then we can compute푔in the physical world using transistors as well.

ஒரு செயல்பாட்டை கணக்கிட ஒரு AND/OR/NOT சுற்று இருந்தால்푔 ∶ {0,1} 푛 → {0,1} 푚 , பின்னர் நாம் டிரான்சிஸ்டர்களைப் பயன்படுத்தி இயற்பியல் உலகில் கணக்கிட முடியும்.


3.5.3 Biological computing Computation can be based on biological or chemical systems.

3.5.3 உயிரியல் கணினி உயிரியல் அல்லது வேதியியல் அமைப்புகளை அடிப்படையாகக் கொண்ட கணினி.


For example the lacoperonproduces the enzymes needed to digest lactose only if the conditions푥 ∧ (¬푦)hold where푥is “lactose is present” and푦is “glucose is present”.

உதாரணமாக, லாக்டோஸ் இருந்தால் மட்டுமே லாக்டோஸ் செரிமானத்திற்கு தேவையான நொதிகளை லாகோபெரோன் உருவாக்குகிறது, மேலும் 푥 என்பது “லாக்டோஸ் உள்ளது” மற்றும் 푦 என்பது “குளுக்கோஸ் உள்ளது”.


Researchers have managed to create transistors, and from them logic gates, based on DNA molecules (see also Fig. 3.21).

ஆராய்ச்சியாளர்கள் டிரான்சிஸ்டர்களை உருவாக்க முடிந்தது, மேலும் அவற்றிலிருந்து டிஎன்ஏ மூலக்கூறுகளை அடிப்படையாகக் கொண்ட லாஜிக் கேட்களை உருவாக்கினர் (படம் 3.21 ஐப் பார்க்கவும்).


Projects such as theCello programming language enable converting Boolean circuits into DNA sequences that encode operations that can be executed in bacterial cells, seethis video.

செல்லோ நிரலாக்க மொழி போன்ற திட்டங்கள், பூலியன் சுற்றுகளை டிஎன்ஏ வரிசைகளாக மாற்றுவதை இயக்குகின்றன, அவை பாக்டீரியா செல்களில் செயல்படுத்தக்கூடிய செயல்பாடுகளை குறியாக்கம் செய்கின்றன, இந்த வீடியோவைப் பார்க்கவும்.


One motivation for DNA computing is to achieve increased parallelism or storage density; another is to create “smart biological agents” that could perhaps be injected into bodies, replicate themselves, and fix or kill cells that were damaged by a disease such as cancer.

டிஎன்ஏ கணினிக்கு ஒரு காரணம் என்னவென்றால், அதிகரித்த இணையான அல்லது சேமிப்பு அடர்த்தியை அடைவதாகும்; மற்றொன்று “ஸ்மார்ட் உயிரியல் முகவர்களை” உருவாக்குவதாகும், அவை உடலில் செலுத்தப்பட்டு, தங்களை மீண்டும் உருவாக்கி, புற்றுநோய் போன்ற நோயால் சேதமடைந்த செல்களை சரிசெய்ய அல்லது கொல்லக்கூடும்.


Computing in biological systems is not restricted, of course, to DNA: even larger systems such as flocks of birdscan be considered as computational processes.

உயிரியல் அமைப்புகளில் கணினி, நிச்சயமாக, டிஎன்ஏவுக்கு மட்டுப்படுத்தப்படவில்லை: பறவைக்கூட்டங்கள் போன்ற பெரிய அமைப்புகள் கணினி செயல்முறைகளாகக் கருதப்படலாம்.


Figure 3.20: Implementing a NAND gate (seeSec- tion 3.6 ) using transistors.

படம் 3.20: டிரான்சிஸ்டர்களைப் பயன்படுத்தி ஒரு NAND கேட்டை செயல்படுத்துதல் (பிரிவு 3.6 ஐப் பார்க்கவும்).


Figure 3.21: Performance of DNA-based logic gates.

படம் 3.21: டிஎன்ஏ அடிப்படையிலான லாஜிக் கேட்களின் செயல்திறன்.


The function IF is also known as a multiplexing function.

IF என்ற செயல்பாடு மல்டிபிளெக்ஸிங் செயல்பாடு என்றும் அழைக்கப்படுகிறது.


We can implement conditionals in NAND using the IF function.

IF செயல்பாட்டைப் பயன்படுத்தி NAND இல் நிபந்தனைகளை செயல்படுத்தலாம்.


The idea is that we replace code of the form if(condition): assign blah to variable foo.

if(condition) என்ற வடிவத்தின் குறியீட்டை மாற்றுவதே யோசனை: blah ஐ foo என்ற மாறிக்கு ஒதுக்குங்கள்.


We can prove the following theorem using such transformations.

இத்தகைய மாற்றங்களைப் பயன்படுத்தி, நாம் பின்வரும் தேற்றத்தை நிரூபிக்க முடியும்.


For every NAND-CIRC-IF program P, there exists a standard NAND-CIRC program P' that computes the same function as P.

ஒவ்வொரு NAND-CIRC-IF நிரல் P க்கும், P போன்ற அதே செயல்பாட்டை கணக்கிடும் ஒரு நிலையான NAND-CIRC நிரல் P' உள்ளது.


Using "syntactic sugar", we can write the integer addition function as follows:

"சொற்பொருள் சர்க்கரை"யைப் பயன்படுத்தி, முழு எண் கூட்டல் செயல்பாட்டை பின்வருமாறு எழுதலாம்:


We can remove the loop construct for i in range(n) by simply repeating the code n times.

குறியீட்டை n முறை மீண்டும் செய்வதன் மூலம் i in range(n)க்கான லூப் கட்டமைப்பை அகற்றலாம்.


படம் 4.4 n = 2 க்கு நாம் என்ன பெறுகிறோம் என்பதைக் காட்டுகிறது.


For every n ∈ ℕ, let ADDn ∶ {0,1} 2n → {0,1} n+1 be the function.

ஒவ்வொரு n ∈ ℕ க்கும், ADDn ∶ {0,1} 2n → {0,1} n+1 என்ற செயல்பாடு இருக்கட்டும்.


Once we have addition, we can use the grade-school algorithm to obtain multiplication as well.

கூட்டல் கிடைத்தவுடன், பெருக்கலைப் பெற நாம் கிரேடு-பள்ளி வழிமுறையைப் பயன்படுத்தலாம்.


For every n, let MULTn ∶ {0,1} 2n → {0,1} 2n be the function.

ஒவ்வொரு n க்கும், MULTn ∶ {0,1} 2n → {0,1} 2n என்ற செயல்பாடு இருக்கட்டும்.


The LOOKUP function will play an important role in this chapter and later.

LOOKUP செயல்பாடு இந்த அத்தியாயத்திலும் பின்னர் முக்கிய பங்கு வகிக்கும்.


For every k, the lookup function of order k, LOOKUPk ∶ {0,1} 2k +k → {0,1} is defined as follows:

ஒவ்வொரு k க்கும், k வரிசையின் லுக்ப் செயல்பாடு, LOOKUPk ∶ {0,1} 2k +k → {0,1} பின்வருமாறு வரையறுக்கப்படுகிறது:


The output is xi : the i-th coordinate of x.

வெளியீடு xi : x இன் i-வது ஆயத்தொலைவு ஆகும்.


See Fig. 4.6 for an illustration of the LOOKUP function.

LOOKUP செயல்பாட்டின் விளக்கத்திற்கு படம் 4.6 ஐப் பார்க்கவும்.


It turns out that for every k, we can compute LOOKUPk using a NAND-CIRC program.

ஒவ்வொரு k க்கும், ஒரு NAND-CIRC நிரலைப் பயன்படுத்தி LOOKUPk ஐ கணக்கிட முடியும் என்பது தெரியவந்தது.


தேற்றம் 4.10 ஐ தூண்டல் மூலம் நிரூபிக்கிறோம்.


For the case k = 1, LOOKUP1 maps (x0, x1, i) ∈ {0,1}3 to xi.

k = 1 என்ற நிலையில், LOOKUP1 (x0, x1, i) ∈ {0,1}3 ஐ xi க்கு வரைபடமாக்குகிறது.


More generally, as shown in the following lemma, we can compute LOOKUPk using two invocations of LOOKUPk−1 and one invocation of IF:

பொதுவாக, பின்வரும் லெம்மாவில் காட்டப்பட்டுள்ளபடி, LOOKUPk−1 இன் இரண்டு அழைப்புகளையும், IF இன் ஒரு அழைப்பையும் பயன்படுத்தி LOOKUPk ஐ கணக்கிடலாம்:


இந்தக் குறியீடு NAND-CIRC நிரலை மதிப்பிடுகிறது.


The function NANDEVAL takes inputs and evaluates the circuit.

NANDEVAL செயல்பாடு உள்ளீடுகளை எடுத்துக்கொண்டு சுற்றை மதிப்பிடுகிறது.


The program uses a list-of-tuples representation.

நிரல் ஒரு பட்டியல்-டுப்பிள் பிரதிநிதித்துவத்தைப் பயன்படுத்துகிறது.


Input values are loaded into the Vartable.

உள்ளீட்டு மதிப்புகள் Vartable இல் ஏற்றப்படுகின்றன.


The program iterates through the list of tuples.

நிரல் டுப்பிள்களின் பட்டியலைச் சுழல்கிறது.


NAND செயல்பாடு செய்யப்படுகிறது.


The output is returned from the Vartable.

வெளியீடு Vartable இலிருந்து திரும்பப் பெறப்படுகிறது.


எடுத்துக்காட்டு XOR இல் சோதிக்கிறது.


XOR(0,1) இன் வெளியீடு 1 ஆகும்.


XOR(1,1) இன் வெளியீடு 0 ஆகும்.


Understanding GET and LOOKUP is important.

GET மற்றும் LOOKUP ஐப் புரிந்துகொள்வது முக்கியம்.


LOOKUP ஐ O(2^l) நேரத்தில் கணக்கிடலாம்.


UPDATE செயல்பாடு வரிசைகளுக்குப் பயன்படுத்தப்படுகிறது.


The EQUALS function is computed using NAND-CIRC.

EQUALS செயல்பாடு NAND-CIRC ஐப் பயன்படுத்தி கணக்கிடப்படுகிறது.


IF செயல்பாடும் பயன்படுத்தப்படுகிறது.


The total number of lines to compute UPDATE is O(2^l * l).

UPDATE ஐக் கணக்கிடுவதற்கான மொத்த வரிகளின் எண்ணிக்கை O(2^l * l) ஆகும்.


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 description of NAND-CIRC programs as circuits is key.

சுற்றுகளாக NAND-CIRC நிரல்களின் விளக்கம் முக்கியமானது.


The function f ′ (x) means that the programs that compute f and f ′ respectively cannot be identical.

சார்பு f ′ (x) என்பது f மற்றும் f ′ ஆகியவற்றை கணக்கிடும் நிரல்கள் ஒரே மாதிரியாக இருக்க முடியாது என்று பொருள்.


தேற்றம் 5.2 ஒரு முக்கியமான விளைவைக் கொண்டுள்ளது.


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

சிறிய சுற்றுகள்/நிரல்களைப் பயன்படுத்தி கணக்கிடக்கூடிய சார்புகளின் எண்ணிக்கை, மொத்த சார்புகளின் எண்ணிக்கையை விட மிகக் குறைவு.


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

{0,1} 2 ஐ {0,1} க்கு வரைபடமாக்கும் ஒரு சார்பை அதன் நான்கு மதிப்புகளின் பட்டியலுடன் அடையாளம் காணலாம்.


Every function F : {0,1} n → {0,1} can be identified with the list of its 2 n values.

ஒவ்வொரு சார்பு F : {0,1} n → {0,1} அதன் 2 n மதிப்புகளின் பட்டியலுடன் அடையாளம் காணப்படலாம்.


The number of functions mapping {0,1} n to {0,1} is equal to the number of possible 2 n length lists of values which is exactly 2 2n.

{0,1} n ஐ {0,1} க்கு வரைபடமாக்கும் சார்புகளின் எண்ணிக்கை, சாத்தியமான 2 n நீள மதிப்புகளின் பட்டியல்களின் எண்ணிக்கைக்கு சமம், இது சரியாக 2 2n ஆகும்.


The number of functions from {0,1} n to {0,1} is truly astronomical.

{0,1} n இலிருந்து {0,1} வரையிலான சார்புகளின் எண்ணிக்கை உண்மையிலேயே வானியல் ரீதியானது.


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

ஒரு மாறிலி δ > 0 உள்ளது, இதனால் போதுமான பெரிய n க்கு, ஒரு சார்பு f : {0,1} n → {0,1} உள்ளது, இதனால் f ∉ SIZE n ( δ2 n /n ).


The shortest NAND-CIRC program to compute f requires more than δ ⋅ 2 n /n lines.

f ஐ கணக்கிட மிகக் குறுகிய NAND-CIRC நிரலுக்கு δ ⋅ 2 n /n வரிகளை விட அதிகமாக தேவைப்படுகிறது.


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

|SIZE n (s)| ≤ 2 cs log s மற்றும் δ = 1/c என ஒரு மாறிலியை c ஆகக் கொண்டால், s = δ2 n /n என அமைத்தால், |SIZE n ( δ2 n /n )| ≤ 2 cδ2 n = 2 2n என்பதை நாம் காண்கிறோம்.


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

{0,1} n ஐ {0,1} க்கு வரைபடமாக்கும் ஒவ்வொரு சார்பையும் O(2 n /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 இல்) வாயில்களைப் பயன்படுத்தி கணக்கிட முடியாது.


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 நிரல்களுக்கான மிகக் குறுகிய பிரதிநிதித்துவம் அல்ல.


We prove Theorem 5.5 by coming up with a list f 0 ,...,f 2n of functions.

f 0 ,...,f 2n சார்புகளின் பட்டியலை உருவாக்குவதன் மூலம் தேற்றம் 5.5 ஐ நிரூபிக்கிறோம்.


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

ஒவ்வொரு i க்கும், f i ஐ கணக்கிடுவதற்கான வாயில்களின் எண்ணிக்கை f i−1 ஐ கணக்கிடுவதற்கான வாயில்களின் எண்ணிக்கையை விட 10n அதிகமாக உள்ளது என்பதை நாம் காட்ட முடியும்.


By Theorem 4.15 the class SIZE n (10 ⋅ 2 n /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 ⋅ 2 n /n).

தேற்றம் 4.15 மூலம் SIZE n (10 ⋅ 2 n /n) வகுப்பு {0,1} n இலிருந்து {0,1} வரையிலான அனைத்து சார்புகளையும் கொண்டுள்ளது, அதே நேரத்தில் தேற்றம் 5.3 மூலம், SIZE n (0.1 ⋅ 2 n /n) இல் இல்லாத சில சார்பு f : {0,1} n → {0,1} உள்ளது.


For every sufficiently large n, SIZE n (0.1 2 n /n) ⊊ SIZE n (10 2 n /n).

ஒவ்வொரு போதுமான பெரிய n க்கும், SIZE n (0.1 2 n /n) ⊊ SIZE n (10 2 n /n).


We will do so by coming up with a sequence of functions f 0 , f 1 , f 2 ,..., f N with the following properties.

பின்வரும் பண்புகளைக் கொண்ட f 0 , f 1 , f 2 ,..., f N சார்புகளின் வரிசையை உருவாக்குவதன் மூலம் இதைச் செய்வோம்.


Let f ∗ : {0,1} n → {0,1} be the function (whose existence we are guaranteed by Theorem 5.3) such that f ∗ ∉ SIZE n (0.1 ⋅ 2 n /n).

f ∗ : {0,1} n → {0,1} என்ற சார்பு (அதன் இருப்பு தேற்றம் 5.3 மூலம் உத்தரவாதம் அளிக்கப்படுகிறது) f ∗ ∉ SIZE n (0.1 ⋅ 2 n /n) ஆக இருக்கும்.


The quantum computer is a fascinating concept.

குவாண்டம் கம்ப்யூட்டர் ஒரு அற்புதமான கருத்தாகும்.


We will discuss quantum computing in detail later.

குவாண்டம் கம்ப்யூட்டிங்கை பற்றி பின்னர் விரிவாக விவாதிப்போம்.


Governments rely on cryptography to protect secrets.

அரசுகள் ரகசியங்களைப் பாதுகாக்க க்ரிப்டோகிராஃபியை நம்பியுள்ளன.


Cryptography provides 128 bits of security.

க்ரிப்டோகிராஃபி 128 பிட் பாதுகாப்பை வழங்குகிறது.


நிரல்களை தரவாக நினைக்கலாம்.


Every function can be computed by many programs.

ஒவ்வொரு செயல்பாட்டையும் பல நிரல்களால் கணக்கிட முடியும்.


The Physical Extended Church-Turing Thesis (PECTT) is important.

இயற்பியல் நீட்டிக்கப்பட்ட சர்ச்-டூரிங் கோட்பாடு (PECTT) முக்கியமானது.


குவாண்டம் கம்ப்யூட்டிங் PECTT க்கு சவால் விடுகிறது.


We will explore cryptography in a future chapter.

எதிர்கால அத்தியாயத்தில் க்ரிப்டோகிராஃபியை ஆராய்வோம்.


The main challenge to the PECTT is quantum computing.

PECTT க்கு முக்கிய சவால் குவாண்டம் கம்ப்யூட்டிங் ஆகும்.


This chapter deals with finite computation.

இந்த அத்தியாயம் வரையறுக்கப்பட்ட கணக்கீட்டைப் பற்றியது.


ஒரு சுற்றை ஒரு சரமாக விவரிக்கலாம்.


The universal circuit can evaluate programs.

யுனிவர்சல் சர்க்யூட் நிரல்களை மதிப்பிட முடியும்.


Physical resources are required to compute a function.

ஒரு செயல்பாட்டை கணக்கிட உடல் வளங்கள் தேவை.


The concept of an algorithm is important.

ஒரு வழிமுறையின் கருத்து முக்கியமானது.


We extend our definition of computational tasks.

கணக்கீட்டு பணிகளின் எங்கள் வரையறையை விரிவுபடுத்துகிறோம்.


பைத்தான் XOR செயல்பாட்டை கணக்கிட முடியும்.


We consider functions with unbounded length.

வரையறுக்கப்படாத நீளம் கொண்ட செயல்பாடுகளை நாங்கள் கருதுகிறோம்.


MULT செயல்பாடு இரண்டு உள்ளீடுகளை எடுத்துக்கொள்கிறது.


Boolean functions are central to computation.

பூலியன் செயல்பாடுகள் கணக்கீட்டிற்கு மையமாக உள்ளன.


The theorem implies the existence of a circuit collection.

தேற்றம் ஒரு சுற்றுத் தொகுப்பின் இருப்பைக் குறிக்கிறது.


பூலியன் சுற்றுகள் உலகளாவியவை.


We do not know of any program to compute it.

அதை கணக்கிட எங்களுக்கு எந்த திட்டமும் தெரியாது.


The difficulty arises from the fact that we do not know.

சிரமம் நமக்குத் தெரியாததிலிருந்து எழுகிறது.


Deterministic finite automata are presented.

தீர்மானகரமான வரையறுக்கப்பட்ட ஆட்டோமேட்டா வழங்கப்படுகின்றன.


Automata can serve as a good stepping-stone.

ஆட்டோமேட்டா ஒரு நல்ல படிக்கல்லாக செயல்பட முடியும்.


DFAs turn out to be equivalent to regular expressions.

DFA கள் வழக்கமான வெளிப்பாடுகளுக்கு சமமானவை.


ஏராளமான வளங்கள் உள்ளன.


An algorithm is a recipe for computing an output.

ஒரு அல்காரிதம் என்பது ஒரு வெளியீட்டைக் கணக்கிடுவதற்கான ஒரு செய்முறையாகும்.


நிரல் முடிவை வெளியிடுகிறது.


Such an algorithm is also known as a DFA.

அத்தகைய அல்காரிதம் DFA என்றும் அழைக்கப்படுகிறது.


The machine starts in some initial state.

இயந்திரம் சில ஆரம்ப நிலையில் தொடங்குகிறது.


We can specify a DFA by a list of rules.

விதிகளின் பட்டியலால் ஒரு DFA ஐக் குறிப்பிடலாம்.


The final state is one of the following.

இறுதி நிலை பின்வருவனவற்றில் ஒன்றாகும்.


See Fig. 6.3 for the graphical representation.

வரைபடப் பிரதிநிதித்துவத்திற்கு படம் 6.3 ஐப் பார்க்கவும்.


A DFA is specified by a transition function.

ஒரு DFA ஒரு பரிமாற்ற செயல்பாட்டின் மூலம் குறிப்பிடப்படுகிறது.


We say that a function is DFA computable.

ஒரு செயல்பாடு DFA கணக்கிடக்கூடியது என்று நாங்கள் கூறுகிறோம்.


Deterministic finite automata can be defined in several equivalent ways.

தீர்மானகரமான வரையறுக்கப்பட்ட ஆட்டோமேட்டாவை பல சமமான வழிகளில் வரையறுக்கலாம்.


Prove that there is a DFA that computes the following function.

பின்வரும் செயல்பாட்டைக் கணக்கிடும் ஒரு DFA உள்ளது என்பதை நிரூபிக்கவும்.


We can mechanically translate it into a DFA.

நாம் அதை இயந்திரத்தனமாக ஒரு DFA ஆக மொழிபெயர்க்கலாம்.


இன்று வானிலை நன்றாக உள்ளது.


உப்பு கொஞ்சம் கொடுக்க முடியுமா?


I am going to the market to buy some vegetables.

நான் காய்கறிகள் வாங்க சந்தைக்குப் போகிறேன்.


The company announced a new product launch.

நிறுவனம் ஒரு புதிய தயாரிப்பு வெளியீட்டை அறிவித்தது.


She is a talented musician and plays the piano beautifully.

அவள் ஒரு திறமையான இசைக்கலைஞர் மற்றும் பியானோவை அழகாக வாசிக்கிறாள்.


The research team is working on a new vaccine.

ஆராய்ச்சி குழு ஒரு புதிய தடுப்பூசியில் வேலை செய்கிறது.


The government is implementing new policies to boost the economy.

பொருளாதாரத்தை மேம்படுத்த அரசு புதிய கொள்கைகளை அமல்படுத்துகிறது.


He is studying computer science at the university.

அவர் பல்கலைக்கழகத்தில் கணினி அறிவியல் படிக்கிறார்.


The conference will be held next month in Chennai.

அடுத்த மாதம் சென்னையில் மாநாடு நடைபெறும்.


The algorithm efficiently sorts the data.

அல்காரிதம் தரவை திறமையாக வரிசைப்படுத்துகிறது.


Despite the challenges, they succeeded in their mission.

சவால்கள் இருந்தபோதிலும், அவர்கள் தங்கள் பணியில் வெற்றி பெற்றனர்.


The project requires careful planning and execution.

இந்த திட்டத்திற்கு கவனமாக திட்டமிடல் மற்றும் செயல்படுத்தல் தேவை.


The impact of climate change is becoming increasingly evident.

காலநிலை மாற்றத்தின் தாக்கம் அதிகரித்து வருகிறது.


The complexities of quantum physics are fascinating.

குவாண்டம் இயற்பியலின் சிக்கல்கள் கவர்ச்சிகரமானவை.


The economic forecast predicts a period of slow growth.

பொருளாதார கணிப்பு மெதுவான வளர்ச்சியை முன்னறிவிக்கிறது.


The implications of the new law are far-reaching.

புதிய சட்டத்தின் விளைவுகள் தொலைநோக்குடையவை.


The philosophical debate centered on the nature of reality.

தத்துவ விவாதம் யதார்த்தத்தின் இயல்பை மையமாகக் கொண்டது.


The company's innovative approach revolutionized the industry.

நிறுவனத்தின் புதுமையான அணுகுமுறை தொழில்துறையில் புரட்சியை ஏற்படுத்தியது.


The intricate details of the artwork were mesmerizing.

கலைப்படைப்பின் நுட்பமான விவரங்கள் மயக்கும் வகையில் இருந்தன.


The scientific community is constantly seeking new discoveries.

அறிவியல் சமூகம் தொடர்ந்து புதிய கண்டுபிடிப்புகளை தேடுகிறது.


The algorithm checks if the regular expression matches the empty string.

அந்த வழிமுறை, வழக்கமான வெளிப்பாடு வெற்று சரத்தை பொருத்துகிறதா என சரிபார்க்கிறது.


If the expression is empty, the function returns 1.

அந்த வெளிப்பாடு காலியாக இருந்தால், செயல்பாடு 1 ஐ வழங்குகிறது.


Regular expressions can be matched in linear time.

வழக்கமான வெளிப்பாடுகளை நேரியல் நேரத்தில் பொருத்த முடியும்.


The algorithm determines whether an expression matches a string.

ஒரு வெளிப்பாடு ஒரு சரத்தை பொருத்துகிறதா என்பதை வழிமுறை தீர்மானிக்கிறது.


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

அத்தியாயம் 13 இல் நேர சிக்கலான தன்மையின் முறையான வரையறையை நாம் காண்போம்.


This algorithm is more efficient for matching regular expressions.

வழக்கமான வெளிப்பாடுகளைப் பொருத்த இந்த வழிமுறை மிகவும் திறமையானது.


The constant in the O(n) term depends on the expression.

O(n) என்ற சொல்லில் உள்ள மாறிலி வெளிப்பாட்டைப் பொறுத்தது.


We can do so with running time that scales linearly.

நாம் அவ்வாறு செய்யலாம், இது நேரியல் அளவில் அளவிடக்கூடிய இயக்க நேரத்துடன்.


The algorithm reduces the task to determining whether a related expression matches.

தொடர்புடைய வெளிப்பாடு பொருந்துகிறதா என்பதைத் தீர்மானிப்பதற்கான பணியை வழிமுறை குறைக்கிறது.


The central definition for the algorithm is the notion of a restriction.

வழிமுறைக்கான மைய வரையறை ஒரு கட்டுப்பாட்டின் கருத்தாகும்.


The idea is that for every regular expression and symbol in its alphabet, it is possible to define a regular expression.

ஒவ்வொரு வழக்கமான வெளிப்பாட்டிற்கும், அதன் எழுத்துக்களில் உள்ள சின்னத்திற்கும், ஒரு வழக்கமான வெளிப்பாட்டை வரையறுக்க முடியும் என்பதே யோசனையாகும்.


Algorithm 6.13 computes the restriction given a regular expression and an alphabet symbol.

வழிமுறை 6.13 ஒரு வழக்கமான வெளிப்பாடு மற்றும் ஒரு எழுத்துரு சின்னம் ஆகியவற்றைக் கொண்டு கட்டுப்பாட்டை கணக்கிடுகிறது.


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

வழிமுறை எப்போதும் முடிவடையும், ஏனெனில் அது செய்யும் மறுநிகழ்வு அழைப்புகள் எப்போதும் உள்ளீட்டு வெளிப்பாட்டை விட சிறிய வெளிப்பாடுகளில் இருக்கும்.


Using this notion of restriction, we can define the following recursive algorithm for regular expression matching.

இந்த கட்டுப்பாட்டின் கருத்தைப் பயன்படுத்தி, வழக்கமான வெளிப்பாட்டைப் பொருத்துவதற்கான பின்வரும் மறுநிகழ்வு வழிமுறையை நாம் வரையறுக்கலாம்.


By the definition of a restriction, the expression matches if and only if the related expression matches.

ஒரு கட்டுப்பாட்டின் வரையறையின்படி, தொடர்புடைய வெளிப்பாடு பொருந்தினால் மட்டுமே வெளிப்பாடு பொருந்தும்.


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} க்கு சமமாக இருக்கும் விஷயத்திற்கு நமது கவனத்தை கட்டுப்படுத்துவோம்.


The value C(ℓ) can be shown to be polynomial in ℓ.

C(ℓ) இன் மதிப்பு ℓ இல் பல்லுறுப்புக்கோவையாக இருப்பதைக் காட்டலாம்.


Algorithm 6.14 is a recursive algorithm that inputs an expression and a string.

வழிமுறை 6.14 என்பது ஒரு மறுநிகழ்வு வழிமுறையாகும், இது ஒரு வெளிப்பாடு மற்றும் ஒரு சரத்தை உள்ளீடாகப் பெறுகிறது.


The running time it takes for Algorithm 6.14 to compute Φ for inputs of length n satisfies the recursive equation.

வழிமுறை 6.14, நீளம் n கொண்ட உள்ளீடுகளுக்கு Φ ஐ கணக்கிட எடுக்கும் இயக்க நேரம் மறுநிகழ்வு சமன்பாட்டை பூர்த்தி செய்கிறது.


The Turing machine starts in the START state.

டூரிங் இயந்திரம் தொடக்க நிலையில் தொடங்குகிறது.


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.

இயந்திரம் ஒரு குறியீட்டை b ∈ {0,1} கண்டறிந்ததும், அது டேப்பில் இருந்து b ஐ நீக்குகிறது.


The machine enters either the RIGHT_b mode and starts moving rightwards.

இயந்திரம் RIGHT_b பயன்முறைக்குள் நுழைந்து வலதுபுறமாக நகரத் தொடங்குகிறது.


It moves until it hits the first ∅ or × symbol.

அது முதல் ∅ அல்லது × குறியீட்டைத் தாக்கும் வரை நகர்கிறது.


Once the machine finds this symbol, it goes into the state LOOK_FOR_0 or LOOK_FOR_1.

இயந்திரம் இந்த குறியீட்டைக் கண்டறிந்ததும், அது LOOK_FOR_0 அல்லது LOOK_FOR_1 நிலைக்குச் செல்கிறது.


The machine checks whether the value on the tape is b.

டேப்பில் உள்ள மதிப்பு b ஆக உள்ளதா என இயந்திரம் சரிபார்க்கிறது.


If it is, then the machine deletes it by changing its value to ×.

அது அவ்வாறாக இருந்தால், இயந்திரம் அதன் மதிப்பை × ஆக மாற்றுவதன் மூலம் அதை நீக்குகிறது.


The RETURN state means that the machine goes back to the beginning.

RETURN நிலை என்றால் இயந்திரம் ஆரம்பத்திற்குத் திரும்பும் என்று பொருள்.


Specifically, the machine moves leftward until it hits the first symbol that is not 0 or 1.

குறிப்பாக, இயந்திரம் 0 அல்லது 1 அல்லாத முதல் குறியீட்டைத் தாக்கும் வரை இடதுபுறமாக நகர்கிறது.


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

OUTPUT_b நிலைகள் என்றால் இயந்திரம் இறுதியில் b மதிப்பை வெளியிடும் என்று பொருள்.


In both the OUTPUT_0 and OUTPUT_1 states, the machine goes left until it hits ▷.

OUTPUT_0 மற்றும் OUTPUT_1 ஆகிய இரண்டு நிலைகளிலும், இயந்திரம் ▷ ஐத் தாக்கும் வரை இடதுபுறமாகச் செல்கிறது.


Once it does so, it makes a right step, and changes to the 1_AND_BLANK or 0_AND_BLANK states respectively.

அது அவ்வாறு செய்தவுடன், அது ஒரு வலதுபுற படியை எடுத்து, முறையே 1_AND_BLANK அல்லது 0_AND_BLANK நிலைகளுக்கு மாறுகிறது.


In the latter states, the machine writes the corresponding value, moves right and changes to the BLANK_AND_STOP state.

பிந்தைய நிலைகளில், இயந்திரம் தொடர்புடைய மதிப்பை எழுதுகிறது, வலதுபுறமாக நகர்ந்து BLANK_AND_STOP நிலைக்கு மாறுகிறது.


The above description can be turned into a table describing the transition function.

மேலே உள்ள விளக்கம், பரிமாற்ற செயல்பாட்டை விவரிக்கும் ஒரு அட்டவணையாக மாற்றப்படலாம்.


A Turing machine has access to a tape of unbounded length.

ஒரு டூரிங் இயந்திரம் வரம்பற்ற நீளம் கொண்ட ஒரு டேப்பிற்கு அணுகலைக் கொண்டுள்ளது.


At each point in the execution, the machine can read a single symbol of the tape.

செயல்படுத்தலின் ஒவ்வொரு கட்டத்திலும், இயந்திரம் டேப்பின் ஒரு குறியீட்டைப் படிக்க முடியும்.


The formal definition of Turing machines is as follows:

டூரிங் இயந்திரங்களின் முறையான வரையறை பின்வருமாறு:


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

நாம் T ஐ ▷, x0, x1, ..., xn-1, ∅, ∅, ... என்ற வரிசையாகத் தொடங்குகிறோம்.


The machine's state is encoded using binary.

இயந்திரத்தின் நிலை இரும முறையில் குறியிடப்படுகிறது.


The Turing machine simulates each iteration of the program.

டூரிங் இயந்திரம் நிரலின் ஒவ்வொரு மறு செய்கையையும் உருவகப்படுத்துகிறது.


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

{L, R, S, H} என்ற தொகுப்பை {0, 1}2 ஐப் பயன்படுத்தி குறியிடலாம்.


The program counter tells the program which line to execute next.

நிரல் கவுண்டர் நிரலுக்கு அடுத்ததாக எந்த வரியை இயக்க வேண்டும் என்று கூறுகிறது.


This is a crucial difference between uniform and non-uniform computational models.

இது சீரான மற்றும் சீரற்ற கணக்கீட்டு மாதிரிகளுக்கு இடையேயான ஒரு முக்கியமான வேறுபாடு ஆகும்.


The algorithm for adding n-bit numbers is the same for every n.

n-பிட் எண்களைச் சேர்க்கும் அல்காரிதம் ஒவ்வொரு n க்கும் ஒரே மாதிரியாகும்.


The machine can simulate this iteration by reading the values of all array variables.

இயந்திரம் அனைத்து வரிசை மாறிகளின் மதிப்புகளைப் படிப்பதன் மூலம் இந்த மறு செய்கையை உருவகப்படுத்த முடியும்.


The head location corresponds to the index variable i.

தலை இருப்பிடம் குறியீட்டு மாறி i க்கு ஒத்திருக்கிறது.


The program carries out exactly the definition of computation by a Turing machine.

நிரல் ஒரு டூரிங் இயந்திரத்தின் மூலம் கணக்கீட்டின் வரையறையை சரியாகச் செய்கிறது.


We will come back to this point in Chapter 9.

நாம் மீண்டும் 9 ஆம் அத்தியாயத்தில் இந்த விஷயத்திற்கு வருவோம்.


இன்று வானிலை நன்றாக உள்ளது.


இந்த பணியில் எனக்கு உதவுவீர்களா?


நான் சந்தைக்குப் போகிறேன்.


அவள் மிகவும் திறமையான பாடகி.


ஒரு பெரிய பூகம்பம் ஏற்பட்டதாக செய்தி வெளியானது.


The company announced its quarterly results.

நிறுவனம் அதன் காலாண்டு முடிவுகளை அறிவித்தது.


The government is discussing new policies.

அரசு புதிய கொள்கைகளை விவாதித்து வருகிறது.


திரைப்படம் விமர்சன ரீதியாக பாராட்டுகளைப் பெற்றது.


அவர் நன்கு அறியப்பட்ட எழுத்தாளர்.


திட்டம் நன்றாக முன்னேறி வருகிறது.


The machine halts when it reaches a final state.

இயந்திரம் இறுதி நிலையை அடையும்போது நின்றுவிடும்.


Turing machines are theoretical models of computation.

டூரிங் இயந்திரங்கள் கணக்கீட்டின் கோட்பாட்டு மாதிரிகள் ஆகும்.


We can encode an element using a binary string.

ஒரு தனிமத்தை இரும சரத்தைப் பயன்படுத்தி குறியிடலாம்.


The Church-Turing Thesis is a fundamental concept.

சர்ச்-டூரிங் கருதுகோள் ஒரு அடிப்படை கருத்தாகும்.


RAM machines are closer to actual computers.

ரேம் இயந்திரங்கள் உண்மையான கணினிகளுக்கு நெருக்கமாக உள்ளன.


Cellular automata can model natural systems.

செல்லுலார் ஆட்டோமேட்டா இயற்கை அமைப்புகளை மாதிரியாகக் கொள்ளலாம்.


The lambda calculus is a model for expressing computation.

லாம்ப்டா கால்குலஸ் கணக்கீட்டை வெளிப்படுத்துவதற்கான ஒரு மாதிரி ஆகும்.


Two computational models are equivalent if they can compute the same set of functions.

இரண்டு கணக்கீட்டு மாதிரிகள் ஒரே மாதிரியான செயல்பாடுகளைக் கணக்கிட முடிந்தால் அவை சமமானவை.


All general-purpose programming languages are Turing Complete.

எல்லா பொதுப் பயன்பாட்டு நிரலாக்க மொழிகளும் டூரிங் முழுமையானவை.


RAM machines capture the architecture of modern computers.

ரேம் இயந்திரங்கள் நவீன கணினிகளின் கட்டமைப்பைப் பிடிக்கின்றன.


The word size is an important parameter.

சொல் அளவு ஒரு முக்கியமான அளவுரு ஆகும்.


RAM machines can perform arithmetic operations.

ரேம் இயந்திரங்கள் கணித செயல்பாடுகளைச் செய்ய முடியும்.


NAND-RAM extends NAND-TM by adding features.

NAND-RAM அம்சங்களைச் சேர்ப்பதன் மூலம் NAND-TM ஐ விரிவுபடுத்துகிறது.


We will not use this terminology in this book.

இந்த புத்தகத்தில் இந்த சொல்லை நாம் பயன்படுத்த மாட்டோம்.


The website features a large variety of esoteric programming languages.

இணையதளம் பல்வேறு வகையான ரகசிய நிரலாக்க மொழிகளைக் கொண்டுள்ளது.


All problems in computer science can be solved by another level of indirection.

கணினி அறிவியலில் உள்ள அனைத்துப் பிரச்சனைகளையும் மறைமுகத்தின் மற்றொரு மட்டத்தில் தீர்க்க முடியும்.


We need a distinction between functions and forms.

செயல்பாடுகளுக்கும் வடிவங்களுக்கும் இடையே ஒரு வேறுபாடு நமக்குத் தேவை.


This chapter studies equivalence between models.

இந்த அத்தியாயம் மாதிரிகளுக்கு இடையேயான சமநிலையைப் பற்றிப் படிக்கிறது.


The techniques we develop allow us to show that all general-purpose programming languages are Turing Complete.

நாம் உருவாக்கும் நுட்பங்கள், அனைத்து பொதுப் பயன்பாட்டு நிரலாக்க மொழிகளும் டூரிங் முழுமையானவை என்பதைக் காட்ட அனுமதிக்கின்றன.


This is a powerful principle, which underlies the vast reach of Computer Science.

இது ஒரு சக்திவாய்ந்த கொள்கையாகும், இது கணினி அறிவியலின் பரந்த எல்லையை அடிப்படையாகக் கொண்டது.


நிரலாளர் ஒரு தனித்துவமான நிலையில் உள்ளார்.


We can use Turing machines to prove theorems about all programs.

எல்லா நிரல்களையும் பற்றிய தேற்றங்களை நிரூபிக்க டியூரிங் இயந்திரங்களைப் பயன்படுத்தலாம்.


This is just like the way people typically use informal or “pseudocode” descriptions of algorithms.

இது பொதுவாக மக்கள் வழிமுறைகளின் முறைசாரா அல்லது “போலி குறியீடு” விளக்கங்களைப் பயன்படுத்துவது போன்றது.


When one wants to describe an algorithm, it is convenient to use as high level a formalism as possible.

ஒரு வழிமுறையை விவரிக்க விரும்பும் போது, முடிந்தவரை உயர் மட்ட வடிவத்தைப் பயன்படுத்துவது வசதியானது.


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

எதையாவது செய்ய முடியாது என்பதை நிரூபிக்க விரும்பும் போது, டியூரிங் இயந்திரங்கள் போன்ற எளிய மாதிரியைப் பயன்படுத்தலாம்.


At some point in any theory of computation course, the instructor and students need to have the talk.

கணக்கீட்டு கோட்பாட்டின் எந்தப் பாடத்திலும், பயிற்றுவிப்பாளர் மற்றும் மாணவர்கள் உரையாடலை நடத்த வேண்டும்.


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.

பைத்தான் அல்லது சி போன்ற நிரலாக்க மொழியில் அகல முதல் தேடலை எவ்வாறு செயல்படுத்துவது என்பது பற்றிய கூடுதல் விவரங்களை வழங்க விரும்பினால்.


We call this a formal or low level description.

இதை நாம் ஒரு முறையான அல்லது குறைந்த அளவிலான விளக்கம் என்று அழைக்கிறோம்.


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.

சில நேரங்களில், துல்லியமாகச் சொல்வதென்றால், ஒரு பொருள் எவ்வாறு ஒரு பைனரி சரமாக மாறுகிறது என்பதற்கான குறைந்த அளவிலான விவரக்குறிப்பை வழங்குகிறோம்.


For example, we might describe an encoding of n vertex graphs as length n^2 binary strings.

உதாரணமாக, n முனை வரைபடங்களின் குறியீட்டை நீளம் n^2 பைனரி சரங்களாக விவரிக்கலாம்.


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 X.

எனவே, துல்லியமான பிரதிநிதித்துவம் வேறுபடுத்திப் பார்க்காத சந்தர்ப்பங்களில், எங்கள் வழிமுறைகளைப் பற்றி ஒரு பொருளை உள்ளீடாக எடுத்துக் கொள்வது பற்றி அடிக்கடி பேசுவோம்.


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 M that computes the same function.

ஒரு கணக்கீட்டு மாதிரி டியூரிங் முழுமையானது, ஒவ்வொரு டியூரிங் இயந்திரத்தையும் அதே செயல்பாட்டை கணக்கிடும் M க்கான ஒரு நிரலுக்கு நாம் வரைபடமாக்க முடிந்தால்.


A computational model is Turing equivalent if it is Turing complete and there exists a computable map.

ஒரு கணக்கீட்டு மாதிரி டியூரிங் முழுமையானதாக இருந்தால் மற்றும் கணக்கிடக்கூடிய வரைபடம் இருந்தால் அது டியூரிங் சமமானதாகும்.


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

பல இயற்பியல் அமைப்புகளை ஒன்றுடன் ஒன்று தொடர்பு கொள்ளும் ஏராளமான ஆரம்ப கூறுகளாக விவரிக்கலாம்.


Each cell only has a constant number of possible states.

ஒவ்வொரு செல்லுக்கும் நிலையான எண்ணிக்கையிலான சாத்தியமான நிலைகள் மட்டுமே உள்ளன.


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

ஒரு இறந்த செல் அதன் மூன்று அண்டை வீட்டார் உயிருடன் இருந்தால் மட்டுமே உயிருடன் மாறும்.


The λ calculus is another way to define computable functions.

λ கால்குலஸ் என்பது கணக்கிடக்கூடிய செயல்பாடுகளை வரையறுப்பதற்கான மற்றொரு வழியாகும்.


The function maps x to the function y ↦ x+y.

இந்தச் செயல்பாடு x ஐச் சார்பு y ↦ x+y க்கு வரைபடமாக்குகிறது.


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 y.

f = λx.(λy.e) எனில், (f a)b என்பது fa ஐப் பயன்படுத்துவதற்கு ஒத்திருக்கிறது, பின்னர் b இல் விளைந்த செயல்பாட்டை அழைக்கிறது, மேலும் e இல் x இன் நிகழ்வுகளை a உடன் மற்றும் y இன் நிகழ்வுகளை மாற்றுவதன் மூலம் பெறப்படுகிறது.


By our rules of associativity, this is the same as (f a b) which we’ll sometimes also write as f(a,b).

எங்கள் கூட்டமைப்பு விதிகளின்படி, இது (f a b) க்குச் சமம், இதை சில நேரங்களில் f(a,b) என்றும் எழுதுவோம்.


We now provide a formal description of the λ calculus.

இப்போது λ கால்குலஸின் முறையான விளக்கத்தை வழங்குகிறோம்.


A λ expression is either a single variable identifier or an expression e of the one of the following forms:

λ வெளிப்பாடு என்பது ஒரு தனி மாறி அடையாளங்காட்டியாகவோ அல்லது பின்வரும் வடிவங்களில் ஒன்றின் வெளிப்பாடாகவோ இருக்கும்:


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 ஒரு மறுநிகழ்வு வரையறையாகும், ஏனெனில் λ வெளிப்பாடுகளின் கருத்தை நாமே வரையறுத்துள்ளோம்.


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 a single-variable λ expression var, the variable var is free.

ஒரு தனி மாறி λ வெளிப்பாட்டில் var, மாறி var இலவசம்.


The set of free and bound variables in an application expression e = (e' e'') is the same as that of the underlying expressions e' and e''.

பயன்பாட்டு வெளிப்பாட்டில் உள்ள இலவச மற்றும் கட்டுப்படுத்தப்பட்ட மாறிகளின் தொகுப்பு e = (e' e'') அடிப்படை வெளிப்பாடுகள் e' மற்றும் e'' ஆகியவற்றைப் போன்றது.


In an abstraction expression e = λvar.(e'), all free occurrences of var in e' are bound to the λ operator of e.

ஒரு சுருக்க வெளிப்பாட்டில் e = λvar.(e'), e' இல் var இன் அனைத்து இலவச நிகழ்வுகளும் e இன் λ ஆபரேட்டருடன் இணைக்கப்பட்டுள்ளன.


Function application associates from left to right, and so fgh is the same as (fg)h.

செயல்பாட்டு பயன்பாடு இடமிருந்து வலமாக தொடர்புபடுத்துகிறது, எனவே fgh என்பது (fg)h க்கு சமம்.


Function application has a higher precedence than the λ operator, and so λx.fgx is the same as λx.((fg)x).

செயல்பாட்டு பயன்பாடு λ ஆபரேட்டரை விட அதிக முன்னுரிமை கொண்டது, எனவே λx.fgx என்பது λx.((fg)x) க்கு சமம்.


As mentioned in Section 8.5.2, we also use the shorthand λx,y.e for λx.(λy.e) and the shorthand f(x,y) for (f x) y.

பிரிவு 8.5.2 இல் குறிப்பிட்டுள்ளபடி, λx.(λy.e) க்கு λx,y.e சுருக்கத்தையும், (f x) y க்கு f(x,y) சுருக்கத்தையும் பயன்படுத்துகிறோம்.


This plays nicely with the “Currying” transformation of simulating multi-input functions using λ expressions.

இது λ வெளிப்பாடுகளைப் பயன்படுத்தி பல உள்ளீட்டு செயல்பாடுகளை உருவகப்படுத்தும் “கரியிங்” மாற்றத்துடன் நன்றாகப் பொருந்துகிறது.


The concept of a universal Turing machine is fundamental to computer science.

ஒரு யுனிவர்சல் டியூரிங் இயந்திரத்தின் கருத்து கணினி அறிவியலுக்கு அடிப்படையானது.


Can you explain the halting problem in simple terms?

நிறுத்தும் சிக்கலை எளிமையான சொற்களில் விளக்க முடியுமா?


The Church-Turing thesis proposes that any computation that can be done by an algorithm can be done by a Turing machine.

அல்காரிதம் மூலம் செய்யக்கூடிய எந்தவொரு கணக்கீடும் ஒரு டியூரிங் இயந்திரத்தால் செய்ய முடியும் என்று சர்ச்-டியூரிங் கருதுகோள் முன்மொழிகிறது.


A universal machine can simulate any other Turing machine.

ஒரு யுனிவர்சல் இயந்திரம் எந்தவொரு டியூரிங் இயந்திரத்தையும் உருவகப்படுத்த முடியும்.


The halting problem is undecidable; there is no algorithm that can determine whether an arbitrary Turing machine will halt.

நிறுத்தும் சிக்கலைத் தீர்க்க முடியாது; ஒரு தன்னிச்சையான டியூரிங் இயந்திரம் நிறுத்துமா என்பதைத் தீர்மானிக்கக்கூடிய எந்த அல்காரிதமும் இல்லை.


Reductions are a key technique for proving the undecidability of problems.

பிரச்சனைகளின் தீர்க்க முடியாத தன்மையை நிரூபிக்க குறைப்பு ஒரு முக்கிய நுட்பமாகும்.


The concept of computability explores what problems can be solved by computers.

கணக்கீட்டுத்திறன் என்ற கருத்து, கணினிகளால் எந்தப் பிரச்சினைகளைத் தீர்க்க முடியும் என்பதை ஆராய்கிறது.


A Turing machine consists of a tape, a head, and a set of states.

ஒரு டியூரிங் இயந்திரம் ஒரு நாடா, ஒரு தலை மற்றும் ஒரு தொகுப்பு நிலைகளைக் கொண்டுள்ளது.


The universal Turing machine is a cornerstone of theoretical computer science.

யுனிவர்சல் டியூரிங் இயந்திரம் கோட்பாட்டு கணினி அறிவியலின் ஒரு மூலக்கல்லாகும்.


Understanding the limits of computation is crucial.

கணக்கீட்டின் வரம்புகளைப் புரிந்துகொள்வது முக்கியம்.


The halting problem demonstrates the existence of uncomputable functions.

நிறுத்தும் சிக்கல் கணக்கிட முடியாத செயல்பாடுகளின் இருப்பை நிரூபிக்கிறது.


Can you give me an example of an uncomputable function?

கணக்கிட முடியாத செயல்பாட்டிற்கு ஒரு உதாரணம் தர முடியுமா?


The study of computability helps us understand what is fundamentally possible with computers.

கணக்கீட்டுத்திறனைப் பற்றிய ஆய்வு, கணினிகளுடன் அடிப்படையில் என்ன சாத்தியம் என்பதைப் புரிந்துகொள்ள உதவுகிறது.


The concept of a reduction is used to prove that a problem is at least as hard as another.

ஒரு பிரச்சனை மற்றொன்றை விட குறைந்தது கடினமானது என்பதை நிரூபிக்க ஒரு குறைப்பு என்ற கருத்து பயன்படுத்தப்படுகிறது.


The universal machine is a theoretical model of a general-purpose computer.

யுனிவர்சல் இயந்திரம் ஒரு பொது-நோக்கு கணினியின் ஒரு கோட்பாட்டு மாதிரி ஆகும்.


The Church-Turing thesis is a foundational principle in computer science.

சர்ச்-டியூரிங் கருதுகோள் கணினி அறிவியலில் ஒரு அடிப்படை கொள்கையாகும்.


What are the implications of the halting problem?

நிறுத்தும் சிக்கலின் விளைவுகள் என்ன?


The power of a universal machine lies in its ability to simulate any other machine.

ஒரு யுனிவர்சல் இயந்திரத்தின் சக்தி, எந்தவொரு இயந்திரத்தையும் உருவகப்படுத்தும் திறனில் உள்ளது.


Uncomputable functions are functions for which no algorithm exists.

கணக்கிட முடியாத செயல்பாடுகள் என்பது எந்த அல்காரிதமும் இல்லாத செயல்பாடுகளாகும்.


The study of computability is a fascinating area of research.

கணக்கீட்டுத்திறனைப் பற்றிய ஆய்வு ஒரு அற்புதமான ஆராய்ச்சிப் பகுதியாகும்.


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 the case of a reduction from HALT to BLAH, the specification is that function R should satisfy that HALT(M,x) = BLAH(R(M,x)) for every Turing machine M and input x.

HALT இலிருந்து BLAH க்கு ஒரு குறைப்பின் விஷயத்தில், விவரக்குறிப்பு என்னவென்றால், ஒவ்வொரு டியூரிங் இயந்திரம் M மற்றும் உள்ளீடு x க்கும் HALT(M,x) = BLAH(R(M,x)) என்பதை செயல்பாடு R திருப்திப்படுத்த வேண்டும்.


Given any string M, HALTONZERO(M) = 1 if and only if M describes a Turing machine that halts when it is given the string 0 as input.

எந்த ஒரு சரம் M கொடுத்தாலும், M ஆனது 0 என்ற சரத்தை உள்ளீடாகக் கொடுக்கும்போது ஒரு டியூரிங் இயந்திரத்தை விவரிக்கிறது என்றால் மட்டுமே HALTONZERO(M) = 1.


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, and use this hypothetical algorithm A to construct an algorithm B to compute HALT, hence obtaining a contradiction to Theorem 9.6.

முரண்பாட்டின் பொருட்டு, HALTONZERO சில வழிமுறை A ஆல் கணக்கிடக்கூடியது என்று நாங்கள் கருதுவோம், மேலும் HALT ஐக் கணக்கிட இந்த கருத்தியல் வழிமுறை A ஐப் பயன்படுத்தி, வழிமுறை B ஐ உருவாக்குவோம், இதனால் தேற்றம் 9.6 க்கு முரண்பாட்டைப் பெறுவோம்.


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 இயந்திரத்தை இயக்காது.


Checking semantic properties of programs is of great interest, as it corresponds to checking whether a program conforms to a specification.

நிரல்களின் சொற்பொருள் பண்புகளைச் சரிபார்ப்பது மிகுந்த ஆர்வத்தைத் தூண்டுகிறது, ஏனெனில் இது ஒரு நிரல் ஒரு விவரக்குறிப்புக்கு இணங்குகிறதா என்பதைச் சரிபார்ப்பதற்கு ஒத்திருக்கிறது.


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.

நிரல்களில் ஒரு சொற்பொருள் விவரக்குறிப்பை, நிரலின் குறியீட்டைப் பொறுத்து இல்லாமல், நிரல் கணக்கிடும் செயல்பாட்டைப் பொறுத்து இருக்கும் சில சொத்தாக வரையறுக்கிறோம்.


First and Second are two distinct C programs, but they compute the same function.

First மற்றும் Second ஆகியவை இரண்டு வேறுபட்ட C நிரல்கள், ஆனால் அவை ஒரே செயல்பாட்டை கணக்கிடுகின்றன.


A property is not semantic if it depends on the source code rather than the input/output behavior.

உள்ளீடு/வெளியீடு நடத்தைக்கு பதிலாக மூலக் குறியீட்டைப் பொறுத்து இருந்தால் ஒரு சொத்து சொற்பொருள் அல்ல.


A function F : {0,1}* -> {0,1} is semantic if for every pair of strings M, M' that represent functionally equivalent Turing machines, F(M) = F(M').

ஒரு செயல்பாடு F : {0,1}* -> {0,1} என்பது சொற்பொருள் என்றால், செயல்பாட்டு ரீதியாக சமமான டியூரிங் இயந்திரங்களைக் குறிக்கும் ஒவ்வொரு M, M' சரங்களுக்கும், F(M) = F(M').


Often the properties of programs that we are most interested in computing are the semantic ones, since we want to understand the programs’ functionality.

நிரல்களின் செயல்பாட்டைப் புரிந்து கொள்ள விரும்புவதால், நாம் கணக்கிடுவதில் மிகவும் ஆர்வமாக இருக்கும் நிரல்களின் பண்புகள் பெரும்பாலும் சொற்பொருள் சார்ந்தவையாகும்.


If a function F is non-trivial then there are two machines M0 and M1 such that F(M0) = 0 and F(M1) = 1.

ஒரு செயல்பாடு F முக்கியமற்றதாக இருந்தால், M0 மற்றும் M1 என இரண்டு இயந்திரங்கள் உள்ளன, இதனால் F(M0) = 0 மற்றும் F(M1) = 1.


For example, you can use an array or a dictionary to encode푀’s transition function.

உதாரணமாக, நீங்கள் 푀-ன் மாற்ற செயல்பாட்டை குறியிட ஒரு வரிசை அல்லது அகராதியைப் பயன்படுத்தலாம்.


Then you would use some data structure, such as a list, to store the contents of푀’s tape.

பின்னர், 푀-ன் டேப்பின் உள்ளடக்கங்களைச் சேமிக்க, பட்டியல் போன்ற சில தரவு கட்டமைப்பைப் பயன்படுத்துவீர்கள்.


Now you can simulate푀step by step, updating the data structure as you go along.

இப்போது, நீங்கள் 푀-ஐ படிப்படியாக உருவகப்படுத்தலாம், நீங்கள் செல்லும் வழியில் தரவு கட்டமைப்பை புதுப்பிக்கலாம்.


The interpreter will continue the simulation until the machine halts.

இயந்திரம் நிறுத்தும் வரை மொழிபெயர்ப்பாளர் உருவகப்படுத்துதலைத் தொடருவார்.


Once you do that, translating this interpreter from your favorite programming language to a Turing machine can be done just as we have seen in Chapter 8.

நீங்கள் அதைச் செய்தவுடன், இந்த மொழிபெயர்ப்பாளரை உங்களுக்குப் பிடித்த நிரலாக்க மொழியிலிருந்து ஒரு டியூரிங் இயந்திரத்திற்கு மொழிபெயர்ப்பது, நாம் 8 ஆம் அதிகாரத்தில் பார்த்ததைப் போலவே செய்யப்படலாம்.


The end result is what’s known as a “meta- circular evaluator”: an interpreter for a programming language in the same one.

இறுதி முடிவு என்னவென்றால், “மெட்டா-சுற்று மதிப்பீட்டாளர்” என்று அழைக்கப்படுகிறது: அதே ஒன்றில் ஒரு நிரலாக்க மொழிக்கான மொழிபெயர்ப்பாளர்.


This is a concept that has a long history in computer science starting from the original universal Turing machine.

இது கணினி அறிவியலில் நீண்ட வரலாற்றைக் கொண்ட ஒரு கருத்தாகும், இது அசல் உலகளாவிய டியூரிங் இயந்திரத்திலிருந்து தொடங்குகிறது.


To prove (and even properly state)Theorem 9.1, we need to fix some representation for Turing machines as strings.

தேற்றம் 9.1 ஐ நிரூபிக்க (மற்றும் சரியாகக் கூற), டியூரிங் இயந்திரங்களுக்கான சில பிரதிநிதித்துவத்தை சரங்களாக சரிசெய்ய வேண்டும்.


One potential choice for such a representation is to use the equivalence between Turing machines and NAND-TM programs and hence represent a Turing machine푀using the ASCII encoding of the source code of the corre- sponding NAND-TM program푃.

இதுபோன்ற ஒரு பிரதிநிதித்துவத்திற்கான ஒரு சாத்தியமான தேர்வு என்னவென்றால், டியூரிங் இயந்திரங்களுக்கும் NAND-TM நிரல்களுக்கும் இடையிலான சமநிலையைப் பயன்படுத்துவதாகும், எனவே தொடர்புடைய NAND-TM நிரல்푃-ன் மூலக் குறியீட்டின் ASCII குறியீட்டைப் பயன்படுத்தி ஒரு டியூரிங் இயந்திரத்தை 푀 பிரதிநிதித்துவப்படுத்துகிறது.


We represent 푀as the triple(푘,ℓ,푇)where푇is the table of values for훿 푀 : 푇 = (훿 푀 (0,휎 0 ),훿 푀 (0,휎 1 ),...,훿 푀 (푘 −1,휎 ℓ−1 )) , where each value훿 푀 (푠,휎)is a triple(푠 ′ ,휎 ′ ,푑)with푠 ′ ∈ [푘], 휎 ′ ∈ Σand푑a number{0,1,2,3}encoding one of{L,R,S,H}.

நாம் 푀-ஐ மூன்று மடங்காக(푘,ℓ,푇) பிரதிநிதித்துவப்படுத்துகிறோம், அங்கு푇 என்பது훿 푀 க்கான மதிப்புகளின் அட்டவணை: 푇 = (훿 푀 (0,휎 0 ),훿 푀 (0,휎 1 ),...,훿 푀 (푘 −1,휎 ℓ−1 )) , இங்கு ஒவ்வொரு மதிப்பு훿 푀 (푠,휎) ஒரு மூன்று மடங்காக(푠 ′ ,휎 ′ ,푑) உள்ளது, இதில்푠 ′ ∈ [푘], 휎 ′ ∈ Σ மற்றும் 푑 என்பது {L,R,S,H} ஆகியவற்றில் ஒன்றை குறியிடும் ஒரு எண் {0,1,2,3}.


Thus such a machine푀is encoded by a list of2 + 3푘 ⋅ ℓnatural num- bers.

இவ்வாறு ஒரு இயந்திரம்푀 2 + 3푘 ⋅ ℓஇயற்கை எண்களின் பட்டியலால் குறியிடப்படுகிறது.


Thestring representationof푀is obtained by concatenating a prefix free representation of all these integers.

푀-ன் சர பிரதிநிதித்துவம் இந்த அனைத்து முழு எண்களின் முன்னொட்டு இல்லாத பிரதிநிதித்துவத்தை இணைப்பதன் மூலம் பெறப்படுகிறது.


We can represent every Turing machine as a string.

நாம் ஒவ்வொரு டியூரிங் இயந்திரத்தையும் ஒரு சரமாக பிரதிநிதித்துவப்படுத்தலாம்.


Given the string representation of a Turing ma- chine푀and an input푥, we can simulate푀’s execution on the input푥.

ஒரு டியூரிங் இயந்திரத்தின் சர பிரதிநிதித்துவம் 푀 மற்றும் ஒரு உள்ளீடு 푥 கொடுக்கப்பட்டால், உள்ளீடு 푥 இல் 푀-ன் செயல்பாட்டை உருவகப்படுத்தலாம்.


We can easily write aPythonprogram that, on input a representation(푘,ℓ,푇)of a Turing machine푀and an input푥, evaluates푀on푋.

ஒரு டியூரிங் இயந்திரத்தின் பிரதிநிதித்துவம் (푘,ℓ,푇) மற்றும் ஒரு உள்ளீடு 푥 ஆகியவற்றில் உள்ளீடாக, 푀-ஐ 푋 இல் மதிப்பிடும் ஒரு பைத்தான் நிரலை எளிதாக எழுதலாம்.


On input a transition table훿this program will simulate the cor- responding machine푀step by step, at each point maintaining the invariant that the arrayTapecontains the contents of푀’s tape, and the variablescontains푀’s current state.

ஒரு மாற்ற அட்டவணை훿 உள்ளீட்டில், இந்த நிரல் தொடர்புடைய இயந்திரம் 푀-ஐ படிப்படியாக உருவகப்படுத்தும், ஒவ்வொரு கட்டத்திலும், அரே டேப் 푀-ன் டேப்பின் உள்ளடக்கங்களையும், மாறிகள் 푀-ன் தற்போதைய நிலையையும் கொண்டுள்ளது.


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 thedictio- narydata structure built in, which we have used above to store the transition functionδ.

ஒரே பிரச்சனை என்னவென்றால், NAND-RAM இல் உள்ள அகராதி தரவு கட்டமைப்பு உள்ளமைக்கப்படவில்லை, இது மாற்ற செயல்பாட்டு δ ஐ சேமிக்க மேலே பயன்படுத்தியுள்ளோம்.


However, we can represent a dictionary퐷of the form{푘푒푦 0 ∶ 푣푎푙 0 ,...,푘푒푦 푚−1 ∶ 푣푎푙 푚−1 }as simply a list of pairs.

இருப்பினும், {푘푒푦 0 ∶ 푣푎푙 0 ,...,푘푒푦 푚−1 ∶ 푣푎푙 푚−1 } வடிவத்தின் ஒரு அகராதி퐷-ஐ ஜோடிகளின் பட்டியலாக எளிமையாகக் குறிப்பிடலாம்.


The details of the representation scheme of Turing ma- chines as strings are immaterial for almost all applica- tions.

சரங்களாக டியூரிங் இயந்திரங்களின் பிரதிநிதித்துவ திட்டத்தின் விவரங்கள் கிட்டத்தட்ட அனைத்து பயன்பாடுகளுக்கும் முக்கியமற்றவை.


The machine halts if and only if it halts on input x.

அந்த இயந்திரம் x உள்ளீட்டில் நின்றுவிட்டால், அது நின்றுவிடும்.


Unlike in the case of finite computation, there are actually functions that are inherently uncomputable.

வரையறுக்கப்பட்ட கணக்கீட்டுடன் ஒப்பிடும்போது, உண்மையில் உள்ளார்ந்த முறையில் கணக்கிட முடியாத செயல்பாடுகள் உள்ளன.


If the Church-Turing thesis holds then a function F that is uncomputable according to our definition cannot be computed by any means in our physical world.

சர்ச்-டூரிங் கருதுகோள் உண்மையாக இருந்தால், நமது வரையறைக்கு ஏற்ப கணக்கிட முடியாத ஒரு செயல்பாடு, நமது இயற்பியல் உலகில் எந்த வகையிலும் கணக்கிட முடியாது.


NANDRAMHALT கணக்கிட முடியாதது என்பதை நிரூபிக்கவும்.


TIMEDHALT கணக்கிடக்கூடியது என்பதை நிரூபிக்கவும்.


Suppose that F and G are computable functions.

F மற்றும் G கணக்கிடக்கூடிய செயல்பாடுகள் என்று வைத்துக்கொள்வோம்.


Prove that the following function FINITE is uncomputable.

பின்வரும் செயல்பாடு FINITE கணக்கிட முடியாதது என்பதை நிரூபிக்கவும்.


EQ கணக்கிட முடியாதது என்பதை நிரூபிக்கவும்.


For each of the following two functions, say whether it is computable or not.

பின்வரும் இரண்டு செயல்பாடுகளில் ஒவ்வொன்றிற்கும், அது கணக்கிடக்கூடியதா இல்லையா என்று சொல்லுங்கள்.


F கணக்கிட முடியாதது என்பதை நிரூபிக்கவும்.


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 for every Turing machine M, if we define F M then F M is recursively enumerable.

ஒவ்வொரு டூரிங் இயந்திரம் M க்கும், நாம் F M ஐ வரையறுத்தால், F M மீண்டும் எண்ணக்கூடியது என்பதை நிரூபிக்கவும்.


We can use restricted computational models to bypass limitations such as uncomputability of the Halting problem and Rice’s Theorem.

நிறுத்தும் சிக்கல் மற்றும் ரைஸின் தேற்றத்தின் கணக்கிட முடியாத தன்மை போன்ற வரம்புகளைத் தவிர்க்க, கட்டுப்படுத்தப்பட்ட கணக்கீட்டு மாதிரிகளைப் பயன்படுத்தலாம்.


Turing completeness is not always a good thing.

டூரிங் முழுமை எப்போதும் ஒரு நல்ல விஷயம் அல்ல.


An interesting recent example of the pitfalls of Turing-completeness arose in the context of the cryptocurrency Ethereum.

டூரிங்-முழுமையின் ஆபத்துகளுக்கு ஒரு சுவாரஸ்யமான சமீபத்திய எடுத்துக்காட்டு கிரிப்டோகரன்சி Ethereum இன் சூழலில் எழுந்தது.


The idea was to create a smart contract that would create an autonomously run decentralized venture capital fund.

சுயமாக இயங்கும் பரவலாக்கப்பட்ட வென்ச்சர் கேப்பிடல் நிதியை உருவாக்கும் ஒரு ஸ்மார்ட் ஒப்பந்தத்தை உருவாக்குவதே யோசனையாக இருந்தது.


Ethereum allows Alice and Bob to create a joint venture.

ஆலிஸும் பாபும் ஒரு கூட்டு முயற்சியை உருவாக்க Ethereum அனுமதிக்கிறது.


A hacker was able to fashion an input that caused the DAO code to enter into an infinite recursive loop.

ஒரு ஹேக்கர் DAO குறியீடு ஒரு முடிவற்ற மறுநிகழ்வு சுழலுக்குள் நுழையக் காரணமாக ஒரு உள்ளீட்டை உருவாக்க முடிந்தது.


When a person designs a programming language, they need to determine its syntax.

ஒரு நபர் ஒரு நிரலாக்க மொழியை வடிவமைக்கும்போது, அவர்கள் அதன் தொடரியலை தீர்மானிக்க வேண்டும்.


The algorithm computes whether a string can be derived from a grammar.

ஒரு சரம் இலக்கணத்திலிருந்து பெறப்பட்டதா என்பதை இந்த வழிமுறை கணக்கிடுகிறது.


Parse trees provide useful information about the structure of a string.

பார்ஸ் மரங்கள் ஒரு சரத்தின் கட்டமைப்பு பற்றி பயனுள்ள தகவல்களை வழங்குகின்றன.


Context-free grammars can capture every regular expression.

சூழல் இல்லாத இலக்கணங்கள் ஒவ்வொரு வழக்கமான வெளிப்பாட்டையும் கைப்பற்ற முடியும்.


The theorem is proven by induction on the length of the expression.

தேற்றம் வெளிப்பாட்டின் நீளத்தின் மீது தூண்டல் மூலம் நிரூபிக்கப்படுகிறது.


We can define grammars that compute the same function.

ஒரே செயல்பாட்டை கணக்கிடும் இலக்கணங்களை நாம் வரையறுக்க முடியும்.


Context-free grammars are more powerful than regular expressions.

சூழல் இல்லாத இலக்கணங்கள் வழக்கமான வெளிப்பாடுகளை விட சக்தி வாய்ந்தவை.


The function MATCHPAREN can be computed by a context-free grammar.

MATCHPAREN என்ற செயல்பாடு சூழல் இல்லாத இலக்கணம் மூலம் கணக்கிடப்படலாம்.


A simple grammar can compute palindromes.

ஒரு எளிய இலக்கணம் பாலின்த்ரோம்களை கணக்கிட முடியும்.


We can describe a grammar using Backus–Naur notation.

பேக்கஸ்-நார் குறியீட்டைப் பயன்படுத்தி ஒரு இலக்கணத்தை விவரிக்கலாம்.


The grammar generates strings that are not palindromes.

அந்த இலக்கணம் பாலின்த்ரோம்கள் அல்லாத சரங்களை உருவாக்குகிறது.


சூழல் இல்லாத இலக்கணங்களுக்கு வரம்புகள் உள்ளன.


The pumping lemma is a tool for proving limitations.

பம்ப்பிங் லெம்மா வரம்புகளை நிரூபிப்பதற்கான ஒரு கருவியாகும்.


If a long string is matched by a grammar, there must be a repeated variable.

ஒரு நீண்ட சரம் ஒரு இலக்கணத்தால் பொருத்தப்பட்டால், மீண்டும் மீண்டும் வரும் மாறி ஒன்று இருக்க வேண்டும்.


F என்ற செயல்பாடு சூழல் இல்லாதது.


சமத்துவம் சூழல் இல்லாதது.


CFG களுக்கான வெறுமை தீர்மானிக்கக்கூடியது.


The equivalence problem for context-free grammars is uncomputable.

சூழல் இல்லாத இலக்கணங்களுக்கான சமநிலை சிக்கல் கணக்கிட முடியாதது.


CFG களின் முழுமை கணக்கிட முடியாதது.


We can trade expressiveness for amenability to analysis.

பகுப்பாய்வுக்கான வசதிக்காக வெளிப்பாட்டை நாம் வர்த்தகம் செய்யலாம்.


Regular expressions are useful for string matching.

சரம் பொருத்துவதற்கு வழக்கமான வெளிப்பாடுகள் பயனுள்ளதாக இருக்கும்.


The discovery of calculus by Newton and Leibnitz ushered a golden age of problem solving.

நியூட்டன் மற்றும் லைப்னிட்ஸ் ஆகியோரால் கால்குலஸ் கண்டுபிடிக்கப்பட்டதன் மூலம் சிக்கல்களைத் தீர்ப்பதற்கான பொற்காலம் தொடங்கியது.


Many longstanding challenges succumbed to the new tools that were discovered.

கண்டுபிடிக்கப்பட்ட புதிய கருவிகளுக்குப் பல நீண்டகால சவால்கள் அடிபணிந்தன.


Mathematicians manipulated infinitesimal quantities and infinite series cavalierly.

கணிதவியலாளர்கள் நுண்பகுதிகளையும், முடிவிலா தொடர்களையும் அலட்சியமாக கையாண்டனர்.


This led to a growing sense of unease in the foundations of the subject.

இது பாடத்தின் அடித்தளங்களில் ஒரு வளர்ந்து வரும் அசௌகரிய உணர்வுக்கு வழிவகுத்தது.


In the beginning of the 20th century, there was an effort to replicate this effort, in greater rigor, to all parts of mathematics.

20 ஆம் நூற்றாண்டின் தொடக்கத்தில், கணிதத்தின் அனைத்து பகுதிகளுக்கும் இந்த முயற்சியை மீண்டும் உருவாக்குவதற்கான ஒரு முயற்சி மேற்கொள்ளப்பட்டது.


The hope was to show that all the true results of mathematics can be obtained by starting with a number of axioms.

கணிதத்தின் அனைத்து உண்மையான முடிவுகளையும் சில கருதுகோள்களைக் கொண்டு தொடங்க முடியும் என்று காட்டுவதே இதன் நோக்கமாக இருந்தது.


This effort was known as the Hilbert program, named after the influential mathematician David Hilbert.

இந்த முயற்சி செல்வாக்கு மிக்க கணிதவியலாளர் டேவிட் ஹில்பர்ட்டின் பெயரால் ஹில்பர்ட் திட்டம் என்று அழைக்கப்பட்டது.


For every sound proof system for sufficiently rich mathematical statements, there is a mathematical statement that is true but is not provable in this system.

போதுமான கணித அறிக்கைகளுக்கான ஒவ்வொரு சரியான சான்று அமைப்புக்கும், உண்மையான ஆனால் இந்த அமைப்பில் நிரூபிக்க முடியாத ஒரு கணித அறிக்கை உள்ளது.


At the highest level, a mathematical statement is simply a piece of text.

மிக உயர்ந்த மட்டத்தில், ஒரு கணித அறிக்கை என்பது ஒரு உரைத் துண்டு மட்டுமே.


Mathematical statements contain assertions whose truth does not depend on any empirical fact.

கணித அறிக்கைகள் எந்தவொரு அனுபவபூர்வமான உண்மையையும் சார்ந்திராத கூற்றுகளைக் கொண்டிருக்கின்றன.


Mathematical statements do not have to involve numbers.

கணித அறிக்கைகள் எண்களை உள்ளடக்கியிருக்க வேண்டியதில்லை.


They can assert properties of any other mathematical object including sets, strings, functions, graphs and yes, even programs.

அவை தொகுப்புகள், சரங்கள், செயல்பாடுகள், வரைபடங்கள் மற்றும் ஆம், நிரல்கள் உட்பட வேறு எந்த கணித பொருளின் பண்புகளையும் வலியுறுத்தலாம்.


A proof for a statement is another piece of text that certifies the truth of the statement.

ஒரு கூற்றுக்கான சான்று என்பது கூற்றின் உண்மையைச் சான்றளிக்கும் மற்றொரு உரைத் துண்டு ஆகும்.


Given a statement and a proof, there is an algorithm to verify whether or not the proof is a valid proof for the statement.

ஒரு அறிக்கை மற்றும் ஒரு சான்று கொடுக்கப்பட்டால், அந்த சான்று அந்த அறிக்கைக்கு சரியான சான்றா என்பதை சரிபார்க்க ஒரு வழிமுறை உள்ளது.


If there is a valid proof for a statement then the statement is true.

ஒரு கூற்றுக்கு சரியான சான்று இருந்தால், அந்த கூற்று உண்மை.


These are quite minimal requirements for a proof system.

ஒரு சான்று அமைப்புக்கு இவை மிகக் குறைந்த தேவைகளாகும்.


You shouldn’t be able to prove things that are not true.

உண்மையில்லாத விஷயங்களை நீங்கள் நிரூபிக்க முடியாது.


We formally define proof systems as an algorithm.

நாம் முறைப்படி சான்று அமைப்புகளை ஒரு வழிமுறையாக வரையறுக்கிறோம்.