4 ms·
> The fundamental approach to problem solving is search, and evolution is a kind of search Ehh, problem-solving is search (searching for an answer), so it this
by jakear 6y ago
> The fundamental approach to problem solving is search, and evolution is a kind of search
Ehh, problem-solving is search (searching for an answer), so it this statement doesn’t really make sense except as a tautology. I agree that evolution is a core means by which problems are solved, and perhaps the core means.
Humans are incredibly good searchers because of the evolution we’ve undergone, to the extent we’ve started evolving our own searchers to enhance our problem solving ability. I’m not sure if we can reasonably say that those searchers have started to evolve their own searchers, but it’s safe to say it will happen soon.
The big question to me is what beings evolved us (the universe/whatever the embedding we call reality really is), and what problem were we meant to solve? This is basically unknowable as far as I can tell, and the foundation of all “religion”.
- deleted 6y ago[deleted]
- lisper 6y agoNot all problem solving is search and not all search is problem solving. Some problems can be solved algorithmically with no search (e.g. computing a square root) and search can obviously be done in service of something other than problem-solving (unless you take the meaning of "problem" to be so broad as to apply to just about any activity). I also intended the word "search" to be understood in a narrow technical sense: https://en.wikipedia.org/wiki/Search_algorithm https://en.wikipedia.org/wiki/Search_algorithm [EDIT] Just to clarify, because I just realized that these two statements might seem contradictory: "The fundamental approach to problem solving is search" "Not all problem solving is search" All problem solving can be cast as search, but some problems have heuristics that allow the correct branch of the search space to be chosen the first at every decision point with no backtracking required. The "search" becomes degenerate because no backtracking is ever required. The word "search" is generally reserved to apply only to algorithms that don't have such strong heuristics and do require backtracking.
- jakear 6y agoI fear this is just a debate over semantics, which is always an unhappy debate. In my opinion “finding the square root” isn’t a “problem”, perhaps precisely because it doesn’t involve search. Something like “how can I determine the side length of this square I needed 67 sq feet of tile to cover” is a problem: I could use your algorithm on paper, I could guess based on prior experience, I could measure, I could estimate, I could use a calculator, etc. Which of those I pick is a search based on the constraints at hand (how much time do I have, what resources do I have, how precise an answer do I need, etc), and the act of considering many approaches to the problem and proceeding with some based on the constraints at hand is evolution. Again, this is all semantics imo, so not really a debate so much as sharing world views. Which perhaps is what debate is. Hm.
- lisper 6y ago> “finding the square root” isn’t a “problem”, perhaps precisely because it doesn’t involve search Well, it can be solved by search (as I've defined it). It just happens that it doesn't have to be.
- zackmorris 6y agoOh man, reading what you wrote out, it just occurred to me that learning is actually caching. We already have a multitude of machines that can solve any problem: the global economy, corporations, capitalism (Darwinian evolution casted as an economic model), organizations, our brains, etc. So take an existing model that works, convert it to code made up of the business logic and tests that we write every day, and start replacing the manual portions with algorithms (automate them). The "work" of learning to solve a problem is the inverse of the solution being taught. But once you know the solution, cache it and use it. I'm curious what the smallest fully automated model would look like. We can imagine a corporation where everyone has been replaced by a virtual agent running in code. Or a car where the driver is replaced by chips or (gasp) the cloud. But how about a program running on a source code repo that can incorporate new code as long as all of its current unit tests pass. At first, people around the world would write the code. But eventually, more and more of the subrepos would be cached copies of other working solutions. Basically just keep doing that until it passes the Turing test (which I realize is just passé by today's standards, look at online political debate with troll bots). We know that the compressed solution should be smaller than the 6 billion base pairs of DNA. It just doesn't seem like that hard of a problem. Except I guess it is: https://github.com/opencog/opencog https://github.com/opencog/opencog
- zackmorris 6y agoIn my own life, I've come to view the search for meaning as the fundamental goal of consciousness. My good friend calls this the "reconnection" and I've often wondered if connectedness could be used as the primary incentive for a general machine learning algorithm.