Posts tagged booknotes

booknotes: how to solve it (g. polya)

posted on 2016-05-21 15:01

Note: WIP/TODO work in progress

As an exercise in destilling information from things I read, it may help to see how paraphrasing book contents serves. This means extracting titles and maybe adding short notes, so if I reread them later I can see how much of the book itself I can stll recall and recall the thought process behind it. Sometimes this may be the same as a reprint of the contents, sometimes things will be paraphrased.

Most of this book seems quite natural (ok, it is, beside the math parts at times), but the nice point of it is the way it gets you into it's proposed mindset while reading it, so you submerge the steps more self-conciously.

part 1: in the classroom


  1. helping the student - just lead the teaching
  2. questions, recommendations, mental operations - ask questions to guide their search
  3. generality - whats the problem, the data, its environment?
  4. common sense - get them to search comparable/analoguous problems they already solved for comparison
  5. teacher and student. imitation and practice. - implicitly convey how to teach the student

main divisions, main questions

  1. four phases - 'understand, plan, carry out, review'
  2. understanding the problem - try approaches that come natural: draw, write, build, create a notation or domain language
  3. example - arouse curiosity by letting them bond with the environment so they familiarize
  4. devising a plan - break the problem into smaller subproblems that you have solutions for, for a complete solution
  5. example - rerepeat paraphrased questions, more concrete examples
  6. carrying out the plan - check every step in the solution, and just 'do'
  7. example - check the amount of understanding being present, but don't push
  8. looking back - is the solution obvious, or can it be derived differently? can the solution/approach be used on other problems?
  9. example - can the arguement and the result be checked, do they apply to all data, are they dimension-agnostic?
  10. various approaches - all of the above, revisited
  11. the teacher's method of questioning - be unobtrusive to the student's solution process, let them faciliate mental habits of the above
  12. good questions, bad questions - make the understand the solution's steps one by one, don't shortcut anything

more examples

  1. a problem of construction - geometrical example
  2. a problem to prove - proof example
  3. a rate problem - differentiation example

part 2: how to solve it - a dialogue

getting aquainted

Essential substeps in each of the four phases:

Analyse the problem statement as good as you can.

working for a better understanding

Gather all facts and order them in ways that come naturally to you.

hunting for the helpful idea

After memorizing the problem and familiarizing with its domain, remember similar problems' solutions', ask others. Think of what you can gain in the aftermath. See how far you can get with your current ideas, even if they are incomplete.

carrying out the plan

execute the idea of your solution, checking each step forward after it was done.

looking back

Simplify your solution as much as you can. Try applying it to other problems.

See how your problem-solving skill improved.

part 3: short dictionary of heuristic


  1. analoguos objects agree in certain relations of their respective parts
  2. it is used on different levels
  3. you are lucky when you find a simpler analoguous problem during problem-solving
  4. solve the simpler problem
  5. use the previous solution as a model on solving the current problem
  6. or use the result of a previous problem for solving the current problem
  7. or use both result(s) and model(s) of previous problems
  8. plausible forecasts of the solution are analogies, too, but handle with care
  9. more cases strengthen you analogy
  10. try discerning the relationship between solutions to get further clues, try induction for mathematical problems
  11. analogies can be as precise as mathematical ideas

auxiliary elements

  • various kinds of these exist, they are basically everything problem-related in the same domain
  • they can be 'related' results or approaches or domain elements
  • get a suitable notation
  • note why auxiliary objects were introduced

auxiliary problems

  • solve auxiliary problems to circumenvent current obstacles
  • consider the time trade-off going down other paths
  • variations of the current problem and looking at your unknown(s) help finding these
  • equivalent problems which are more special problems of the current one, are auxiliary problems, too
  • chains of auxiliary problems may lead to the solution, be careful to only use equivalent problems
  • try solving more general problems to achieve the solution to the current special one

bernard bolzano

Some notes on Bolzano's motives about his notes about the subject of heuristics.

bright idea

Bright ideas are sudden leaps toward the solution at an inappreciable time

can you check the result/argument?

  • assess arguements / facts against common sense
  • generalize solutions and check with different input data
  • mix the order of steps towards the solution
  • check all data to work
  • domain knowledge increases with more solutions to related problems

can you derive the result differently?

Try variating steps towards the solution to come up with a better or different one.

can you use the result?

can the solution be applied to other problems, which are not variations of the previous one?

carrying out

  • heuristic reasoning is fine during planning
  • correctly checking each step during carrying out is then even more important
  • check major steps first
  • include the motives from your reasoning


Requirements to the einironment of the problem domain may

  • contradict
  • rendundant

Eliminate redundant conditiones, check how contradicting conditions relate and when they matter.


General solution for another problem upon which you stumble during solving the current problem.

could you derive something useful from the data?

See how the data relates to get nearer to the solution.

could you restate the problem?

rephrase / redefine to get to different views.

decomposing and recombining

--- currently no time for reading ---

