Career, Physics and Goals (was: Artificial General Intelligence Speculations)

I don’t know if you want this feedback, but this wording reads to me as passive-aggressive. It’s a cumbersome wording (“seems odd to me”) and an indirect (passive) way to criticize an error (aggressive).

A more direct version, just as an example for comparison, would be: You say you don’t understand this, so it doesn’t make sense to comment on it, particularly with a strong opinion. Commenting is implicitly premised on understanding the thing you’re commenting on. A better way to deal with not understanding something is to ask questions about it.

Another reason I thought it could be passive-aggressive is that I saw a trigger for that type of response. The trigger was the arrogant, aggressive, non-tentative comment that you were replying to:

Deutsch is just dead wrong about this.

And that was actually part of a pattern. Earlier in this thread, lmf was similarly dismissive of DD’s ideas about physics, in favor of his own:

but that’s simply false.

If you were offended by these comments, or disliked or disagreed with them, there are better ways to handle them, like commenting directly on what you think is objectionable about them.

If there was some other cause in this particular case rather than being passive-aggressive, then your text miscommunicates, which is also bad. One enabler of this kind of miscommunication is being capable of being passive-aggressive, rather than having automatized awareness of the issue and its problems – that enables writing stuff that sounds passive-aggressive, with the wording intuitively seeming normal instead of you noticing the problem, even when actually something else is going on.

A difficulty with this kind of writing (both the passive-aggressive sentence and the arrogant sentences) is people often intuitively know what it means but don’t explicitly, consciously know what they are reacting to and why. People often get impressions, emotions and intuitions, based on their subconscious and automatized knowledge, without knowing exactly what happened. That makes it hard for them to address the issues directly or specifically. That’s one of the things that happens to me: People feel like I’ve been mean to them, and then when I ask for a quote with an explanation of what was mean about it, they can’t give one. But they still have the feeling and general negative impression. They often fail to problem solve that themselves and also don’t ask for help with that problem solving process (they often also reject help if I offer it, claiming that the problem is solved as a way to end the discussion. They say this when they have not automatized better knowledge; they just reached a conscious conclusion that they were wrong and then tried to suppress their feelings that they regard as irrational and perhaps also static memes). This kind of thing causes a lot of trouble and is one of the ways people end up failing.

BTW, I am interested to see some continuation/resolution to the debate about string theory. There appears to be a substantial disagreement between two people who both have some relevant expertise.

1 Like

I finally got around to doing this. I recorded every “trivial” mistake I made in a ~2hr period of doing calculations. To be clear, these are the types of things I was referring to earlier as “arithmetic mistakes,” even though strictly speaking they are mostly not arithmetic mistakes.

For all the things I’m about to mention, I did them in my head, wrote the answer down, and then noticed an error a little bit later. These were small parts of much longer calculations. I happened to notice all these errors before they propagated very far so they were easy to fix.

I was doing what I consider a medium amount of error correction. I wasn’t rushing, but I wasn’t being particularly careful either.

Here’s my log of all my “trivial” mistakes:

  • On one line, I had a 1/2 factor sitting next to some quantity X, and then I evaluated X and it contained a factor of 1/4. On the next line I intended to combine these factors, which should have resulted in a 1/8, but for some reason I wrote 1/4 instead.

  • There was a b^{-5/2} in my answer and I accidentally wrote b^{5/2}

  • There was a b^{-1} that I accidentally wrote as b (not directly related to above error)

  • I had to do evaluate an integral of the form \int_0^\infty e^{-(a + b)x}dx, and I forgot about the a and wrote the integral as 1/b instead of 1/(a+b)

  • I took the x derivative of e^{a x} and wrote it as a rather than a e^{a x}

  • I had an expression of the form (e^{-a x} - e^{-b x}) that I needed to Taylor expand to first order in x, and I wrote (a - b)x rather than (b - a)x

