یہ الگورتھم O(n) وقت میں چلتا ہے۔


Lempel-Ziv coding does not require frequencies to be known a priori.

لیمپل-زیو کوڈنگ کے لیے پہلے سے فریکوئنسیوں کا معلوم ہونا ضروری نہیں ہے۔


The sender scans the text from left to right identifying certain strings.

بھیجنے والا متن کو بائیں سے دائیں اسٹرنگز کی شناخت کے لیے اسکین کرتا ہے۔


The receiver recreates the string by looking up the word with index 3.

وصول کنندہ انڈیکس 3 کے ساتھ لفظ کو دیکھ کر اسٹرنگ کو دوبارہ بناتا ہے۔


Lempel-Ziv coding is asymptotically optimal.

لیمپل-زیو کوڈنگ غیر معمولی طور پر بہترین ہے۔


In practice, the dictionary is limited to a fixed size.

عملی طور پر، لغت ایک مقررہ سائز تک محدود ہے۔


The receiver merely maintains an array D.

وصول کنندہ محض ایک صف D کو برقرار رکھتا ہے۔


The tree shown in Figure 1.6 results from the string.

شکل 1.6 میں دکھایا گیا درخت اس اسٹرنگ کا نتیجہ ہے۔


Is it necessary to maintain the word at each node?

کیا ہر نوڈ پر لفظ کو برقرار رکھنا ضروری ہے؟


The following description captures the essence of error correction.

مندرجہ ذیل تفصیل غلطی کی اصلاح کے جوہر کو بیان کرتی ہے۔


کیسینی غلطی کی اصلاح کے کوڈ استعمال کرتا ہے۔


We study the logical operator exclusive-or.

ہم منطقی آپریٹر خصوصی-یا کا مطالعہ کرتے ہیں۔


The operator is written as ⊕ in these notes.

ان نوٹوں میں آپریٹر کو ⊕ کے طور پر لکھا گیا ہے۔


In all cases, we apply ⊕ to bit strings of equal lengths.

تمام صورتوں میں، ہم مساوی لمبائی کے بٹ اسٹرنگز پر ⊕ کا اطلاق کرتے ہیں۔


From the inverse property, we can regard ⊕ as subtraction modulo 2.

الٹ خصوصیت سے، ہم ⊕ کو ماڈیولو 2 گھٹاؤ کے طور پر سمجھ سکتے ہیں۔


A nonempty set of words, W, is dependent if ˆ W = 0.

الفاظ کا ایک غیر خالی سیٹ، W، منحصر ہے اگر ˆ W = 0۔


دکھائیں کہ (x ⊕ y = x ⊕ z) ≡ (y = z)۔


What is the condition on x and u so that (x ⊕ u) < x?

x اور u پر کیا شرط ہے کہ (x ⊕ u) < x?


The game of Nim is a beautiful illustration of the power of the exclusive-or operator.

نیم کا کھیل خصوصی-یا آپریٹر کی طاقت کی ایک خوبصورت مثال ہے۔


Computer programming has been, largely, an intuitive activity.

کمپیوٹر پروگرامنگ، بڑے پیمانے پر، ایک وجدانی سرگرمی رہی ہے۔


Programmers are taught to understand programming in operational terms.

پروگرامرز کو آپریشنل اصطلاحات میں پروگرامنگ کو سمجھنے کی تعلیم دی جاتی ہے۔


Such theories reduce the mental effort, and the amount of experimentation needed to design a product.

ایسی تھیوریز ذہنی کوشش کو کم کرتی ہیں، اور کسی پروڈکٹ کو ڈیزائن کرنے کے لیے درکار تجربات کی مقدار کو کم کرتی ہیں۔


They are as indispensable for their domains as calculus is for solving scientific and engineering problems.

وہ اپنے شعبوں کے لیے اتنے ہی ناگزیر ہیں جتنا کہ سائنسی اور انجینئرنگ کے مسائل کو حل کرنے کے لیے کیلکولس ہے۔


I am attracted to effective theories primarily because they save labor.

میں موثر نظریات کی طرف بنیادی طور پر اس لیے متوجہ ہوں کیونکہ وہ محنت بچاتے ہیں۔


The original inspiration to design a computer science course came from Elaine Rich and J Moore.

کمپیوٹر سائنس کا کورس ڈیزائن کرنے کا اصل الہام ایلین رچ اور جے مور سے ملا۔


I prepared a set of notes and taught the course in the Spring and Fall of 2003.

میں نے نوٹس کا ایک سیٹ تیار کیا اور 2003 کے موسم بہار اور خزاں میں یہ کورس پڑھایا۔


The choice of topics and the style of presentation are my own.

موضوعات کا انتخاب اور پیشکش کا انداز میرا اپنا ہے۔


I have made no effort to be comprehensive.

میں نے جامع ہونے کی کوئی کوشش نہیں کی۔


Greg Plaxton has used my original notes and made extensive revisions.

گریگ پلاکستون نے میرے اصل نوٹس استعمال کیے ہیں اور وسیع نظر ثانی کی ہے۔


I am also grateful to the graduate teaching assistants, especially Thierry Joffrain, for helping me revise the notes.

میں گریجویٹ ٹیچنگ اسسٹنٹس کا بھی شکر گزار ہوں، خاص طور پر تھیری جوفرین کا، جنہوں نے نوٹس پر نظر ثانی کرنے میں میری مدد کی۔


This chapter introduces the concept of text compression.

یہ باب ٹیکسٹ کمپریشن کے تصور کو متعارف کراتا ہے۔


We will explore Huffman coding and Lempel-Ziv coding.

ہم ہفمین کوڈنگ اور لیمپیل-زیو کوڈنگ کو تلاش کریں گے۔


Error detection and correction are crucial in data transmission.

ڈیٹا کی ترسیل میں غلطی کا پتہ لگانا اور اس کی اصلاح بہت ضروری ہے۔


This section discusses the properties of Exclusive-Or.

یہ سیکشن ایکسکلوسیو-اور کی خصوصیات پر بحث کرتا ہے۔


Cryptography plays a vital role in secure communication.

محفوظ مواصلات میں کرپٹوگرافی ایک اہم کردار ادا کرتی ہے۔


Public key cryptography is a significant advancement.

پبلک کی کرپٹوگرافی ایک اہم پیش رفت ہے۔


Finite state machines are fundamental in computer science.

کمپیوٹر سائنس میں محدود ریاستی مشینیں بنیادی ہیں۔


Recursion and induction are powerful programming techniques.

ریکرژن اور انڈکشن طاقتور پروگرامنگ تکنیکیں ہیں۔


Relational databases are widely used for data management.

ڈیٹا مینجمنٹ کے لیے ریلیشنل ڈیٹا بیس بڑے پیمانے پر استعمال ہوتے ہیں۔


The Mariner 4 spacecraft sent photographs of Mars.

ماریئیر 4 خلائی جہاز نے مریخ کی تصاویر بھیجیں۔


Each pixel encoded 64 possible levels of brightness.

ہر پکسل نے 64 ممکنہ سطح کی چمک کو انکوڈ کیا۔


The transmission rate was 16,200 bits per second.

منتقلی کی شرح 16,200 بٹس فی سیکنڈ تھی۔


Our interest is in transmitting a single pixel so that an error can be detected.

ہماری دلچسپی ایک واحد پکسل کو منتقل کرنے میں ہے تاکہ ایک غلطی کا پتہ لگایا جا سکے۔


We study the simple Reed-Muller code employed by the later Mariners.

ہم بعد کے ملاحوں کے ذریعہ استعمال کردہ سادہ ریڈ-مولر کوڈ کا مطالعہ کرتے ہیں۔


Error correction capability is low with 8- bit codewords.

8 بٹ کوڈ ورڈز کے ساتھ غلطی کی اصلاح کی صلاحیت کم ہے۔


The Mariners employed 32-bit codewords, where the inter-word distance is 16.

ملاحوں نے 32 بٹ کوڈ ورڈز استعمال کیے، جہاں الفاظ کے درمیان فاصلہ 16 ہے۔


We will define a family of 0, 1 matrices H, where H n is a 2 n × 2 n matrix, n ≥ 0.

ہم 0، 1 میٹرکس H کا ایک خاندان بیان کریں گے، جہاں H n ایک 2 n × 2 n میٹرکس ہے، n ≥ 0۔


Hadamard matrices have many pleasing properties.

ہیڈامارڈ میٹرکس میں بہت سی خوشگوار خصوصیات ہیں۔


The Hamming distance between any two distinct rows of H n , n ≥ 1, is 2 n-1.

H n، n ≥ 1 کی کسی بھی دو مختلف قطاروں کے درمیان ہیمنگ فاصلہ 2 n-1 ہے۔


We apply matrix algebra to prove this result.

اس نتیجے کو ثابت کرنے کے لیے ہم میٹرکس الجبرا کا اطلاق کرتے ہیں۔


Dot product of two words x and y is given by x · y = Σ i (x i × y i).

دو الفاظ x اور y کا ڈاٹ پروڈکٹ x · y = Σ i (x i × y i) سے دیا جاتا ہے۔


Secure communication has been important for at least 2,500 years.

محفوظ مواصلات کم از کم 2,500 سال سے اہم رہی ہے۔


Alice will encrypt the plaintext to create a ciphertext.

ایلس سادے متن کو خفیہ کرے گی تاکہ ایک خفیہ متن بنایا جا سکے۔


The goal of encryption and decryption is to make it hard for Eve to decrypt the ciphertext.

خفیہ کاری اور ڈکرپشن کا مقصد ایو کے لیے خفیہ متن کو ڈکرپٹ کرنا مشکل بنانا ہے۔


When Alice and Bob share knowledge of the key, they are using a symmetric key system.

