2 ms·
> We had reasoning down pat in the '80s. We had something, but if we really had reasoning "down pat", we would not now be reading an article about someone faki
by ScottBurson 7y ago
> We had reasoning down pat in the '80s.
We had something, but if we really had reasoning "down pat", we would not now be reading an article about someone faking automated app development. Programming is all about reasoning.
- YeGoblynQueenne 7y agoThat programming needs reasoning doesn't mean that reasoning is the only thing you need if you want to do (automated) programming, or that reasoning is only useful in (automated) programming. That is relevant to your comment. The work on automated reasoning (or "inference", etc) really started in the '50s with Church and Turing, then reached a peak in the late 80's and 90's with work on automated theorem proving (there was a great big push at the time to solve very hard problems to do with the soundness and completeness of inference procedures, particularly resolution) and is still going on (for example with Constraint Programming and Answer Set Programming etc). The result of this work was logic programming. I'm leaving out all the work on functional programming that was just another branch of the same tree, if you like, because I don't know it that well but I'm sure others on this board can complete the picture. Then of course there was all the other classical AI stuff on planning, grammar learning, game playing etc etc that you can read about in Russel & Norvig. Now, all this work could potentially be turned to the task of automated programming- but automated programming was never the goal of all that research. There was a lot of work on program synthesis, but that was just another AI sub-field with its own specific goals, that were not the overarching goals of the field as a whole. That is why we don't have automated programming at the push of a button, today: because it was never the main subject of AI research. Edit: bit of a plug. Like I say in another comment, my PhD is on algorithms that learn logic programs from examples and background knowledge (both of which are also logic programs). That's Inductive Logic Porgramming. Our stuff works. We can learn recursive programs and even invent sub-programs that are necessary to complete a programming task and that are not provided by the user. We are making big leaps all the time and we're way, way ahead of neural program synthesis and the like. There's also a whole field of Inductive Functional Programming that does the same stuff but with functional programming languages. Automating app development with that sort of technique is mainly a matter of engineering- the research is out there. But, you haven't heard anything about it because the hullaballoo about deep learning is covering everything else up and most people don't even know there is AI outside of deep learning. Hence my comments in this thread (rather obviously).
- perl4ever 7y agoI think there's significant equivocation going on here regarding the word "reasoning". Automated theorem proving is no more like human reasoning than a steam engine was like John Henry. All the stuff you talk about is rigid and omits the thing that makes human "reasoning" valuable - context switching. I think technical people are often blind to this because they don't do very much of it themselves, but it's the fundamental thing that makes people different from machines, and complementary.
- YeGoblynQueenne 7y agoApologies for the confusing terminology. When I say "reasoning" I mean it in the way it's used in logic-based AI where it basically means the automation of propositional and first-order theorem proving. I would say that we do have that down pat, as per my comment. I'm not sure what you mean by "context switching" but I will agree with you that following rigid inference rules is not how most people think most of the time. However, we do have the ability to think in this way and this way of thinking is very useful for certain problems where we can't just intuitively come up with a good solution. For instance, scientific thinking is of this kind. Historically what's really been missing from most attempts at simulating human reasoning is "common sense"- background knowledge about the way the world works. If we could successfully encode even a ten-year old's worldly knowledge, we could probably build an automated reasoning system that would appear much smarter than a ten-year old, by dint of it being a) much faster, b) much more accurate and c) much more, well, logical. But, we have so far failed to instill common sense to our programs and models so they remain at best idiot savants; if not simply idiots :/
- ScottBurson 7y ago> That is why we don't have automated programming at the push of a button, today: because it was never the main subject of AI research. I don't think that's the only reason at all. I think it's a much harder problem than you're giving it credit for. Great to hear that you're working on it, though.
- YeGoblynQueenne 7y ago