I would be very interested to know if you (@Elliot presumably) can think of a way that a conceptual deficiency could be causing some of these errors, or if there is some extra info I could provide (or extra experiments I could do) that could reveal that. My operating theory up til now has basically been that the unaided human brain (or at least my unaided human brain) can’t avoid errors like these.

There’s a related joke btw.

Q: What’s the difference between a good theoretical physicist and a bad theoretical physicist?

A: Good theoretical physicists make an even number of sign errors.

Context: Are you doing these with pencil and paper? Is the paper blank, lined or graph/grid paper? Only one color of pencil? Do you erase much? Are you good at handwriting? Do you have neat handwriting which writes each character in a consistent way, or is there much variation in how stuff looks so that the same character can look different (including size differences that aren’t intended for e.g. superscript, not just shape differences) when written in different places? Is the final result kinda messy or clearly organized? Are you using a physical calculator (or a calculator app on some device?) for some of the math? How much do you use mental math or shortcuts vs. writing stuff out in small steps? Do you have experience using smaller or larger steps for your math writing or thinking processes? Do you find it burdensome to write a lot of stuff out or to duplicate some parts of a formula repeatedly with no changes? And whatever the answers, did you put thought into these things, and have reasons for them, in the past?

Yes

Lined

Yes

I think so?

I think I have decent handwriting. No one has given me negative feedback about my handwriting, and I can always read it.

I think I have neat handwriting in this regard.

Clearly organized I think.

Not usually, no. I don’t have to do many calculations where a calculator would help.

It’s hard to quantify. I do a lot in my head and write a lot down, and the exact balance depends on a lot of specifics.

I suppose so. For example, in math, if I’ve made an error and it’s not immediately clear where the error started, I start to think through things in smaller steps.

I’m not sure. Is it more burdensome than copy pasting a line in a TeX file? Yes. Is it something that I dread doing or is it a place where I’m noticeably much more likely to make an error? No.

Yes and no.

I think I have put some thought into the handwriting and neatness stuff before.

Something which I have not put much thought into is how much I use mental math or shortcuts vs writing stuff out in small steps.

Those look like process errors. And I think this is a conceptual error:

My operating theory up til now has basically been that the unaided human brain (or at least my unaided human brain) can’t avoid errors like these.

And I think there are conceptual errors related to processes/methods. Those don’t look particularly related to conceptual errors in “math” (e.g. the stuff they try to teach in math classes), but they are relevant to doing math well.

One way to approach process errors is by trying different processes and monitoring for changes in error rate, types of errors, etc.

For example, it looks like sign errors are a common category of error generally and for you. If you wrote all negative signs in a different color which stands out, you might make fewer sign errors.

I haven’t tried them, but a quick web search indicates that many erasable colored pencils are available.

Other ways to vary process include using apps (there are many types, like free drawing, vector art, whiteboard, visual apps meant specifically for doing math work, regular text editor, math-oriented text-based app, etc.) and input devices (e.g. mouse, keyboard, stylus).

Another process variation would be to use pen instead of pencil. Or to use graph paper and consistently write one character per box (one result is minus signs would get a whole box to themselves). Many others could be brainstormed and then tested for advantages and disadvantages.

A different sort of process change is to go through math steps more explicitly and write more out.

A different sort of process change, which is harder to test, is paying more attention to detail. It requires a sort of mindset change. Finding a way to pay a lot of attention to detail, and to actually somewhat enjoy it, is important to doing math well. It’s kind of similar to the attention to detail needed to read and write accurately in discussions. Coding in languages with complex syntax is another thing that requires attention to detail (dealing with lots of nesting also requires attention to detail). Dealing with shortcuts can also require a sort of attention to detail, because you have to accurately track more stuff in your head to make up for the skipped stuff. With writing, sometimes when people write less stuff and make it sloppy and don’t explain some parts, that requires more attention to detail to read, despite it being imprecise. That may be counter-intuitive. But if the author gives less information, then the reader has less information to go on, which means he needs to squeeze more value out of the information available – and getting more out of a given information is a type of paying more attention to detail.