جب ایلس اور باب کلید کا علم بانٹتے ہیں، تو وہ ایک سمٹرک کلید سسٹم استعمال کر رہے ہوتے ہیں۔


Modern public key cryptography is asymmetric.

جدید عوامی کلید کرپٹوگرافی غیر متناسب ہے۔


The communication medium is really not important.

مواصلات کا ذریعہ واقعی اہم نہیں ہے۔


Some of the earliest efforts simply scrambled the letters of the plaintext.

ابتدائی کوششوں میں سے کچھ نے سادہ متن کے حروف کو الجھا دیا۔


A substitution cypher replaces a symbol by another symbol.

تبدیلی سائفر ایک علامت کو دوسری علامت سے بدل دیتا ہے۔


Data compression is useful and necessary in a variety of applications.

ڈیٹا کمپریشن مختلف ایپلی کیشنز میں مفید اور ضروری ہے۔


These applications can be broadly divided into two groups: transmission and storage.

ان ایپلی کیشنز کو وسیع پیمانے پر دو گروہوں میں تقسیم کیا جا سکتا ہے: ٹرانسمیشن اور اسٹوریج۔


Compression reduces the number of bits to be transmitted, thus making the transmission process more efficient.

کمپریشن منتقل کیے جانے والے بٹس کی تعداد کو کم کرتا ہے، اس طرح ٹرانسمیشن کے عمل کو زیادہ موثر بناتا ہے۔


Storing a file in a compressed form typically requires fewer bits, thus utilizing storage resources more efficiently.

کمپریسڈ شکل میں فائل کو اسٹور کرنے کے لیے عام طور پر کم بٹس کی ضرورت ہوتی ہے، اس طرح اسٹوریج کے وسائل کو زیادہ مؤثر طریقے سے استعمال کیا جاتا ہے۔


Data compression can be applied to any kind of data: text, image, audio and video.

ڈیٹا کمپریشن کو کسی بھی قسم کے ڈیٹا پر لاگو کیا جا سکتا ہے: متن، تصویر، آڈیو اور ویڈیو۔


A 1-second video without compression takes around 20 megabytes.

کمپریشن کے بغیر ایک سیکنڈ کی ویڈیو تقریباً 20 میگا بائٹس لیتی ہے۔


Impressive gains can be made by compressing video, for instance, because successive frames are very similar to each other.

ویڈیو کو کمپریس کرکے متاثر کن فوائد حاصل کیے جا سکتے ہیں، مثال کے طور پر، کیونکہ لگاتار فریم ایک دوسرے سے بہت ملتے جلتے ہیں۔


In fact, real-time video transmission would be impossible without considerable compression.

درحقیقت، کافی کمپریشن کے بغیر ریئل ٹائم ویڈیو ٹرانسمیشن ناممکن ہوگا۔


There are several new applications that generate data at prodigious rates.

کئی نئی ایپلی کیشنز ہیں جو بے تحاشا شرحوں پر ڈیٹا تیار کرتی ہیں۔


Without compression there is no hope of storing such large files.

کمپریشن کے بغیر اتنی بڑی فائلوں کو اسٹور کرنے کی کوئی امید نہیں ہے۔


Lossy and Lossless CompressionMost data types, except text, are compressed in such a way that a very good approximation can be recovered.

ضائع ہونے والی اور نقصان کے بغیر کمپریشن زیادہ تر ڈیٹا کی اقسام، سوائے متن کے، اس طرح کمپریس کی جاتی ہیں کہ ایک بہت اچھا تخمینہ بازیاب ہو سکے۔


Text transmissions are required to be lossless.

متن کی ترسیل کو نقصان کے بغیر ہونا ضروری ہے۔


It will be a disaster to change even a single symbol in a text file.

ٹیکسٹ فائل میں ایک بھی علامت کو تبدیل کرنا ایک آفت ہوگی۔


In this note, we study several lossless compression schemes for text files.

اس نوٹ میں، ہم ٹیکسٹ فائلوں کے لیے کئی نقصان کے بغیر کمپریشن سکیموں کا مطالعہ کرتے ہیں۔


Henceforth, we use the terms string and text file synonymously.

اس کے بعد، ہم اصطلاحات سٹرنگ اور ٹیکسٹ فائل کو مترادفات کے طور پر استعمال کرتے ہیں۔


Error detection and correction can be applied to uncompressed as well as compressed strings.

غلطی کا پتہ لگانے اور درست کرنے کو غیر کمپریسڈ کے ساتھ ساتھ کمپریسڈ سٹرنگز پر بھی لاگو کیا جا سکتا ہے۔


What is the typical level of compression?

کمپریشن کی عام سطح کیا ہے؟


The amount by which a text string can be compressed depends on the string itself.

جس مقدار سے ٹیکسٹ سٹرنگ کو کمپریس کیا جا سکتا ہے وہ خود سٹرنگ پر منحصر ہے۔


A repetitive lyric like “Old McDonald had a farm” can be compressed significantly.

ایک بار بار آنے والی دھن جیسے “اولڈ میکڈونلڈ ہیڈ اے فارم” کو نمایاں طور پر کمپریس کیا جا سکتا ہے۔


I compressed a postscript file of 2,144,364 symbols to 688,529 symbols using a standard compression algorithm, gzip.

میں نے ایک معیاری کمپریشن الگورتھم، gzip کا استعمال کرتے ہوئے 2,144,364 علامتوں کی ایک پوسٹ اسکرپٹ فائل کو 688,529 علامتوں میں کمپریس کیا۔


The final state, where all piles are empty, is a losing state.

آخری حالت، جہاں تمام ڈھیر خالی ہیں، ایک ہارنے کی حالت ہے۔


A player in a losing state will definitely lose provided his opponent makes the right moves.

ہارنے کی حالت میں موجود کھلاڑی یقینی طور پر ہار جائے گا بشرطیکہ اس کا مخالف صحیح چالیں چلے۔


So, one of the players has a winning strategy based on the initial state.

لہذا، کھلاڑیوں میں سے ایک کے پاس ابتدائی حالت کی بنیاد پر جیتنے کی حکمت عملی ہے۔


Of course, either player is allowed to play stupidly and squander a winning position.

یقینا، کسی بھی کھلاڑی کو بیوقوفی سے کھیلنے اور جیتنے کی پوزیشن کو ضائع کرنے کی اجازت ہے۔


We show that any possible move in a losing state can only lead to a winning state.

ہم دکھاتے ہیں کہ ہارنے کی حالت میں کوئی بھی ممکنہ اقدام صرف جیتنے کی حالت کی طرف لے جا سکتا ہے۔


A player in a winning state has at least one move to transform the state to losing.

جیتنے کی حالت میں موجود کھلاڑی کے پاس کم از کم ایک اقدام ہے جو حالت کو ہارنے میں بدل دے۔


Let the exclusive-or of the remaining piles be s.

باقی ڈھیروں کا خصوصی یا s ہونے دیں۔


Before the move, exclusive-or of all piles was s ⊕ p.

اقدام سے پہلے، تمام ڈھیروں کا خصوصی یا s ⊕ p تھا۔


اقدام کے بعد یہ s ⊕ q ہے۔


First, we show that in a losing state, i.e., s ⊕ p = 0, all possible moves establish a winning state, i.e., s ⊕ q ≠ 0.

سب سے پہلے، ہم دکھاتے ہیں کہ ہارنے کی حالت میں، یعنی s ⊕ p = 0، تمام ممکنہ اقدامات ایک جیتنے کی حالت قائم کرتے ہیں، یعنی s ⊕ q ≠ 0۔


Now, we show that there is a move in the winning state to take it to losing state.

اب، ہم دکھاتے ہیں کہ جیتنے کی حالت میں ایک ایسا اقدام ہے جو اسے ہارنے کی حالت میں لے جاتا ہے۔


Let the exclusive-or of all piles be u, u ≠ 0.

تمام ڈھیروں کا خصوصی یا u ہونے دیں، u ≠ 0۔


Let x be any pile that has a 1 in the same position as the leading 1 bit of u (show that x exists).

x کوئی بھی ڈھیر ہو جو u کے معروف 1 بٹ کی طرح ایک ہی پوزیشن میں 1 رکھتا ہو (دکھائیں کہ x موجود ہے).


The winning move is to replace x by x ⊕ u.

جیتنے کا اقدام x کو x ⊕ u سے بدلنا ہے۔


We show that (1) x ⊕ u < x, and (2) the exclusive-or of the resulting set of piles is 0, i.e., the state after the move is a losing state.

ہم دکھاتے ہیں کہ (1) x ⊕ u < x، اور (2) ڈھیروں کے نتیجے میں حاصل ہونے والے سیٹ کا خصوصی یا 0 ہے، یعنی، اقدام کے بعد کی حالت ہارنے کی حالت ہے۔


The problem in secure communication is for a sender to send a message to a receiver so that no eavesdropper can read the message during transmission.

محفوظ مواصلات میں مسئلہ یہ ہے کہ ایک بھیجنے والا وصول کنندہ کو ایک پیغام بھیجے تاکہ کوئی جاسوس ترسیل کے دوران پیغام نہ پڑھ سکے۔


In most cases, the sender and the receiver agree on a transmission protocol; the sender encrypts the message in such a fashion that only the receiver can decrypt it.

زیادہ تر معاملات میں، بھیجنے والا اور وصول کنندہ ایک ٹرانسمیشن پروٹوکول پر متفق ہوتے ہیں؛ بھیجنے والا پیغام کو اس انداز میں خفیہ کرتا ہے کہ صرف وصول کنندہ ہی اسے ڈکرپٹ کر سکتا ہے۔


The sender first converts the message to be sent to a bit string, by replacing each symbol of the alphabet by its ascii representation, for instance.

