Pages

20190225

How to be a Billionaire by Martin S. Fridson


  • Key principles shared by the self-made billionaires are:
    • Pursue the money in ideas
    • Rules are breakable
    • Copying pays better than innovating
    • Keep on growing
    • Hold on to your equity
    • Hard work is essential
    • Use financial leverage
    • Keep the back door open
    • Make mistakes, then learn from them
    • Frugality pays
    • Enjoy the pursuit
    • Develop a thick skin
  • Lawful sources of pricing power:
    • Brand identity
    • Patent protection
    • Dominant market share
    • Sustainable cost advantage
  • A more dependable strategy is to learn how to make money from ideas, and then to be prepared to capitalize on an original notion dreamed up by someone who is more skilled at that sort of thing.
  • The best odds of becoming a billionaire, in summary, exist in industries that ride the key trends of economic development. This suggests that in newly industrializing countries, great opportunities may remain in infrastructure and basic industries. In the world’s most developed economies, however, the cream of tomorrow’s billionaires probably will emerge from communications, services, and technology.
  • Sooner or later, every rapid-growth industry slows down. If the industry’s sales did not accelerate, they would eventually exceed the economy’s total output, a logical impossibility. When the inevitable deceleration occurs, the baton passes to other businesses that begin growing at phenomenal rates and coining new billionaires.
  • Opportunities are more abundant in a rapidly growing industry, which is inherently somewhat chaotic and therefore fraught with risk.
  • Generally speaking, industries achieve their highest growth rates in their early stages.
  • All things considered, mature industries do not represent the path of least resistance toward a billion-dollar fortune.
  • Economies of scale and unit costs, it is true, ,have their greatest analytical value in traditional manufacturing businesses. In other industries, low unit costs are not necessarily the chief benefit of gaining market share during the rapid-growth phase. Instead, the objective may be to establish an industry standard.
  • The difference between low growth and high growth really begins to affect net worth when a company goes public, that is, when it begins to raise money in the stock market.
  • The benefits of succeeding increase sharply when the company trades at a high price-earnings multiple.
  • Good old-fashioned hard work and risk taking pay much better in industries that carry high price-earning multiples.
  • The more rapidly a company’s profits are expected to grow, the more valuable is a dollar of those earnings today.
  • If history is any guide, the high-tech entrepreneur track will be only one of several that transport individuals to the upper echelons of the Forbes 400 in the future. A number of alternative strategies exist for aspiring billionaires who fear that they are not in the right place at the right time.
  • Several fundamental business strategies emerge from studying the founders of great fortunes:
    • Take extraordinary risks
    • Do business in a new way
    • Dominate your market
    • Consolidate an industry
    • Buy low
    • Thrive on deals
    • Outmanage the competition
    • Invest in political influence
    • Resist the unions
  • Correlation of risk and reward is one of the most fundamental precepts of finance. The greater the danger of loss in an investment, the greater is the potential gain.
  • Innovation in business has two highly appealing characteristics for aspiring millionaires. First, it offers a way to achieve the high growth rates that lead to high price-earning multiples. Second, it does not require an especially original mind.
  • If innovation enables you to create immense equity value and requires no originality, what is the catch? The biggest drawback is the backlash inevitably triggered by change. Upsetting the status quo is a sure way to draw fire from the sort of people who invariably liked things better the way they used to be. They begin with the sound proposition that not every change represents progress, but carry the notion much too far.
  • Take monumental risks.
  • Thrive on deals.
  • Keep on growing.
  • Keep the back door open.
  • Use financial leverage.
  • Do business in a new way.
  • Outmanage the competition.
  • Frugality pays.
  • Hold on to your equity.
  • Make mistakes, then learn from them.
  • Enjoy the pursuit.
  • Copying pays better than innovating.
  • Keep on growing.
  • Use financial leverage.
  • Hard work is essential.
  • Develop a thick skin.
  • The wisdom to admit a mistake is nearly as valuable as the wisdom to avoid mistakes in the first place.
  • A mere desire to amass wealth is not a sufficiently strong enough motivation.
  • Success is more likely to accrue to people who find intrinsic satisfaction in the accumulation of wealth, as opposed to the possession of wealth.
  • Dominating a market is a highly effective strategy for accumulating wealth.
  • Developing a thick skin is an especially important principle if you pursue this path to fortune.
  • Market dominance is not synonymous with monopoly. Complete elimination of competition is the ultimate form of dominance, but it is not a realistic objective. Moreover, dominating a particular market does not confer unlimited economic power, given the interdependence of suppliers, producers, and customers.
  • The toughest part of exploiting market dominance is achieving it in the first place.
  • Dominate your market.
  • Do business in a new way.
  • Consolidate an industry.
  • The keys to battling antitrust claims are ingenuity and tenacity.
  • Another benefit of reading the Microsoft case study is the insight it provides on defending a dominant market position. If you achieve such  position, you can expect competitors to fight ferociously to take it away. While staying within the bounds of the law, you must be prepared to respond in a manner that can be summed up in three words: Play to win.
  • Play to win.
  • The high-growth industries that most often spawn vast personal fortunes tend to be characterized by fierce struggles for survival. No one is likely to emerge from such battles without a willingness to push the envelope.
  • In high-stakes business such as computer software, making billions without making enemies is probably impossible.
  • Don’t be too proud to take advantage of underserved good fortune.
  • Consolidation consists of reducing the number of firms in an industry.
  • To be sure, large organizations often become inefficient as a result of cumbersome controls, unduly long lines of communication, and redundant overhead. Smaller, more streamlined companies may then be able to enter the industry and compete successfully. In other instances, a new entrant may prosper by cream skimming, that is, concentrating solely on a highly profitable segment of the business. Long before any of these new entrants appear, however, young industries follow a predictable pattern of consolidation.
  • Opportunities for amassing riches exist for those who recognize the potential for the process to repeat itself in yet another industry.
  • Managing the managers is just one of several organizational problems of fashioning an effective organization out of desperate enterprises.
  • An individual who excels at the deal making required to put the company together may lack any skill or interest in the administrative routine of preventing it from falling apart.
  • In short, consolidation is a plausible path to colossal wealth, but one for which you must stretch your talents in several different directions.
  • Outmanage the competition.
  • Thrive on deals.
  • An entrepreneur who has a significant stake in the acquiring company can create substantial paper wealth just be making acquisitions. As a rule, lasting wealth does not get created by randomly buying companies that fail to mesh as consolidated enterprises. By the same token, making acquisitions for stock can dramatically leverage the wealth-building efforts of a consolidators with a sizeable personal stake in the acquiring company.
  • “Buy low, sell high” is the simplest formula imaginable for amassing wealth. What could be more complicated than purchasing an asset when nobody wants it, then selling it when no one can live without it?
  • There are several different ways to realize value in buying and selling businesses. Negotiating favorable prices, both on the way in and on the way out, is only the most obvious. Another means of maximizing the gain on the round trip is to finance the purchase on advantageous terms. Further gains are achievable from increasing the asset’s value, following its purchase, through capable management. Not to be ignored, either, is the compensation that can be extracted during the ownership/management phase.
  • By exploiting all these profit sources in every transaction, and by doing many transactions, it is possible to amuse a sizable fortune.
  • A critical capability to develop is a manner that reassures all participants in the transaction.
  • Wayne Huizenga’s Cardinal Rules for Closing Deals:
    • Don’t lose a deal by failing to pay attention to it.
    • Never talk about a deal until it is signed.
  • Buy low.
  • Superior management skills have [played a critical role in the foundation of may great fortunes.
  • Doing the same thing in the same way as everyone else is decidedly not the way to overcome the leveling effects of competition.
  • The leaders of organizations that run circles around procedure bound companies are not people who emphasize protocol over results. If a creative idea must undergo endless rounds of formal review, it will not be implemented soon enough to provide a competitive advantage. Innovations turn into actions much more swiftly in organizations run by individuals who feel as frustrated as Ross Perot did by the slow response to the events of General Motors.
  • What makes the self-made billionaires knack for building effective companies distinctive has little to do with the formal elements, such as organization charts and performance measurement. It is more a matter of giving their organizations the stamp of their  invariable strong personalities.
  • Most business enterprises that are vast enough to create billion-dollar fortunes are too complex to be run effectively by a single presiding genius. Therefore, recruitment of capable managers has been an essential ingredient to most of the great fortunes. Far from finding it difficult to delegate authority over day-to-day operations, most self-made billionaires have preferred to focus on more lucrative activities. By swinging more deals and overcoming the leveling effect of competition, they have become far wealthier than managers who were much more adept at handling the details.
  • Looking beneath the differences in the self-made billionaires’ styles, several common factors emerge that represent the substance of effective management. To replicate their success, you must develop an approach that is compatible with your personality and achieves the following objectives:
    • Attract managers with enough self-confidence to challenge your own judgement on matters.
    • Delegate authority to detail-oriented executives who can free you to concentrate on billion-dollar ideas.
    • Stay close enough to operations to be aware of problems and opportunities, making sure that your lieutenant's follow up on suggestions for improvement.
    • Constantly reinforce a focus on controlling costs.
    • Use equity incentives to provide your managers and other key employees a realistic chance to become millionaires.
    • Show genuine, personal concern for people within your organization.
    • Promote moral by maintaining a sense of fun along with seriousness of purpose.
  • Do business in a new way.
  • Branson rejects the notion of making his sprawling business empire more efficient by consolidating its operations. In service businesses, he argues, the key is to have happy and well-motivated employees. Accordingly, he percy is greater value in keeping his companies small scale, with no more than 50 or 60 people in one building, than in saving money by putting everybody under one roof. Once a company becomes so large that people no longer know one another, says Branson, it is time to break it up.
  • Lobbying legislative and regulatory bodies is one lawful and effective way for a company to influence government’s impact on its profits. A more indirect approach is to contribute to the election campaigns of candidates for strategically important offices.
  • Competing in certain businesses is impossible without becoming enmeshed in politics.
  • For anyone who hopes to exploit the political process in the future, the key question is how to defend a private benefit in the guise of a boon to the public interest. This lesson can be summarized in a three-step program:
    • Cultivate an underdog image.
    • Find a friend in government.
    • Devise a complex benefit.
  • Gaining a sympathetic ear in the halls of power is paramount and not as difficult as it might seem. Making friends in politics is easy, just as it is in philanthropic circles.
  • You can make it easy for seekers of campaign contributions to find you by throwing a few dollars into the coffers without waiting for them to prod you. It will surprise you how quickly the political operatives will learn to like you and how eager the officeholders will be to meet you.
  • Best of all, politicians are surprisingly casual about ideological consistency.
  • A benefit that is complex, with costs that are spread wide and thin throughout the population, tends to minimize the incentive for potential opponents to become well informed.
  • An analysis of the great fortunes founded since the nineteenth century showed you that they greatly improved their chances by focusing their energies in high-growth industries.
  • Social conventions that represent impediments to others we become stepping-stones to you. Chance to encroach on your rivals’ markets will appear as they adhere to unwritten pacts designed to preserve the competitive status quo.
  • Business People more sensitive than you to public opinion will hand you opportunities by forgoing actions that would cause them to be reviled as despoilers of the traditional, small-town way of life. At the bargaining table, you will get the better of negotiators who lack your total commitment to winning. Unlike you, they will not have the brass to contest each tiny point and then, when the terms appear settled and the opposite party is emotionally commitment to the deal, raise a new objection that starts the process all over again.
  • Wholehearted enthusiasm, in play as well as in work, is a trait you absolutely must develop if you hope to replicate the self-made billionaires’ success. Their experience indicates that you will not prosper by performing any activity in a perfunctory way, regardless of whether it has to do with making money.
  • Far from distracting you from the goal of becoming super rich, intensely applying yourself to other aspects of your life will cultivate the habit of excelling.
  • Self-made billionaires, in short, approach every activity with fervor.
  • Tenacity is another trait invariably ascribed to the great fortune builders. The individuals profiled in this book have not grown immensely wealthy through luck alone. Instead, they have persevere until the breaks come. This, too, is a habit that you can and should form.
  • More than loving money, the self-made billionaires loved the pursuit of money. To follow in their footsteps, you must adopt their mind-set, as well as their strategies, tactics, and principles.

20190220

How to Create a Mind by Ray Kurzweil


  • The mammalian brain has a distinct aptitude not found in any other class of animal. We are capable of hierarchical thinking, of understanding a structure composed of diverse elements arranged in a pattern, representing that arrangement with a symbol, and then using that symbol as an element in a yet more elaborate configuration. This capability takes place in a brain structure called the neocortex, which in humans has achieved a threshold of sophistication and capacity such that we are able to call these patterns ideas.
  • Through An unending recursive process we are capable of building ideas that are ever more complex. We all this vast array of recursive linked ideas knowledge.
  • Only Homo sapiens have a knowledge base that itself evolves, grows exponentially, and is passed down from one generation to another.
  • It is only because of our tools that our knowledge base has been able to grow without limit.
  • Reverse-engineering the human brain may be regarded as the most important project in the universe.
  • If understanding language and other phenomena through statistical analysis does not count as true understanding, then humans have no understanding either.
  • It turns out that the distinction between being determined and being predictable is an important one.
  • Fundamentally, the brain does store and process information, and because of the universality of computation there is more of a parallel between brains and computers than may be apparent.
  • Our memories are sequential and in order. They can be accessed in the order that they are remembered. We are unable to directly reverse the sequence of a memory.
  • We also have some difficulty starting a memory in the middle of a sequence.
  • Typically we are unable to visualize people we’ve only casually come across to draw or describe them sufficiently but would have little difficulty in recognizing a picture of them. This suggests that there are no images, videos, or sound recordings stored in the brain. Our memories are stored as a sequence of patterns. Memories that are not accessed dim over time.
  • We can recognize a pattern even if only part of it is perceived (seen, heard, felt) and even if it contains alterations. Our recognition ability is apparently able to detect invariant features of a pattern--characteristics that survive real-world variations.
  • Once your mind has fixed on an understanding, however, it may be difficult to see the other perspective.
  • Your brain’s interpretation of the image actually influences your experience of it.
  • Thus our conscious experience of our perception is actually changed by our interpretations.
  • This implies that we are constantly predicting the future and hypothesizing what we will experience. This expectation influences what we actually perceive. Predicting the future is actually the primary reason that we have a brain.
  • We do not need to relearn the concept of a noose and a mouth each time we are introduced to a new face.
  • Animals without a neocortex (basically non mammals) are largely incapable of understanding hierarchies. Understanding and leveraging the innately hierarchical nature of reality is a uniquely mammalian trait and results from mammals unique possession of this evolutionarily recent brain structure.
  • The neocortex is responsible for sensory perception, recognition of everything from visual objects to abstract concepts, controlling movement, reasoning from spatial orientation to rational thought, and language--basically, what we regard as “thinking”.
  • Due to its elaborate folding, the neocortex constitutes the bulk of the human brain, accounting for 80 percent of its weight.
  • Human beings have only a weak ability to process logic, but a very deep core capability of recognizing patterns.
  • To do logical thinking, we need to use the neocortex, which is basically a large pattern recognizer. It is not an ideal mechanism for performing logical transformations, but it is the only facility we have for the job.
  • We have established that a human master in a particular field has mastered about 100,000 chunks of knowledge.
  • At the highest conceptual level, we are continually making predictions--who is going to walk through the door next, what someone is likely to say next, what we expect to see when we turn the corner, the likely results of our own actions, and so on. These predictions are constantly occurring at every level of the neocortex hierarchy.
  • We often miss recognize people and things and words because our threshold for confirming an expected pattern is too low.
  • The lists of patterns that constitute a memory are in forward order, and we are able to remember our memories only in that order, hence the difficulty we have in reversing our memories.
  • A memory needs to be triggered by another thought/memory. We experience this mechanism of triggering when we are perceiving a pattern.
  • Learning is critical to human intelligence. If we were to perfectly model and simulate the human neocortex and all of the other brain regions that it requires to function, it would not be able to do very much--in the same way that a newborn infant cannot do much.
  • Learning and recognition take place simultaneously. We start learning immediately, and as soon as we’ve learned a pattern, we immediately start recognizing it. The neocortex is continually trying to make sense of the input presented to it.
  • Relaxing professional taboos turn out to be useful for creative problem solving.
  • As we learn professional skills, we learn the ways of thinking that are recognized and rewarded in our professions, and thereby avoid patterns of thought that might betray the methods and norms of that profession. Many of these taboos are worthwhile, as they enforce social order and consolidate progress. However, they can also prevent progress by enforcing an unproductive orthodoxy.
  • Cultural rules are enforced in the neocortex with help from the old brain, especially the amygdala. Every thought we have triggers other thoughts, and some of them will relate to associated dangers.
  • Natural selection does nothing even close to striving for intelligence. The process is driven by differences in the survival and reproduction rates of replicating organisms in a particular environment.
  • Once biological evolution stumbled on a neural mechanism capable of hierarchical learning, it found it to be immensely useful for evolution's one objective, which is survival. The benefit of having a neocortex became acute when quickly changing circumstances favored rapid learning.
  • Species of all kinds--plants and animals--can learn to adapt to changing circumstances over time, but without a neocortex they must use the process of genetic evolution.
  • The salient survival advantage of the neocortex was that it could learn in a matter of days. If a specific encounters dramatically changed circumstances and one member of that species invents or discovers or just stumbled upon (these three methods all being variations of innovation) a way to adapt to that change, other individuals will notice, learn, and copy that method, and it will quickly spread virally to the entire population.
  • Learning takes place in the creation of connections between these units [neuronal assemblies], not within them, and probably in the synaptic strengths of those interunit connections.
  • The most powerful argument for the universality of processing in the neocortex is the pervasive evidence of plasticity (not just learning but interchangeability): In other words, one region is able to do the work of other regions, implying a common algorithm across the entire neocortex.
  • Animals used to live and survive without a neocortex, and indeed all non mammalian animals continue to do so today. We can view the human neocortex as the great sublimator--thus our primitive motivation to avoid a large predator may be transformed by the neocortex today into completing an assignment to impress our boss; the great hunt may become writing a book on, say, the mind; and pursuing reproduction may become gaining public recognition or decorating your apartment.
  • The neocortex often deals with the problems it is assigned by redefining them.
  • We are apparently able to keep up to about four items in our working memory at a time, two per hemisphere according to recent research by neuroscientists at the MIT Picower Institute for Learning and Memory.
  • Pleasure is also regulated by chemicals such as dopamine and serotonin.
  • It is the job of our neocortex to enable us to be the master of pleasure and fear and not their slave.
  • There is a continual struggle in the human brain as to whether the old or the new brain is in charge.
  • Clearly part of what we regard as aptitude is the product of nurture, that is to say, the influences of environment and other people.
  • If particular regions can be optimized for different types of patterns, then it follows that individual brains will also vary in their ability to learn, recognize, and create certain types of patterns.
  • A very important skill I noted earlier is the courage to pursue ideas that go against the grain of orthodoxy. Invariably, people we regard as geniuses pursued their own mental experiments in ways that were not initially understood or appreciated by their peers.
  • A key aspect of creativity is the process of finding great metaphors--symbols that represent something else. The neocortex is a great metaphor machine, which accounts for why we are a uniquely creative species.
  • Invariably we find metaphors from one field that solve problems in another.
  • We are now in a position to speed up the learning process by a factor of thousands or millions once again by migrating from biological to non biological intelligence.
  • Once a digital neocortex learns a skill, it can transfer that know-how in minutes or even seconds.
  • As soon as we start thinking in the cloud, there will be no natural limits--we will be able to use billions or trillions of pattern recognizers.
  • One approach to building a digital brain is to simulate precisely a biological one.
  • People often fail to appreciate how powerful mathematics can be--keep in mind that our ability to search much of human knowledge in a fraction of a second with search engines is based on a mathematical technique.
  • The key to a genetic algorithm is that the human designers don’t directly program a solution; rather, we let one emerge through an iterative process of simulated competition and improvement.
  • Not surprisingly, the hierarchical nature of language closely mirrors the hierarchical nature of our thinking. Spoken language was our first technology, with written language as the second.
  • Mastering language is a powerfully leveraged capability.
  • Ultimately machines will be able to master all of the knowledge on the Web--which is essentially all of the knowledge of our human-machine civilization.
  • Professional knowledge tends to be more highly organized, structured, and less ambiguous than its common sense counterpart, so it is highly amenable to accurate natural language understanding using these techniques.
  • With regard to our biological intelligence, although our neocortex has significant plasticity, its basic architecture is limited by its physical constraints.
  • The human brain appears to be able to handle only four simultaneous lists at a time (without the aid of tools such as computers), but there is no reason for an artificial neocortex to have such a limitation.
  • A computer can become a brain if it is running brain software.
  • Simply increase the redundancy until you get the reliability you need.
  • Simply repeating information is the easiest way to achieve arbitrarily high accuracy rates from low-accuracy channels, but it is not the most efficient approach.
  • A primary reason for the redundancy in the brain is the inherent unreliability of neural circuits.
  • The brain is extremely slow but massively parallel. Today’s digital circuits are at least 10 million times faster than the brain’s electrochemical switches. Conversely, all 300 million of the brain’s neocortical pattern recognizers process simultaneously, and all quadrillion of its interneuronal connections are potentially computing at the same time.
  • The key issue for providing the requisite hardware to successfully model a human brain, though, is the overall memory and computational throughput required. We do not need to directly copy the brain’s architecture, which would be a very inefficient and inflexible approach.
  • Models often get simpler at a higher level.
  • Minds are simply what brains do.
  • Redundancy, as we have learned, is a key strategy deployed by the neocortex. But there is another level of redundancy in the brain, in that its left and right hemispheres, while not identical, are largely the same.
  • The quintessential example of the law of accelerating returns is the perfectly smooth, doubly exponential growth of the price/performance of computation, which has held steady for 110 years through two world wars, the Great Depression, the Cold War, the collapse of the Soviet Union, the reemergence of China, the recent financial crisis, and all of the other notable events of the late nineteenth, twentieth, and early twenty-first centuries.
  • Computation is the most important example of the law of accelerating returns, because of the amount of data we have for it, the ubiquity of computation, and its key role in ultimately revolutionizing everything we care about.
  • Once a technology becomes an information technology, it becomes subject to the law of accelerating returns.
  • Most inventions and inventors fail not because the gadgets themselves don’t work, but because their timing is wrong, appearing either before all of the enabling factors are in place or too late, having missed the window of opportunity.
  • The reason why information technologies are able to consistently transcend the limitations of any particular paradigm is that the resources required to computer or remember or transmit a bit of information are vanishingly small.
  • Essentially, we always use the latest technology to create the next. Technologies build on themselves in an exponential manner, and this phenomenon is readily measurable if it involves an information technology.
  • Intelligence may be defined as the ability to solve problems with limited resources, in which a key such resource is time. Thus the ability to more quickly solve a problem like finding food for avoiding a predator reflects greater power of intellect.
  • Intelligence evolved because it was useful for survival--a fact that may seem obvious, but one with which not everyone agrees.
  • A primary reason that people believe that life is getting worse is because our information about the problems of the world has steadily improved.
  • The intelligence we will create from the reverse-engineering of the brain will have access to its own source code and will be able to rapidly improve itself in an accelerating iterative design cycle.
  • Although there is considerable plasticity in the biological human brain, as we have seen, it does have a relatively fixed architecture, which cannot be significantly modified, as well as a limited capacity.
  • From quantitative improvement comes qualitative advance.
  • Biological evolution is continuing but technological evolution is moving a million times faster than the former.

20190213

Problem Solving 101 by Ken Watanabe

  • Rather than feeling as though your life is out of your control, you can take charge and shape the world around you. Instead of being overwhelmed by the challenges you face every day, you can learn to enjoy them and overcome them.
  • Problem solving isn’t a talent limited to the lucky few. It’s actually a skill and a habit that you can learn.
  • The value of problem-solving-oriented thinking obviously extends far beyond the classroom into every facet of our lives. It enables us to take control of the challenges we encounter and to change the world in a positive way.
  • As you probably know, being a critic is easy; getting stuff done is the real challenge. Even if you know how things should be done, it’s useless if you aren’t willing to roll up your sleeves and get to work.
  • Problem solving isn’t a talent that some people have and others don’t. It’s a habit. By developing the right skills and adopting the right attitude, anyone can become a problem-solving kid.
  • If you never take action, you’ll never get any feedback on your attempts, and without feedback, you’ll never grow as a problem-solving kid. That great idea in your head will remain just that--only an idea.
  • When you do take action, every result is an opportunity to reflect and learn valuable lessons. Even if what you take away from your assessment seems to be of small consequence, all of these small improvements taken together make a huge difference in the long term.
  • Through both your successful and unsuccessful experiences, your problem-solving skills can develop beyond solving your own problems to actually shaping your environment.
  • Problem solving is a process that can be broken down into four steps:
    • (1) understand the current situation
    • (2) identify the root cause of the problem
    • (3) develop an effective action plan
    • (4) execute until the problem is solved, making modifications as necessary
  • Before you can solve anything, you first need to realize that there’s a problem. Once you do, identifying the root causes of the problem isn’t enough. You have to think through how you could fix the problem, and then actually take the actions required to fix it.
  • Problem solving is a combination of thinking and acting. Just doing one or the other won’t get you anywhere.
  • You might think this sounds really simple. The catch is that we often don’t do what seems simple and obvious.
  • As you can see, problem solving is not complicated. All you have to do is understand the situation, identify the root cause, develop an effective plan, and execute. Even if the problem you face is big and complicated, if you learn how to break it down into smaller, mangeable problems, you will be able to solve it.
  • A logic tree is a great tool to use when you problem solve. It’s a visual tool that helps when you are trying to identify all the potential root causes of a problem and generate a wide variety of solutions.
  • Here’s the approach:
    • Step 1: Diagnose the situation and identify the root cause of the problem.
      • List all the potential root causes of the problem.
      • Develop a hypothesis for the likely root cause.
      • Determine the analyses and information required to test the hypothesis.
      • Analyze and identify the root cause.
    • Step 2: Develop the solution.
      • Develop a wide variety of solutions to solve the problem.
      • Prioritize actions.
      • Develop an implementation plan.
  • A logic tree can also be transformed into a yes/no tree. A yes/no tree groups things into buckets based on the answers to yes/no questions. By assigning everything involved to a bucket, you can more clearly see what the core issue is.
  • You can use a yes/no tree to help you figure out a problem’s root cause or decide how to solve a problem.
  • A hypothesis is a hunch. It’s what you think is the most likely explanation for your problem, but haven’t yet confirmed it.
  • By determining your hypothesis and thinking through the reasoning that underlies it, you will be able to check whether it’s right.
  • People often fall into the trap of collecting information and conducting analyses just for the sake of doing them. Don’t forget that the point of all this research is to help you make informed decisions. Try to collect and analyze information efficiently and effectively. This will help you make better use of your limited time and resources.
  • If you start collecting and analyzing data without first clarifying the question you are trying to answer, you’re probably going yourself more harm than good. You’ll end up drowning in a flood of information and realize only later that most of that research was a waste of time.
  • List as many ideas as you can and have thinking about their feasibility and impact for later. Even if some ideas sound kind of crazy, they may actually lead to interesting and creative solutions. The key rule here is to list as much as possible and then prioritize later.
  • To create the [priority] matrix, rate the impact, from high to low, on the vertical axis. On the horizontal axis, plot the ease of implementation, from hard to easy. The best solutions fall in the top right box, with high impact and easy implementation. The least effective solutions fall in the lower left box, with low impact and hard implementation.
  • People have different strengths. You can accomplish more by collaborating with others who have strengths you may lack.
  • Remember to prioritize your actions and then develop your implementation plan.
  • Problem-solving kids don’t just have big dreams; they go after their larger goals by breaking them down into smaller milestones and asking themselves, “What should I do this year, or in the next three months, or today?” These milestones guide problem-solving kids toward their dreams and help to keep them motivated. Once they lay out a plan for achieving a dream, they then figure out the most effective way to achieve each smaller goals and to take the actions needed.
  • There’s a proven problem-solving kids’ process for figuring out how to achieve such a goal:
    • Step 1: Set a clear goal.
    • Step 2: Determine the gap between the goals and the current situation.
    • Step 3: Form a hypothesis about how to close the gap and achieve the goal.
      • List as many options and ideas as possible.
      • Select the best ideas as the hypothesis.
    • Step 4: Check the hypothesis. Go back to step 3 if the hypothesis is disproved.
  • Determine the analyses and information required to test the hypothesis.
  • Analyze and develop action plan.
  • If you have specific conditions for achieving your goal, you should include them in the goal statement.
  • The more specific the goal is, the more specific the action plan will be.
  • Whenever you set a goal, get into the habit of asking yourself, “What specifically do I want to achieve? When do I want to achieve it? What specific conditions do I have?
  • Once you set a clear goal, you need to identify the gap between your goal and your current situation. If the gap is small, the solution may be very obvious. But if the gap is large, you may have to really think through how to achieve the goal.
  • But when you set a clear hypothesis and rationale, you are more able to collect information and conduct analysis efficiently, and discover if your hypothesis is true.
  • The hypothesis pyramid is a great tool for structuring your argument. Using it to clarify your conclusion and rationale before diving into data collection and analysis will improve your productivity dramatically. It’s also useful for communicating your hypothesis to others.
  • The impact of your actions is determine by the following equation:
    • Impact = plan effectiveness * quality of execution
  • To achieve the most impact, you need to have an effective plan and great execution. If you have one but not the other, you won’t be able to reach your goal. You need both.
  • Once you have a concrete plan of action to achieve your goal, don’t forget to create a concrete schedule. Write down everything you are going to do, and when you plan to do it.
  • Remember to monitor your progress and revise your plan as necessary. Very few things in life ever go as perfectly as planned.
  • Problem-solving kids are great decision makers. They rarely regret their choices, because they take the time beforehand to consider all their options and figure out the best decision for them personally.
  • There are two tools that are very helpful when you need to evaluate multiple options and select the best one.
  • The first tool is called pros and cons. This tool helps you broaden your options and ensures that you consider both the good aspects (pros) and bad aspects (cons) before making a final decision.
  • The pros-and-cons tool can help you sort out the difference between your choices.
  • The next tool is criteria and evaluation. You can use this tool to clarify which criteria, or qualifications, you should use to evaluate your options, decide the importance of each set of criteria, and effectively evaluate your options.
  • Luck is what happens when preparation meets opportunity.
  • Spend less time worrying about things and more time thinking about actions you can take to get closer to your goals, then actually take action.
  • Ask for advice. You don’t have to figure everything out on your own. Look for information to help you make the best decision in the given time.
  • Challenge your own thinking processes and your conclusions.
  • Problem solving is easy when you know how to set a clear goal, figure out how to reach it, and follow through while reviewing your progress and making changes to your plan as necessary.
  • If you make problem solving a habit, you’ll be able to make the most of your talents and take control of your life. You can solve not only your own problems, but the problems of your school, your business, and your community--and maybe even the world.

20190212

Superintelligence by Nick Bostrom


  • Other animals have stronger muscles and sharper claws, but we have cleverer brains. Our modest advantage in general intelligence has led us to develop language, technology, and complex social organization. The advantage has compounded over time, as each generation has built on the achievements of its predecessors.
  • Once unfriendly superintelligence exists, it would prevent us from replacing it or changing its preferences Our fate would be sealed.
  • History, at the largest scale, seems to exhibit a sequence of distinct growth modes, each must more rapid than its predecessor. This pattern has been taken to suggest that another (even faster) growth mode might be possible.
  • Machines matching humans in general intelligence--that is, possessing common sense and an effective ability to learn, reason, and plan to meet complex information-processing challenges across a wide range of natural and abstract domains--have been expected since the invention of computers in the 1940s.
  • Two decades is a sweet spot for prognosticators of radical change: near enough to be attention-grabbing and relevant, yet far enough to make it possible to suppose that a string of breakthroughs, currently only vaguely imaginable, might by then have occurred.
  • Most technologies that will have a big impact on the world in five or ten years from now are already in limited use, while technologies that will reshape the world in less than fifteen years probably exist as laboratory prototypes.
  • The main reason why progress has been slower than expected is that the technical difficulties of constructing intelligent machines have proved greater than the pioneers foresaw.
  • Sometimes a problem that initially looks hopelessly complicated turns out to have a surprisingly simple solution (though the reverse is probably more common).
  • To overcome the combinatorial explosion, one needs algorithms that exploit structure in the target domain and take advantage of prior knowledge by using heuristic search, planning, and flexible abstract representations--capabilities that were poorly developed in the early AI systems.
  • Designed as support tools for decision makers, expert systems were rule-based programs that made simple inferences from a knowledge base of facts, which had been elicited from human domain experts and painstakingly hand-coded in a formal language.
  • While simple neural network models had been known since the late 1950s, the field enjoyed a renaissance after the introduction of the backpropagation algorithm, which made it possible to train multi-layered neural networks.Such multi layered networks, which have one or more intermediary (“hidden”) layers of neurons between the input and output layers, can learn a much wider range of functions than their simpler predecessors. Combined with the increasingly powerful computers that were becoming available, these algorithmic improvements enabled engineers to build neural networks that were good enough to be practically useful in many applications.
  • In practice getting evolutionary methods to work well requires skill and ingenuity, particular in devising a good representational format. Without an efficient way to encode candidate solutions (a genetic language that matches latent structure in the target domain), evolutionary search tends to meander endlessly in a vast search space or get stuck at a local optimum.
  • Even if a good representational format is found, evolution is computationally demanding and is often defeated by the combinatorial explosion.
  • In fact, one of the major theoretical developments of the past twenty years has been clearer realization of how superficially disparate techniques can be understood as special cases within a common mathematical framework.
  • Algorithms differ in their processor time and memory space requirements, which inductive biases they presuppose, the ease with which externally produced content can be incorporated, and how transparent their inner workings are to a human analyst.
  • The ideal is that of the perfect Bayesian agent, one that makes probabilistically optimal use of available information. This ideal is unattainable because it is too computationally demanding to be implemented in any physical computer.
  • One advantage of relating learning problems from specific domains to the general problem of Bayesian inference is that new algorithms that make Bayesian inference more efficient will then yield immediate improvements across many different areas. Advances in Monte Carlo approximation techniques, for example, are directly applied in computer vision, robotics, and computational genetics.
  • Artificial intelligence already outperforms human intelligence in many domains.
  • Common sense and natural language understanding have also turned out to be difficult. It is now often thought that achieving a fully human-level performance on these tasks is an “AI-complete” problem, meaning that the difficulty of solving these problems is essentially equivalent to the difficulty of building generally human-level intelligence machines. In other words, if somebody were to succeed in creating an AI that could do everything else that human intelligence can do, or they would be but a very short step from such a general capability.
  • The fact that the best performance at one time is attained through a complicated mechanism does not mean that no simple mechanism could do the job as well or better. It might simply be that nobody has yet found the simpler alternative.
  • The Google search engine is, arguably, the greatest AI system that has yet been built.
  • Interactions between individually simple components can produce complicated and unexpected effects.
  • Systemic risk can build up in a system as new elements are introduced, risks that are not obvious until after something goes wrong (and sometimes not even then).
  • Another lesson is that smart professionals might give an instruction to a program based on a sensible-seeming and normally sound assumption and that this can produce catastrophic results when the program continues to act on the instruction with iron-clad logical consistency even in the unanticipated situation where the assumption turns out to be invalid.
  • The need for pre-installed and automatically executing safety functionality--as opposed to reliance on runtime human supervision--again foreshadows a theme that will be important in our discussion of machine superintelligence.
  • Historically, AI researchers have not had a strong record of being able to predict the rate of advances in their own field or the shape that such advances would take. On the one hand, some tasks, like chess playing, turned out to be achievable by means of surprisingly simple programs; and naysayers who claimed that machines would “never” be able to do this or that have repeatedly been proven wrong. On the other hand, the more typical errors among practitioners have been to underestimate the difficulties of getting a system to perform robustly on real-world tasks, and to overestimate the advantages of their own particular pet project or technique.
  • Machines are currently far inferior to humans in general intelligence. Yet one day (we have suggested) they will be superintelligent.
  • We can tentatively define a superintelligence as any intellect that greatly exceeds the cognitive performance of humans in virtually all domains of interest
  • It now seems clear that a capacity to learn would be an integral feature of the core design of a system intended to attain general intelligence, not something to be tacked on later as an extension or an afterthought. The same holds for the ability to deal effectively with uncertainty and probabilistic information. Some faculty for extracting useful concepts from sensory data and internal states, and for leveraging acquired concepts into flexible combinatorial representations for use in logical and intuitive reasoning, also likely belong among the core design features in a modern AI intended to attain general intelligence.
  • We know that blind evolutionary processes can produce human-level general intelligence, since they have already done so at least once. Evolutionary processes with foresight--that is, genetic programs designed and guided by an intelligent human programmer--should be able to achieve a similar outcome with far greater efficiency.
  • Evolutionary algorithms require not only variations to select among but also a fitness function to evaluate variants, and this is typically the most computationally expensive component. A fitness function for the evolution of artificial intelligence plausibly requires simulation of neural development, learning, and cognition to evaluate fitness.
  • THe computational cost of simulating one neuron depends on the level of detail that one includes in the simulation. Extremely simple neuron models use about 1,000 floating-point operations per second (FLOPS) to simulate one neuron (in real-time).
  • Evolution achieved human intelligence without aiming at this outcome. In other words, the fitness functions for natural organisms do not select only for intelligence and its precursors.
  • Advances in neuroscience and cognitive psychology--which will be aided by improvements in instrumentation--should eventually uncover the general principles of brain function. This knowledge could then guide AI efforts.
  • A successful seed AI would be able to iteratively enhance itself: an early version of the AI could design an improved version of itself, and the improved version--being smarter than the original--might be able to design an even smarter version of itself, and so forth. Under some conditions, such a process of recursive self-improvement might continue long enough to result in an intelligence explosion--an even in which, in a short period of time, a system’s level of intelligence explosion--an event in which, in a short period of time, a system’s level of intelligence increases from a relatively modest endowment of cognitive capabilities to radical superintelligence.
  • There is one more thing that we should emphasize, which is that an artificial intelligence need not much resemble a human mind. AIs could be--indeed, it is likely that most will be--extremely alien. We should expect that they will have very different cognitive architectures than biological intelligences, and in their early stages of development they will have very different profiles of cognitive strengths and weaknesses.
  • The goal systems of AIs could diverge radically from those of human beings.
  • There is no reason to expect a generic AI to be motivated by love or hate or pride or other such common human sentiments: these complex adaptations would require deliberate expensive effort to recreate in AIs. This is at once a big problem and a big opportunity.
  • In whole brain emulation (also known as “uploading”), intelligent software would be produced by scanning and closely modeling the computational structure of a biological brain.
  • The whole brain emulation path does not require that we figure out how human cognition works or how to program an artificial intelligence. It requires only that we understand the low-level functional characteristics of the basic computational elements of the brain. No fundamental conceptual or theoretical breakthrough is needed for whole brain emulation to succeed.
  • Whole brain emulation does, however, require some rather advanced enabling technologies. There are three key prerequisites: (1) scanning: high-throughput microscopy with sufficient resolution and detection of relevant properties; (2) translation: automated image analysis to turn raw scanning data into an interpreted three-dimensional model of relevant neurocomputational elements; and (3) simulation: hardware powerful enough to implement the resultant computational structure.
  • In general, whole brain emulation relies less on theoretical insight and more on technological capability than artificial intelligence.
  • A third path to greater-than -human intelligence is to enhance the functioning of biological brains. In principles, this could be achieved without technology, through selective breeding.
  • The ultimate potential of machine intelligence is, of course, vastly greater than that of organic intelligence.
  • Even if there were an easy way of pumping more information into our brains, the extra data inflow would do little to increase the rate at which we think and learn unless all the neural machinery necessary for making sense of the data were similarly upgraded.
  • In general terms, a system’s collective intelligence is limited by the abilities of its member meinds, the overheads in communicating relevant information between them and the various distortions and inefficiencies that pervade human organizations.
  • The fact that there are many paths that lead to superintelligence should increase our confidence that we will eventually get there. If one path turns out to be blocked, we can still progress.
  • Machines have a number of fundamental advantages which will give them overwhelming superiority. Biological humans, even if enhanced, will be outclassed.
  • We use the term “superintelligence” to refer to intellects that greatly outperform the best current human minds across many very general cognitive domains.
  • Speed Superintelligence: A  system that can do all that a human intellect can do, but much faster.
  • The simplest example of speed superintelligence would be a whole brain emulation running on fast hardware.
  • Collective superintelligence: A system composed of a large number of smaller intellects such that the system’s overall performance across many very general domains vastly outstrips that of any current cognitive system.
  • Collective intelligence excels at solving problems that can be readily broken into parts such that solutions to sub-problems can be pursued in parallel and verified independently.
  • We can think of wisdom as the ability to get the important things approximately right.
  • Quality superintelligence: A system that is at least as fast as a human mind and vastly qualitatively smarter.
  • Minor changes in brain volume and wiring can have major consequences, as we see when we compare the intellectual and technological achievements of humans with those of other apes.
  • Biological neurons operate at a peak speed of about 200 Hz, a full seven orders of magnitude slower than a modern microprocessor (~ 2 GHz). As a consequence, the human brain is forced to rely on massive parallelization and is incapable of rapidly performing any computation that requires a large number of sequential operations.
  • Many cognitive tasks could be performed far more efficiently if the brain’s native support for parallelizable pattern-matching were complemented by, and integrated with, support for fast sequential processing.
  • Human working memory is able to hold no more than some four or five chunks of information at any given time.
  • It is easier to experiment with parameter variations in software than in neural wetware.
  • Biological brains need extended periods of training and mentorship wherase digital minds could acquire new memoires and skills by swapping data files.
  • A slow takeoff is one that occurs over some long temporal interval, such as decades or centuries. Slow takeoff scenarios offer excellent opportunities for human political processes to adapt and respond. Different approaches can be tried and tested in sequence.
  • A fast takeoff occurs over some short temporal interval, such as minutes, hours, or days. Fast takeoff scenarios offer scant opportunity for humans to deliberate. Nobody need even notice anything unusual before the game is already lost. In a fast takeoff scenario, humanity’s fate essentially depends on preparations previously put in place.
  • A moderate takeoff is one that occurs over some intermediary temporal interval, such as months or years. Moderate takeoff scenarios give humans some chance to respond but not much time to analyze the situation, to test different approaches, or to solve complicated coordination problems. There is not enough time to develop or deploy new systems, but extent systems could be applied to the new challenge.
  • Cognitive enhancement via improvements in public health and diet has steeply diminishing returns. Big gains from eliminating server nutritional deficiencies, and the most severe deficiencies have already been largely eliminated in all but the poorest countries. [...] Education, too, is now probably subject to diminishing returns.
  • Building a seed AI might require insights and algorithms developed over many decades by the scientific community around the world. But it is possible that the last critical breakthrough idea might come from a single individual or a small group that succeeds in putting everything together.
  • Given the extreme security implications of superintelligence, governments would likely seek to nationalize any project on their territory that they thought close to achieving a takeoff. A powerful state might also attempt to acquire projects located in other countries through espionage, theft, kidnapping, bribery, threats, military conquest, or any other available means.
  • Human decision makes often seem to be acting out an identify or a social role rather than seeking to maximize the achievement of some particular objective.
  • The principal reason for humanity’s dominant position on Earth is that our brains have a slightly expanded set of faculties compared with other animals. Our greater intelligence lets us transmit culture more efficiently, with the result that knowledge and technology accumulates from one generation to the next.
  • It is important not to anthropomorphize superintelligence when thinking about its potential impacts. Anthropomorphic frames encourage unfounded expectations about the growth trajectory of a seed AI and about the psychology, motivations, and capabilities of a mature superintelligence.
  • A machine superintelligence might itself by an extremely powerful agent, one that could successfully assert itself against the project that brought it into existence as well as against the rest of the world.
  • Excelling at a task like strategizing, social manipulation, or hacking involves having a skill at that task that is high in comparison to the skills of other agents.
  • Despite the fact that human psychology corresponds to a tiny spot in the space of possible minds, there is a common tendency to project human attributes onto a wide range of alien or artificial cognitive systems.
  • Improvements in rationality and intelligence will tend to improve an agent’s decision-making, rendering the agent more likely to achieve its final goals. One would therefore expect cognitive enhancement to emerge as an instrumental goal for a wide variety of intelligence agents. For similar reasons, agents will tend to instrumentally value many kinds of information.
  • If intelligence and knowledge come at a cost, such as time and effort expended in acquisition, or increased storage or processing requirements, then the agent might prefer less knowledge and less intelligence.
  • Much information is irrelevant to our goals; we can often rely on others’ skill and expertise; acquiring knowledge takes time and effort; we might intrinsically value certain kinds of ignorance; and we operate in an environment in which the ability to make strategic commitments, socially signal ,an satisfy other people’s direct preferences over our own epistemic states is often more important to us than simple cognitive gains.
  • A great deal of resource accumulation is motivated by social concerns-gaining status, mates, friends, and influence, through wealth accumulation and conspicuous consumption. Perhaps less commonly, some people seek additional resources to achieve altruistic ambitions or expensive non-social aims.
  • An existential risk is one that threatens to cause the extinction of Earth originating intelligent life or to otherwise permanently and drastically destroy its potential for future desirable development.
  • An unfriendly AI of sufficient intelligence realizes that it's unfriendly final goals will be best realized if it behaves in a friendly manner initially, so that it will be let out of the box. It will only start behaving in a way that reveals its unfriendly nature when it no longer matters whether we found out; that is, when the AI is strong enough that human opposition is ineffectual.
  • We can thus perceive a general failure mode, wherein the good behavioral track record of a system in its juvenile stages fails utterly to predict its behavior at a more mature stage.
  • While weak, an AI behaves cooperatively. When the AI gets sufficiently strong--without warning or provocation--it strikes, forms a singleton, and begins directly to optimize the world according to the criteria implied by its final values.
  • One feature of a malignant failure is that it eliminates the opportunity to try again. The number of malignant failures that will occur is therefore either zero or one.
  • In general, while an animal or a human can achieve some desired inner mental state, a digital mind that has full control of its internal state can short-circuit such a motivational regime by directly changing its internal state into the desired configuration: the eternal actions and conditions that were previously necessary as means become superfluous when the AI becomes intelligent and capable enough to achieve the end more directly.
  • We have seen enough to conclude that scenarios in which some machine intelligence gets a decisive strategic advantage are to be viewed with grave concern.
  • It is important to realize that some control method (or combination of methods) must be implemented before the system becomes super intelligent. It cannot be done after the system has obtained a decisive strategic advantage.
  • The need to solve the control problem in advance--and to implement the solution successfully in the very first system to attain superintelligence--is part of what makes achieving a controlled detonation such a daunting task.
  • Human beings are not secure systems, especially not when pitched against a superintelligent schemer and persuader.
  • Incentive methods involve placing an agent in an environment where it finds instrumental reasons to act in ways that promote the principal’s interests.
  • Any piece of information can in principle be relevant to any topic whatsoever, depending on the background information of a reasoner.
  • A tripwire is a mechanism that performs diagnostic tests on the system and effects a shutdown if it detects signs of dangerous activity.
  • Direct specification is the most straightforward approach to the control problem. The approach comes in two versions, rule-based and consequentialist, and involves trying to explicitly define a set of rules or values that will cause even a free-roaming superintelligent AI to act safely and beneficially.
  • Oracles with superintelligence in extremely limited domains already exist.
  • Even simple evolutionary search processes sometimes produce highly unexpected results, solutions that satisfy a formal user-defined criterion in a every different way then the user expected or intended.
  • TO the extent that cheap machine labor can substitute for human labor, human jobs may disappear.
  • Superimposed on local fluctuations history shows a macro-pattern of initially slow but accelerating economic growth, fueled by the accumulation of technological innovations.
  • Human behavior has not yet adapted to contemporary conditions. Not only do we fail to take advantage of obvious ways to increase our inclusive fitness but we actively sabotage our fertility by using birth control.
  • We seldom put forth full effort. When we do, it is sometimes painful.
  • The essential property of a superorganism is not that it consists of copies of a single progenitor but that all the individual agents within it are fully committed to a common goal.
  • UNless the plan is to keep superintelligence bottled up forever, it will be necessary to master motivation selection.
  • It is impossible to enumerate all possible situations a superintelligence might find itself in and to specify for each what action it should take.
  • Similarly, it is impossible to create a list of all possible worlds and assign each of them a value. IN any realm significantly more complicated than a game of tic-tac-toe, there are far too many possible states for exhaustive enumeration to be feasible. A motivation system, therefore, cannot be specified as a comprehensive lookup table. It must instead be expressed more abstractly, as a formula or rule that allows the agent to decide what to do in any given situation.
  • One formal way of specifying such a decision rule is via a utility function. A utility function assigns value to each outcome that might obtain, or more generally to each “possible world”.
  • Given a utility function, one can define an agent that maximizes expected utility.
  • If an agent is not already fundamentally friendly by the time it gains the ability to reflect on its own agency, it will not take kindly to a belated attempt at brainwashing or a plot to replace it with a different agent that better loves its neighbor.
  • Retard the development of dangerous and harmful technologies, especially ones that raise the level of existential risk; and accelerate the development of beneficial technologies, especially those that reduce the existential risks posed by nature or by other technologies.
  • Faster computers make it easier to create machine intelligence. One effect of accelerating progress in hardware, therefore, is to hasten the arrival of machine intelligence.
  • The case for rushing is especially strong with regard to technologies that could extend our lives and thereby increase the expected fraction of the currently existing population that may still be around for the intelligence explosion.
  • The common good principle: Superintelligence should be developed only for the benefit of all of humanity and in the service of widely shared ethical ideals.
  • Technical progress in machine learning has been swifter than most had expected.
  • Deep learning methods--essentially many-layered neural networks--have, thanks to a combination of faster computers, larger data sets, and algorithmic refinements, begun to approach (and in some cases exceed) human performance on many perceptual tasks, including handwriting recognition, image recognition and image captioning, speech recognition, and facial recognition.

20190211

The Little MLer by Matthias Felleisen & Daniel P. Friedman


  • Most large computer programs are never completely understood; if they were, they wouldn’t go wrong so often and we would be able to describe what they do in a scientific way. A good language should help to improve this state of affairs.
  • Programs consume data and produce data; designing a program requires a thorough understanding of data. In ML, programmers can express their understanding of the data using the sublanguage of types. Once the types are formulated, the design of the program follows naturally.
  • Most collections of data, and hence most type specifications, are inductive, that is, they are defined in terms of themselves. Hence, most programs are recursive; again, they are defined in terms of themselves.
  • A type is a name for a collection of values.
  • The First Moral
    • Use datatype to describe types. When a type contains lots of values, the data type definition refers to itself. Use alpha with datatype to define shapes.
  • The Second Moral
    • The number and order of the patterns in the definition of a function should match that of the definition of the consumed data type.
  • The Third Moral
    • Functions that produce values of a data type must use the associated constructors to build data of that type.
  • The Fourth Moral
    • Some functions consume values of star type; some produce values of star type.
  • The Fifth Moral
    • Write the first draft of a function following all the morals. When it is correct and no sooner, simplify.
  • The Sixth Moral
    • As datatype definitions get more complicated, so do the functions over them.
  • The Seventh Moral
    • Some functions consume values of arrow type; some produce values of arrow type.
  • The Eighth Moral
    • Replace stars by arrows to reduce the number of values consumed and to increase the generality of the function defined.
  • The Ninth Moral
    • Some functions produce exceptions instead of value; some don’t produce anything. Handle raised exceptions carefully.
  • The Tenth Moral
    • Real programs consist of many components. Specify the dependencies among these components using signatures and functors.

20190210

The Reasoned Schemer by Daniel P. Friedman, William E. Byrd, & Oleg Kiselyov


  • The Law of Fresh
    • If x is fresh, then (= v x) succeeds and associates x with v.
  • The Law of =
    • (= v w) is the same as (= w v)
  • The Law of cond-e
    • To get more values from cond, pretend that the successful cond line has failed, refreshing all variables that got an associated from that line.
  • The Law of cond-i
    • Cond-i behaves like cond-e, except that its values are interleaved.
  • We believe that it is natural to extend functional programming to relational programming.
  • In order to do relational programming, we need only two constants: #s and #u, and only three operators: =, fresh, and cond-e.
  • #s and #u are reminiscent of the Boolean constants: #t and #f; fresh expressions resemble lambda expressions; and cond-e expressions are syntactically like cond expressions.
  • The First Commandment
    • To transform a function whose value is a Boolean into a function whose value is a goal, replace cond with cond-e and un-nest each question and answer. Un-nest the answer #t (or #f) by replacing it with #s (or #u).
  • The Second Commandment
    • To transform a function whose value is not a Boolean into a function whose value is a goal, add an extra argument to hold its value, replace cond with cond-e, and un-nest each question and answer.
  • The Third Commandment
    • If prior to determining the question of a cond-a (or cond-u) line a variable is fresh, it must remain fresh in the question of that line.

20190209

The Seasoned Schemer by Daniel P. Friedman & Matthias Felleisen


  • The Eleventh Commandment: Use additional arguments when a function needs to know what other arguments to the function have been like so far.
  • The Twelfth Commandment: Use (letrec …) to remove arguments that do not change for recursive applications.
  • The Thirteenth Commandment: Use (letrec …) to hide and to protect functions.
  • The Fourteenth Amendment: Use (letrec …) to return values abruptly and promptly.
  • The Fifteenth Commandment: Use (let …) to name the values of repeated expressions in a function definition if they may be evaluated twice for one and the same use of the function. And use (let …) to name the values of expressions (without set!) that are re-evaluated every time a function is used.
  • The Sixteenth Commandment: Use (set! …) only with names defined in (let …)s.
  • The Seventeenth Commandment: Use (set! X …) for (let ((x …)) … ) only if there is at least one (lambda …) between it and the (let …), or if the new value for x is a function that references to x.
  • The Eighteenth Commandment: Use (set! x…) only when the value that x refers to is no longer needed.
  • The Nineteenth Commandment: Use (set! …) to remember valuable things between two distinct uses of a function.
  • The Twentieth Commandment: When thinking about a value created with (letcc …), write down the function that is equivalent but does not forget. Then, when you use it, remember to forget.

20190208

The Little Schemer by Daniel P. Friedman & Matthias Felleisen


  • The Law of Car: The primitive car is defined only for non-empty lists.
  • The Law of Cdr: The primitive cdr is defined only for non-empty lists. The cdr of any non-empty list is always another list.
  • The Law of Cons: The primitive cons takes two arguments. The second argument to cons must be a list. The result is a list.
  • The Law of Null?: The primitive “null?” is defined only for lists.
  • The Law of Eq?: The primitive “eq?” takes two arguments. Each must be a non-numeric atoms.
  • Lambda creates a function and define gives it a name.
  • The First Commandment:
    • When recurring on a list of atoms, lat, ask two questions about it: (null? lat) and else.
    • When recurring on a number, n, ask two questions about it: (zero? n) and else.
    • When recurring on a list of S-expressions, l, ask three questions about it: (null? l), (atom? (car l)), and else.
  • The Second Commandment: Use cons to build lists.
  • The Third Commandment: When building a list, describe the first typical element, and then cons it onto the natural recursion.
  • The Fourth Commandment:
    • Always change at least one argument while recurring.
    • When recurring on a list of atoms, lat, use (cdr lat). When recurring on a number, n, use (sub1 n). And when recurring on a list of S-expressions, l, use (car l) and (cdr l) if neither (null? l) nor (atom? (car l)) are true.
    • It must be changed to be closer to termination. The changing argument must be tested in the termination condition:
      • When using cdr, test termination with “null?”
      • When using sub1, test termination with “zero?”
  • The Fifth Commandment:
    • When building a value with ‘+’, always use 0 for the value of the terminating line, for adding 0 does not change the value of an addition.
    • When building a value with ‘x’, always use 1 for the value of the terminating line, for multiplying by 1 does not change the value of a multiplication.
    • When building a value with cons, always consider () for the value of the terminating line.
  • The Sixth Commandment: Simplify only after the function is correct.
  • The Seventh Commandment: Recur on the subparts that are of the same nature:
    • On the sublists of a list.
    • On the subexpressions of an arithmetic expression.
  • The Eighth Commandment: Use help functions to abstract from representations.
  • The Ninth Commandment: Abstract common patterns with a new function.
  • The Tenth Commandment: Build functions to collect more than one value at a time.

20190201

Starting Forth by Leo Brodie


  • I disregarded much conventional wisdom in order to include exactly the capabilities needed by a productive programmer. The most important of these is the ability to add whatever capabilities later become necessary.
  • One principle that guided the evolution of Forth, and continues to guide its application, is blunty: Keep it simple.
  • Simplicity provides confidence, reliability, compactness, and speed.
  • Forth is a very unusual language. It violates many cardinal rules of programming.
  • Actually a computer language should not be difficult to understand. Its purpose is simply to serve as a convenient compromise for communication between a person and a computer.
  • A high-level language looks the same to a programmer regardless of which make or model of computer it’s running on.
  • A language should be designed for the convenience of its human users, but at the same time for compatibility with the operation of the computer.
  • Forth begins with a powerful set of standard commands, then provides the mechanism by which you can define your own commands.
  • The structural process of building definitions upon previous definitions is Forth’s equivalent of high-level coding.
  • Forth offers a simple means to maximize a processor’s efficiency.
  • In Forth, a defined command is called a “word”.
  • The ability to define a word in terms of other words is called “extensibility”.
  • Extensibility leads to a style of programming that is extremely simple, naturally well organized, and as powerful as you want it to be.
  • One of Forth’s many unique features is that it lets you “execute” a word by simply naming the word.
  • Forth is called an “interactive” language because it carries out your commands the instant that you enter them.
  • Words must be separated by at least one space for Forth to be able to recognize them as words and/or numbers.
  • A Forth application, when listed, consists of a series of increasingly powerful definitions rather than a sequence of instructions to be executed in order.
  • Each word and its definition are entered into Forth’s “dictionary”.
  • In general, computers perform their operations by breaking everything they do not  ridiculously tiny pieces of information and ridiculously easy things to do.
  • Forth uses “postfix” notation rather than “infix” notation so that all words which “need” numbers can get them from the stack.
  • When all operators are defined to work on the values that are already on the stack, interaction between many operations remains simple even when the program gets complex.
  • In general, the only accessible value at any given time is the top value.
  • To convert to postfix, simply move the operator to the end of the expression.
  • The word SWAP is defined to switch the order of the top two stack items.
  • When writing equations in Forth, it’s best to “factor them out” first.
  • You can define the same word more than once in different ways--only the most recent definition will be executed.
  • The word FORGET looks up a given word in the dictionary and, in effect, removes it from the dictionary along with anything you may have defined since that word.
  • Only the compiled form of your definition is saved in the dictionary.
  • All Forth systems use disk memory.
  • The compiler compiles all dictionary entries into computer memory so that the definitions will be quickly accessible.
  • Disk memory is divided into units called “blocks”. Each block holds 1024 characters of source, or binary data, traditionally organized as 16 lines of 64 characters.
  • The words that follow IF are executed if the condition is true. The words that follow THEN are always executed.
  • The words 0=, 0< and 0> expect only one value on the stack. The value is compared with zero.
  • Forth allows you to provide an alternate phrase in an IF statement with the word ELSE.
  • IF will take any non-zero value to mean true.
  • All comparison operators return well formed flags.
  • As your applications become more sophisticated, you will be able to write statements in Forth that look like postfix English and are very easy to read.
  • The parameter stack holds parameters (or “arguments”) that are being passed from word to word.
  • The return stack, however, holds any number of “pointers” which the Forth system uses to make its merry way through the maze of words that are executing other words.
  • “Floating point representation” is a way to store numbers in computer memory using a form of scientific notation.
  • You should note carefully that when a processor supports hardware floating-point, it is almost always much faster and more compact than the fixed-point equivalent.
  • It turns out that you can approximate nearly any constant by many different pairs of integers, all numbers less than 32768, with an error less than 10^-8.
  • The user may keep values on the return stack temporarily, under certain circumstances.
  • Conditional branching is one of the things that make computers as useful as they are.
  • The ability to perform loops is probably one of the most significant things that make computers as powerful as they are.
  • LEAVE causes the loop to end immediately.
  • This bizarre-seeming method for representing negative values makes it possible for the computer to use the same procedures for subtraction as well as addition.
  • The stack can be used to hold either signed or unsigned numbers. Whether a binary value is interpreted as signed or unsigned depends on the operators that you apply to it.
  • In Forth, variables are appropriate for any value that is used inside a definition that may need to change at any time after the definition has already been compiled.
  • One use for constants is to name a hardware address.
  • Forth programmers tend to follow this convention: when possible, words should destroy their own parameters.
  • In general, it’s better to put DUP inside the “calling definition” then the “called” definition.
  • Forth systems provide ways to manage the dictionary by organizing words into vocabularies.
  • Execution of a definition will stop when KEY is encountered until an input character is received.
  • Programming in Forth is more of an “art” than programming in any other language.