Another process change is going more slowly and carefully. Can you actually stop making all these errors if you go slowly enough? What about with no backtracking or double checking, just being more methodical?

Another process change is doing different types of practice when learning skills.

Some errors may be related to doing exploration during solving, rather than knowing the whole path to the solution from the start. In that case, one of the fixes is to consciously know, and perhaps label (e.g. different color writing) which stuff is exploration and which are a final, organized solution. One way people make a mess is they do something that might work, but they aren’t sure if it’ll work. So it’s exploration. But if it does work, then they recharacterize it as non-exploration and continue instead of redoing that part. This is similar to, when coding, writing a first draft of a function to try out an idea, and then finding out it produces the correct answer so you just call it done with no refactoring, no step where you consider how it should be organized now that you’ve got the (this part of) the solution worked out.

Broadly, fixing one type of error helps find other types. Sometimes people think “I could do X to fix this; it’s just not worth the effort.” They may be right. But they may not. If they actually did X, they might find the error still isn’t fixed. Why? Besides them being just plain wrong, they might have had two or more problems. They knew what was going on with the most visible problem, but it obscured another problem. If you fix these sorts of arithmetic errors, you’ll either do much better at math or find that it’s now easier to do problem solving for remaining issues because then there are fewer factors involved.

I’m confident that if you wrote out many different math solving process flowcharts, and followed them, you could find one which prevents these particular errors.

Also, I take “unaided” to allow a desk, a chair, pencil, paper, written notes, looking stuff up in books, and I don’t know what else. BTW, that ambiguous use of “unaided” is the sort of seemingly small error in philosophy that is somewhat parallel to the math errors we’re discussing, and which partly looks like an attention to detail issue. Also, a lot of attention to detail issues are related to automatization – programming what details your subconscious deals with and how it deals with them – and can’t be solved in a satisfactory way just with conscious attention to detail (which is too slow). For my flowchart point above, I think that if you could follow a flowchart with full conscious attention and get that to work reliably, then it’d also be possible to practice and automatize those steps.

fwiw I wasn’t actually upset by @alanforr’s comment, though I do see how it (and also my preceding post) could be interpreted as aggressive.

I never responded to this, sorry.

I assumed that when Deutsch speaks of “fully quantum mechanical” entities he is being vague, so I didn’t (and still don’t) think it mattered that I moved on to criticizing other parts of the paragraph. Having read some of the paper you linked, I still think he was being vague with that term.

When I wrote that paragraph I definitely presumed that Deutsch isn’t aware that particles in QFT are merely things that show up in a quasi-classical approximation, which is unfair. Maybe Deutsch doesn’t think that’s the right way to think about particles, or maybe he meant something else by “fully quantum mechanical.” I should have been more humble.

same here.

@alanforr would you be interested in this?

I read some of the paper you linked, but I probably would need to ask you some questions if I’m to understand it better.

I think the difference is important. These errors involve more complexity, so there’s scope for complexity management errors that you might not make when doing plain arithmetic.

Complexity management errors are extremely common in philosophy discussions. One type is when people lose track of some part of the discussion tree. People forget or some nodes said by any participant, or change them in their memory. Or they do the same thing with connections between nodes.

Some stuff people should be doing about this, in philosophy discussions, is using conscious attention, organizational methods (like tree diagrams) and frequent rereading (rereading allows you to check for memory errors, which if done a lot helps you develop a sense of when there’s enough risk that you should reread stuff). Do this enough correctly enough and you can automatize stuff, e.g. accurately knowing small trees without writing them down or trying very hard consciously, and with more practice it can be done with large trees.