بھیجنے والا سب سے پہلے بھیجے جانے والے پیغام کو ایک بٹ سٹرنگ میں تبدیل کرتا ہے، مثال کے طور پر، حروف تہجی کے ہر نشان کو اس کی ascii نمائندگی سے بدل کر۔


This string is usually called the plaintext.

اس سٹرنگ کو عام طور پر سادہ متن کہا جاتا ہے۔


For encryption, the sender and the receiver agree on a key k, which is a bit string of the same length as the block.

خفیہ کاری کے لیے، بھیجنے والا اور وصول کنندہ ایک کلید k پر متفق ہوتے ہیں، جو بلاک کی طرح ایک ہی لمبائی کی بٹ سٹرنگ ہے۔


The algorithm uses modular arithmetic to perform calculations.

یہ الگورتھم حسابات کرنے کے لیے ماڈیولر ریاضی کا استعمال کرتا ہے۔


Integers x and y are relatively prime if their greatest common divisor is 1.

اگر ان کا سب سے بڑا مشترکہ تقسیم کنندہ 1 ہے تو عدد x اور y نسبتاً پرائم ہیں۔


Bob chooses two large prime numbers, p and q, for the RSA scheme.

باب آر ایس اے سکیم کے لیے دو بڑے پرائم نمبر، p اور q کا انتخاب کرتا ہے۔


The public key is (e, n) and the private key is (d, n) in RSA.

آر ایس اے میں عوامی کلید (e, n) ہے اور نجی کلید (d, n) ہے۔


Encryption involves raising the message M to the power of e modulo n.

انکرپشن میں پیغام M کو e کی طاقت میں ماڈیولو n تک بڑھانا شامل ہے۔


Decryption uses the private key d to recover the original message.

ڈی کرپشن اصل پیغام کو بازیافت کرنے کے لیے نجی کلید d کا استعمال کرتا ہے۔


The security of RSA relies on the difficulty of factoring large numbers.

آر ایس اے کی سیکیورٹی بڑے نمبروں کو فیکٹرائز کرنے کی مشکل پر منحصر ہے۔


Digital signatures provide authentication and non-repudiation.

ڈیجیٹل دستخط تصدیق اور غیر تردید فراہم کرتے ہیں۔


Alice wants to send a secure message to Bob.

ایلس باب کو ایک محفوظ پیغام بھیجنا چاہتی ہے۔


The extended Euclidean algorithm is used to compute the modular inverse.

ماڈیولر انورس کا حساب لگانے کے لیے توسیع شدہ یوکلیڈین الگورتھم استعمال کیا جاتا ہے۔


A block cipher encrypts data in fixed-size blocks.

ایک بلاک سائفر ڈیٹا کو فکسڈ سائز کے بلاکس میں انکرپٹ کرتا ہے۔


اسٹریم سائفر ڈیٹا کو بٹ بہ بٹ انکرپٹ کرتے ہیں۔


Diffie-Hellman key exchange allows two parties to establish a shared secret.

ڈیفی-ہیلمن کلید کا تبادلہ دو فریقوں کو ایک مشترکہ راز قائم کرنے کی اجازت دیتا ہے۔


Eve is trying to eavesdrop on the communication.

حوا مواصلات پر جاسوسی کرنے کی کوشش کر رہی ہے۔


The algorithm is designed to be computationally secure.

الگورتھم کو کمپیوٹیشنل طور پر محفوظ بنانے کے لیے ڈیزائن کیا گیا ہے۔


The message is signed using Alice's private key.

پیغام پر ایلس کی نجی کلید کا استعمال کرتے ہوئے دستخط کیے گئے ہیں۔


Bob's public key is used to encrypt the message.

پیغام کو انکرپٹ کرنے کے لیے باب کی عوامی کلید کا استعمال کیا جاتا ہے۔


The one-time pad provides perfect secrecy.

ون ٹائم پیڈ مکمل رازداری فراہم کرتا ہے۔


A trusted third party can help with key exchange.

ایک قابل اعتماد تیسرا فریق کلید کے تبادلے میں مدد کر سکتا ہے۔


Breaking RSA is considered computationally infeasible.

آر ایس اے کو توڑنا کمپیوٹیشنل طور پر ناممکن سمجھا جاتا ہے۔


Alice sends a public key to Bob which Bob uses to send her a secret.

ایلس باب کو ایک عوامی کلید بھیجتی ہے جسے باب اسے ایک راز بھیجنے کے لیے استعمال کرتا ہے۔


They can then employ the secret for further communications.

اس کے بعد وہ مزید مواصلات کے لیے راز کا استعمال کر سکتے ہیں۔


Here, pis a prime number; typically pis large.

یہاں، p ایک پرائم نمبر ہے؛ عام طور پر p بڑا ہوتا ہے۔


Alice and Bob privately choose integers a and b which are less than p.

ایلس اور باب نجی طور پر عدد a اور b کا انتخاب کرتے ہیں جو p سے کم ہیں۔


Alice sends g^a mod p and Bob sends g^b mod p.

ایلس g^a mod p بھیجتی ہے اور باب g^b mod p بھیجتا ہے۔


They both have g^(ab) mod p, and they settle on that as the secret key.

ان دونوں کے پاس g^(ab) mod p ہے، اور وہ اسے خفیہ کلید کے طور پر طے کرتے ہیں۔


Verify that g is a 16th primitive root of 1.

تصدیق کریں کہ g 1 کا 16 واں ابتدائی جڑ ہے۔


Let Alice choose a = 5 and Bob choose b = 9.

آئیے ایلس a = 5 کا انتخاب کرے اور باب b = 9 کا انتخاب کرے۔


Each of them now knows 12 as the secret key.

ان میں سے ہر ایک اب 12 کو خفیہ کلید کے طور پر جانتا ہے۔


We have to choose a large prime number p and a positive integer g which is a (p−1)th root of 1.

ہمیں ایک بڑا پرائم نمبر p اور ایک مثبت عدد g کا انتخاب کرنا ہوگا جو 1 کا (p−1) واں جڑ ہے۔


From the description of the protocol, we don’t really need that g be a (p−1)th root of 1.

پروٹوکول کی تفصیل سے، ہمیں واقعی اس بات کی ضرورت نہیں ہے کہ g 1 کا (p−1) واں جڑ ہو۔


The task of Eve is to compute a or b given g, p, g^a mod p and g^b mod p.

ایو کا کام g, p, g^a mod p اور g^b mod p کو دیکھتے ہوئے a یا b کا حساب لگانا ہے۔


This is known as the Discrete Logarithm Problem, for which there is no known efficient algorithm.

یہ ڈسکریٹ لوگارتھم مسئلہ کے طور پر جانا جاتا ہے، جس کے لیے کوئی معلوم موثر الگورتھم نہیں ہے۔


She substitutes her own keys, e and e', in place of a and b.

وہ اپنی کلیدیں، e اور e'، a اور b کی جگہ استعمال کرتی ہے۔


There is no easy way to handle this problem.

اس مسئلے سے نمٹنے کا کوئی آسان طریقہ نہیں ہے۔


Each communication has to be authenticated.

ہر مواصلت کی تصدیق ہونی چاہیے۔


A shepherd arrives at a river bank with a wolf, a goat and a cabbage.

ایک چرواہا ایک دریا کے کنارے ایک بھیڑیا، ایک بکری اور ایک گوبھی کے ساتھ پہنچتا ہے۔


The shepherd can row alone, or take one item with him in the boat.

چرواہا اکیلا کشتی چلا سکتا ہے، یا کشتی میں اس کے ساتھ ایک چیز لے جا سکتا ہے۔


The important thing to note is that the number of states is finite.

نوٹ کرنے کی اہم بات یہ ہے کہ ریاستوں کی تعداد محدود ہے۔


Show that a specific kind of path in the graph corresponds to a solution.

دکھائیں کہ گراف میں ایک خاص قسم کا راستہ ایک حل کے مساوی ہے۔


Regular expressions and finite state machines are equivalent.

ضابطہ اظہار اور محدود ریاستی مشینیں مساوی ہیں۔


For each regular expression R there exists a finite state machine F such that the set of strings in R is the set of strings accepted by F.

ہر ضابطہ اظہار R کے لیے ایک محدود ریاستی مشین F موجود ہے، اس طرح کہ R میں موجود تاروں کا مجموعہ F کے ذریعے قبول کیے جانے والے تاروں کا مجموعہ ہے۔


مشین ہمیشہ G میں رہتی ہے۔


How do we construct a machine to recognize concatenation?

ہم تسلسل کو پہچاننے کے لیے ایک مشین کیسے تیار کریں؟


فرض کریں کہ ہمیں c* کو قبول کرنا ہے۔


مشین شکل 4.24 میں دکھائی گئی ہے۔


Clearly, we can build machines for both bc* and cb* separately.

واضح طور پر، ہم bc* اور cb* دونوں کے لیے الگ الگ مشینیں بنا سکتے ہیں۔


Regular expressions have a syntax in which a few characters are special constructs and the rest are "ordinary".

ضابطہ اظہار میں ایک نحو ہے جس میں چند حروف خصوصی تعمیرات ہیں اور باقی


An ordinary character is a simple regular expression which matches that same character and nothing else.

ایک عام کردار ایک سادہ ضابطہ اظہار ہے جو اسی کردار سے مماثل ہے اور کچھ نہیں۔


The special characters are ‘$’, ‘^’, ‘.’, ‘*’, ‘+’, ‘?’, ‘[’, ‘]’ and ‘\’.

خصوصی حروف ‘$’, ‘^’, ‘.’, ‘*’, ‘+’, ‘?’, ‘[’, ‘]’ اور ‘\’ ہیں۔


Any two regular expressions A and B can be concatenated.

کوئی بھی دو ضابطہ اظہار A اور B کو جوڑا جا سکتا ہے۔