This blog covers .csv, .htaccess, .pfx, .vmx, /etc/crypttab, /etc/network/interfaces, /etc/sudoers, /proc, 10.04, 14.04, AS, ASA, ControlPanel, DS1054Z, GPT, HWR, Hyper-V, IPSEC, KVM, LSI, LVM, LXC, MBR, MTU, MegaCli, PHP, PKI, R, RAID, S.M.A.R.T., SNMP, SSD, SSL, TLS, TRIM, VEEAM, VMware, VServer, VirtualBox, Virtuozzo, XenServer, acpi, adaptec, algorithm, ansible, apache, apachebench, apple, applet, arcconf, arch, architecture, areca, arping, asa, asdm, autoconf, awk, backup, bandit, bar, bash, benchmarking, binding, bitrate, blackarmor, blockdev, blowfish, bochs, bond, bonding, booknotes, bootable, bsd, btrfs, buffer, c-states, cache, caching, ccl, centos, certificate, certtool, cgdisk, cheatsheet, chrome, chroot, cisco, clamav, cli, clp, clush, cluster, coleslaw, colorscheme, common lisp, configuration management, console, container, containers, controller, cron, cryptsetup, csync2, cu, cups, cygwin, d-states, database, date, db2, dcfldd, dcim, dd, debian, debug, debugger, debugging, decimal, desktop, df, dhclient, dhcp, diff, dig, display manager, dm-crypt, dmesg, dmidecode, dns, docker, dos, drivers, dtrace, dtrace4linux, du, dynamictracing, e2fsck, eBPF, ebook, efi, egrep, emacs, encoding, env, error, ess, esx, esxcli, esxi, ethtool, evil, expect, exportfs, factory reset, factory_reset, factoryreset, fail2ban, fbsd, fdisk, fedora, file, filesystem, find, fio, firewall, firmware, fish, flashrom, forensics, free, freebsd, freedos, fritzbox, fsck, fstrim, ftp, ftps, g-states, gentoo, ghostscript, git, git-filter-branch, github, gitolite, global, gnutls, gradle, grep, grml, grub, grub2, guacamole, hardware, haskell, hdd, hdparm, hellowor, hex, hexdump, history, howto, htop, htpasswd, http, httpd, https, i3, icmp, ifenslave, iftop, iis, imagemagick, imap, imaps, init, innoDB, innodb, inodes, intel, ioncube, ios, iostat, ip, iperf, iphone, ipmi, ipmitool, iproute2, ipsec, iptables, ipv6, irc, irssi, iw, iwconfig, iwlist, iwlwifi, jailbreak, jails, java, javascript, javaws, js, juniper, junit, kali, kde, kemp, kernel, keyremap, kill, kpartx, krypton, lacp, lamp, languages, ldap, ldapsearch, less, leviathan, liero, lightning, links, linux, linuxin3months, lisp, list, livedisk, lmctfy, loadbalancing, locale, log, logrotate, looback, loopback, losetup, lsblk, lsi, lsof, lsusb, lsyncd, luks, lvextend, lvm, lvm2, lvreduce, lxc, lxde, macbook, macro, magento, mailclient, mailing, mailq, manpages, markdown, mbr, mdadm, megacli, micro sd, microsoft, minicom, mkfs, mktemp, mod_pagespeed, mod_proxy, modbus, modprobe, mount, mouse, movement, mpstat, multitasking, myISAM, mysql, mysql 5.7, mysql workbench, mysqlcheck, mysqldump, nagios, nas, nat, nc, netfilter, networking, nfs, nginx, nmap, nocaps, nodejs, numberingsystem, numbers, od, onyx, opcode-cache, openVZ, openlierox, openssl, openvpn, openvswitch, openwrt, oracle linux, org-mode, os, oscilloscope, overview, parallel, parameter expansion, parted, partitioning, passwd, patch, pct, pdf, performance, pfsense, php, php7, phpmyadmin, pi, pidgin, pidstat, pins, pkill, plasma, plesk, plugin, posix, postfix, postfixadmin, postgres, postgresql, poudriere, powershell, preview, profiling, prompt, proxmox, ps, puppet, pv, pveam, pvecm, pvesm, pvresize, python, qemu, qemu-img, qm, qmrestore, quicklisp, quickshare, r, racktables, raid, raspberry pi, raspberrypi, raspbian, rbpi, rdp, redhat, redirect, registry, requirements, resize2fs, rewrite, rewrites, rhel, rigol, roccat, routing, rs0485, rs232, rsync, s-states, s_client, samba, sar, sata, sbcl, scite, scp, screen, scripting, seafile, seagate, security, sed, serial, serial port, setup, sftp, sg300, shell, shopware, shortcuts, showmount, signals, slattach, slip, slow-query-log, smbclient, snmpget, snmpwalk, software RAID, software raid, softwareraid, sophos, spacemacs, spam, specification, speedport, spi, sqlite, squid, ssd, ssh, ssh-add, sshd, ssl, stats, storage, strace, stronswan, su, submodules, subzone, sudo, sudoers, sup, swaks, swap, switch, switching, synaptics, synergy, sysfs, systemd, systemtap, tar, tcpdump, tcsh, tee, telnet, terminal, terminator, testdisk, testing, throughput, tmux, todo, tomcat, top, tput, trafficshaping, ttl, tuning, tunnel, tunneling, typo3, uboot, ubuntu, ubuntu 16.04, udev, uefi, ulimit, uname, unetbootin, unit testing, upstart, uptime, usb, usbstick, utf8, utm, utm 220, ux305, vcs, vgchange, vim, vimdiff, virtualbox, virtualization, visual studio code, vlan, vmstat, vmware, vnc, vncviewer, voltage, vpn, vsphere, vzdump, w, w701, wakeonlan, wargames, web, webdav, weechat, wget, whois, wicd, wifi, windowmanager, windows, wine, wireshark, wpa, wpa_passphrase, wpa_supplicant, x11vnc, x2x, xfce, xfreerdp, xmodem, xterm, xxd, yum, zones, zsh

Unless otherwise credited all material Creative Commons License by sjas