With math, similar approaches can be used. E.g. you could double check stuff (parallel to rereading) constantly until you start to develop a good intuitive feel for which things are 100% safe and don’t need double checking, and which are only 99% safe or less. That intuitive feel is an automatized subconscious calculation. You can develop it with an aim towards very high reliability from the start – make it very conservative. If you already developed it in a more unreliable way, you can change habits in the usual way: practice something new, and use conscious attention to override the old habit, until the new thing becomes your habit. (It’s also possible to learn things as different modes and flexibly switch between them, rather than overwriting/deleting the old habit. That’s harder but sometimes useful.)

You could make a tree or other organized diagram that keeps track of all the math elements and then represents transformations/changes/conversions to them. If the organizational technique manages the complexity well enough so nothing gets lost, and none of the transformations are wrong, then you shouldn’t make errors, or at least very few. If some transformations are wrong, then it may require smaller steps, more attention to detail, or more formal steps (there are some things that can only be done as a big step or at least are too inconvenient to break up, so they can be handled carefully, e.g. writing out the whole formula or technique being used, and write out all the inputs and outputs generically, then mapping nodes from your diagram to every input, so no piece of the correct process gets forgotten, skipped, etc. Similarly this prevents some element from being double used – used in the big process but also still left elsewhere.). If this doesn’t work, it can at least help pinpoint errors. And one can try it with simpler math until it does work. Like you ought to be able to reliably do a basic arithmetic problem involving a dozen or more operations if you write things out in an organized way. If you can’t, there’s a problem there (complexity management/organization or attention to detail would be first guesses). If you can, then you can escalate the math difficulty until the errors start appearing and try to understand what made them start appearing at that point.

It’s common that you subconsciously see part of what’s going on, and it makes a difference to you and your reactions, without conscious awareness of that happening or a conscious feeling like being upset.

How can it affect your reactions if it isn’t in your conscious mind? One way is that your conscious mind delegates some sub-steps of your reactions to your subconscious. Another way is that your subconscious does something (e.g. writing some data somewhere in memory or changing a setting on something) that your conscious mind then interacts with, possibly at a later time. You may never connect that particular data or setting to a negative reaction to that particular text. You may not even know that it was changed because your conscious just has access to the current value, but no changelog, no last updated date, etc.

Can a human (or group of humans) execute assembly code unaided (meaning no computer help), with near-zero errors?

I think so. It just requires an appropriate process. (And it’s slow.) Do you disagree?

You need a reliable way to keep track of the current values of memory locations. It is possible to come up with a process using paper, pens, pencils, tables, tape, etc. which would do this ok.

You need a reliable way to load into your human memory what the current instruction is and what steps to do to execute it (this can involve using your longterm memory, but requires an adequately reliable judgment process to know when your memory might be inadequate and you need to look in a book – you’ll also need to have that book).

You’d need a reliable way to pay attention and actually follow the process and do all the correct steps in order. Things like pointing and calling could help. You’d have to avoid getting bored or distracted – or detect those states and change them or take a break. You could try to detect and handle those states indirectly via detecting computation errors and then backtracking, but there are various problems and downsides with that approach.

You need some other stuff too but that gives some idea of it.

What they did at Los Alamos (while working on atomic bombs) to get people (who were not great mathematicians – closer to secretaries) to participate in complex math calculations – with adequate reliability/accuracy to be useful – is a relevant example.

I don’t disagree.

I will definitely think through & try to implement this stuff you’ve recommended to improve my methodology / process. Up until this thread, I had never even considered that maybe I could get significantly better across the board at calculations, but I think you’re right that it’s possible and desirable.

I’m also starting to think that maybe the subfield of physics I choose doesn’t matter very much, and that my focus for now should be more on how to get my error rate down.

1 Like

Many process errors relate to process inconsistency. Some processes are like a flowchart where you follow the same steps every time. Some processes are more like having multiple flowcharts and having a random percentage chance to switch to another flowchart after each step. That means you can do the same problem (or type of problem) twice and get different results.

Inconsistency is OK when doing exploration or in other words when using creativity.