To do something nontrivial, you need to use one of the special characters.

کچھ غیر معمولی کرنے کے لیے، آپ کو خصوصی حروف میں سے ایک استعمال کرنے کی ضرورت ہے۔


‘. (Period)’ is a special character that matches any single character except a newline.

‘. (Period)’ ایک خاص کردار ہے جو ایک نئی لائن کے علاوہ کسی بھی ایک کردار سے مماثل ہے۔


‘*’ is not a construct by itself; it is a postfix operator, which means to match the preceding regular expression repetitively as many times as possible.

‘*’ بذات خود کوئی تعمیر نہیں ہے؛ یہ ایک پوسٹ فکس آپریٹر ہے، جس کا مطلب ہے کہ پچھلے ضابطہ اظہار کو زیادہ سے زیادہ بار بار ملانا۔


The matcher processes a ‘*’ construct by matching, immediately, as many repetitions as can be found.

میچر ‘*’ کی تعمیر کو فوری طور پر ملانے سے پروسیس کرتا ہے، جتنی بار دہرایا جا سکتا ہے۔


‘+’ is a postfix character, similar to ‘*’ except that it must match the preceding expression at least once.

‘+’ ایک پوسٹ فکس کردار ہے، ‘*’ کی طرح سوائے اس کے کہ اسے کم از کم ایک بار پچھلے اظہار سے ملنا چاہیے۔


‘?’ is a postfix character, similar to ‘*’ except that it can match the preceding expression either once or not at all.

‘?’ ایک پوسٹ فکس کردار ہے، ‘*’ کی طرح سوائے اس کے کہ یہ پچھلے اظہار سے ایک بار یا بالکل بھی مماثل ہو سکتا ہے۔


‘[ ... ]’ is a "character set", which begins with ‘[’ and is terminated by a ‘]’.

‘[ ... ]’ ایک “حرف سیٹ” ہے، جو ‘[’ سے شروع ہوتا ہے اور ‘]’ سے ختم ہوتا ہے۔


You can also include character ranges a character set, by writing two characters with a ‘-’ between them.

آپ دو حروف کو ان کے درمیان ‘-’ لکھ کر ایک حرف سیٹ میں حروف کی حدود بھی شامل کر سکتے ہیں۔


The material in this section is taken from the online GNU Emacs manual.

اس حصے کا مواد آن لائن GNU Emacs دستی سے لیا گیا ہے۔


The initial state holds for the empty string.

ابتدائی حالت خالی سٹرنگ کے لیے برقرار رہتی ہے۔


For each transition, do the following verification.

ہر منتقلی کے لیے، درج ذیل تصدیق کریں۔


Suppose the transition is labeled 's' and it is from a state annotated with 'b' to one with 'c'.

فرض کریں کہ منتقلی کو 's' کا لیبل دیا گیا ہے اور یہ 'b' کے ساتھ تشریح شدہ حالت سے 'c' کے ساتھ ایک حالت میں ہے۔


Then, show that if 'b' holds for any string x, then 'c' holds for xs.

پھر، دکھائیں کہ اگر کسی بھی سٹرنگ x کے لیے 'b' برقرار ہے، تو 'c' xs کے لیے برقرار ہے۔


For the machine in Figure 4.12, we have already done step (1).

شکل 4.12 میں مشین کے لیے، ہم پہلے ہی مرحلہ (1) کر چکے ہیں۔


For step (2), we have to show that the empty string satisfies p ∧ q.

مرحلہ (2) کے لیے، ہمیں یہ دکھانا ہوگا کہ خالی سٹرنگ p ∧ q کو مطمئن کرتی ہے۔


That is, the empty string has an even number of 0s and 1s, which clearly holds.

یعنی، خالی سٹرنگ میں 0 اور 1 کی ایک مساوی تعداد ہے، جو واضح طور پر برقرار ہے۔


For step (3), we have to verify all eight transitions, as shown in Table 4.8.

مرحلہ (3) کے لیے، ہمیں تمام آٹھ منتقلیوں کی تصدیق کرنی ہوگی، جیسا کہ جدول 4.8 میں دکھایا گیا ہے۔


For example, it is straightforward to verify the transition from A to B.

مثال کے طور پر، A سے B میں منتقلی کی تصدیق کرنا سیدھا ہے۔


By considering an arbitrary string x with an even number of 0s and 1s (p ∧ q) and proving that x0 has odd number of 0s and even number of 1s (¬p ∧ q).

0 اور 1 کی ایک مساوی تعداد کے ساتھ ایک من مانی سٹرنگ x پر غور کرکے (p ∧ q) اور یہ ثابت کرتے ہوئے کہ x0 میں 0 کی طاق تعداد اور 1 کی مساوی تعداد ہے (¬p ∧ q).


Why Does the Verification Procedure Work?

تصدیقی طریقہ کار کیوں کام کرتا ہے؟


It seems that we are using some sort of circular argument, but that is not so.

ایسا لگتا ہے کہ ہم کسی قسم کی سرکلر دلیل استعمال کر رہے ہیں، لیکن ایسا نہیں ہے۔


In order to convince yourself 4.2. FINITE STATE MACHINE83 that the argument is not circular, construct a proof using induction.

خود کو قائل کرنے کے لیے 4.2. FINITE STATE MACHINE83 کہ دلیل سرکلر نہیں ہے، انڈکشن کا استعمال کرتے ہوئے ایک ثبوت بنائیں۔


The theorem we need to prove is as follows: after processing any string x, the machine state is A, B, C or D if and only if x satisfies p ∧ q, ¬p ∧ q, ¬p ∧ ¬q or p ∧ ¬q, respectively.

تھیورم جسے ہمیں ثابت کرنے کی ضرورت ہے وہ اس طرح ہے: کسی بھی سٹرنگ x پر کارروائی کرنے کے بعد، مشین کی حالت A، B، C یا D ہے اگر اور صرف اس صورت میں جب x بالترتیب p ∧ q، ¬p ∧ q، ¬p ∧ ¬q یا p ∧ ¬q کو مطمئن کرتا ہے۔


The proof of this statement is by induction on the length of x.

اس بیان کا ثبوت x کی لمبائی پر انڈکشن کے ذریعے ہے۔


For |x| = 0: x is an empty string and p ∧ q holds for it.

|x| = 0 کے لیے: x ایک خالی سٹرنگ ہے اور p ∧ q اس کے لیے برقرار ہے۔


The machine state is A, so the theorem holds.

مشین کی حالت A ہے، اس لیے تھیورم برقرار ہے۔


For |x| = n + 1, n ≥ 0: use the induction hypothesis and the proofs from Table 4.8.

|x| = n + 1، n ≥ 0 کے لیے: انڈکشن مفروضے اور جدول 4.8 سے ثبوت استعمال کریں۔


The finite state machines we have seen so far simply accept or reject a string.

اب تک ہم نے جو محدود ریاستی مشینیں دیکھی ہیں وہ محض ایک سٹرنگ کو قبول یا مسترد کرتی ہیں۔


So, they are useful for doing complicated tests, such as to determine if a string matches a given pattern.

لہذا، وہ پیچیدہ ٹیسٹ کرنے کے لیے مفید ہیں، جیسے کہ یہ تعین کرنا کہ آیا کوئی سٹرنگ کسی دیئے گئے پیٹرن سے میل کھاتی ہے۔


The expression isa=s+pand we should resume computation of its outer expression as if we have seen the constanta.

اظہار isa=s+p ہے اور ہمیں اس کے بیرونی اظہار کا حساب اس طرح دوبارہ شروع کرنا چاہیے جیسے ہم نے مستقل a دیکھا ہے۔


We retrieve the top pair of values from the stack, assign them tosandp, and simulate the transition that handles a constant, i.e., we setp:=p×a.

ہم اسٹیک سے قدروں کا سب سے اوپر والا جوڑا حاصل کرتے ہیں، انہیں s اور p کو تفویض کرتے ہیں، اور اس منتقلی کی نقالی کرتے ہیں جو ایک مستقل کو ہینڈل کرتی ہے، یعنی، ہم p:=p×a سیٹ کرتے ہیں۔


We store the length of the stack inn, incrementing it on encountering a “(” and decrementing it for a “)”.

ہم اسٹیک کی لمبائی کو n میں محفوظ کرتے ہیں، جب ایک '(' کا سامنا ہوتا ہے تو اسے بڑھاتے ہیں اور ')' کے لیے اسے گھٹاتے ہیں۔


A “)” is accepted only whenn >0 and “#” whenn= 0.

ایک ')' صرف اس وقت قبول کیا جاتا ہے جب n > 0 اور '#' جب n = 0۔


Computes value of arithmetic expression Here,αandβare the following program fragments.

ریاضیاتی اظہار کی قدر کا حساب لگاتا ہے یہاں، α اور β مندرجہ ذیل پروگرام کے ٹکڑے ہیں۔


Run the machine of Figure 4.34 on input string 3 + (4×(2×6 + 8)×3) + 7# and show the values of the variables (including contents of the stack) at each step.

شکل 4.34 کی مشین کو ان پٹ سٹرنگ 3 + (4×(2×6 + 8)×3) + 7# پر چلائیں اور ہر قدم پر متغیرات کی قدریں (اسٹیک کے مواد سمیت) دکھائیں۔


Choose several strings that are syntactically incorrect, and run the machine on each of them.

کئی سٹرنگز کا انتخاب کریں جو نحوی طور پر غلط ہیں، اور ان میں سے ہر ایک پر مشین چلائیں۔


Would it be simpler to specify the machine in Figure 4.34 if we could call a machine recursively?

کیا شکل 4.34 میں مشین کی وضاحت کرنا آسان ہوگا اگر ہم کسی مشین کو بار بار کال کر سکیں؟


Explore the possibility of adding recursion to finite state machines.

