{"id":4030,"date":"2026-01-27T16:00:09","date_gmt":"2026-01-27T10:30:09","guid":{"rendered":"https:\/\/www.rangakrish.com\/?p=4030"},"modified":"2026-01-27T16:00:09","modified_gmt":"2026-01-27T10:30:09","slug":"understanding-understanding","status":"publish","type":"post","link":"https:\/\/www.rangakrish.com\/index.php\/2026\/01\/27\/understanding-understanding\/","title":{"rendered":"Understanding Understanding"},"content":{"rendered":"<p>What is <em><strong>understanding<\/strong><\/em>? Is it the same thing as <em><strong>knowing<\/strong><\/em> or is it different? In this short article, I want to gently explore this idea without getting philosophical.<span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p>When we were school kids, we used to recite poems written by eminent authors without missing a beat. Of course, most of the time we did not <em><strong>understand<\/strong><\/em> the meaning of the poems. In other words we <em><strong>knew<\/strong><\/em> the poems by heart, but did not <em><strong>understand<\/strong><\/em> them. This is natural and quite common.<\/p>\n<p>So what is the difference between <em><strong>knowing<\/strong><\/em> and <em><strong>understanding<\/strong><\/em>?<\/p>\n<p><em><strong>Knowing<\/strong><\/em> is having information. We can know facts. For example, I know that <em><strong>Chennai<\/strong><\/em> is the capital of <em><strong>Tamil Nadu<\/strong><\/em>. Thus, knowing provides answers to <em><strong>\u201cwhat\u201d<\/strong><\/em>. In order to <em><strong>know<\/strong><\/em> something, we don\u2019t need to have a <em><strong>\u201cgrasp\u201d<\/strong><\/em> of it. I might know that <em><strong>\u201cE = mc2\u201d<\/strong><\/em> without being able to explain the intricacies such as what it implies about the universe. Thus knowing is somewhat <em><strong>shallow<\/strong><\/em>.<\/p>\n<p><em><strong>Understanding<\/strong><\/em> is deeper than <em><strong>knowing<\/strong><\/em>. It is grasping the meaning, relationships, causal links, and implications. It enables us to answer <em><strong>\u201cwhy\u201d<\/strong><\/em> as well as <em><strong>\u201chow\u201d<\/strong><\/em>. When we <em><strong>understand<\/strong><\/em> something, we can explain and apply it to solve problems &#8211; not just recall. For example, I understand why a ball thrown up falls down &#8211; the impact of gravity on any physical body.<\/p>\n<p>When I understand something, I can explain it in different ways and recognize it immediately when I see it in unfamiliar situations. When I understand that <em><strong>\u201cice floats on water\u201d<\/strong><\/em>, I can answer questions such as <em><strong>\u201cwhy do lakes freeze at the top first?\u201d<\/strong><\/em> and <em><strong>\u201cWill ice float on petrol?\u201d<\/strong><\/em>. I can\u2019t do this when I just know something; at best I can repeat it.<\/p>\n<p>Here are some reasons as to why <em><strong>understanding<\/strong><\/em> is deeper than <em><strong>knowing<\/strong><\/em>:<\/p>\n<p style=\"padding-left: 40px;\">1) When we understand something we construct a mental model and this allows us to reason about it.<\/p>\n<p style=\"padding-left: 40px;\">2) Most of what we understand are based on sensory experience. For instance, I understand when someone says the music is \u201cloud\u201d, because I have personally experienced the same.<\/p>\n<p style=\"padding-left: 40px;\">3) A subtle distinction is what is called \u201cmetacognition\u201d &#8211; knowing what I know and what I don\u2019t.<\/p>\n<p style=\"padding-left: 40px;\">4) Most importantly, \u201cunderstanding\u201d empowers us to do \u201ccounterfactual reasoning\u201d. I can reason about hypotheticals &#8211; \u201cwhat would happen to the economy if interest rates increase?\u201d<\/p>\n<p>This brings us to an important question: <em><strong>\u201cDo LLMs understand?\u201d<\/strong><\/em><\/p>\n<p>I guess the correct answer is that they don\u2019t &#8211; at least not in the way we humans do. Then how is it they answer many questions \u201cintelligently\u201d and \u201ccorrectly\u201d too? The key to understanding this behavior is <em><strong>pattern recognition<\/strong><\/em>. LLMs have been trained on an enormous amount of data and so when they come across a new problem, they are able to recognize the <em><strong>shape<\/strong><\/em>. They are able to generalize and seem to be able to solve problems that appear similar, but without the finer inner <em><strong>model<\/strong><\/em> that humans seem to build and use.<\/p>\n<p>I know this topic is deeply philosophical and perhaps even we humans don\u2019t really understand <em><strong>understanding<\/strong><\/em>. No doubt this is an active area of research and one day we will be able to precisely and formally define <em><strong>understanding<\/strong><\/em>. Will LLMs reach that level of understanding? Only time will tell!<\/p>\n<p>Have a nice week ahead!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What is understanding? Is it the same thing as knowing or is it different? In this short article, I want to gently explore this idea without getting philosophical.\u00a0 When we were school kids, we used to recite poems written by eminent authors without missing a beat. Of course, most of the time we did not [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[445],"tags":[446,376,447],"class_list":["post-4030","post","type-post","status-publish","format-standard","hentry","category-general","tag-knowing","tag-llm","tag-understanding"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9OLnF-130","jetpack-related-posts":[{"id":2071,"url":"https:\/\/www.rangakrish.com\/index.php\/2020\/08\/01\/elixir-wrapping-lisp-calls-in-a-macro\/","url_meta":{"origin":4030,"position":0},"title":"Elixir: Wrapping Lisp Calls in a Macro","author":"admin","date":"August 1, 2020","format":false,"excerpt":"In the last article, I showed how to make calls to Lisp functions from Elixir. We followed this pattern: 1) Initialize the Lisp environment by calling Lisp.init 2) Call Lisp functions as needed 3) Free the Lisp environment by calling Lisp.quit Using the powerful macro programming capabilities of Elixir, we\u2026","rel":"","context":"In &quot;Elixir&quot;","block_context":{"text":"Elixir","link":"https:\/\/www.rangakrish.com\/index.php\/category\/elixir\/"},"img":{"alt_text":"Sample Session","src":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/08\/Session.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/08\/Session.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/08\/Session.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/08\/Session.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":3421,"url":"https:\/\/www.rangakrish.com\/index.php\/2024\/07\/07\/building-an-intelligent-homeopathy-assistant\/","url_meta":{"origin":4030,"position":1},"title":"Building an Intelligent Homeopathy Assistant","author":"admin","date":"July 7, 2024","format":false,"excerpt":"I have written extensively about my initial work on developing homeopathy Repertorization software and more recently, on Case Analysis Using RAG\u00a0and using Semantic Search\u00a0to find rubrics. As a student of homeopathy, I have been continuously doing research on how to improve the quality of homeopathy case analysis and in particular,\u2026","rel":"","context":"In &quot;Homeopathy&quot;","block_context":{"text":"Homeopathy","link":"https:\/\/www.rangakrish.com\/index.php\/category\/homeopathy\/"},"img":{"alt_text":"Understanding Remedy Keynotes","src":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2024\/07\/Screen1-300x222.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2024\/07\/Screen1-300x222.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2024\/07\/Screen1-300x222.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":1427,"url":"https:\/\/www.rangakrish.com\/index.php\/2019\/02\/03\/coreference-resolution-using-spacy\/","url_meta":{"origin":4030,"position":2},"title":"Coreference Resolution Using spaCy","author":"admin","date":"February 3, 2019","format":false,"excerpt":"According to Stanford NLP Group, \"Coreference resolution is the task of finding all expressions that refer to the same entity in a text\".\u00a0 You can also read this Wikipedia page. For example, in the sentence \"Tom dropped the glass jar by accident and broke it\", what does \"it\" refer to?\u2026","rel":"","context":"In &quot;Machine Learning&quot;","block_context":{"text":"Machine Learning","link":"https:\/\/www.rangakrish.com\/index.php\/category\/machine-learning\/"},"img":{"alt_text":"Loading the Coreference Model","src":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2019\/02\/Loading-Model.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":3691,"url":"https:\/\/www.rangakrish.com\/index.php\/2025\/05\/04\/beyond-ownership-understanding-the-role-of-stdweak_ptr-in-modern-c\/","url_meta":{"origin":4030,"position":3},"title":"Beyond Ownership: Understanding the Role of std::weak_ptr in Modern C++","author":"admin","date":"May 4, 2025","format":false,"excerpt":"Smart Pointers in C++ are elegant abstractions for managing dynamic memory safely, avoiding dangling pointers and preventing leaks. While std::unique_ptr and std::shared_ptr are well understood and widely used, std::weak_ptr often demands a deeper dive to use correctly. In this article, I will attempt to explain what it is and where\u2026","rel":"","context":"In &quot;C++&quot;","block_context":{"text":"C++","link":"https:\/\/www.rangakrish.com\/index.php\/category\/c\/"},"img":{"alt_text":"Circular Reference Example","src":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2025\/05\/code1-300x289.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":4265,"url":"https:\/\/www.rangakrish.com\/index.php\/2026\/03\/22\/counting-sentences-an-implementation-in-c20\/","url_meta":{"origin":4030,"position":4},"title":"Counting Sentences: An Implementation in C++20","author":"admin","date":"March 22, 2026","format":false,"excerpt":"Counting the number of sentences in a given paragraph appears rather simple on the surface - look for the common punctuation marks: \u201c.?!\u201d. Only when you dig deeper, you will know that it is really not that simple. For example, consider this text: \u201cPeter met Dr.James at 3 p.m.\u201d How\u2026","rel":"","context":"In &quot;C++&quot;","block_context":{"text":"C++","link":"https:\/\/www.rangakrish.com\/index.php\/category\/c\/"},"img":{"alt_text":"Regular Expressions","src":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2026\/03\/regex-300x91.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2026\/03\/regex-300x91.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2026\/03\/regex-300x91.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":2876,"url":"https:\/\/www.rangakrish.com\/index.php\/2022\/07\/27\/understanding-stdspan\/","url_meta":{"origin":4030,"position":5},"title":"Understanding std::span","author":"admin","date":"July 27, 2022","format":false,"excerpt":"Introduced in C++20, std::span\u00a0is a light-weight abstraction that provides a convenient view\u00a0into a collection of contiguous elements. Note that it is not enough for the elements to be logically contiguous, but they must be contiguous in memory too. Thus, span will work with C-style arrays, C++ vectors and arrays. It\u2026","rel":"","context":"In &quot;C++&quot;","block_context":{"text":"C++","link":"https:\/\/www.rangakrish.com\/index.php\/category\/c\/"},"img":{"alt_text":"Example-1: span","src":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2022\/07\/code1-285x300.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/posts\/4030","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/comments?post=4030"}],"version-history":[{"count":1,"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/posts\/4030\/revisions"}],"predecessor-version":[{"id":4031,"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/posts\/4030\/revisions\/4031"}],"wp:attachment":[{"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/media?parent=4030"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/categories?post=4030"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/tags?post=4030"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}