# An AI algorithm that tells you the How and Why or another algorithm

**URL:** <https://boards.straightdope.com/t/an-ai-algorithm-that-tells-you-the-how-and-why-or-another-algorithm/819040>\
**Category:** Miscellaneous and Personal Stuff I Must Share\
**Created:** [August 3, 2018, 2:55pm UTC](https://boards.straightdope.com/t/an-ai-algorithm-that-tells-you-the-how-and-why-or-another-algorithm/819040 "2018-08-03T14:55:47Z")\
**Posts on this page:** 14\
**Page:** 2

<div class="post-metadata">

**Author:** ![Textual\_Innuendo](https://avatars.discourse-cdn.com/v4/letter/t/898d66/32.png) [@Textual\_Innuendo](https://boards.straightdope.com/u/Textual_Innuendo)\
**Post date:** [August 4, 2018, 11:35am UTC](https://boards.straightdope.com/t/an-ai-algorithm-that-tells-you-the-how-and-why-or-another-algorithm/819040/21 "2018-08-04T11:35:33Z")

</div>

> [@Snowboarder\_Bo](#):
>
> I’ve had this problem with online courses before: they don’t give you all the information you need to solve some problems or it marks my solution as wrong when it is not.  
> …  
> What, in your opinion, is the biggest strength there, that I might find a counter to the poorly written descriptions and instructions I’ve seen in my first 14 lessons?

Oh, sorry to hear that happened to you. I’ve had that happen to me myself on other “learn X” platforms, and it is extremely frustrating, although it never happened to me on code academy (back when I was just learning Python, I actually started using code academy after an experience like that somewhere else).

In terms of strength, I felt Code Academy had pretty decent coverage of the fundamentals (things like syntax, whitespacing, if statements, for loops, etc.) and good pacing (didn’t go too fast or too slow for the most part). It doesn’t take you beyond them, but it really isn’t meant to.

And hacker rank is sort of the graduated counterpart to it, where when you know the fundamentals, you can stretch your muscles there with various problems.

But if Code Academy isn’t working for you, I’d urge you to explore other options. I’ve heard decent things about Solo Learn (free), and of course there’s lots of paid options like Pluralsight and Code School (Pluralsight has been endorsed by a number of team-managing devs I know in terms of being worth it to get people up to speed on something new).

---

<div class="post-metadata">

**Author:** ![RaftPeople](https://avatars.discourse-cdn.com/v4/letter/r/6f9a4e/32.png) [@RaftPeople](https://boards.straightdope.com/u/RaftPeople)\
**Post date:** [August 4, 2018, 6:52pm UTC](https://boards.straightdope.com/t/an-ai-algorithm-that-tells-you-the-how-and-why-or-another-algorithm/819040/22 "2018-08-04T18:52:07Z")

</div>

> [@BeepKillBeep](#):
>
> It is “how” in a sense of the word. Certainly, it is not describing things, for example for plant growth, a cellular level (although you can model cellular growth this way too but then you lose the larger scale, I suppose you could layer them maybe). So, there isn’t a need to simulate the physics or chemistry. The exact process being used is not as vital for this kind of modelling as knowing that a process is executing to do the work (and for an expert, such a plant physiologist, this is sufficient, as they know the biological process underlying the abstract description of the model). Similar models using this kind of abstract thinking about the mechanisms have been done for geological formations, arterial growth, etc, and been found to be quite useful.

Maybe I’m misunderstanding the word “how”. I was thinking it was a description of a sequence of steps and required components at each step to achieve the result of something (like growth).

---

<div class="post-metadata">

**Author:** ![BeepKillBeep](https://avatars.discourse-cdn.com/v4/letter/b/9e8a1a/32.png) [@BeepKillBeep](https://boards.straightdope.com/u/BeepKillBeep)\
**Post date:** [August 4, 2018, 7:26pm UTC](https://boards.straightdope.com/t/an-ai-algorithm-that-tells-you-the-how-and-why-or-another-algorithm/819040/23 "2018-08-04T19:26:21Z")

</div>

> [@RaftPeople](#):
>
> Maybe I’m misunderstanding the word “how”. I was thinking it was a description of a sequence of steps and required components at each step to achieve the result of something (like growth).

Producing the sequence of steps is exactly what it does.

I’m using very informal language by saying “how” and “why”. More precisely, my algorithm finds the algorithm that underlies a (natural) process. In an informal sense, that can be thought of as “how” that process works at an abstract layer, while recognizing of course that “how” is an imprecise word that could mean different things to different people depending on their point-of-view.

Since I’m posting, I started testing it this morning on real existing models from different domains and it works shockingly well so far. It is inferring algorithms for auxin transfer in different flowering plant species in under 10 seconds, which is really cool.

One step closer to my ultimate goal.

\<beep\> kill? \<beep\>

Soon, my precious, soon.

---

<div class="post-metadata">

**Author:** ![Half\_Man\_Half\_Wit](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/half_man_half_wit/32/21766_2.png) [@Half\_Man\_Half\_Wit](https://boards.straightdope.com/u/Half_Man_Half_Wit)\
**Post date:** [August 5, 2018, 8:50am UTC](https://boards.straightdope.com/t/an-ai-algorithm-that-tells-you-the-how-and-why-or-another-algorithm/819040/24 "2018-08-05T08:50:56Z")

</div>

I don’t have time to read the whole thread, so this is in part a reminder to myself to do so. But from reading the OP, this sounds somewhat similar to (perhaps the inverse problem of) the work of Markus Hutter with his [AIXI-agent](https://en.wikipedia.org/wiki/AIXI), which is theoretically able to infer solutions for arbitrary problems that only exceed the running time of special-purpose algorithms for these problems by a constant factor (IIRC). The problem is that the ‘full’ agent relies on Solomonoff induction, which is based on Kolmogorov complexity, which isn’t computable; so you can only ever instantiate approximations. It seems like (again, on first reading) your algorithm could possibly help either evaluating or generating strategies for something like that.

Another thing that seems vaguely related to me is Schmidhuber’s [Gödel machines](https://en.wikipedia.org/wiki/G%C3%B6del_machine), which re-write their own code once they have found a proof that the re-write would yield a better strategy.

---

<div class="post-metadata">

**Author:** ![BeepKillBeep](https://avatars.discourse-cdn.com/v4/letter/b/9e8a1a/32.png) [@BeepKillBeep](https://boards.straightdope.com/u/BeepKillBeep)\
**Post date:** [August 5, 2018, 1:22pm UTC](https://boards.straightdope.com/t/an-ai-algorithm-that-tells-you-the-how-and-why-or-another-algorithm/819040/25 "2018-08-05T13:22:44Z")

</div>

> [@Half\_Man\_Half\_Wit](#):
>
> I don’t have time to read the whole thread, so this is in part a reminder to myself to do so. But from reading the OP, this sounds somewhat similar to (perhaps the inverse problem of) the work of Markus Hutter with his [AIXI-agent](https://en.wikipedia.org/wiki/AIXI), which is theoretically able to infer solutions for arbitrary problems that only exceed the running time of special-purpose algorithms for these problems by a constant factor (IIRC). The problem is that the ‘full’ agent relies on Solomonoff induction, which is based on Kolmogorov complexity, which isn’t computable; so you can only ever instantiate approximations. It seems like (again, on first reading) your algorithm could possibly help either evaluating or generating strategies for something like that.
> 
> Another thing that seems vaguely related to me is Schmidhuber’s [Gödel machines](https://en.wikipedia.org/wiki/G%C3%B6del_machine), which re-write their own code once they have found a proof that the re-write would yield a better strategy.

You have it right. That is the problem, the inductive inference of an algorithm.

You know, I sometimes forget that some of the members of this forum are well informed. I usually have to simplify this, hence the “how” and “why” of an algorithm. If I’m doing my “elevator pitch” and say “inductive inference of an algorithm”, they’re gone. But I say, “We’re trying to take a natural process and determine it’s algorithm, by which we mean, how does that natural process work?” then they get it.

---

<div class="post-metadata">

**Author:** ![RaftPeople](https://avatars.discourse-cdn.com/v4/letter/r/6f9a4e/32.png) [@RaftPeople](https://boards.straightdope.com/u/RaftPeople)\
**Post date:** [August 5, 2018, 5:39pm UTC](https://boards.straightdope.com/t/an-ai-algorithm-that-tells-you-the-how-and-why-or-another-algorithm/819040/26 "2018-08-05T17:39:36Z")

</div>

> [@BeepKillBeep](#):
>
> You have it right. That is the problem, the inductive inference of an algorithm.
> 
> You know, I sometimes forget that some of the members of this forum are well informed. I usually have to simplify this, hence the “how” and “why” of an algorithm. If I’m doing my “elevator pitch” and say “inductive inference of an algorithm”, they’re gone. But I say, “We’re trying to take a natural process and determine it’s algorithm, by which we mean, how does that natural process work?” then they get it.

can you be more specific with an example? What are the types of inputs about a natural process into your system? For example, for the one you mentioned above about auxin transfer, what kind of information did you feed into the system that gave it the opportunity to solve the problem?

---

<div class="post-metadata">

**Author:** ![Snowboarder\_Bo](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/snowboarder_bo/32/229_2.png) [@Snowboarder\_Bo](https://boards.straightdope.com/u/Snowboarder_Bo)\
**Post date:** [August 5, 2018, 8:32pm UTC](https://boards.straightdope.com/t/an-ai-algorithm-that-tells-you-the-how-and-why-or-another-algorithm/819040/27 "2018-08-05T20:32:31Z")

</div>

> [@Textual\_Innuendo](#):
>
> Oh, sorry to hear that happened to you. I’ve had that happen to me myself on other “learn X” platforms, and it is extremely frustrating, although it never happened to me on code academy (back when I was just learning Python, I actually started using code academy after an experience like that somewhere else).
> 
> In terms of strength, I felt Code Academy had pretty decent coverage of the fundamentals (things like syntax, whitespacing, if statements, for loops, etc.) and good pacing (didn’t go too fast or too slow for the most part). It doesn’t take you beyond them, but it really isn’t meant to.
> 
> And hacker rank is sort of the graduated counterpart to it, where when you know the fundamentals, you can stretch your muscles there with various problems.
> 
> But if Code Academy isn’t working for you, I’d urge you to explore other options. I’ve heard decent things about Solo Learn (free), and of course there’s lots of paid options like Pluralsight and Code School (Pluralsight has been endorsed by a number of team-managing devs I know in terms of being worth it to get people up to speed on something new).

I decided to persevere, mostly on the basis that I figured you wouldn’t recommend something that was seriously flawed. I’m glad I did. I’ve plowed through more than half of the first lesson set without trouble at all. Work was pretty busy for a couple of days but I think I have time now to do some more learning.

Thank you again for the rec!

---

<div class="post-metadata">

**Author:** ![Half\_Man\_Half\_Wit](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/half_man_half_wit/32/21766_2.png) [@Half\_Man\_Half\_Wit](https://boards.straightdope.com/u/Half_Man_Half_Wit)\
**Post date:** [August 6, 2018, 3:22pm UTC](https://boards.straightdope.com/t/an-ai-algorithm-that-tells-you-the-how-and-why-or-another-algorithm/819040/28 "2018-08-06T15:22:54Z")

</div>

> [@BeepKillBeep](#):
>
> You have it right. That is the problem, the inductive inference of an algorithm.
> 
> You know, I sometimes forget that some of the members of this forum are well informed.

I wish I was! I’m fascinated by the field, but I’m very much just an outside observer coming along for the ride. I love reading about it, though, so I’d appreciate it if you threw more cool stuff our way! Though I suppose I’ll know your work has reached maturity once the killbots come knocking.

---

<div class="post-metadata">

**Author:** ![Snowboarder\_Bo](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/snowboarder_bo/32/229_2.png) [@Snowboarder\_Bo](https://boards.straightdope.com/u/Snowboarder_Bo)\
**Post date:** [August 7, 2018, 2:08am UTC](https://boards.straightdope.com/t/an-ai-algorithm-that-tells-you-the-how-and-why-or-another-algorithm/819040/29 "2018-08-07T02:08:47Z")

</div>

At the moment that’s only a problem in Venezuela.

---

<div class="post-metadata">

**Author:** ![BeepKillBeep](https://avatars.discourse-cdn.com/v4/letter/b/9e8a1a/32.png) [@BeepKillBeep](https://boards.straightdope.com/u/BeepKillBeep)\
**Post date:** [August 7, 2018, 3:57am UTC](https://boards.straightdope.com/t/an-ai-algorithm-that-tells-you-the-how-and-why-or-another-algorithm/819040/30 "2018-08-07T03:57:29Z")

</div>

> [@RaftPeople](#):
>
> can you be more specific with an example? What are the types of inputs about a natural process into your system? For example, for the one you mentioned above about auxin transfer, what kind of information did you feed into the system that gave it the opportunity to solve the problem?

It is a bit too complex for me to explain here. If you’re interested you can read the researchers’ paper on it.

[http://algorithmicbotany.org/papers/auxin-driven-patterning.pdf](http://algorithmicbotany.org/papers/auxin-driven-patterning.pdf)

---

<div class="post-metadata">

**Author:** ![BeepKillBeep](https://avatars.discourse-cdn.com/v4/letter/b/9e8a1a/32.png) [@BeepKillBeep](https://boards.straightdope.com/u/BeepKillBeep)\
**Post date:** [August 7, 2018, 3:58am UTC](https://boards.straightdope.com/t/an-ai-algorithm-that-tells-you-the-how-and-why-or-another-algorithm/819040/31 "2018-08-07T03:58:51Z")

</div>

My stochastic algorithm inference tool has been accepted at a conference. It is a long running (30+ years) conference, small but of good quality for AI. Very excited!!

---

<div class="post-metadata">

**Author:** ![RaftPeople](https://avatars.discourse-cdn.com/v4/letter/r/6f9a4e/32.png) [@RaftPeople](https://boards.straightdope.com/u/RaftPeople)\
**Post date:** [August 7, 2018, 4:13am UTC](https://boards.straightdope.com/t/an-ai-algorithm-that-tells-you-the-how-and-why-or-another-algorithm/819040/32 "2018-08-07T04:13:30Z")

</div>

> [@BeepKillBeep](#):
>
> It is a bit too complex for me to explain here. If you’re interested you can read the researchers’ paper on it.
> 
> [http://algorithmicbotany.org/papers/auxin-driven-patterning.pdf](http://algorithmicbotany.org/papers/auxin-driven-patterning.pdf)

Thanks, that was actually helpful. I didn’t read the entire thing or even attempt to understand it all, but I think I was able to get a “feel” for the level of detail and how modeled (e.g. petri-nets etc.).

---

<div class="post-metadata">

**Author:** ![Snowboarder\_Bo](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/snowboarder_bo/32/229_2.png) [@Snowboarder\_Bo](https://boards.straightdope.com/u/Snowboarder_Bo)\
**Post date:** [August 7, 2018, 4:18am UTC](https://boards.straightdope.com/t/an-ai-algorithm-that-tells-you-the-how-and-why-or-another-algorithm/819040/33 "2018-08-07T04:18:26Z")

</div>

> [@BeepKillBeep](#):
>
> My stochastic algorithm inference tool has been accepted at a conference. It is a long running (30+ years) conference, small but of good quality for AI. Very excited!!

Congratulations! That totally fucking rocks!

Um, what does that entail, exactly? Do you get to give a talk? Will others evaluate your creation? Will there be punch & pie?

---

<div class="post-metadata">

**Author:** ![BeepKillBeep](https://avatars.discourse-cdn.com/v4/letter/b/9e8a1a/32.png) [@BeepKillBeep](https://boards.straightdope.com/u/BeepKillBeep)\
**Post date:** [August 7, 2018, 5:02am UTC](https://boards.straightdope.com/t/an-ai-algorithm-that-tells-you-the-how-and-why-or-another-algorithm/819040/34 "2018-08-07T05:02:34Z")

</div>

> [@Snowboarder\_Bo](#):
>
> Congratulations! That totally fucking rocks!
> 
> Um, what does that entail, exactly? Do you get to give a talk? Will others evaluate your creation? Will there be punch & pie?

Usually, a paper will be accepted as a tech demo, poster, oral presentation, with a poster usually being considered better than a demo, and a presentation better than a poster. Although in some cases, a poster in a great conference can be better than a presentation in a lesser conference. In any case, this paper was accepted for an oral presentation, so I will travel to the conference and give a 20 minute talk on the research. The paper is also published in the conference proceedings. The evaluation has already occurred, in that the paper goes through a peer review process before be accepted, but of course anybody listening to the talk may provide some feedback later.

As for pie, well, there is usually a social event, which incorporates something local. So I went to a conference in France recently and we toured one of the palaces. There’s usually a banquet as well. Specifically pie … well, maybe, I will say the conference in France had too many great desserts!

[Previous page](https://boards.straightdope.com/t/an-ai-algorithm-that-tells-you-the-how-and-why-or-another-algorithm/819040.md?page=1)