محدود ریاستی مشینوں میں تکرار شامل کرنے کے امکان کو دریافت کریں۔


Enhanced finite state machines are often used to specify and design event-based systems.

بڑھی ہوئی محدود ریاستی مشینیں اکثر ایونٹ پر مبنی نظاموں کی وضاحت اور ڈیزائن کرنے کے لیے استعمال ہوتی ہیں۔


An event happens in the external world and the machine has to react to the event.

ایک واقعہ بیرونی دنیا میں ہوتا ہے اور مشین کو اس واقعے پر رد عمل ظاہر کرنا ہوتا ہے۔


Consider the dome light in a car that is either “on” or “off”.

ایک کار میں گنبد کی روشنی پر غور کریں جو یا تو “آن” ہے یا “آف”۔


ابتدائی طور پر، روشنی بند ہے۔


The light comes on if a switch is pressed (denote the switch press by eventsw) or if the door is opened (denote bydoor).

روشنی اس وقت جلتی ہے جب ایک سوئچ دبایا جاتا ہے (سوئچ دبانے کو eventsw سے ظاہر کریں) یا اگر دروازہ کھولا جاتا ہے (door سے ظاہر کریں).


The light goes off if the switch is pressed again (i.e., eventsw), the door is closed (denote bydoor ′ ) or 5 minutes elapse with the light being on (denote this time-out event bytmout).

روشنی بند ہو جاتی ہے اگر سوئچ کو دوبارہ دبایا جاتا ہے (یعنی، eventsw)، دروازہ بند ہو جاتا ہے (door ′ سے ظاہر کریں) یا 5 منٹ گزر جاتے ہیں جب روشنی جل رہی ہو (اس ٹائم آؤٹ ایونٹ کو tmout سے ظاہر کریں).


The example just described denotes an elementary event-based system.

جس مثال کی ابھی وضاحت کی گئی ہے وہ ایک ابتدائی ایونٹ پر مبنی نظام کو ظاہر کرتی ہے۔


The events aresw,door,door ′ , andtmout.

واقعات aresw,door,door ′, اور tmout ہیں۔


The designer has no control over if or when the events happen (the time out event is special; it is guaranteed to happen at the designated time).

ڈیزائنر کا اس بات پر کوئی کنٹرول نہیں ہے کہ واقعات کب یا کب ہوتے ہیں (ٹائم آؤٹ ایونٹ خاص ہے؛ اس بات کی ضمانت ہے کہ یہ مقررہ وقت پر ہوگا۔)


He has to design a system that enters the correct state and carries out the appropriate actions when an event happens.

اسے ایک ایسا نظام ڈیزائن کرنا ہے جو صحیح حالت میں داخل ہو اور جب کوئی واقعہ پیش آئے تو مناسب کارروائیاں کرے۔


The event may be likened to the occurrence of a symbol.

اس واقعے کو ایک علامت کے واقع ہونے سے تشبیہ دی جا سکتی ہے۔


The modulo operator returns the remainder of a division.

ماڈیولس آپریٹر تقسیم کے بعد باقی ماندہ واپس کرتا ہے۔


In Haskell, the `mod` operator gives the modulo result.

Haskell میں، `mod` آپریٹر ماڈیولو کا نتیجہ دیتا ہے۔


-2 `mod` 3 کا نتیجہ 1 ہے۔


Functions like `even` and `odd` return boolean values.

`even` اور `odd` جیسے فنکشن بولین ویلیوز واپس کرتے ہیں۔


The `max` and `min` functions find the maximum and minimum values.

`max` اور `min` فنکشن زیادہ سے زیادہ اور کم سے کم اقدار تلاش کرتے ہیں۔


Parentheses are needed to enforce evaluation order.

تشخیص کے آرڈر کو نافذ کرنے کے لیے قوسین کی ضرورت ہوتی ہے۔


Arithmetic relations like <, <=, ==, /=, >, >= return boolean results.

ریاضیاتی تعلقات جیسے <, <=, ==, /=, >, >= بولین نتائج واپس کرتے ہیں۔


In Haskell, 3 + (5 >= 2) is not a valid expression.

Haskell میں، 3 + (5 >= 2) ایک درست اظہار نہیں ہے۔


There are boolean constants True and False.

بولین مستقلات True اور False موجود ہیں۔


The boolean operators are not, &&, ||, ==, and /=.

بولین آپریٹرز not, &&, ||, ==, اور /= ہیں۔


Haskell supports Integer and Int data types for integers.

Haskell انٹیجرز کے لیے Integer اور Int ڈیٹا ٹائپس کو سپورٹ کرتا ہے۔


A character is enclosed within single quotes.

ایک حرف کو سنگل کوٹس میں بند کیا جاتا ہے۔


A string is enclosed within double quotes.

ایک سٹرنگ کو ڈبل کوٹس میں بند کیا جاتا ہے۔


You can compare characters using arithmetic relations.

آپ ریاضیاتی تعلقات کا استعمال کرتے ہوئے حروف کا موازنہ کر سکتے ہیں۔


The letters are ordered in the usual fashion.

حروف کو عام انداز میں ترتیب دیا جاتا ہے۔


There are functions ord and chr defined on characters.

حروف پر ord اور chr فنکشنز کی تعریف کی گئی ہے۔


Function ord(c) returns the value of character c.

فنکشن ord(c) حرف c کی قدر واپس کرتا ہے۔


Function chr converts a number to a character.

فنکشن chr ایک عدد کو ایک حرف میں تبدیل کرتا ہے۔


سٹرنگز حروف کی فہرستیں ہیں۔


We need to define functions to compute more.

مزید حساب کرنے کے لیے ہمیں فنکشنز کی تعریف کرنے کی ضرورت ہے۔


یہ الگورتھم ڈیٹا کو مؤثر طریقے سے ترتیب دیتا ہے۔


Recursion is a fundamental concept in programming.

ریکرژن پروگرامنگ میں ایک بنیادی تصور ہے۔


The function's behavior is defined by its base case and recursive step.

فنکشن کا رویہ اس کے بیس کیس اور ریکرسیو قدم سے متعین ہوتا ہے۔


He is reading a book about computer science.

وہ کمپیوٹر سائنس کے بارے میں ایک کتاب پڑھ رہا ہے۔


The news reported a significant economic downturn.

خبروں میں ایک اہم معاشی گراوٹ کی اطلاع دی گئی۔


کمپنی نیا سافٹ ویئر تیار کر رہی ہے۔


Can you explain the concept of higher-order functions?

کیا آپ اعلیٰ درجے کے افعال کے تصور کی وضاحت کر سکتے ہیں؟


The map function applies a given function to each element of a list.

نقشہ فنکشن ایک دیئے گئے فنکشن کو فہرست کے ہر عنصر پر لاگو کرتا ہے۔


The filter function selects elements based on a predicate.

فلٹر فنکشن ایک پیش گوئی کی بنیاد پر عناصر کا انتخاب کرتا ہے۔


The Davis-Putnam procedure is used for boolean satisfiability.

ڈیویس-پٹنم طریقہ کار بولین اطمینان کے لیے استعمال ہوتا ہے۔


Google uses MapReduce for large-scale data processing.

گوگل بڑے پیمانے پر ڈیٹا پروسیسنگ کے لیے میپ ریڈیوس کا استعمال کرتا ہے۔


The program's efficiency is a key consideration.

پروگرام کی کارکردگی ایک اہم غور ہے۔


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

الگورتھم کی وقت کی پیچیدگی O(n log n) ہے۔


وہ ایک سافٹ ویئر انجینئر ہے۔


The project requires careful planning and execution.

اس منصوبے کے لیے محتاط منصوبہ بندی اور عمل درآمد کی ضرورت ہے۔


The code is well-documented and easy to understand.

کوڈ اچھی طرح سے دستاویزی ہے اور سمجھنے میں آسان ہے۔


فنکشن ایک بولین ویلیو لوٹاتا ہے۔


The compiler optimizes the code for performance.

کمپائلر کارکردگی کے لیے کوڈ کو بہتر بناتا ہے۔


The system is designed to handle large datasets.

یہ نظام بڑے ڈیٹا سیٹس کو سنبھالنے کے لیے ڈیزائن کیا گیا ہے۔


The software update includes new features and bug fixes.

سافٹ ویئر اپ ڈیٹ میں نئی خصوصیات اور بگ فکس شامل ہیں۔


The program's execution time is at most logarithmic.

پروگرام کا عملدرآمد کا وقت زیادہ سے زیادہ لاگرتھمک ہے۔


We can build larger structures using data from elementary types.

ہم بنیادی اقسام سے ڈیٹا کا استعمال کرتے ہوئے بڑی ساختیں بنا سکتے ہیں۔


Haskell treats (3) and 3 alike, both are treated as numbers.

Haskell (3) اور 3 کو ایک جیسا سمجھتا ہے، دونوں کو نمبر سمجھا جاتا ہے۔


There are two predefined functions, fst and snd, that return the first and the second components of a pair, respectively.

دو پہلے سے طے شدہ فنکشن ہیں، fst اور snd، جو بالترتیب ایک جوڑے کے پہلے اور دوسرے اجزاء کو واپس کرتے ہیں۔


Haskell allows you to create tuples with any number of components.

Haskell آپ کو کسی بھی تعداد میں اجزاء کے ساتھ ٹپل بنانے کی اجازت دیتا ہے۔


Revisiting the Fibonacci Computation, there is considerable recomputation in evaluating fib n, in general.

فبونیکی کمپیوٹیشن پر دوبارہ غور کرتے ہوئے، عام طور پر fib n کا اندازہ لگانے میں کافی دوبارہ کمپیوٹیشن ہوتی ہے۔


What is the difference between (3,4,5) and (3,(4,5))?

