by Michael Cain
(submitted by request)
A recent comment thread headed off into a discussion of the attractions of games and puzzles that involve combinatorial search, like Wordle or Sudoku or Freecell. Here's an example of a combinatorial puzzle. My daughter brought this home from math class when she was in eighth grade (long ago).
On the way home from work I stopped at the corner convenience store to pick up four items. The checkout clerk did things on the register and told me "$7.11, please."
"That seems too much. How did you calculate that?" I asked.
"I multiplied the four prices together."
"Aren't you supposed to add the prices?"
"Oh, right." After a moment he said, "Still $7.11."
What were the prices of the four items?
She told me the math teacher was explaining a technique he called guess and check: guess at the answer and check to see if it's correct. She thought it was stupid and clearly expected me to think the same. She was surprised when I said, "Cool! There's a whole bunch of neat math in there!" We talked about problems where you had to choose from a set of possibilities and had to find the right combination to solve the problem. That you often needed to find a clever strategy so you could find the right combination in a reasonable amount of time. We played around with this particular problem some, but didn't guess the right answer before it got tiresome. (No one else in the class guessed the right answer either.)
Some years after that I was working at an applied research lab that did lunch-time technical talks. I was asked to do one that had some math, some entertainment value, and that most of the staff would be able to follow. My recollection of the talk about the 7-11 problem is reproduced below the fold.
Oh, and open thread, because why not?
A first observation: solving combinatorial problems tends to be hard because they get big in a hurry. The 7-11 problem is simple to state, but the number of combinations of prices is 7114, about 255 billion. Sometimes, though, it's possible to take simpler non-combinatorial approaches and get the answer. Suppose a, b, c, and d represent the four prices. A different way to state the problem ignoring the constraint that the answer has to be exact in dollars and cents is
minimize abs(7.11-(a+b+c+d)) + abs(7.11-(a*b*c*d))
The minimum value will be zero when the variable values satisfy the sum and product requirement. Any set of values that doesn't satisfy those requirements will have a positive value. So, haul out your handy nonlinear minimization software and give it a go. "But Mike," I hear you say, "I don't have any nonlinear minimization software handy." Chances are better than you think that you do. The Windows version of Excel has included the nonlinear minimization tool Solver for most of 30 years. Many, many years ago when I was a graduate student I spent a semester working on the software that would eventually become the nonlinear optimization part of Solver. The quality of the code I inherited was so poor it led me to spend a morning and some amount of the department's money working my way through telephone operators and secretaries until I got a particular graduate student at Case Western University on the line so I could tell him, "Set foot in Austin, Texas and you're a dead man!" and hang up. But I digress...
I have my own piece of nonlinear minimization code that I've hauled around for decades. It's relatively simple-minded but can be coerced into doing useful things if the problem is not too big. The graph below shows how it progresses from an initial guess that all the prices are $1.50. It takes a while but converges to a set of prices whose sum and product are $7.11 with an error of less than 10-13. Unfortunately, none of the individual prices are anywhere close to dollars and whole cents. I don't have a copy of Excel on Windows any more, but these days Libre Office has a nonlinear optimization tool that uses a different algorithm than my code (or Excel's). It behaves exactly the same way as my code on this problem: $7.11 with high precision but fails the dollar-and-cents requirement.
Things are actually worse than that. The graph below is an estimate of the cumulative distribution function for the largest price in the solution based on 200 runs from different initial guesses using my software. The values are spread out over a wide range. They are spread out uniformly over a wide range. No clues here about where to look for the dollars-and-cents answer.
Back to combinatorial search we go.
When I was in graduate school I was notorious for solving homework-sized problems – also known as "toy" problems – by sheer brute force with a computer. From my point of view, it was a matter of how best to spend my time. Despite the reputation, I didn't actually use brute force all that often, but there were times when spending 15 minutes to write a program and five minutes to run it was a very attractive alternative to spending two hours trying to find and apply the particular bit of cleverness the professor wanted. Also, there's a certain perverse pleasure in being able to say, "The trickery finds only one answer to the problem, but not the other equally good answers that exist."
Below is the simplest brute force approach to this problem in pseudo-code. "But Mike," I hear you say again, "I was told there would be no code." Probably by someone who also told you there would be no math. Yet here you are, reading a post that's all math. This code generates every one of the 255 billion possible combinations of the four prices and tests to see if they come close to meeting the sum and product requirement. It's necessary to test for close rather than if the conditions are met exactly because computers (generally) only do approximate arithmetic with non-integer values. The goal here is to generate a small set of candidate solutions that can be checked quickly on a calculator. This code finds the correct answer: $1.20, $1.25, $1.50, and $3.16.
for (a=0.01; a<7.12; a+=0.01): for (b=0.01; b<7.12; b+=0.01): for (c=0.01; c<7.12; c+=0.01): for (d=0.1; d<7.12; d+=0.01): sum = a + b + c + d if (abs(sum-7.11) > 1e-6): next prod = a * b * c * d if (abs(prod-7.11) > 1e-6): next print "Candidate solution", a, b, c, d
It wouldn't have been much of a technical talk if it ended there. Back in the day, a challenge that was frequently issued in certain academic circles was "My code can find the answers faster than your code." At one time, I had the world's fastest code for solving a particular type of network optimization problem. I didn't try to claim the title because it was basically someone else's code. The people at the Naval Postgraduate Institute at the time were good at theory but bad at coding. Simply cleaning up a copy of their code increased the speed by 20%. The brute force code above found the answer in four minutes 50 seconds. Traditionally, one describes the infrastructure used. The actual code I used for timing for this post was written in C, compiled with "gcc -O3", running on an AMD Ryzen 5 processor clocked at 2.5 GHz, timed with the standard Linux time command. To suggest how long ago I did this 7-11 talk originally, the Linux machine I had beside my desk then had to run overnight to get the answer. And yes, the code from that talk all those years ago was still in my personal archive.
How can we speed things up? The general approach to solving combinatorial search problems faster is to eliminate as many of the combinations as possible by some sort of logic. For example, one that I won't use in this post is since every price has to be one cent or greater the largest price has to be $7.08 or smaller, not $7.11. That doesn't seem like a whole lot but it would eliminate four billion naive combinations.
One of the first things to notice is looping over the value of d is a waste of time. Once a, b, and c are set, d can be calculated directly from the sum constraint. The loop on c can be cut short once it produces a calculated value for d less than 0.01 (one cent). 0.005 is used to allow for the way the computer handles non-integer values. The number of combinations where the code gets to the multiplication test is reduced to 59 million. This code finds the correct answer in 0.102 seconds.
for (a=0.01; a<7.12; a+=0.01): for (b=0.01; b<7.12; b+=0.01): for (c=0.01; c<7.12; c+=0.01): d = 7.11 - (a + b + c) if (d < 0.005): last prod = a * b * c * d if (abs(prod-7.11) > 1e-6): next print "Candidate solution", a, b, c, d
If you could see the output, you would immediately notice the code actually finds the answer 24 times, once for each of the permutations of the four values. Another simplification is to limit the loops so only the single permutation with prices in order from smallest to largest is found, shown below. Note also that since b greater than or equal to a is now guaranteed then if a is 3.56 or greater a+b is greater than 7.11 and the overall sum requirement can't be satisfied. We can safely cut the upper bounds on the loops in half. At this point we have reduced the number of combinations considered from the original 255 billion to just over 2.5 million. This version of the code finds the solution in 0.012 seconds.
for (a=0.01; a<3.56; a+=0.01): for (b=a; b<3.56; b+=0.01): for (c=b; c<3.56; c+=0.01): d = 7.11 - (a + b + c) if (d < c - 0.005): last prod = a * b * c * d if (abs(prod-7.11) > 1e-6): next print "Candidate solution", a, b, c, d
As a general rule, computers perform operations on integers faster than on floating point (non-integer) values. We can restate the problem in terms of cents. That lacks the catchy 7-11 tagline in the original statement because the sum of the cents is 711 and the product is 711,000,000. The changes in the code necessary to find a solution in cents are shown below. A solution, if found, is no longer a mere candidate. Because the use of integers is exact, it's guaranteed to be a solution. This finds the solution in 0.006 seconds – six milliseconds. This is fast enough to ask different sorts of questions and get answers in a reasonable time. $6.44 is the smallest value between $1.00 and $10.00 that has a "four prices with the same sum and product" solution. $6.75 is the smallest value in that range that has two different solutions. There are multiple values under $10.00 that have five solutions. There are many prices in that range that don't have a solution. But is this as fast as we can go? (Hint: Betteridge's Law applies.)
for (a=1; a<356; a+=1): for (b=a; b<356; b+=1): for (c=b; c<356; c+=1): d = 711 - (a + b + c) if (d < c): last prod = a * b * c * d if (prod != 711000000): next print "Solution", a, b, c, d
In the integer version of the problem, we notice that all four prices satisfy two conditions: (1) they are integers in the range from 1 to 711, inclusive, and (2) they are factors of 711,000,000. Finding the list of those factors isn't much work. This is a much smaller list of numbers than any of the above versions use, so the number of combinations is enormously smaller. For this particular problem, there are 61 factors in the list. The number of combinations considered is reduced from the original 255 billion to less than 17,000. This is on the scale of problems that were solved by hand historically. See, for example, the orbital mechanics calculations done by Johannes Kepler's graduate students minions apprentices. The computer gets the solution in 46 microseconds.
# Calculate list of factors, values strictly increasing n = 0 for (i=1; i<712; i++): result = i * (711000000 / i) if (result == 711000000): factor[n++] = i # Search over combinations of factors for (a=0; a<n; a++): for (b=a; b<n; b++): for (c=b; c<n; c++): d = 711 - (factor[a] + factor[b] + factor[c]) if (d < factor[c]): last prod = factor[a] * factor[b] * factor[c] * d if (prod != 711000000): next print "Solution", factor[a], factor[b], factor[c], d
If we actually had to work the problem out by hand we wouldn't simply step through 17,000 combinations. We would take factorization one step farther and work out the prime factorization of 711,000,000 (and you thought learning prime factorization was a waste of time):
26 × 56 × 32 × 79
Then we might proceed like this:
- 79 can only be a factor in one of the four prices, Call that price a. a must be one of 79, 158, 237, 316, 395, 474, or 632.
- Suppose we guess 316 (22 × 79). Subtract that from 711 and reduce the problem to finding three prices b, c, and d that sum to 395 using the remaining prime factors (24 × 32 × 56).
- Six of the remaining factors are five. If those were distributed two each to b, c, and d, then each would be divisible by 25 and b+c+d would be divisible by 25. But b+c+d is 395, not divisible by 25, so the two-per-price distribution of the fives can't work. Then one of the three prices must have at least three prime factors of five, so is a multiple of 125. Assign that price to b, and there are only three possible values: 125, 250, or 375.
- For each of the three guesses there is a sub-problem with two prices. If we guess 375 for b then we are looking for c and d such that c+d is 20 and the remaining prime factors are 24 × 3 × 53. We can quickly show that there's no way to split those prime factors between two numbers so that those numbers add to 20. There is no solution to the two-price sub-problem, so there is no solution to the original problem where a is 316 and b is 375.
I've never worked through the whole thing (and am not going to do it here, much to everyone's relief, no doubt) but it can probably be done in an hour or two. The kind of logic done with the prime factors is something lots of people do pretty well – particularly people who work on math puzzles – but it's more difficult to code up for the computer compared to simply listing off several thousand combinations. There are always trade-offs, of course. If the problems are big enough, and have to be solved often enough, and fast enough, then the added programming complexity may be not just desirable but necessary.
Why does anyone reading this post care, aside from the possible entertainment value? Because combinatorial search and other optimization algorithms are everywhere these days.
Consider the example of a UPS truck leaving a facility in the morning. The label on every package has been scanned so the destination addresses are known. There are databases of all the roads in the area, updated with information about closures for repair and such. Calculating the best route for that truck to follow is a combinatorial problem. UPS developed a piece of software that can solve that problem quickly enough that every truck has a best route loaded into the truck's navigation device before it leaves. UPS says that it saves at least tens of millions of dollars on fuel and overtime every year by following the best routes.
The training process for deep neural-network machine-learning systems such as that underlying local favorite ChatGPT attempts to solve a complicated nonlinear optimization problem. Neural networks have been around for many years. They've become important today because computers are fast enough and algorithms are good enough to allow optimizing very large neural-network systems.
SpaceX has made launch to orbit and returning the booster for reuse look routine. Computers on the booster repeatedly solve a nonlinear optimization problem that flies to a specific precise location while staying within its fuel and maneuvering constraints. Interestingly, SpaceX does not use a general purpose solver because it wouldn't be fast enough. Their software development chain includes a system written at Stanford that takes a formal description of the specific type of problem to be solved and generates code for a custom solver that runs much faster than a general purpose solver will.
Autonomous cars, if/when we get them, will employ all of these tools. Trained neural networks to recognize the objects around the car. Combinatorial optimization guided by neural network systems to decide on local changes in trajectory. At a higher level, combinatorial optimization like the one at UPS to determine both the original route and a new route if there are necessary deviations.
Everyone ought to be interested in understanding at least a bit about the increasingly ubiquitous math and software that may kill you if it gets a sufficiently wrong answer.
wj: sometimes I forget that I can't post links under my formal handle, and have to use GftNC to do so. In those cases, I usually just repost. So what you have restored may be duplicates. In future, if a post is too long to do again, I'll just post a short plea here to have it rescued. So then, whatever else you find in the spam folder from me can be safely discarded.
Posted by: Girl from the North Country | January 30, 2023 at 05:27 AM
Eventually, we'll get all this sorted out and running smoothly. Eventually. Hopefully. :-)
Posted by: wj | January 30, 2023 at 08:26 AM
Sure, wj.
Right after the last bug is eradicated from Windoze.
Posted by: Snarki, child of Loki | January 30, 2023 at 01:26 PM
Typepad's version of Movable Type is not yet abandonware, but seems to be headed in that direction. No one who has messed with WordPress seriously thinks it will ever get truly sorted out. I spent part of yesterday reading people whining about Disqus.
Posted by: Michael Cain | January 30, 2023 at 01:34 PM
Right after the last bug is eradicated from Windoze.
Presumably you are not counting the possibility that they will just issue a blanket reclassification of any remaining bugs as "features"....
Posted by: wj | January 30, 2023 at 02:07 PM
Sometimes, the enthusiasm of some folks to shoot themselves in the foot is simply awesome.
Start with a tweet from Kari Lake of Arizona. It contains, as you can see, images of several voters signatures.
Arizona Secretary of State Adrian Fonte referred her to tha Arizona Attorney General.
She's a true discipline ot TFG.Posted by: wj | January 31, 2023 at 01:22 AM
I don't know the details about AZ's mail ballot system. In Colorado, and assuming the signatures in the tweet are in some fashion pairs of signatures that should match, they would get an envelope pulled out. Each election, about 2% of envelopes here fail. Many are "cured" by the election officials, either through phone calls, submission of additional paperwork, or even physical visits.
There is a court case in Colorado now to remove signatures completely from our mail ballot system. The lead plaintiff has ALS which makes it impossible for him to have a reproducible signature or travel to a polling place.
Posted by: Michael Cain | January 31, 2023 at 11:38 AM
My sense, from a distance, is that the Arizona law is intended to help prevent voter fraud. By not letting would-be fraudsters have an example signature to copy. (Naturally, preventing voter fraud is not high on Lake's list of priorities.)
The signature law in California doesn't make a whole lot of sense. Mail ballots have to have a signature on the envelope, and those get compared to the file signature before the ballot is counted. But while anyone voting in person does have to sign in at the polls, there is no process to check that signature against anything.** And, if someone were to check later, no way to identify and remove that particular ballot. So, why do we bother?
** And, by law, poll workers may not ask voters for ID. Technically, if the voter offers one when asked for their name, we aren't supposed to look -- although in practice we do look whenever we aren't certain how the name is spelled, so we can find it in the voter roll.
Posted by: wj | January 31, 2023 at 12:31 PM
And all of this because a nationaL ID card is considered blasphemy against the holy spirit ( https://en.wikipedia.org/wiki/Eternal_sin ) in the US...
(and I am talking about one that does not store vast amounts of personal data but one whose whole function is to determine ID whereever needed.)
Posted by: Hartmut | January 31, 2023 at 01:51 PM
a national ID card is considered blasphemy against the holy spirit
Including by people who don't seem to have a problem with the state departments which issue driver's licenses also issuing IDs for those who are not drivers. Which they do because everybody needs an ID at some point, so they are fulfilling a real need.
Consistency doesn't seem to be a core competency with these folks.
Posted by: wj | January 31, 2023 at 02:04 PM
I hear that some consider it even un-American to have a passport and that some (GOP) candidates got actually attacked for this sin by their rivals.
Sounds outright Chinese to me (there's nothing outside China worth any attention for a proper Chinese person)
Posted by: Hartmut | January 31, 2023 at 03:52 PM
Sounds outright Chinese to me (there's nothing outside China worth any attention for a proper Chinese person)
More, I think, along the lines of "How dare anyone outside the US expect us to carry identity documents?!?!? And how dare the US government ask for proof that we are 'Real Americans' (TM) when we come home?" (Unsurprisingly, they are unaware of the difference between a passport and a visa.)
Posted by: wj | January 31, 2023 at 08:54 PM
The cases I remember were explicitly about passports being an expression of a desire to travel abroad and thus equal to what used to be cosmopolitanism. Remember how Romney got attacked for that from the Right and how it was used as an insult that he learned French (being a Mormon missionary in France without speaking French would be slightly counterproductive one would think)?
Of course his French adventures got criticized from the Left too but not for cultural contamination of his soul but for thus evading service in Vietnam while at the same time condemning draft dodgers as unpatriotic cowards.
The 'how dare these foreigners asking for our ID' mindset looks more early 20th century to me (when even the British* mocked that attitude during WW1).
What I see now looks more like enhanced isolationism (keep THEM out and US in).
But I am just an observer from abroad who can only interpret what absurdities he gets from the news/net with no means to discern how widespread which mindset actually is.
*who used to display something similar
Posted by: Hartmut | February 01, 2023 at 04:59 AM
Oh God, as if anything was lacking to make the polarisation on trans/sex/gender worse, Trump comes out today to make it one of his main planks, although of course in his idiotic way his announcement conflated sex with gender. Perhaps he is scared of using the word "sex". Or, more likely, it is pure ignorance.
Donald Trump has vowed to pass legislation that recognises only two genders under US law if he is elected president as he seeks to shore up his conservative base and outflank rival candidates on the right of the Republican Party.
In a video statement on his Truth Social platform, the former president said that if elected again in 2024, he would “ask Congress to pass a bill establishing that the only two genders recognised by the United States government are male and female, and they are assigned at birth”.
I had no intention of returning to this very contentious subject now, but this (actually clearly foreseeable) development is likely to make the whole thing worse. And since I wanted to bring it to your attention, I may as well also post (for anybody who is interested) a fascinating paper on the whole issue of how gender has come to supersede sex in the English prison system. The paper is called Queer Theory and the Transition from Sex to Gender in English Prisons and I hope this link works:
https://journalofcontroversialideas.org/download/article/2/1/183/pdf
Posted by: GftNC | February 01, 2023 at 05:19 PM
Oh God, as if anything was lacking to make the polarisation on trans/sex/gender worse, Trump comes out today to make it one of his main planks, although of course in his idiotic way his announcement conflated sex with gender. Perhaps he is scared of using the word "sex". Or, more likely, it is pure ignorance.
I think this very much misses the point.
Clickbait may or may not be afraid of using the word sex, and he may or may not be ignorant about terminology. But none of that matters, because his goal -- which isn’t the least bit novel or mavericky in the light of what his party is doing in a lot of states already -- is the erasure of trans and non-binary people (and, one presumes, eventually gay people as well) from open participation in any aspect of public life, or ultimately from being recognized as existing at all.
This is the kind of thing that is going on in the US right now:
https://www.politico.com/news/2023/01/18/desantis-trans-health-care-florida-universities-00078435
https://www.pbs.org/newshour/politics/republican-states-aim-to-restrict-transgender-health-care-in-first-bills-of-2023
https://www.thecut.com/2023/02/florida-student-athletes-period.html
Clickbait doesn’t care about some fancy pants distinction between “sex” and “gender." It may appear as if he's conflating them ignorantly, but the distinction between them is part of what is meant to be erased. Whatever they are, there are only two of them, and if he and the rest of the R party have any say in the matter, any ridiculous notions to the contrary are going to be stamped out good and hard.
Posted by: JanieM | February 01, 2023 at 11:00 PM
the erasure of trans and non-binary people (and, one presumes, eventually gay people as well) from open participation in any aspect of public life, or ultimately from being recognized as existing at all.
You left out shutting down sex outside of (heterosexual) marriage. Or, more accurately, ramming it back into the closet, where it was in the 1950s. In aid of which wiil be overturning Griswold. Followed by banning contraceptives -- except maybe for married couples.
Might even happen in a few states. Hard to think of a better way to lose elections in most places. (Not that the fanatics are capable of recognizing that.) And losing them beyond the ability of voter suppression or other shenanigans to reverse.
Posted by: wj | February 02, 2023 at 12:11 AM
Yes, I guess I wasn't clear enough. I don't think for a moment that Trump cares (or necessarily knows about) the distinction between them. I was just taking a swipe at his general ignorance and stupidity.
My point really was that him taking up the cudgels on this issue can only make it worse, irrespective of what he calls it, and it's pretty bad already. The very definition of what they call a "wedge issue", actually, driving even more of a wedge between people who are trying to have humane and goodwill discussions on the matter.
But as to the distinction between them is part of what is meant to be erased I completely agree, and in fact this has to a large extent already happened and is what people like me are fighting a desperate rearguard action against. Words create or modify reality, as the developments of recent years have shown; why, even someone as clever and well-educated as lj didn't really see that he was conflating the two things when I pointed it out to him in one of our earlier discussions on this subject. And, as we now know, the way that gender has overtaken sex as any kind of criterion in many settings has led to the fact that, for example, in Scotland (a nation of 5.5 million people) there have been three trans women, previously convicted of rape or sexual assault on women, housed (or proposed to be housed) in women's prisons in the last year.
https://www.channel4.com/news/nicola-sturgeon-explains-scottish-governments-decision-to-pause-transfers-of-some-transgender-prisoners-to-womens-prisons
There is no doubt that the agenda of the extreme right is to discriminate against and otherwise prevent trans and non-binary people from attaining rights and protections, and legitimise discrimination against them, and gay people too, to the extent that they can to pander to the prejudices of their supporters, whether religious or otherwise. (Although FWIW I have to say I can't see how they could, under any conceivable circumstances, prevent gay people at least as ultimately from being recognized as existing at all. However, far be it from me to assume there is a limit to their ambitions).
No, I think it is extremely important (as nous implies) to remember who is the real enemy, and not to fall into the trap of either demonising reasonable people of differing views, or participating blindly in the obliteration of important concepts and categories.
Posted by: GftNC | February 02, 2023 at 07:50 AM
There are definitions and facts, which are slippery to begin with, and then there's what we do with them.
There can also be more than one "real enemy."
I'm done.
Posted by: JanieM | February 02, 2023 at 08:30 AM
There can also be more than one "real enemy."
A truer word was never spoke.
Posted by: Girl from the North Country | February 02, 2023 at 08:51 AM
Charlie Stross has a post up about ChatGPT. The post itself doesn't say anything that hasn't been said before. But there are several paid writers among his regular commenters, and they seemed to think that there's an obvious constructive use: first draft of converting a novel to screenplay, or the reverse. Apparently ChatGPT does a good enough job of preserving dialog and story line in either direction to do away with a bunch of grunt work so the human can focus on the creative parts.
I believe it was nous who said something similar about having students let ChatGPT do an essay, and the students' assignment be to edit or rewrite that.
Posted by: Michael Cain | February 02, 2023 at 10:51 AM
I believe it was nous who said something similar about having students let ChatGPT do an essay, and the students' assignment be to edit or rewrite that.
In my experience, there are far more people who know how to write something (adequate, if not great) than there are people who can do a competent job of editing something that someone else wrote. At the risk of causing offense, actually learning to edit well will have far greater career benefits than just learning to write -- less supply and serious unfilled demand.
Posted by: wj | February 02, 2023 at 11:08 AM
In my experience, there are far more people who know how to write something (adequate, if not great) than there are people who can do a competent job of editing something that someone else wrote. At the risk of causing offense, actually learning to edit well will have far greater career benefits than just learning to write -- less supply and serious unfilled demand.
I really don't see much of any clear division between being able to write well and being able to edit. One cannot become a good writer without knowing how to revise and edit.
To be sure, there are many different hats one can wear as an editor that fill a particular need within the publication process. Many excellent writers and editors are not good at copy editing, or at developmental editing, and that opens up specialist roles for the people who do have those skills and mindsets. But in general one needs the ability to edit ones own writing to ever become accomplished as a writer. It's too deeply entangled in the revision process to be otherwise.
Posted by: nous | February 02, 2023 at 04:01 PM
I believe it was nous who said something similar about having students let ChatGPT do an essay, and the students' assignment be to edit or rewrite that.
I think the ideal form for this would be to have the writer generate an outline and the information parameters to be included (indicating sources and selections to quote or paraphrase), then take the AI generated generic content and start revising it to give it life and purpose.
Posted by: nous | February 02, 2023 at 04:38 PM
I think the ideal form for this would be to have the writer generate an outline and the information parameters to be included (indicating sources and selections to quote or paraphrase), then take the AI generated generic content and start revising it to give it life and purpose.
Part of their discussion was whether it would be better to do an independent outline, or to have ChatGPT "read" the existing novel/screenplay. "Give it life and purpose" is an excellent summary of what they all thought the writer would do to the AI's draft.
Posted by: Michael Cain | February 02, 2023 at 05:29 PM
in general one needs the ability to edit ones own writing to ever become accomplished as a writer.
Yes, but....
The trouble with editing one's own writings is that you know what you meant, and what you intended to say. When what you actually wrote is different, it can be remarkably hard to spot. A second pair of eyes can make a big difference. IF that second pair of eyes belongs to a capable editor.
Posted by: wj | February 02, 2023 at 07:10 PM
A second pair of eyes can make a big difference.
I'll chime in here just to shock wj. This is pretty much correct.
But...., just asking questions here, who was James Joyce's editor?
Posted by: bobbyp | February 02, 2023 at 07:24 PM
wj - that’s why writing teachers almost all say that good writers seek feedback. But a good writer doesn’t need their reader to offer suggestions for how to write those changes, they just need to be made aware of where and how they went wrong.
Posted by: nous | February 02, 2023 at 07:24 PM
But...., just asking questions here, who was James Joyce's editor?
“My troublesome self and interminable composition” – James Joyce and his editor, Harriet Shaw Weaver
Posted by: CharlesWT | February 02, 2023 at 07:43 PM
bobbyp, I am shocked! Shocked! Who knows where this might end. :-)
As for Joyce, there is a limit to how much even a good editor can do when faced with a writer who simply can't handle the English language.
Posted by: wj | February 02, 2023 at 07:46 PM
a good writer doesn’t need their reader to offer suggestions for how to write those changes, they just need to be made aware of where and how they went wrong.
I don't think I agree. The biggest problem a writer, especially a non-fiction writer, faces is that he simply knows too much. In my experience, what's often needed are suggestions on how to communicate with an audience who don't know the background, the standard technical terms, etc.
Posted by: wj | February 02, 2023 at 07:51 PM
Joyce and Weaver had a falling out over Finnegans Wake.
Posted by: CharlesWT | February 02, 2023 at 07:52 PM
The biggest problem a writer, especially a non-fiction writer, faces is that he simply knows too much. In my experience, what's often needed are suggestions on how to communicate with an audience who don't know the background, the standard technical terms, etc.
That's not a good writer, though. That's a person who can document information with great accuracy, but cannot communicate it effectively with their intended audience. Good writing requires that the writer understands both subject and audience, and understands what that audience knows about the subject.
That's not just my bias, either. I know a few really good scientists who are also really good writers and have no difficulty adjusting their writing to fit a particular level of reader. They get quite voluble over how poorly written a lot of good science is, and how badly this damages outreach.
Posted by: nous | February 03, 2023 at 02:17 AM
They get quite voluble over how poorly written a lot of good science is, and how badly this damages outreach.
Precisely my point. What those other writers desperately need is a good editor. Because, let's face it, there's no real prospect of getting them better at it. (When I was in college, engineering majors were not even required to pass Subject A -- AKA bonehead English. Let alone Freshman English.)
The demand for editors is enormous -- and growing every day. (And that's before you add in those who are not native speakers of English, and need help as well.)
Posted by: wj | February 03, 2023 at 09:43 AM
Joyce and Weaver had a falling out over Finnegans Wake.
But she still paid for his funeral.
That's what great editors do. :)
Posted by: bobbyp | February 03, 2023 at 10:59 AM
Unfortunately, in the 'hard' sciences (with my personal experience in chemistry) 'good' writing is actively discouraged and a very bad style is enforced instead - at least in the usual journals where scientists usually publish their work. If the style guidelines contain something like 'no first person pronouns can be used' or a past tense passive voice is the only one allowed, use of any synonyms is frowned upon etc., one should not be surprised if the prose is wooden at best. Comparing it to papers from e.g. the 1930ies makes it even look worse. At that time one could feel that the people writing them were actually engaged in what they were doing. Information density may be a bit higher to-day in the texts of papers but it makes the experience no less dreary.
Posted by: Hartmut | February 03, 2023 at 10:59 AM