Computers and Sanskrit
1-1 This compilation was motivated by a note by Dr. Baldevanand Sagar
Use of Sanskrit in Computer Programming
-Dr. Baldevanand Sagar
In July 1987, Forbes magazine published news which surprised the Sanskrit scholars and orientalists. This news filled the hearts of all those who love and study Sanskrit with great joy and enthusiasm as it opened the doors to new fascinating world of Sanskrit studies.
Sanskrit language is extremely rich, powerful and expressive medium. Its potentialities are gradually being appreciated all over the world and its application is being extended in different fields.
To mention a few Indian Institute of Information Technology – IIIT Hyderabad is working on a project called NLP meaning by- Natural Language Processing. The goal of NLP is to build computational methods of national language for its analysis and generation. Similar work is going on at Cdac, Bangalore. The project is called natural language understanding that’s NLU.
Few days back I read a report of a NASA scientist, published in a daily newspaper that NASA, the most advanced research center in the world for cutting edge technology, has discovered that Sanskrit, the world’s oldest spiritual and scientific language is the only unambiguous spoken language on the planet.
Considering Sanskrit status as a spiritual language, a further implication of this discovery is that the age old dichotomy between religion and science is an entirely unjustified one.
It is also relevant to note that in the last decade physicists have begun to comment on the striking similarities between their own discoveries and the discoveries made thousands of years ago in India.
Now, one can easily ask, why has Sanskrit endured. Simple answer for this will be that Sanskrit fundamentally generates clarity and inspiration and the clarity and brilliance of creating expression such as the world has rarely seen.
Another hope for the return of Sanskrit lies in computers. Sanskrit and computers are a perfect fit. The precision play of Sanskrit with computer tools will awaken the capacity in human beings to utilize their innate higher mental faculty with a momentum that would inevitably transform the world.
According to Rick Briggs, a well known researcher at NASA and who has claimed about Sanskrit as computer–language, “.. Sanskrit is such a language in which a message can be sent by the computer in the least number of words. ..”
The scientists believe that Sanskrit is also helpful in speech therapy besides helping in mathematics and science. It also improves concentration. The alphabets used in the language are well developed and scientific and their correct pronunciation improves the tone of speech. It encourages imagination and improves memory retention also.
We can implement Sanskrit words in coding, like coding a musical instrument. The dual case is a unique feature in Sanskrit. The dual case is absent in many languages, this creates confusion while processing duals and plurals ; implementation of Sanskrit prevents this.
As it is already said – the pronunciation and accent of Sanskrit language is based on physics and it is the simplest grammar of the world. So, by implementing Sanskrit we can create effective natural language processor.
As linguists say – “Sanskrit the world’s ancient language has got a wealthy grammar. Because of this well developed and systematic grammar; Sanskrit is the most suitable one for giving an advance artificial intelligence for computers.
All modern languages have etymological roots in classical languages and some philologists say that all Indo-European languages are rooted in Sanskrit, but here we are talking about the computer programming and Sanskrit.
Words in Sanskrit are instances of predefined classes, a concept, which drives object oriented programming , that’s “OOP” today.
For example, in English ‘cow’ is just a sound assigned to mean a particular animal. But if we drill down the word ‘GAU’ Sanskrit word for cow, we arrive at a broad class ‘gam’ which means ‘to move’. From there derive words like ‘gamanam’ ‘gatih’ etc, which are variations of ‘movement’.
All words have this OOP-approach, except that defined classes in Sanskrit are so exhaustive that they cover the material and abstract – indeed cosmic experiences known to man. So in Sanskrit the connection is more than etymological.
It was Maharshi Panini who formalized Sanskrit grammar and usage about many years ago. No new ‘classes’ have needed to be added to it since then. J.J.O’Connor and E.F.Robertson say- “Maharshi Panini should be thought of as the forerunner of the modern formal language theory used to specify computer language”. In their well known article, these two computer-scientists quote: “Sanskrit’s potential for scientific use was greatly enhanced as a result of the through systemization of its grammar by Panini. On the basis of just under 4000 Sutras (rules expressed as aphorism) he built virtually the whole structure of the Sanskrit language, whose general ‘shape’ hardly changed for the next two thousand years”.
According to the historians and scholars- ‘The most ancient language, Sanskrit is such a unique language that provides the root meaning of its every word. For instance, in the word ‘Pitra’ the meaning of the root ‘pa’ lies inherent. But, other languages do not possess this caliber. For instance, we cannot decipher the meaning of’ father’ and ‘pedaer’ from their respective root words in English and Persian’.
Thus, it gets clear that it is this Vedic language- Sanskrit – that taught linguistic skills to the whole world enabling people to speak to each other. It provided us with the very means to communicate us, in fact to not only us but also the computers.
Since programming languages are meant for computers to understand and the space for ambiguity is at best extremely limited, the grammar describing these languages are extremely clear and well – defined in their structure. This is where computer scientists have been working on methods to remove ambiguity from the formulation of rules for communication. A grammar is described as a formal definition of the syntactic structure of a language, usually given in terms of production rules which specify the order of constituents, such as words or phrases and their sub-constituents in a sentence.
In the case of programming language of late, there is a growing opinion in the computer science community that the grammar of the Sanskrit language was defined in an extremely unambiguous and formal manner, almost akin to the definition style of most modern programming languages.
Grammar and philosophy of Sanskrit language continues to impress computer scientists and linguists alike with its perfection and long lasting relevance.
In brief, we can say that there is at least one language, Sanskrit which for the duration of almost 2500 years was a living spoken language with a considerable literary of its own. Besides works of literature value, there was a long philosophical and grammatical tradition that has continued to exist with undiminished vigor until the present century. Among the accomplishments of the grammarians can be reckoned a method for paraphrasing Sanskrit in a manner that is identical not only in essence but in form with current work in artificial intelligence.
In my concluding remarks of this radio – talk, I would like to say that America is creating 6th and 7th generation supercomputers, based on the Sanskrit language to their maximum extent. Project’s deadline is 2025 for the 6th generation and 2034 for 7th generation. After this there will be a language revolution all over the world to learn Sanskrit.
In this section I am compiling an interaction I have had with my son Rahul, who has been in the thick of Computer-Technology for more than 24 years now.
(2-1) I wrote to him on Friday, 11th September 2015 –
In respect of the talk about Sanskrit being THE futuristic language for computers, just a thought came to my mind that processors in computers basically run by the logic circuits, which are primarily binary codes.
I want to know from you whether this understanding of mine is correct.
If this is correct, binary code is not specific to any language at all.
My understanding is that it is the COMPILERS, which translate codes written in C++ or whichever computer language to binary.
So, if it is to be proved that Sanskrit would be the most efficient language for computers, one needs to prove that compilers to translate codes in Sanskrit to machine language or binary code will be the most efficient compilers.
I also understand that Sanskrit will be efficient, especially for Artificial Intelligence, because Intelligence is inherent to Sanskrit.
I also understand that computers of the future, may be not too distant a future, will work with phonetic instructions, instead of typed instructions. That will be another strong argument in favor of Sanskrit, because no language can compete with Sanskrit as far as phonetic instructions are concerned. In fact Vedas and all Sanskrit heritage has survived all upheavals – political, societal, wars and strifes – thanks mainly to phonetic instructions, the mainstay of all गुरु-शिष्य परंपरा
I am of course overwhelmed by the fast strides in computer technology, especially the touch screens of smartphones.
It is recognized even in गीता, that the sensory organs or the five senses शब्द, रूप, रस, गन्ध, स्पर्श are the channels for knowledge, hence called as ज्ञानेन्द्रिय-s. The touch screens are just some smartness of the sense of touch स्पर्शज्ञान improvisation over striking keys, which also employed the sense of touch only. But the way one can magnify and reduce images on smartphones and zap the pages on Kindles is all very smart.
Is it true that they have computers having password protection by retina of the user ? That would mean use of रूपज्ञान.
Phonetic instructions would mean शब्दज्ञान. Considering the flow of my thoughts, it seems that phonetic instructions are very much within the realm of possibility. Already there are Karaoke, which compare the sound being INPUT with the sound recorded in the memory of Karaoke devices.
It comes to mind that all computers should in the first place, become Karaoke kind of devices. The technology of these devices should then be taken further to process Programming instructions from phonetic inputs.
Is it not impressive that the technology has so rapidly progressed from स्पर्शज्ञान to now include शब्दज्ञान and may be also रूपज्ञान.
Looks like the situation is becoming right and ripe for Sanskrit to take charge.
Am I on the right track ?
(2-2) Rahul replied on Sunday 27th September 2015 –
The circuits themselves are not binary codes. The circuits connect various processing units inside the computer – the CPU, memory, storage, I/O devices, etc. The CPU has its own instruction set which is called machine language. It is the lowest level instruction set inside the computer and is represented using binary codes. Higher level applications that are written in relatively more user-friendly syntax languages such as C/C++/Java are compiled to create object code that is executable. The compiler is a program that creates an executable version of the application code. This object code is essentially the set of instructions that the processor understands as machine language or binary code. So overall your understanding is correct.
I don’t think that the goal is necessarily to create more efficient compilers. The reason to use Sanskrit as a programming language is to make it “easier” to program, since Sanskrit has a well defined grammatical construct that is not ambiguous, unlike English. Since the rules are well defined and can be applied uniformly and consistently, the claim is that it should be “easier” to communicate with computers using a natural language like Sanskrit, instead of having “programming languages”. If English had a more defined and consistent structure, imagine that everybody could be a computer programmer, the pace of innovation would be very high because anybody could communicate naturally and write applications that interacted with computers without needing to learn separate languages. But unfortunately that is not the case, and only a very small percentage of population who is able to learn programming languages can create applications.
The claim that Sanskrit can be a good candidate for a programming language was first made in a paper by a NASA scientist in 1985. It was published in the Artificial Intelligence magazine. I have attached that paper here. I have not read it fully but I skimmed through it.
Voice commands are getting more and more sophisticated. Most smartphones now have built-in “assistants”. Apple’s assistant is called Siri. You can communicate with the phone in any language. Siri supports Mandarin, Cantonese, French, German, Korean, Spanish, Italian, Japanese, American, UK and Australian English, Russian, Danish, Portuguese, Dutch, Turkish, Thai, Swedish. You can ask questions to Siri such as “What is tomorrow’s weather forecast?”, or “What is the time now in Mumbai?” and Siri responds with information without delay. Right now the voice commands are for search queries, or some basic system commands such as “Send a text message to Shilpa My flight just landed”.
For Sanskrit to be used as a computer language, we can look at it in two ways:
- Sanskrit as an input language
- Sanskrit as an interpreted language
For Sanskrit as an input language, the challenge is that computers are getting much smarter by the day to accept inputs in currently widely spoken languages, however deficient they may be. The other challenge is the number of people who know Sanskrit.
For Sanskrit as an interpreted language, should computers internally convert voice/touch/application inputs into Sanskrit? Should Sanskrit become the machine language? Should future processors be based on Sanskrit instead of having their own instruction sets, which are typically a small set? Does that create much more optimized and capable processors and hence computers? I think whoever is conducting any research into this should look into this aspect of using Sanskrit as a machine language instead of a programming language.
In future scenarios where we may have special purpose robots that “learn” from the environment and become smarter, the area of exploration may be whether computers that know Sanskrit can evolve themselves to be smarter computers. If the IBM Deep Blue computer that defeated Garry Kasparov knew Sanskrit as a language for its own “thinking”, could it have been a smaller computer, could it have used less electricity, could it have used less circuitry, etc. Those are the types of questions that need to be asked in connection with Sanskrit as a computer language.
You are very much on the right track.
Here is a good video that you would enjoy: http://www.ted.com/talks/ajit_narayanan_a_word_game_to_communicate_in_any_language?language=en
Rahul had appended the article “Knowledge Representation in Sanskrit and Artificial Intelligence” by Mr. Rick Briggs from RIACS, NASA Ames Research Center, Moffet Field, California 94305. The article seems to be available for free download as PDF at http://www.aaai.org/ojs/index.php/aimagazine/article/view/466.
(2-2) My rejoinder on Tuesday 29th September 2015 –
I am not convinced that grammatical constructs in Sanskrit would make programming better, than the English language, which is used in programming. Actually the programming codes do not use any such language where grammar of the language would make a significant contribution. Substantially the programming codes are built using some basic logic-routines such as
- for loops, with their variants such as do while loops, do until loops
- ‘if-then’ routines of conditional execution of instructions
- equations using defined variables, which, of course, do not use grammar
- invoking subroutines
The codes became smarter starting with number of pixels across the screen becoming almost infinite, especially with scrollable screens, number of colors also became large number and recording of sound could also be uploaded into the RAM if not in the BIOS.
I think Object Oriented Programming came in almost as a revolution in the basic concept of programming. It is my guess that this concept of Object Oriented Programming was triggered by the Graphics packages like AUTOCAD, where every line or arc is essentially an object. I would also venture to guess that the PageMaker of Adobe also had this concept of Object Oriented Programming, treating page as comprising definable and re-definable objects. If I know it right, PageMaker has been around for more than two decades.
It comes to mind that cartoon films also have been around on computers for quite some time now..
I am not sure that Sanskrit can make these tasks simpler or more interesting than what has been already achieved by current stage of programming.
I am back to my line of thinking that Sanskrit would be good for computers by its strengths, important among which, according to me are
- its very well-defined phonetics. Phonetics combined with freedom from syntax in Sanskrit become such a strong combination that just the manner of pronunciation can make a sentence simple affirmative or interrogative or exclamatory or rhetoric or slanted negative
- That builds in inherent intelligence and in turn Sanskrit should be good for Artificial Intelligence
You have made good mention of “Assistants” as Siri of Apple.
Last week I was in Borivali at Santosh’s place for Ganapati and had an interesting dialog with Varun. He mentioned to me that Google has an option of phonetic input. I did not know of it or had not noticed it. When I opened Google, back home, I did notice that there is a mike-icon right beside the Search bar.
If Siri is already friendly with so many languages, I am appalled that Sanskrit does not find a mention in your list. I am marking a Cc to Mr. विश्वास-वासुकिजः, who, if my impression is correct, works with Google and has been thickly involved with the “Input Tool” the transcription tool of Google. I would like to have his response on this broad topic of Use of Sanskrit as a Computer language.
(2-3) Mr. विश्वास-वासुकिजः responded very promptly and crisply, saying, “ broadly agree with you.”
Further thinking can branch off in many, many different directions !
(3-1) Title of Mr. Briggs’ article “Knowledge Representation in Sanskrit and Artificial Intelligence” itself provokes questions such as –
- What is knowledge ?
- What is intelligence ?
- How and to what degree can intelligence be made artificial ?
- What are strengths of Sanskrit, which can help to make intelligence artificial, maybe to much higher degree than by any other language ?
(3-2) If just the manner of pronunciation can make a sentence simple affirmative or interrogative or exclamatory or rhetoric or slanted negative, how can the manner of pronunciation or intonation be included in the translation-procedures or programs of translating a sentence in one language into another language ?
- (3-2-1) It is realized in Sanskrit grammar that basic vowels can be pronounced in 18 ways – अनुनासिक, अननुनासिक, then ह्रस्व, दीर्घ्, प्लुत and उदात्त, अनुदात्त, स्वरित
- (3-2-2) Some of the pronunciations of basic vowels, i.e. those single-vowel sounds alone are meaningful. Those meanings of those sounds seem to be universal, i.e. identical in all languages. For example
- (3-2-2-1) the sound of vowel इ, pronounced as अननुनासिक, प्लुत, उदात्त is a reaction, rather a reflex exclamation of rejection. Example of such reflex exclamation of rejection is, when you get to see an innocent child suddenly thump its hand in something dirty.
- (3-2-2-2) The sound of vowel अ, pronounced as अनुनासिक, ह्रस्व, अनुदात्त becomes an interjection, by an inattentive person, who realizes that something was being said or discussed and he was not listening. So by such sound of अ, he wants to convey, “Excuse me, I was not listening.”
- (3-2-2-3) I would love to include audio clips of these sounds, which will readily explain what sounds I have in mind when I say –
- the sound of vowel इ, pronounced as अननुनासिक, प्लुत, उदात्त
- The sound of vowel अ, pronounced as अनुनासिक, ह्रस्व, अनुदात्त
(3-3) Since Mr. Briggs’ article appeared in 1985, by now in 2015, a long period of 30 years has elapsed. Why has not a single program in Sanskrit come up, in all such long period of time, at least to demonstrate if not to validate the statements made in his article or by anybody else ? Sanskritists themselves seem to be happy and rejoicing that somebody, somewhere has analysed and applauded strengths of Sanskrit, especially for use in computers.
(3-4) Computers are basically microprocessor-based devices, supplemented with memory-storage and retrieval. Computers have monitors or display-devices where one gets to see the results being output. Computers are also capable of reproducing sounds. It has been quite a long time, that there have been programs on computers to learn playing harmonium.
It comes to mind that Robots are also microprocessor-based devices, supplemented with memory-storage and retrieval and where one gets to see the results by actions executed by the Robot.
Will it not be interesting if there was to be a competition between two Robots, of which one responds to instructions in English and another responding to instructions in Sanskrit ?
Considering what all good things are acknowledged about Sanskrit, a Robot executing instructions in Sanskrit should win !!
(3-5) महर्षि पाणिनि’s अष्टाध्यायी is a computer program by itself. It is a program, because there is some logical sequence among the सूत्र-s. The logical sequence has inbuilt processing प्रक्रिया-s to derive any word in any Sanskrit sentence. By applying the प्रक्रिया-s one can also check correctness of any word in any Sanskrit sentence. That has sealed Sanskrit from any ingress of incorrectness. If anyone composes a Sanskrit sentence with inaccuracies, we can say that it may sound like being in Sanskrit, but cannot be called a Sanskrit composition. Using engineering terminology, we can say that Sanskrit has zero tolerance for inaccuracies.
If this is to be taken as a strong point in favor of Sanskrit, when thinking of Sanskrit as a language for computer-programming, this strength is related to the grammar of Sanskrit. But it has been discussed in (2-3) that Computer programs do not benefit from grammatical strength, because the programs need very little grammatical strength.
Also, even if the grammar of Sanskrit has zero tolerance for inaccuracies, so even if one should always expect the result to be very accurate, the प्रक्रिया-s are not simple. For example, once somebody had asked a question about the derivation of the word अकुर्वत in the very first श्लोक in the very first अध्याय in गीता. The derivation provided by Dr. Nityanand Mishra was as follows –
विवक्षा (Option 1) = कर्त्रभिप्राये क्रियाफलेऽनद्यतनभूते प्रथमपुरुष एकवचनम्
कृ → 3-4-69 लः कर्मणि च भावे चाकर्मकेभ्यः → 3-2-111 अनद्यतने लङ् → कृ + लङ्→ 3-4-78 तिप्तस्झिसिप्थस्थमिब्वस्मस्तातांझथासाथांध्वमिड्वहिमहिङ्, 1-4-101 तिङस्त्रीणि त्रीणि प्रथममध्यमोत्तमाः, 1-4-102 तान्येकवचनद्विवचनबहुवचनान्येकशः → 1-3-72 स्वरितञितः कर्त्रभिप्राये क्रियाफले → आत्मनेपदप्राप्तिः → 1-4-100 तङानावात्मनेपदम् → कृ + त → 3-1-79 तनादिकृञ्भ्य उः → कृ उ त → 3-4-114 आर्धधातुकं शेषः → “उ” इत्यस्यार्धधातुकत्वम् → 7-3-84 सार्वधातुकार्धधातुकयोः → गुणः → 1-1-2 अदेङगुणः → 1-1-50 स्थानेऽन्तरतमः → अगुणः → क् अ उ त → 1-1-51 उरण् रपरः → रपरत्वम् → क् अर् उ त → करु त → 3-4-113 तिङ्शित्सार्वधातुकम् → “त” इत्यस्य सार्वधातुकत्वम् → 6-4-110 अत उत्सार्वधातुके → क् उ रु त → कुरु त → कुरुत → 6-4-71 लुङ्लङ्लृङ्क्ष्वडुदात्तः → अडागमः → 1-1-46 आद्यन्तौ टकितौ → आद्यागमः → अट् कुरुत → 1-3-3 हलन्त्यम् → टकारस्येत्संज्ञा → 1-3-9 तस्य लोपः → अ कुरुत → अकुरुत
विवक्षा (Option 2) = कर्त्रभिप्राये क्रियाफलेऽनद्यतनभूते प्रथमपुरुषे बहुवचनम्
कृ → 3-4-69 लः कर्मणि च भावे चाकर्मकेभ्यः → 3-2-111 अनद्यतने लङ् → कृ + लङ् → 3-4-78 तिप्तस्झिसिप्थस्थमिब्वस्मस्ताताञ्झथासाथान्ध्वमिड्वहिमहिङ्, 1-4-101 तिङस्त्रीणि त्रीणि प्रथममध्यमोत्तमाः, 1-4-102 तान्येकवचनद्विवचनबहुवचनान्येकशः → 1-3-72 स्वरितञितः कर्त्रभिप्राये क्रियाफले → आत्मनेपदप्राप्तिः → 1-4-100 तङानावात्मनेपदम् → कृ + झ → 3-1-79 तनादिकृञ्भ्य उः → कृ उ झ → 3-4-114 आर्धधातुकं शेषः → “उ” इत्यस्यार्धधातुकत्वम् → 7-3-84 सार्वधातुकार्धधातुकयोः → गुणः → 1-1-2 अदेङगुणः → 1-1-50 स्थानेऽन्तरतमः → अगुणः → क् अ उ झ → 1-1-51 उरण् रपरः → रपरत्वम् → क् अर् उ झ → करु झ → 3-4-113 तिङ्शित्सार्वधातुकम् → “झ” इत्यस्य सार्वधातुकत्वम् → 6-4-110 अत उत्सार्वधातुके → क् उ रु झ → कुरु झ → 7-1-5 आत्मनेपदेष्वनतः → कुरु अत् अ → कुरु अत → 6-1-77 इको यणचि → 1-1-50 स्थानेऽन्तरतमः → कुर्व् अत → कुर्वत → 6-4-71 लुङ्लङ्लृङ्क्ष्वडुदात्तः → अडागमः → 1-1-46 आद्यन्तौ टकितौ → आद्यागमः → अट् कुर्वत → 1-3-3 हलन्त्यम् → टकारस्येत्संज्ञा → 1-3-9 तस्य लोपः → अ कुर्वत → अकुर्वत
As can be seen, the derivational analysis led to two different results अकुरुत and अकुर्वत. Actually the विवक्षा-s follows common path
- from कृ → 3-4-69 लः कर्मणि च भावे चाकर्मकेभ्यः → 3-2-111 अनद्यतने लङ् → कृ + लङ् → 3-4-78 तिप्तस्झिसिप्थस्थमिब्वस्मस्ताताञ्झथासाथान्ध्वमिड्वहिमहिङ्, 1-4-101 तिङस्त्रीणि त्रीणि प्रथममध्यमोत्तमाः, 1-4-102 तान्येकवचनद्विवचनबहुवचनान्येकशः → 1-3-72 स्वरितञितः कर्त्रभिप्राये क्रियाफले → आत्मनेपदप्राप्तिः → 1-4-100 तङानावात्मनेपदम् → कृ + झ → 3-1-79 तनादिकृञ्भ्य उः → कृ उ झ → 3-4-114 आर्धधातुकं शेषः → “उ” इत्यस्यार्धधातुकत्वम् → 7-3-84 सार्वधातुकार्धधातुकयोः → गुणः → 1-1-2 अदेङगुणः → 1-1-50 स्थानेऽन्तरतमः → अगुणः → क् अ उ झ → 1-1-51 उरण् रपरः → रपरत्वम् → क् अर् उ झ → करु झ → 3-4-113 तिङ्शित्सार्वधातुकम् → “झ” इत्यस्य सार्वधातुकत्वम् → 6-4-110 अत उत्सार्वधातुके → क् उ रु झ → कुरु झ →
- From there, in Option 1 it proceeds as 6-4-71 लुङ्लङ्लृङ्क्ष्वडुदात्तः → अडागमः → 1-1-46 आद्यन्तौ टकितौ → आद्यागमः → अट् कुरुत → 1-3-3 हलन्त्यम् → टकारस्येत्संज्ञा → 1-3-9 तस्य लोपः → अ कुरुत → अकुरुत
- In Option 2 it proceeds as 7-1-5 आत्मनेपदेष्वनतः → कुरु अत् अ → कुरु अत → 6-1-77 इको यणचि → 1-1-50 स्थानेऽन्तरतमः → कुर् व् अत → कुर्वत → 6-4-71 लुङ्लङ्लृङ्क्ष्वडुदात्तः → अडागमः → 1-1-46 आद्यन्तौ टकितौ → आद्यागमः → अट् कुर्वत → 1-3-3 हलन्त्यम् → टकारस्येत्संज्ञा → 1-3-9 तस्य लोपः → अ कुर्वत → अकुर्वत
- Let me confess that I had not gone in detail, into the derivation provided by Dr. Nityanand Mishra and hence had not noted that one gets two different results अकुरुत and अकुर्वत. The two different results are to be taken not as only one being correct and the other wrong, but as both results being correct and being options for each other.
- This may sound a jugglery in the light of previous statement that grammar of Sanskrit has zero tolerance for inaccuracies.
- It can be noticed that the derivation involves ‘n’ number of steps and jumps back and forth from chapter 3 to chapter 7 to chapter 1 to chapter 3 to chapter 6 in the portion – 3-4-114 आर्धधातुकं शेषः → “उ” इत्यस्यार्धधातुकत्वम् → 7-3-84 सार्वधातुकार्धधातुकयोः → गुणः → 1-1-2 अदेङगुणः → 1-1-50 स्थानेऽन्तरतमः → अगुणः → क् अ उ झ → 1-1-51 उरण् रपरः → रपरत्वम् → क् अर् उ झ → करु झ → 3-4-113 तिङ्शित्सार्वधातुकम् → “झ” इत्यस्य सार्वधातुकत्वम् → 6-4-110 अत उत्सार्वधातुके → क् उ रु झ → कुरु झ →
- Though there is jumping back and forth, of course there is some logic. Since there is logic अष्टाध्यायी is certainly a computer program by itself. I am yearning to see presentation of अष्टाध्यायी in the same style as we see computer programs in C++ or any other computer language.
- Actually it is almost an unwritten rule that software developers should document the logic either by including ‘un-executable statements or explanations’ right in the code itself or in a manual. But my own experience is that any code does not get firmed up in one go. When one takes a trial run of the code, bugs do crop up. The code gets firmed up only after debugging all the bugs. One is left to wonder whether पाणिनि had to do any such debugging before he firmed up his अष्टाध्यायी, containing as many as 4000 aphorisms सूत्र-s, hence a 4000-statements long code !
- Maybe, व्याकरणमहाभाष्यम् by पातञ्जलिमुनिः is the ‘documentation’ of अष्टाध्यायी !
(3-6) Yesterday (2nd October 2015) I had a discussion on this subject of Computers and Sanskrit with Mr. Keny, who works with Oracle in Mumbai. It transpired that
- Robots may not be a good example of AI. Responses of Robots would not be involving ‘decision-making’. Intelligence is in decision-making, especially when one has to choose among options.
- If IBM’s Deep Blue could defeat Garry Kasporov, as mentioned by Rahul, such computer has to have the intelligence to choose among options. In playing chess, choosing among options involves lot of forward thinking.
(3-7) I spend lot of time (I can admit it to be a waste of time) playing the card-game of ‘Hearts’, available online at http://www.hearts-cardgame.com/
- Playing it on the computer became interesting and addictive, basically because it is a one-against-three challenge. Yet I have had a good win-percentage.
- But now I have it on my tablet also. My win-percentage on the tablet is pathetic. It only means that the AI in the tablet is much higher than in the online version.
- Would it be that if the program be coded using intelligence of Sanskrit, my win-percentage will become zero ? I would not mind, if it would yet help me to upgrade my own intelligence ! For that, not just the executable program, but the code and documentation will have to be available.