(3,4,5) اور (3,(4,5)) کے درمیان کیا فرق ہے؟


A point in two dimensions is a pair of coordinates.

دو جہتوں میں ایک نقطہ نقاط کا ایک جوڑا ہے۔


Write a function that takes two points as arguments and returns True if either the x-coordinate or the y-coordinate of the points are equal.

ایک ایسا فنکشن لکھیں جو دو نکات کو دلائل کے طور پر لے اور True واپس کرے اگر نکات کا x-coordinate یا y-coordinate برابر ہو۔


A line is given by a pair of distinct points (its end points).

ایک لکیر دو الگ الگ نکات (اس کے اختتامی نکات) سے دی گئی ہے۔


Haskell میں ہر اظہار کی ایک قسم ہوتی ہے۔


The type of a tuple is a tuple of types, one entry for the type of each operand.

ایک ٹپل کی قسم اقسام کا ایک ٹپل ہے، ہر آپرینڈ کی قسم کے لیے ایک اندراج۔


Each function has a type, namely, the types of its arguments in order followed by the type of the result, all separated by ->.

ہر فنکشن کی ایک قسم ہوتی ہے، یعنی، اس کے دلائل کی اقسام ترتیب میں اس کے بعد نتیجے کی قسم، سب کو -> سے الگ کیا جاتا ہے۔


Haskell allows us to write functions whose arguments can be any type.

Haskell ہمیں ایسے فنکشن لکھنے کی اجازت دیتا ہے جن کے دلائل کسی بھی قسم کے ہو سکتے ہیں۔


Polymorphism means that a function can accept and produce data of many different types.

پولیمورفزم کا مطلب ہے کہ ایک فنکشن بہت سی مختلف اقسام کا ڈیٹا قبول اور تیار کر سکتا ہے۔


Haskell has an extensive type system, which we will not cover in this course.

Haskell میں ایک وسیع قسم کا نظام ہے، جس کا احاطہ ہم اس کورس میں نہیں کریں گے۔


A list consists of a finite sequence of items all of the same type.

ایک فہرست ایک ہی قسم کی اشیاء کے ایک محدود سلسلے پر مشتمل ہے۔


A string is a list of characters, i.e. [Char].

ایک سٹرنگ حروف کی ایک فہرست ہے، یعنی [Char].


There is one built-in operator that is used to construct a list element by element; it is pronounced Cons and is written as : (a colon).

ایک بلٹ ان آپریٹر ہے جو فہرست کو عنصر بہ عنصر بنانے کے لیے استعمال ہوتا ہے۔ اس کا تلفظ Cons ہے اور اسے : (ایک کالون) کے طور پر لکھا جاتا ہے۔


Pattern matching can be applied very effectively in such situations.

اس طرح کے حالات میں پیٹرن میچنگ کو بہت مؤثر طریقے سے لاگو کیا جا سکتا ہے۔


Show that the execution time of reverse xs ys is O(n) where the length of xs is n.

دکھائیں کہ ریورس ایکس ایس وائی ایس کا عملدرآمد کا وقت O(n) ہے جہاں ایکس ایس کی لمبائی n ہے۔


Prove from the definition of rev that rev (rev xs) = xs.

rev کی تعریف سے ثابت کریں کہ rev (rev xs) = xs۔


Prove from the definition of rev and reverse that reverse xs ys = (rev xs) ++ ys.

rev اور reverse کی تعریف سے ثابت کریں کہ reverse xs ys = (rev xs) ++ ys۔


Show how to right-rotate a list efficiently (i.e., in linear time in the size of the argument list).

دکھائیں کہ کسی فہرست کو مؤثر طریقے سے دائیں طرف کیسے گھمایا جائے (یعنی، دلیل کی فہرست کے سائز میں لکیری وقت میں)۔


Right-rotation of [1,2,3,4] yields [4,1,2,3].

[1,2,3,4] کی دائیں طرف گردش [4,1,2,3] دیتی ہے۔


Try proving rev (xs ++ ys) = (rev ys) ++ (rev xs).

rev (xs ++ ys) = (rev ys) ++ (rev xs) ثابت کرنے کی کوشش کریں۔


یہ ایک مشہور پہیلی ہے۔


Given is a board on which there are three pegs marked ‘a’, ‘b’ and ‘c’, on each of which can rest a stack of disks.

ایک بورڈ دیا گیا ہے جس پر تین میخیں نشان زد ہیں ‘a’, ‘b’ اور ‘c’، جن میں سے ہر ایک پر ڈسک کا ڈھیر رکھا جا سکتا ہے۔


There are n disks, n > 0, of varying sizes, numbered 1 through n in order of size.

n ڈسک ہیں، n > 0، مختلف سائز کی، سائز کے لحاظ سے 1 سے n تک نمبر شدہ ہیں۔


The disks are correctly stacked if they are increasing in size from top to bottom in each peg.

ڈسک صحیح طریقے سے جمع ہیں اگر وہ ہر میخ میں اوپر سے نیچے کی طرف سائز میں بڑھ رہے ہیں۔


Initially, all disks are correctly stacked at ‘a’.

ابتدائی طور پر، تمام ڈسکیں ‘a’ پر صحیح طریقے سے جمع ہیں۔


It is required to move all the disks to ‘b’ in a sequence of steps under the constraints that (1) in each step, the top disk of one peg is moved to the top of another peg, and (2) the disks are correctly stacked at all times.

یہ ضروری ہے کہ تمام ڈسکوں کو ‘b’ پر مراحل کی ایک ترتیب میں منتقل کیا جائے اس پابندی کے تحت کہ (1) ہر مرحلے میں، ایک میخ کی سب سے اوپر والی ڈسک کو دوسری میخ کے اوپر منتقل کیا جاتا ہے، اور (2) ڈسکیں ہر وقت صحیح طریقے سے جمع ہوتی ہیں۔


For n= 3, the sequence of steps given below is sufficient.

n= 3 کے لیے، ذیل میں دیے گئے مراحل کی ترتیب کافی ہے۔


In this sequence, a triple (i,x,y) denotes a step in which disk i is moved from peg x to y.

اس ترتیب میں، ایک ٹرپل (i,x,y) ایک ایسے مرحلے کو ظاہر کرتا ہے جس میں ڈسک i کو میخ x سے y پر منتقل کیا جاتا ہے۔


Clearly, i is at the top of peg x before the step and at the top of peg y after the step.

واضح طور پر، i مرحلے سے پہلے میخ x کے اوپر ہے اور مرحلے کے بعد میخ y کے اوپر ہے۔


There is an iterative solution for this problem, which goes like this.

اس مسئلے کا ایک تکراری حل ہے، جو اس طرح چلتا ہے۔


Disk 1 moves in every alternate step starting with the first step.

ڈسک 1 پہلے مرحلے سے شروع ہونے والے ہر متبادل مرحلے میں حرکت کرتی ہے۔


If n is odd, disk 1 moves cyclically from ‘a’ to ‘b’ to ‘c’ to ‘a’..., and if n is even, disk 1 moves cyclically from ‘a’ to ‘c’ to ‘b’ to ‘a’....

اگر n طاق ہے، تو ڈسک 1 ‘a’ سے ‘b’ سے ‘c’ سے ‘a’ تک چکر لگاتی ہے، اور اگر n جفت ہے، تو ڈسک 1 ‘a’ سے ‘c’ سے ‘b’ سے ‘a’ تک چکر لگاتی ہے۔


In each remaining step, there is exactly one possible move: ignore the peg of which disk 1 is the top; compare the tops of the two remaining pegs and move the smaller one to the top of the other peg (if one peg is empty, move the top of the other peg to its top).

باقی ہر مرحلے میں، صرف ایک ممکنہ حرکت ہے: اس میخ کو نظر انداز کریں جس کی ڈسک 1 سب سے اوپر ہے؛ باقی دو میخوں کے اوپر کا موازنہ کریں اور چھوٹے کو دوسری میخ کے اوپر منتقل کریں (اگر ایک میخ خالی ہے، تو دوسری میخ کے اوپر کو اس کے اوپر منتقل کریں)۔


I don’t know an easy proof of this iterative scheme; in fact, the best proof I know shows that this scheme is equivalent to an obviously correct recursive scheme.

میں اس تکراری اسکیم کا آسان ثبوت نہیں جانتا؛ درحقیقت، بہترین ثبوت جو میں جانتا ہوں وہ یہ ظاہر کرتا ہے کہ یہ اسکیم واضح طور پر درست ریکرسیو اسکیم کے مساوی ہے۔


The scheme they have developed is fairly robust with respect to machine failures.

انہوں نے جو منصوبہ تیار کیا ہے وہ مشین کی ناکامیوں کے سلسلے میں کافی مضبوط ہے۔


The main idea behind their scheme is the observation that many web-based applications can be written as a map operation followed by a reduce operation.

ان کے منصوبے کے پیچھے بنیادی خیال یہ ہے کہ بہت سی ویب پر مبنی ایپلی کیشنز کو نقشہ آپریشن کے بعد کم کرنے کے آپریشن کے طور پر لکھا جا سکتا ہے۔


First, map is a function that takes a (key,value) pair as argument and returns a list of (key,value) pairs.

سب سے پہلے، نقشہ ایک ایسا فنکشن ہے جو (کلید، قدر) جوڑے کو دلیل کے طور پر لیتا ہے اور (کلید، قدر) جوڑوں کی ایک فہرست لوٹاتا ہے۔


As an example, the argument may be a pair (n,s), where n is a positive integer and s is a string.

مثال کے طور پر، دلیل ایک جوڑا (n,s) ہو سکتا ہے، جہاں n ایک مثبت عدد ہے اور s ایک سٹرنگ ہے۔


Function map may return a list of (w,c) pairs, where w is a word of length n or less in the document, and c is the number of occurrences of w in the document.

