News for hackers. Stuff that matters.
Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by yters on Tuesday July 31, 2018 @07:11AM (#17652176)
Arguably impossible for AI, since sufficiently complex language can be Turing complete, and thus general understanding requires solving the halting problem.
Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by melling on Tuesday July 31, 2018 @07:17AM (#17652206)
There’s something in the human brain that can’t be replicated?
Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by frostburg on Tuesday July 31, 2018 @07:39AM (#17652335)
No, there is no reason to think that the human brain is capable of computing anything that isn't Church-Turing computable. Luckily no translation actually requires a "general solution" of the problem formally.
Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by yters on Tuesday July 31, 2018 @04:57PM (#17657053)
How do you know this is true?
Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by frostburg on Thursday August 02, 2018 @11:24AM (#17672132)
Texts have finite length.
Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by yters on Saturday August 04, 2018 @01:28PM (#17687693)
Can you expand the missing premise?

  1. Texts have finite length.
  2. ____
  3. Therefore, the halting problem does not impact machine translation.
Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by frostburg on Monday August 13, 2018 @05:06PM (#17753639)
Sorry, missed this. I'll try to explain. A real computer doesn't actually have an infinite tape (memory) like a canonical Turing Machine, it's actually a finite state machine with a vast amount of possible states that we conveniently think about as analogous to a Turing machine, hence the the halting problem is actually solvable (just not in practice) for real hardware.

Given content that can be expressed in two languages in a text of finite length, you could in theory enumerate all the possible translated texts.

Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by yters on Tuesday August 14, 2018 @12:22PM (#17759289)
If it is not solvable in practice, I don't see how finiteness addresses my objection...
Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by adrianN on Tuesday July 31, 2018 @09:53AM (#17653101)
Maybe there are examples of texts that can't be translated even by humans? Language Log has discussions about so-called words that can't be translated regularly and generally rejects that concept, but maybe whole texts are more difficult. The I-Ching has several translations that don't resemble each other very much and it's common knowledge that a translation can be either accurate or beautiful but rarely both.
Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by yters on Tuesday July 31, 2018 @02:08PM (#17655530)
If the human mind is non physical, then it is might be a halting oracle.
Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by adrianN on Wednesday August 01, 2018 @02:48AM (#17660212)
If the moon is made of cheese, then 1=2. What does non-physical even mean?
Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by yters on Wednesday August 01, 2018 @08:26AM (#17661828)
It is hard to say what the non-physical is. However, it can be detected. For example, if we could, say, solve the halting problem, then whatever part of us is doing the solving cannot be physical, since everything physical can be computed by a Turing machine.

So, in general the non-physical is defined negatively. The physical is defined by physical limitations, i.e. the laws of physics and computation, and thus anything that surpasses those limitations is non-physical.

Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by adrianN on Wednesday August 01, 2018 @08:34AM (#17661881)
There is no algorithm for checking whether a system can solve the halting problem or not, the reduction to the halting problem is quite simple. But that's besides the point.

If you found something that could solve the halting problem and you're lucky enough to be able to prove it for this special case, that would just mean that the assumption that everything physical can be computed by a Turing machine is wrong. It works the same way with anything else that we think of as "impossible". If you observed an apple falling towards the sky that doesn't mean that the apple is non-physical, it just points to a serious flaw in our understanding of gravity. Experiments trump all physical theories.

Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by yters on Wednesday August 01, 2018 @08:35AM (#17661885)
That makes the term 'physical' vacuous.

Technically, we already recognize the world is non-physical. Materialists defined materialism to things bumping into each other. Now we know there are things like field effects, attraction, and action at a distance. So there is a non-bumping substrate that the bumping things exist within. Thus, strict physicalism is already known to be false.

Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by adrianN on Wednesday August 01, 2018 @10:15AM (#17662645)
No it doesn't. It just implies that everything that causally interacts with the observable reality is physical. It leaves open the door for an immortal soul, it's just that the existence or nonexistence of the soul has absolutely no effect on the observable universe.

The term physicalism was introduced a few decades after we figured out Maxwell's equations. If the philosophers defined it to mean things bumping into other things they were frankly poorly informed about the world we live in.

Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by yters on Wednesday August 01, 2018 @01:45PM (#17664914)
What if the immortal soul causally interacts with the observable reality? You cannot define away that possibility.
Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by adrianN on Thursday August 02, 2018 @03:39AM (#17669825)
If it's a proper interaction and not just a one-way influence from reality->soul, then the soul subject to the study of physics.
Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by yters on Saturday August 04, 2018 @01:31PM (#17687702)
Sure, but that doesn't imply the soul is physical. I am interacting with you through HTTP, but that doesn't make me or you HTTP.
Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by nine_k on Tuesday July 31, 2018 @07:33AM (#17652297)
When we will have created human-level AI, changes in language translation will likely be a minor detail on the background of other changes in the world.
Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by ekianjo on Tuesday July 31, 2018 @07:38AM (#17652329)
Your question sounds like you assume we have a perfect understanding of the brain. At best, our understanding is still very much peripheral. We have no idea how consciousness forms, even if we roughly know where it is located.
Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by melling on Tuesday July 31, 2018 @07:47AM (#17652382)
No, I didn’t assume we have a perfect understanding of the human brain, simply that nothing magical is happening and that we will eventually be able to better understand it.
Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by yters on Tuesday July 31, 2018 @04:58PM (#17657061)
Why don't you think there is something magical happening in the brain?
Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by mistercow on Tuesday July 31, 2018 @10:50AM (#17653597)
If solving the halting problem were necessary to understand language, humans wouldn't be able to understand language either.

I think that the confusion here is that you're conflating "comprehension" with "execution". You can write out a set of instructions in English that describe a non-halting algorithm, but I don't have to determine whether the program you've described halts to understand what the algorithm does. And I certainly wouldn't need to determine that in order to translate the instructions into Spanish.

Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by yters on Tuesday July 31, 2018 @02:04PM (#17655480)
You assume the human mind is only as powerful as a Turing machine, which is just conjecture.

In general, understanding what a program does requires knowing whether it halts. For example, what does this program do when given input another_program?

  if halts(another_program):
     print "program halts."
  else:
     print "program does not halt."
Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by mistercow on Wednesday August 01, 2018 @02:53AM (#17660231)
>You assume the human mind is only as powerful as a Turing machine, which is just conjecture.

Given the lack of any proposals for how, even in theory, hypercomputation might be achieved in a physical system, and the lack of any empirical indication that humans are capable of hypercomputation, I would say it's much more than a conjecture. At the very least, it's an incredibly likely conjecture.

> For example, what does this program do when given input another_program?

It prints "program halts." if another_program halts, and prints "program does not halt." otherwise. I understand exactly what this program does, even though I can't tell you its output for an arbitrary input. And if I want to translate the above sentence into Spanish, I don't have to come anywhere near solving the halting problem to do so.

Consider the following program which does not involve the halting problem:

    function (targetDigest)
      i = new BigInt(0);
      while(true) {
        if (sha1(i.toBytes()) == targetDigest) {
          print(i.toBinary());
        }
        i = i.plus(1);
      }
    }
What does this program do when given targetDigest? It prints out the shortest bit string whose SHA-1 is that targetDigest. I obviously can't tell you what specific answer it will output for a given input, but it would be absurd to say that I don't understand the program.

But even if you can come up with sentences that require one to solve the halting problem to translate (and I'm still not convinced such sentences exist), it's another thing entirely to claim that those sentences come up in practice. This is a red herring when it comes to the feasibility of machine translation, because a good translator doesn't need to be able to cope with every valid sentence. It merely needs to cope with the set of sentences that humans actually care about.

Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by yters on Wednesday August 01, 2018 @08:32AM (#17661871)
My point was given a specific another_program you cannot say exactly what the program will do. On the other hand, every program is some kind of Turing computation, so you could argue by knowing of a Turing machine you understand every program. However, that is not so useful.

If we knew everything that comes up in practice, translation and natural language processing would be a solved problem. Without this knowledge, then we need to look at the general picture, which is not solvable. So there is no automated way to understand all language, we have to always rely on a human in the loop to provide domain knowledge.

Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by mistercow on Wednesday August 01, 2018 @03:11PM (#17665911)
No, again, you’re conflating comprehension and execution. It is very clear that you don’t have to execute a set of instructions in order to translate them into another language.

So unless you can give a specific example of a sentence that requires one to solve the halting problem to translate, I don’t think you’re saying anything hint meaningful. And if you can come up with such an example which people would actually use in practice, I’ll eat my hat.

Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by yters on Wednesday August 01, 2018 @05:36PM (#17667231)
Yes, strict translation requires solving the halting problem in the general case. E.g. translate this dynamically typed program into a statically typed one:

  if halts(input): return 1
  else: return "Nope"
However, you can always write an interpreter in your desired language and avoid the halting problem. But, that's not really translation.
Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by mistercow on Wednesday August 01, 2018 @09:59PM (#17668716)
Can you explain to me what you think “translate this dynamically typed program into a statically typed one” means as concerns your fragment of pseudocode? And are you assuming that the “halts” function is a halting oracle?
Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by yters on Saturday August 04, 2018 @01:35PM (#17687717)
It'd be better expressed as:

  def a_func(input):
      if eval(input) == 0: 
          return 1
      else: 
          return "Nope"
To convert this to a statically typed program, the compiler has to determine what eval(input) returns at compile time, so it knows whether the function has a type signature of int or String.

In general, this is impossible, since eval(input) may not halt.

Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by mistercow on Monday August 06, 2018 @01:00AM (#17695180)
The way to type this would be: String -> Int | String (or, if the bottom type is part of your type system, String -> Int | String | Bottom)

And assuming that "eval" is typed as String -> Any, there should be no problem automatically inferring the type signature of this function. I certainly didn't have to solve the halting problem to generate that signature.

Re:The 4,000 Lines of Code Harvard Hopes Will Change Transla... by yters on Tuesday August 07, 2018 @09:00AM (#17706109)
In that case you are relying on generics or the equivalent of dynamic typing. My point is that if the language is just static typing without these extra facilities, you cannot translate without knowing the outcome at runtime.