{"id":617,"date":"2016-10-09T18:59:48","date_gmt":"2016-10-09T18:59:48","guid":{"rendered":"http:\/\/intelligentonlinetools.com\/blog\/?p=617"},"modified":"2016-11-01T02:15:01","modified_gmt":"2016-11-01T02:15:01","slug":"thinking-patterns-and-computer-programs","status":"publish","type":"post","link":"http:\/\/intelligentonlinetools.com\/blog\/2016\/10\/09\/thinking-patterns-and-computer-programs\/","title":{"rendered":"Thinking Patterns and Computer Programs"},"content":{"rendered":"<p>This post is a continuation of previous post [1] where we started to look how computer programs can increase effective thinking. In this post we will look at some patterns of human thinking and how these patterns are implemented in the computer programs. <\/p>\n<p>Humans often <strong>follow others<\/strong> in their actions. When we think about something we often are interesting how others thinking or doing for the same or similar subject.  In computer science we can find different implementations of using this approach. For example <strong>recommender systems<\/strong> typically produce a list of recommendations in one of two ways \u2013 through collaborative and content-based filtering or the personality-based approach. <strong>Collaborative filtering<\/strong> approaches building a model from a user&#8217;s past behavior (items previously purchased or selected and\/or numerical ratings given to those items) as well as similar decisions made by other users.[2] We can see something like this for example on Amazon website.<\/p>\n<p>Thinking about situation from many <strong>different views<\/strong> is another useful technique. For example it could be useful think about not just what happens now but also what will happen next year or later.  Or it might be useful to think about different group of users. In computer program we would need to add additional categories(attributes)  to accomplish this.<\/p>\n<p>According to Wikipedia there could be two types of thinking:<strong>convergent and divergent thinking<\/strong>.  <strong>Convergent thinking<\/strong> involves aiming for a single, correct solution to a problem, whereas divergent thinking involves creative generation of multiple answers to a set problem. <strong>Divergent thinking<\/strong> is sometimes used as a synonym for creativity in psychology literature. Other researchers have occasionally used the terms flexible thinking or fluid intelligence. [3]<\/p>\n<p>As a humans we might use <strong>systems thinking<\/strong> that can be viewed as a set of habits or practices within a framework that is based on the belief that the component parts of a system can best be understood in the context of relationships with each other and with other systems, rather than in isolation [4],[9],[10] Systems concepts are used widely in computer science &#8211; for example when we represent the system as black box, when we use feedback control or finite state machines.<\/p>\n<p>Another technique for thinking is &#8211; <strong>structured thinking<\/strong> which is a process of putting a framework to an unstructured problem. Having a structure not only helps an analyst understand the problem at a macro level, it also helps by identifying areas which require deeper understanding. Structured Thinking allows us to map our ideas in structured fashion, thereby enabling us to identify which areas need the most attention. Mind mapping tools can help to implement structured thinking[5]. In computer science we can use decision tree to build structure from the data.<\/p>\n<p><strong>Dividing the problem<\/strong> in smaller problems is also useful technique that can be called as divide-and-conquer paradigm. This gives useful framework for thinking about problems. In mathematics or computer science it is used for solving problems recursively. [6]<\/p>\n<p><strong>Comparative-analysis<\/strong> &#8211; is the item-by-item comparison of two or more comparable alternatives, processes, products, qualifications, sets of data, systems, or the like. In accounting, for example, changes in a financial statement&#8217;s items over several accounting periods may be presented together to detect the emerging trends in the company&#8217;s operations and results. [7] In troubleshooting we often compare working device with not working device to identify the difference in the hope that it will help to understand why the device failed.<\/p>\n<p>We also use organizing similar ideas or items into <strong>logical groupings<\/strong>. [8] By looking at differences or similarities between groups we can find new knowledge about items or group of items. It helps also to generalize our ideas or knowledge. In computer programming we can use clustering to group different items into groups. If we want to add new item to correct group we can use classification.<\/p>\n<p>Thus we looked at different thinking patterns that are used by humans. Obviously computer programs has some limitations if we want to implement above patterns in our programs.  However we saw that some patterns are implemented and are used in wide range of programming applications.<\/p>\n<p><strong>References<\/strong><br \/>\n1. <a href=\"http:\/\/intelligentonlinetools.com\/blog\/2016\/09\/15\/how-can-we-use-computer-technology-to-improve\">How Can We Use Computer Programming to Increase Effective Thinking<\/a><br \/>\n2. <a href=\"https:\/\/en.wikipedia.org\/wiki\/Recommender_system\">Recommender system<\/a><br \/>\n3.  <a href=\"https:\/\/en.wikipedia.org\/wiki\/Creativity\">Creativity<\/a><br \/>\n4.  <a href=\"https:\/\/en.wikipedia.org\/wiki\/Systems_thinking\">Systems Thinking<\/a><br \/>\n5. <a href=\"https:\/\/www.analyticsvidhya.com\/blog\/2016\/06\/12-free-mind-mapping-tools-data-scientist-enhance-structured-thinking\/?utm_source=feedburner&#038;utm_medium=email&#038;utm_campaign=Feed%3A+AnalyticsVidhya+%28Analytics+Vidhya%29\">12 Free Mind Mapping Tools For a Data Scientist To Enhance Structured Thinking<\/a><br \/>\n6. <a href=\"http:\/\/web.stanford.edu\/class\/archive\/cs\/cs161\/cs161.1138\/lectures\/05\/Small05.pdf\">Divide-and-Conquer Algorithms<\/a><br \/>\n7. <a href=\"http:\/\/www.businessdictionary.com\/definition\/comparative-analysis.html\">Comparative-analysis<\/a><br \/>\n8. <a href=\"https:\/\/en.wikipedia.org\/wiki\/Affinity_diagram\">Affinity Diagram<\/a><br \/>\n9. <a href=\"https:\/\/people.cs.clemson.edu\/~steve\/CW\/455\/GST-alt.pdf\">General Systems Concepts<\/a><br \/>\n10. <a href=\"http:\/\/www.dorsethouse.com\/pdf\/Dorset-House-gst.pdf\">An Introduction to General Systems Thinking<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This post is a continuation of previous post [1] where we started to look how computer programs can increase effective thinking. In this post we will look at some patterns of human thinking and how these patterns are implemented in the computer programs. Humans often follow others in their actions. When we think about something &#8230; <a title=\"Thinking Patterns and Computer Programs\" class=\"read-more\" href=\"http:\/\/intelligentonlinetools.com\/blog\/2016\/10\/09\/thinking-patterns-and-computer-programs\/\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":[]},"categories":[5],"tags":[],"jetpack_publicize_connections":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Thinking Patterns and Computer Programs - Machine Learning Applications<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/intelligentonlinetools.com\/blog\/2016\/10\/09\/thinking-patterns-and-computer-programs\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Thinking Patterns and Computer Programs - Machine Learning Applications\" \/>\n<meta property=\"og:description\" content=\"This post is a continuation of previous post [1] where we started to look how computer programs can increase effective thinking. In this post we will look at some patterns of human thinking and how these patterns are implemented in the computer programs. Humans often follow others in their actions. When we think about something ... Read more\" \/>\n<meta property=\"og:url\" content=\"http:\/\/intelligentonlinetools.com\/blog\/2016\/10\/09\/thinking-patterns-and-computer-programs\/\" \/>\n<meta property=\"og:site_name\" content=\"Machine Learning Applications\" \/>\n<meta property=\"article:published_time\" content=\"2016-10-09T18:59:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2016-11-01T02:15:01+00:00\" \/>\n<meta name=\"author\" content=\"owygs156\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"owygs156\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"http:\/\/intelligentonlinetools.com\/blog\/2016\/10\/09\/thinking-patterns-and-computer-programs\/\",\"url\":\"http:\/\/intelligentonlinetools.com\/blog\/2016\/10\/09\/thinking-patterns-and-computer-programs\/\",\"name\":\"Thinking Patterns and Computer Programs - Machine Learning Applications\",\"isPartOf\":{\"@id\":\"https:\/\/intelligentonlinetools.com\/blog\/#website\"},\"datePublished\":\"2016-10-09T18:59:48+00:00\",\"dateModified\":\"2016-11-01T02:15:01+00:00\",\"author\":{\"@id\":\"https:\/\/intelligentonlinetools.com\/blog\/#\/schema\/person\/7a886dc5eb9758369af2f6d2cb342478\"},\"breadcrumb\":{\"@id\":\"http:\/\/intelligentonlinetools.com\/blog\/2016\/10\/09\/thinking-patterns-and-computer-programs\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/intelligentonlinetools.com\/blog\/2016\/10\/09\/thinking-patterns-and-computer-programs\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/intelligentonlinetools.com\/blog\/2016\/10\/09\/thinking-patterns-and-computer-programs\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/intelligentonlinetools.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Thinking Patterns and Computer Programs\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/intelligentonlinetools.com\/blog\/#website\",\"url\":\"https:\/\/intelligentonlinetools.com\/blog\/\",\"name\":\"Machine Learning Applications\",\"description\":\"Artificial intelligence, data mining and machine learning for building web based tools and services.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/intelligentonlinetools.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/intelligentonlinetools.com\/blog\/#\/schema\/person\/7a886dc5eb9758369af2f6d2cb342478\",\"name\":\"owygs156\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/intelligentonlinetools.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"http:\/\/2.gravatar.com\/avatar\/b351def598609cb4c0b5bca26497c7e5?s=96&d=mm&r=g\",\"contentUrl\":\"http:\/\/2.gravatar.com\/avatar\/b351def598609cb4c0b5bca26497c7e5?s=96&d=mm&r=g\",\"caption\":\"owygs156\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Thinking Patterns and Computer Programs - Machine Learning Applications","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/intelligentonlinetools.com\/blog\/2016\/10\/09\/thinking-patterns-and-computer-programs\/","og_locale":"en_US","og_type":"article","og_title":"Thinking Patterns and Computer Programs - Machine Learning Applications","og_description":"This post is a continuation of previous post [1] where we started to look how computer programs can increase effective thinking. In this post we will look at some patterns of human thinking and how these patterns are implemented in the computer programs. Humans often follow others in their actions. When we think about something ... Read more","og_url":"http:\/\/intelligentonlinetools.com\/blog\/2016\/10\/09\/thinking-patterns-and-computer-programs\/","og_site_name":"Machine Learning Applications","article_published_time":"2016-10-09T18:59:48+00:00","article_modified_time":"2016-11-01T02:15:01+00:00","author":"owygs156","twitter_card":"summary_large_image","twitter_misc":{"Written by":"owygs156","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"http:\/\/intelligentonlinetools.com\/blog\/2016\/10\/09\/thinking-patterns-and-computer-programs\/","url":"http:\/\/intelligentonlinetools.com\/blog\/2016\/10\/09\/thinking-patterns-and-computer-programs\/","name":"Thinking Patterns and Computer Programs - Machine Learning Applications","isPartOf":{"@id":"https:\/\/intelligentonlinetools.com\/blog\/#website"},"datePublished":"2016-10-09T18:59:48+00:00","dateModified":"2016-11-01T02:15:01+00:00","author":{"@id":"https:\/\/intelligentonlinetools.com\/blog\/#\/schema\/person\/7a886dc5eb9758369af2f6d2cb342478"},"breadcrumb":{"@id":"http:\/\/intelligentonlinetools.com\/blog\/2016\/10\/09\/thinking-patterns-and-computer-programs\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/intelligentonlinetools.com\/blog\/2016\/10\/09\/thinking-patterns-and-computer-programs\/"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/intelligentonlinetools.com\/blog\/2016\/10\/09\/thinking-patterns-and-computer-programs\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/intelligentonlinetools.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Thinking Patterns and Computer Programs"}]},{"@type":"WebSite","@id":"https:\/\/intelligentonlinetools.com\/blog\/#website","url":"https:\/\/intelligentonlinetools.com\/blog\/","name":"Machine Learning Applications","description":"Artificial intelligence, data mining and machine learning for building web based tools and services.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/intelligentonlinetools.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/intelligentonlinetools.com\/blog\/#\/schema\/person\/7a886dc5eb9758369af2f6d2cb342478","name":"owygs156","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/intelligentonlinetools.com\/blog\/#\/schema\/person\/image\/","url":"http:\/\/2.gravatar.com\/avatar\/b351def598609cb4c0b5bca26497c7e5?s=96&d=mm&r=g","contentUrl":"http:\/\/2.gravatar.com\/avatar\/b351def598609cb4c0b5bca26497c7e5?s=96&d=mm&r=g","caption":"owygs156"}}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p7h1IJ-9X","jetpack-related-posts":[{"id":586,"url":"http:\/\/intelligentonlinetools.com\/blog\/2016\/09\/15\/how-can-we-use-computer-technology-to-improve\/","url_meta":{"origin":617,"position":0},"title":"How Can We Use Computer Programming to Increase Effective Thinking","date":"September 15, 2016","format":false,"excerpt":"Once a while we might find ourselves in situation when we think \"I wish I knew this before\" , \"Why I did not think about this before\" or \"Why it took so long to come to this decision or action\". Can computer programs be used to help us to avoid\u2026","rel":"","context":"In &quot;Artificial Intelligence&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":71,"url":"http:\/\/intelligentonlinetools.com\/blog\/2016\/02\/13\/5-ways-of-web-user-modeling\/","url_meta":{"origin":617,"position":1},"title":"5 Ways of Web User Modeling","date":"February 13, 2016","format":false,"excerpt":"Web user modeling can be done in many different ways. Below will be described some of them and will be provided the links to the resources. One of the way of modeling web user behavior is to use Markov chains. This theory allows us to find the probability of clicking\u2026","rel":"","context":"Similar post","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":53,"url":"http:\/\/intelligentonlinetools.com\/blog\/2016\/02\/07\/the-future-of-computers-and-artificial-intelligence\/","url_meta":{"origin":617,"position":2},"title":"The Future of Computers and Artificial Intelligence","date":"February 7, 2016","format":false,"excerpt":"(Featured Article by Freelance Writer Dario Borghino, graduate in telecom and software engineering) In the last 50 years, the advent of computer has radically changed our daily routines and habits. From huge, roomy, terribly expensive and rather useless machines, computers have managed to become quite the opposite of all the\u2026","rel":"","context":"In &quot;Artificial Intelligence&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":15,"url":"http:\/\/intelligentonlinetools.com\/blog\/2016\/01\/30\/artificial-intelligence\/","url_meta":{"origin":617,"position":3},"title":"Artificial Intelligence","date":"January 30, 2016","format":false,"excerpt":"Artificial Intelligence (AI) may be the section of information technology concentrating on creating machines that may engage on actions that humans consider intelligent. It's the cutting-fringe of information technology.This generally involves borrowing qualities from human intelligence, and using them as calculations inside a computer friendly way. A pretty much flexible\u2026","rel":"","context":"Similar post","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":120,"url":"http:\/\/intelligentonlinetools.com\/blog\/2016\/02\/20\/input-for-stock-data-prediction-algorithms\/","url_meta":{"origin":617,"position":4},"title":"Input for Stock Data Prediction Algorithms","date":"February 20, 2016","format":false,"excerpt":"What can be used for input to stock data prediction system? In this post we will consider some indicator that often are used for stock data forecasting. The links to information about indicators and how to calculate will be also provided. Moving averages are often used in technical analysis. A\u2026","rel":"","context":"In &quot;Stock data analysis&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1178,"url":"http:\/\/intelligentonlinetools.com\/blog\/2017\/05\/14\/time-series-prediction-with-convolutional-neural-networks\/","url_meta":{"origin":617,"position":5},"title":"Forecasting Time Series Data with Convolutional Neural Networks","date":"May 14, 2017","format":false,"excerpt":"Convolutional neural networks(CNN) is increasingly important concept in computer science and finds more and more applications in different fields. Many posts on the web are about applying convolutional neural networks for image classification as CNN is very useful type of neural networks for image classification. But convolutional neural networks can\u2026","rel":"","context":"In &quot;Artificial Intelligence&quot;","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/intelligentonlinetools.com\/blog\/wp-content\/uploads\/2017\/05\/time-series-LSTM-300x164.png?resize=350%2C200","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"http:\/\/intelligentonlinetools.com\/blog\/wp-json\/wp\/v2\/posts\/617"}],"collection":[{"href":"http:\/\/intelligentonlinetools.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/intelligentonlinetools.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/intelligentonlinetools.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/intelligentonlinetools.com\/blog\/wp-json\/wp\/v2\/comments?post=617"}],"version-history":[{"count":20,"href":"http:\/\/intelligentonlinetools.com\/blog\/wp-json\/wp\/v2\/posts\/617\/revisions"}],"predecessor-version":[{"id":672,"href":"http:\/\/intelligentonlinetools.com\/blog\/wp-json\/wp\/v2\/posts\/617\/revisions\/672"}],"wp:attachment":[{"href":"http:\/\/intelligentonlinetools.com\/blog\/wp-json\/wp\/v2\/media?parent=617"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/intelligentonlinetools.com\/blog\/wp-json\/wp\/v2\/categories?post=617"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/intelligentonlinetools.com\/blog\/wp-json\/wp\/v2\/tags?post=617"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}