فنکشن نقشہ (w,c) جوڑوں کی ایک فہرست واپس کر سکتا ہے، جہاں w دستاویز میں لمبائی n یا اس سے کم کا ایک لفظ ہے، اور c دستاویز میں w کی تکرار کی تعداد ہے۔


Typically, map is applied not to a single document, but millions of documents at once.

عام طور پر، نقشہ ایک دستاویز پر نہیں، بلکہ ایک ساتھ لاکھوں دستاویزات پر لاگو ہوتا ہے۔


This feature allows us to deploy the massive cluster of computers effectively.

یہ خصوصیت ہمیں کمپیوٹرز کے بڑے کلسٹر کو مؤثر طریقے سے تعینات کرنے کی اجازت دیتی ہے۔


Next, the outputs of all the maps, say M lists of (w,c) pairs for M documents, are aggregated into R lists where each list holds all the counts for a single word.

اس کے بعد، تمام نقشوں کے آؤٹ پٹس، یعنی M دستاویزات کے لیے (w,c) جوڑوں کی M فہرستیں، R فہرستوں میں جمع کی جاتی ہیں جہاں ہر فہرست ایک ہی لفظ کے لیے تمام گنتی رکھتی ہے۔


Now, reduce operation is applied to each of these R lists individually, producing R outputs.

اب، کم کرنے کا عمل ان میں سے ہر R فہرست پر انفرادی طور پر لاگو ہوتا ہے، جس سے R آؤٹ پٹ تیار ہوتے ہیں۔


In this example, a reduce operation might sum up the counts, which will tell us something about the most commonly occurring words in all the documents.

اس مثال میں، کم کرنے کا عمل گنتی کو جمع کر سکتا ہے، جو ہمیں ان تمام دستاویزات میں سب سے زیادہ عام طور پر آنے والے الفاظ کے بارے میں کچھ بتائے گا۔


In general, the user provides the code for both map and reduce, specifies the arguments over which they have to be applied, and suggests certain parameters for parallel processing.

عام طور پر، صارف نقشہ اور کم کرنے دونوں کے لیے کوڈ فراہم کرتا ہے، ان دلائل کی وضاحت کرتا ہے جن پر انہیں لاگو کرنا ہے، اور متوازی پروسیسنگ کے لیے کچھ پیرامیٹرز تجویز کرتا ہے۔


This allows programmers without any experience with parallel and distributed systems to easily utilize the resources of a large distributed system.

یہ ان پروگرامرز کو اجازت دیتا ہے جن کے پاس متوازی اور تقسیم شدہ سسٹمز کا کوئی تجربہ نہیں ہے کہ وہ آسانی سے ایک بڑے تقسیم شدہ نظام کے وسائل کو استعمال کر سکیں۔


Distributed Grep “grep” is a unix utility that searches for a pattern in a given string.

تقسیم شدہ Grep “grep” ایک یونیکس یوٹیلیٹی ہے جو دی گئی سٹرنگ میں ایک پیٹرن تلاش کرتا ہے۔


In this example, a large number of documents have to be searched for a specific pattern.

اس مثال میں، ایک مخصوص پیٹرن کے لیے بڑی تعداد میں دستاویزات تلاش کرنے کی ضرورت ہے۔


Function map is applied to a document and a pattern, and it emits a line wherever there is a match.

فنکشن نقشہ ایک دستاویز اور ایک پیٹرن پر لاگو ہوتا ہے، اور یہ ایک لائن خارج کرتا ہے جہاں بھی کوئی مماثلت ہوتی ہے۔


Function reduce is the identity function; it merely copies the supplied argument to the output.

فنکشن کم کرنا شناخت کا فنکشن ہے؛ یہ صرف فراہم کردہ دلیل کو آؤٹ پٹ میں کاپی کرتا ہے۔


We are given a large log of web page requests.

ہمیں ویب پیج کی درخواستوں کا ایک بڑا لاگ دیا گیا ہے۔


We would like to know how often certain web pages are being accessed.

ہم یہ جاننا چاہیں گے کہ بعض ویب صفحات تک کتنی بار رسائی حاصل کی جا رہی ہے۔


The map function takes a single request and outputs 〈URL,1〉.

نقشہ فنکشن ایک واحد درخواست لیتا ہے اور 〈URL,1〉 آؤٹ پٹ کرتا ہے۔


The reduce function sums the values for the same URL and emits a total count for each URL.

کم کرنے کا فنکشن ایک ہی URL کے لیے اقدار کو جمع کرتا ہے اور ہر URL کے لیے کل گنتی خارج کرتا ہے۔


The algorithm transforms data into a form suitable for efficient evaluation.

یہ الگورتھم ڈیٹا کو ایک ایسے فارم میں تبدیل کرتا ہے جو موثر تشخیص کے لیے موزوں ہے۔


The query uses predicates like pbeActor and qbeTime to filter data.

استفسار ڈیٹا کو فلٹر کرنے کے لیے pbeActor اور qbeTime جیسے پیش گوئیوں کا استعمال کرتا ہے۔


The relational expression is transformed for better efficiency.

رشتہ دار اظہار کو بہتر کارکردگی کے لیے تبدیل کیا گیا ہے۔


Selection operations extract tuples that satisfy the predicate.

انتخاب کے عمل ان ٹیوپلز کو نکالتے ہیں جو پیش گوئی کو پورا کرتے ہیں۔


Projection operations list the desired attributes.

پروجیکشن آپریشن مطلوبہ صفات کی فہرست بناتے ہیں۔


The transformed query is more efficient than the original.

تبدیل شدہ استفسار اصل سے زیادہ موثر ہے۔


Selections are applied as early as possible in the transformed expression.

تبدیل شدہ اظہار میں انتخاب جلد از جلد لاگو کیے جاتے ہیں۔


The join operation is applied over smaller tables.

جوائن آپریشن چھوٹے ٹیبلز پر لاگو ہوتا ہے۔


Additional operations on relations allow for data processing.

رشتوں پر اضافی آپریشن ڈیٹا پروسیسنگ کی اجازت دیتے ہیں۔


Aggregation operations combine values in a column.

ایگریگیشن آپریشن ایک کالم میں اقدار کو یکجا کرتے ہیں۔


Grouping creates subrelations based on attribute values.

گروپنگ ایٹریبیوٹ ویلیوز کی بنیاد پر ذیلی رشتوں کو تخلیق کرتی ہے۔


The SQL query language is widely used in the database community.

SQL استفسار زبان ڈیٹا بیس کمیونٹی میں بڑے پیمانے پر استعمال ہوتی ہے۔


SQL provides facilities to insert, delete, and update data.

SQL ڈیٹا داخل کرنے، حذف کرنے اور اپ ڈیٹ کرنے کی سہولیات فراہم کرتا ہے۔


String matching algorithms locate occurrences of a pattern within a text.

سٹرنگ میچنگ الگورتھم ایک متن کے اندر ایک پیٹرن کی موجودگی کا پتہ لگاتے ہیں۔


The naive algorithm matches the pattern against the text at every position.

سادہ الگورتھم ہر پوزیشن پر متن کے خلاف پیٹرن سے مماثلت کرتا ہے۔


The Knuth-Morris-Pratt algorithm runs in linear time.

کنوتھ-مورس-پریٹ الگورتھم لکیری وقت میں چلتا ہے۔


The KMP algorithm is a refined version of the naive algorithm.

KMP الگورتھم سادہ الگورتھم کا ایک بہتر ورژن ہے۔


The core of a string is the longest proper prefix and suffix.

ایک سٹرنگ کا بنیادی حصہ سب سے طویل مناسب سابقہ اور لاحقہ ہے۔


The Rabin-Karp algorithm uses hashing for string matching.

رابن-کارپ الگورتھم سٹرنگ میچنگ کے لیے ہیشنگ کا استعمال کرتا ہے۔


Collisions in hashing can be minimized by choosing a good hash function.

ہیشنگ میں تصادم کو ایک اچھا ہیش فنکشن منتخب کرکے کم سے کم کیا جا سکتا ہے۔


The argument powerlist is used in parallel recursion.

متوازی تکرار میں دلیل پاور لسٹ کا استعمال کیا جاتا ہے۔


The case analysis is based on the length of the argument powerlist.

کیس کا تجزیہ دلیل پاور لسٹ کی لمبائی پر مبنی ہے۔


We adopt the pattern matching scheme of ML and Miranda to deconstruct the argument list.

ہم دلیل کی فہرست کو ختم کرنے کے لیے ایم ایل اور مرانڈا کے پیٹرن میچنگ سکیم کو اپناتے ہیں۔


Deconstruction, in general, uses the operators | and ./.

عام طور پر، ڈی کنسٹرکشن آپریٹرز | اور ./ کا استعمال کرتا ہے۔


In the definition of rev, we have used | for deconstruction.

rev کی تعریف میں، ہم نے ڈی کنسٹرکشن کے لیے | استعمال کیا ہے۔


It can be shown that the two proposed definitions of rev are equivalent.

یہ ظاہر کیا جا سکتا ہے کہ rev کی دو مجوزہ تعریفیں مساوی ہیں۔


Scalar functions operate on scalars and return a scalar value.

اسکیلر فنکشنز اسکیلرز پر کام کرتے ہیں اور ایک اسکیلر ویلیو واپس کرتے ہیں۔


We coerce the application of f to a powerlist by applying f pointwise.

ہم f کو پوائنٹ وائز لاگو کرکے پاور لسٹ پر f کے اطلاق کو مجبور کرتے ہیں۔


A scalar function that operates on two arguments will often be written as an infix operator.

دو دلائل پر کام کرنے والا ایک اسکیلر فنکشن اکثر ان فکس آپریٹر کے طور پر لکھا جائے گا۔


Scalar functions commute with both | and ./.

