-The second part of the book is about some ways in which people with different ancestries are different from each other! Obviously, there are no "distinct" "races" (that would be dumb), but it turns out (as [Li _et al._ found in 2008](/papers/li_et_al-worldwide_human_relationships_inferred.pdf)) that when you throw clustering and dimensionality-reduction algorithms at SNP data (<em>s</em>ingle <em>n</em>ucleotide <em>p</em>olymorphisms, places in the genome where more than one allele has non-negligible frequency), you get groupings that are a pretty good match to classical or self-identified "race". Ask the computer to assume that an individual's ancestry came from _K_ ancestral populations where _K_ := 2, and it'll
+The second part of the book is about some ways in which people with different ancestries are different from each other! Obviously, there are no "distinct" "races" (that would be dumb), but it turns out (as found by endeavors such as [Li _et al._ 2008](/papers/li_et_al-worldwide_human_relationships_inferred.pdf)) that when you throw clustering and [dimensionality-reduction](https://en.wikipedia.org/wiki/Dimensionality_reduction) algorithms at SNP data (<em>s</em>ingle <em>n</em>ucleotide <em>p</em>olymorphisms, places in the genome where more than one allele has non-negligible frequency), you get groupings that are a pretty good match to classical or self-identified "races".
+
+Ask the computer to assume that an individual's ancestry came from _K_ fictive ancestral populations where _K_ := 2, and it'll infer that sub-Saharan Africans are descended entirely from one, East Asians and some native Americans are descended entirely from the other, and everyone else is an admixture. But if you set _K_ := 3, populations from Europe and the near East (which were construed as admixtures in the _K_ := 2 model) split off as a new "pure" cluster. And so on.
+
+These ancestry groupings _are_ a "construct" in the sense that the groupings aren't "ordained by God"—the algorithm can find _K_ groupings for your choice of _K_—but _where_ it [draws those category boundaries](https://www.lesswrong.com/posts/esRZaPXSHgWzyB2NL/where-to-draw-the-boundaries) is a function of the data. The construct is doing _cognitive work_, concisely summarizing statistical regularities in the dataset (which is _too large_ for humans to hold in their heads all at once): a map that reflects a territory.
+
+Twentieth-century theorists like Fisher and Haldane and whatshisface-the-guinea-pig-guy had already figured out a lot about how evolution works (stuff like, a mutation that confers a fitness advantage of _s_ has a probability of about 2<em>s</em> of sweeping to fixation), but a lot of hypotheses about recent human evolution weren't easy to test or even formulate until the genome was sequenced!
+
+You might think that there wasn't enough _time_ in the 2–5k generations since we came forth out of Africa for much human evolution to take place: a new mutation needs to confer an unusually large benefit to sweep to fixation that fast. But what if you didn't actually need any new mutations? Natural selection on polygenic traits can also act on "standing variation": variation _already_ present in the population that was mostly neutral in previous environments, but is fitness-relevant to new selection pressures. The rapid response to selective breeding observed in domesticated plants and animals mostly doesn't depend on new mutations.
+
+Another mechanism of recent human evolution is _introgression_: early humans interbred with our Neanderthal and Denisovan "cousins", giving our lineage the chance to "steal" all their good alleles! In contrast to new mutations, which usually die out even when they're beneficial (that 2<em>s</em> rule again), alleles "flowing" from another population keep getting reintroduced, giving them more chances to sweep!