Inconsistency is bad when you already know what you want to do, and you don’t need to create any new knowledge, you just need to get a known job done. Math calculation is like this once you understand the problem and know how to solve it.

When errors seem kind of random, that shows some kind of inconsistency.

This comes up in other fields, e.g. on the TV show The Profit. It’s a reality TV show where the host helps struggling small businesses. One of his main helping tools is to make the business use a repeatable, consistent processes. How is a particular job done? Write it down, including details like relevant measurements. Then follow what you wrote down. Customers want consistent products. And having a clear, written process helps delegate stuff to employees or train new employees. And a clear process helps error correction – you can try to figure out which parts of the process is causing a problem and make a change. If you have an undocumented, inconsistent process then it’s hard to figure out what sporadic errors are coming from, and it’s hard to make a change to address them and test out that change. A good example of a process is a recipe for a restaurant. This might sound obvious, but he has gone and made businesses write down recipes with measurements of how much of each ingredient goes in each recipe, and then actually cook the dishes the same way every time – and this is a big improvement over restaurants that weren’t doing that! It also lets them more accurately calculate the cost of raw materials for each dish and price the dishes appropriately (sometimes businesses on the show are selling some products below the cost of materials). A lot of restaurants already understand this, but many don’t and are super disorganized! In math in general, standards and expectations for clear processes are lower than for cooking (although, for certain types of math, like doing proofs, standards are raised).

Similarly, some businesses on the show have cluttered, disorganized workspaces with no clean, smooth flow of work in process. Fixing that helps a lot. Some people have that problem when doing math, but you said you keep things pretty organized and non-messy, so maybe you’re OK on that issue.

1 Like

That reminds me of the chess player Sam Shankland (roughly 30th best in the world) saying (source: my memory, and it’s somewhere on YouTube) that he thought he was good at chess calculation, but then he got a new trainer and a new more rigorous approach to calculation. He became much better at calculation – more able to accurately look ahead at a complex branching tree of chess moves (this is done mentally without moving chess pieces around or using any notes, books, scratch paper, writing, drawing, etc.). I don’t know the details of what he’s doing differently now though.

FYI, I asked that partly because I thought, after reading my explanation, you might agree.

There’s something interesting about this. Where does all the calculation work come from? Physics formulas tend to be elegant.

One issue is the formulas can be hard to calculate. There’s some sort of blocker. So you use numerical approximation methods. These methods can let you avoid doing something hard but replace it with a large amount of easier work. One way they can involve a lot of work is if you calculate a series of successively better approximations. Then instead of one calculation, you have to do one calculation per step in the series.

Another way to get a lot of work is guess and test methods. If you want an approximate answer for something, sometimes a good approach is to guess the answer and then check whether it’s close enough. You may need to check a large number of candidate answers before finding one that is precise enough. The reason this can work is basically that some math is much easier to calculate in one direction than the reverse direction. E.g. squaring is much easier than square rooting. By contrast, addition and subtraction are about equally difficult. It’s not immediately clear to me if division is significantly harder than multiplication or about the same difficulty.

There’s probably some deep/important/fundamental conceptual reason why math difficulty is sometimes (but not other times) asymmetric for an operation and its inverse, but I don’t know it offhand. I wonder if math people know this concept or didn’t think about it. There could be a connection to reversibility and irreversible proceses in physics.

This is actually an unusual mental model. Most people with process inconsistency do not conceptualize what they do anything like this. They would think of themselves as having zero flowcharts (and might even be confused by that, and say they don’t have any flowchart, or have no number of flowcharts, and find it weird that I attributed a number of flowcharts to them even if that number is zero). And they wouldn’t think of themselves as e.g. rolling dice to decide what to do. They aren’t like “OK, if I roll a 1 then I have to find flowchart 8 and go to step 34.” That is too much of an organized process like playing Dungeons & Dragons. What they do, or think of themselves as doing, is more arbitrary, subjective, whim-based, etc.