اسکیلر فنکشنز | اور ./ دونوں کے ساتھ کمیوٹ کرتے ہیں۔


The base case of a powerlist is a singleton list, not an empty list.

پاور لسٹ کا بنیادی کیس ایک سنگلٹن لسٹ ہے، خالی لسٹ نہیں۔


Empty lists do not arise in the applications we have considered.

خالی فہرستیں ان ایپلی کیشنز میں ظاہر نہیں ہوتیں جن پر ہم نے غور کیا ہے۔


The recursive definition of a powerlist says that a powerlist is either of the form u ./ v or u | v.

پاور لسٹ کی ریکرسیو تعریف کہتی ہے کہ پاور لسٹ یا تو u ./ v یا u | v کی شکل کی ہے۔


A simple way to view p|q=L is that if the elements of L are indexed by n-bit strings.

p|q=L کو دیکھنے کا ایک آسان طریقہ یہ ہے کہ اگر L کے عناصر کو n-bit سٹرنگز کے ذریعے انڈیکس کیا جاتا ہے۔


This flexibility is essential because many parallel algorithms exploit both forms of construction.

یہ لچک ضروری ہے کیونکہ بہت سے متوازی الگورتھم تعمیر کی دونوں شکلوں کا استحصال کرتے ہیں۔


The length of a powerlist is a power of 2.

پاور لسٹ کی لمبائی 2 کی طاقت ہے۔


These laws can be derived by suitably defining tie and zip.

ان قوانین کو مناسب طریقے سے ٹائی اور زپ کی تعریف کرکے اخذ کیا جا سکتا ہے۔


Law L3 is crucial. It is the only law relating the two construction operators, | and ./, in the general case.

قانون L3 اہم ہے۔ یہ عام صورت میں دو تعمیراتی آپریٹرز، | اور ./، سے متعلق واحد قانون ہے۔


Most proofs on powerlists are by induction on the length, depth or shape of the list.

پاور لسٹ پر زیادہ تر ثبوت فہرست کی لمبائی، گہرائی یا شکل پر انڈکشن کے ذریعے ہوتے ہیں۔


The shape and the type of the scalar elements define the structure of a powerlist completely.

شکل اور اسکیلر عناصر کی قسم ایک پاور لسٹ کی ساخت کو مکمل طور پر بیان کرتی ہے۔


The prefix sum is of fundamental importance in parallel computing.

پریفکس سم متوازی کمپیوٹنگ میں بنیادی اہمیت کا حامل ہے۔


We will give a formal definition of prefix sum later in this section.

ہم اس حصے میں بعد میں پریفکس سم کی باضابطہ تعریف دیں گے۔


Initially, processor i holds the list element L i, for all i.

ابتدائی طور پر، پروسیسر i تمام i کے لیے فہرست عنصر L i کو رکھتا ہے۔


Each processor updates its own data, d, to r ⊕ d where r is the data it receives.

ہر پروسیسر اپنے ڈیٹا، d کو r ⊕ d میں اپ ڈیٹ کرتا ہے جہاں r وہ ڈیٹا ہے جو اسے موصول ہوتا ہے۔


Another scheme, due to Ladner and Fischer, first applies ⊕ to adjacent elements.

ایک اور منصوبہ، جو لیڈنر اور فشر کی وجہ سے ہے، سب سے پہلے ملحقہ عناصر پر ⊕ کا اطلاق کرتا ہے۔


Both schemes for prefix computation are inherently recursive.

پریفکس کمپیوٹیشن کے دونوں منصوبے فطری طور پر ریکرسیو ہیں۔


We introduce an operator in terms of which the prefix sum problem can be defined.

ہم ایک آپریٹر متعارف کراتے ہیں جس کی اصطلاحات میں پریفکس سم کے مسئلے کی وضاحت کی جا سکتی ہے۔


For a powerlist p, let p* be the powerlist obtained by shifting p to the right by one.

ایک پاور لسٹ p کے لیے، p* کو پاور لسٹ ہونے دیں جو p کو ایک سے دائیں طرف منتقل کرنے سے حاصل ہوتی ہے۔


This equation has a unique solution in z, because z0 = (z*)0 ⊕ L0 = 0 ⊕ L0 = L0.

اس مساوات کا z میں ایک منفرد حل ہے، کیونکہ z0 = (z*)0 ⊕ L0 = 0 ⊕ L0 = L0۔


We define (ps L) to be the unique solution of (DE), and we call (DE) the defining equation for (ps L).

ہم (ps L) کو (DE) کا منفرد حل قرار دیتے ہیں، اور ہم (DE) کو (ps L) کے لیے تعریف کرنے والی مساوات کہتے ہیں۔


The operator ⊕ is not necessarily commutative.

آپریٹر ⊕ ضروری نہیں کہ کمیوٹیٹو ہو۔


The operator ⊕ is scalar; so, it commutes with ./.

آپریٹر ⊕ اسکیلر ہے؛ لہذا، یہ ./ کے ساتھ کمیوٹ کرتا ہے۔


The uniqueness of the solution of (DE) can be proved entirely within the powerlist algebra.

(DE) کے حل کی انفرادیت کو مکمل طور پر پاور لسٹ الجبرا کے اندر ثابت کیا جا سکتا ہے۔


پریفکس سم کا حساب


The Ladner-Fischer scheme is defined by the function lf.

لیڈنر-فشر سکیم کو فنکشن lf کے ذریعے بیان کیا گیا ہے۔


We can prove the correctness of sps and lf by showing that the function ps satisfies the equations defining each of these functions.

ہم یہ ظاہر کر کے sps اور lf کی درستگی کو ثابت کر سکتے ہیں کہ فنکشن ps ان میں سے ہر ایک فنکشن کی وضاحت کرنے والی مساوات کو پورا کرتا ہے۔


It is more instructive to see that both sps and lf can be derived easily from the specification (DE).

یہ دیکھنا زیادہ سبق آموز ہے کہ sps اور lf دونوں کو آسانی سے تفصیلات (DE) سے اخذ کیا جا سکتا ہے۔


Given a powerlist p ./ q, we derive an expression for ps(p ./ q).

ایک پاور لسٹ p ./ q کو دیکھتے ہوئے، ہم ps(p ./ q) کے لیے ایک اظہار اخذ کرتے ہیں۔


We show that for a non-singleton powerlist L, ps L = (ps u) ./ (ps v), where u ./ v = L* ⊕ L.

ہم دکھاتے ہیں کہ ایک غیر سنگلٹن پاور لسٹ L کے لیے، ps L = (ps u) ./ (ps v)، جہاں u ./ v = L* ⊕ L۔


Algebraic methods are to be preferred for describing uniform operations on aggregates of data.

ڈیٹا کے مجموعوں پر یکساں آپریشنز کی وضاحت کے لیے الجبری طریقوں کو ترجیح دی جانی چاہیے۔


The algorithms in this paper use an inductive theorem prover.

اس مقالے میں موجود الگورتھم ایک استقرائی تھیورم پروف کا استعمال کرتے ہیں۔


They are extending their theorem prover.

وہ اپنے تھیورم پروف کو بڑھا رہے ہیں۔


One of the fundamental problems is devising compilation strategies.

بنیادی مسائل میں سے ایک تالیف کی حکمت عملی تیار کرنا ہے۔


The architecture that is the closest conceptually is the hypercube.

وہ فن تعمیر جو تصوراتی طور پر سب سے قریب ہے وہ ہائپرکیوب ہے۔


Combinational circuit verification is an area where powerlist notation may be employed.

ترکیبی سرکٹ کی تصدیق ایک ایسا شعبہ ہے جہاں پاورلسٹ نوٹیشن استعمال کی جا سکتی ہے۔


Adams has proved the correctness of adder circuits.

ایڈمز نے جمع کرنے والے سرکٹس کی درستگی ثابت کی ہے۔


A ripple-carry adder is typically easy to describe.

ایک رپل کیری ایڈر عام طور پر بیان کرنا آسان ہے۔


Adams has described both circuits in our notation.

ایڈمز نے دونوں سرکٹس کو ہمارے نوٹیشن میں بیان کیا ہے۔


He obtains a succinct description of the carry-lookahead circuit.

وہ کیری-لوکاہیڈ سرکٹ کی ایک مختصر وضاحت حاصل کرتا ہے۔


من مانی لمبائی کی پاور لسٹس


Steele suggests padding enough "dummy" elements.


Another approach is based on the observation.

ایک اور طریقہ اس مشاہدے پر مبنی ہے۔


For instance, the following function, rev, reverses a list.

مثال کے طور پر، مندرجہ ذیل فنکشن، rev، ایک فہرست کو الٹ دیتا ہے۔


The last line of this definition applies to a non-singleton list.

اس تعریف کی آخری سطر ایک غیر سنگلٹن فہرست پر لاگو ہوتی ہے۔


The Interplay between Sequential and Parallel Computations.

ترتیبی اور متوازی کمپیوٹیشن کے درمیان باہمی تعامل۔


Powerlists have proved to be highly successful.

پاور لسٹس انتہائی کامیاب ثابت ہوئی ہیں۔


Typically, however, parallel and sequential computations are interleaved.

تاہم، عام طور پر، متوازی اور ترتیبی کمپیوٹیشن کو آپس میں جوڑا جاتا ہے۔


Gaussian elimination represents a mixture.

گاؤسین ایلیمینیشن ایک مرکب کی نمائندگی کرتا ہے۔


The powerlist notation can be integrated into a language.

پاورلسٹ نوٹیشن کو ایک زبان میں ضم کیا جا سکتا ہے۔


A mixture of linear lists and powerlists can exploit the various combinations.

لکیری فہرستوں اور پاور لسٹس کا مرکب مختلف امتزاج کا استحصال کر سکتا ہے۔