The model has some advantages though. It’s short. I thought lmf might understand it OK. And it’s more well-defined and clear than trying to say something like “people just kinda act inconsistently”.

Multiple flowcharts plus conditional transitions between flowcharts is actually powerful. You can model a ton of stuff with that. It’s actually kinda like programming. I thought lmf might already have some understanding of that.

Roughly, in programming terms:

  • flowchart = function
  • transition to another flowchart = conditional jump
  • branching within a flow chart = control flow statements like “if”
  • returning to a previous node on this flowchart = looping constructs or conditional jumps

And now if you imagine adding random conditional jumps into your codebase … lol, bad idea! Imagine you try to save a document, and the code does a few steps and then has a random chance to switch to printing instead of saving, and then after a few steps in the printing code it randomly jumps over to changing the font. Or if you want a closer analogy to what we were talking about, it could jump from saving your document as a pdf to a txt file, or jump from saving as the current version to a legacy file version (and if it goes back and forth between those a few times, you will get a broken file).

WRT division in chips/CPUs, it’s more expensive than multiplication, but addition/subtraction are comparable. Here’s some real numbers from an intel optimization guide (found via SO).

The DIV operations I highlighted below show: DIV operations take 14 cycles compared to 3 cycles for MUL (that’s latency), and you can start a DIV operation once every 4 cycles vs once every 0.5 cycles for MUL. There are lots of different optimization tricks so these numbers will be specific to the CPU design.


I suspect division being generally harder is related to why factorization is difficult. Not all division is hard, tho; it’s easy to divide by 10 using pen/paper, and lossy division by a power of 2 in binary is easy too (though you don’t get decimal places for free like you do with base10 and pen/paper). Dividing by -1 is also easy b/c it’s the same as multiplying by -1. There’s some symmetry at work there – in binary, dividing or multiplying by powers of 2 (with integer indicies) is just left and right shifting. So those mul/div operations correspond to something like adding or subtracting from an offset.

Also, division (and rooting) of integers map integers to the reals – so those are operations that won’t always work for purely integer systems. I’m not sure if there is a generic way to test if numbers evenly divide that’s cheaper than just doing the division.

It’s related to some areas of cryptography: factorization and discrete logarithm problem for asymmetric crypto, and hashing/trapdoor functions. I haven’t heard much about the why, though. Mostly it seems to be ‘we found a very asymmetric process, how can we use it?’ So they know about it at least. If you wanted to look into existing research, those areas might have some prior work.

1 Like

That gives an answer about division but doesn’t explain why.

A reason I thought division and multiplication might be about the same is that one is repeated addition and the other is repeated subtraction. So if addition and subtraction are comparable, shouldn’t repeatedly doing them also be comparable?

I know there are different multiplication algorithms and some are faster than naive repeated addition. So maybe, in short, there is a shortcut for multiplication to make a more efficient algorithm, but there isn’t a shortcut (or it’s not as good) for division? That is, if you invert repeated addition you get something that’s about equally hard, but if you invert some other multiplication algorithm (that’s faster), you get something that’s harder.

If you take an algorithm for division, but invert it, I think one of the inputs (what used to be the remainder) will always be zero. If you have a data-structure like (numerator, divisor, answer), you can do repeated subtraction on the numerator and count up in the answer field: (11, 5, 0)(6, 5, 1)(1, 5, 2) (and then what used to be the numerator is the remainder). 11 = 5 \times 2 + 1. But if we invert it to get multiplication, there’s an extra input value (where the remainder went) that’s always 0.

This is not really a high overhead (it’s one extra addition), but it looks like it’s not as easy to invert a multiplication algorithm as it is to invert division, because multiplication requires fewer inputs than inverted division.

That’s my understanding, but I don’t know why there isn’t.

You’re right. I was annoyed that he said he didn’t understand something and then went on to write about it at great length instead of asking questions. I should have said directly that it’s better to ask questions about stuff you don’t understand rather than continue to write about it.

1 Like