As far as missuses of computability, and the halting problem in general, goes you probably couldn't find a better example. A recent paper set out the arguments over an important topic - robots that have the power to kill. The conclusion is that computer science proves they should be banned.
A recent paper Logical Limitations to Machine Ethics makes a number of interesting and reasonable arguments about Lethal Autonomous Weapons (LAWs) but its key argument is flawed - see if you can spot the problem.
Robots that have decided to remove humankind from the face of the world is a recurring sci fi theme and recently the introduction of drones and other military robots have made it seem a likely proposition. Luminaries such as Elon Musk have even brought it to the public's attention by claiming that it is a bigger threat then the atomic bomb.
[画像:gort]
Hence the idea that a group of academics Matthias Englert, Sandra Siebert, and Martin Ziegler from the Technische Universit ̈at Darmstadt could prove that LAWs are morally incomplete.
To quote from the abstract:
It is even suggested that making the switch code run in linear time makes the problem more difficult for the robot - in fact it makes it easier.
The conclusion is that the task of deciding if the switch software actually does the right thing is the same as asking if a program halts. This is perfectly correct - and we all know that the halting problem is undecidable so the question of whether to trust the software is undecidable and the question of whether to detain or release the vilainess is undecidable.
Only this isn't the case.
It is only undecidable if the programs in question are unbounded.
A Turing machine for which the undecidability of the halting problem is proved is a theoretical construct which has unbounded memory. Real programs all have bounded memory and they are not subject to the result.
In a theoretical world where the robot and the switch program are unbounded Turing machines, the halting problem cannot be solved. An unbounded Turing machine, the usual sort, has a tape - i.e.a memory that can be expanded as needed. The length of the tape isn't actually infinite but it is unbounded - a subtle difference.
In the real world the memory is finite and all Turing machines are bounded. That is, there is a maximum length of tape. The key point is that any Turing machine with a tape of length N, a symbol set of size S and X states (in the controller) can be simulated by a finite automata with A= SN *X states.
Why does this matter?
Because for any (determinate) finite state automaton the halting problem is computable.
The reason is that if you wait enough time for the automaton to complete A+1 steps it has either already halted or entered one of the A states more than once and hence it will loop forever and never halt. There is even a simple algorithm for detecting the repetition of a state that doesn't involve recording all of the states visited.
This is important to this discussion because no physical computing device has unbounded memory and hence the halting problem is always, in theory, computable.
In particular, the switch certainly has only a small bounded memory and the robot, while having more memory, is still bounded. They are not Turing machines, but finite state automata and for these there is no halting problem.
You need a bit of infinity to make the halting problem emerge.
Even if you expand the conditions so that the computing machine can have memory bounded by some function of the size of the input the halting problem is still decidable.
So there is no computer science placed barrier on a robot working out the best ethical action in this case.
Notice that humans are also finite state automata and hence there is no real difference, from the point of view of computer science, between a robot and a human.
You can admire the authors for trying to find a hard computer science based reason why robots should not be given the task of making moral life and death decisions, but using the halting problem incorrectly doesn't do the argument any justice. All it goes to prove is that you have to be very careful when reasoning with subtle ideas like Turing undecidability.
For the record:
All real physical computing devices have bounded memory and therefore are finite state machines not Turing machined and hence they are not subject to the undecidability of the halting problem.
A Turing machine has an unbounded tape and this is crucial in the proof of the undecidability of the halting problem.
Having said this, it is important to realise that for a real machine the number of states could be so large that the computation is impractical. But this is not the same as the absolute ban imposed by the undecidability of the halting problem for Turing machines.
There may be very good reasons for not weaponizing robots - but they have nothing at all to do with Turing machines or the theory of computation.
Robocop - MGM & Sony
More Information
Logical Limitations to Machine Ethics with Consequences to Lethal Autonomous Weapons
Related Articles
The Programmer's Guide To The Transfinite (finite but unbounded)
Confronting The Unprovable - Gödel And All That
Lambda Calculus For Programmers
Axiom Of Choice - The Programmer's Guide
To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin, or sign up for our weekly newsletter.
.NET 10, C# 14 and F# 10 Released Alongside Visual Studio 2026
13/11/2025
Microsoft has shipped .NET 10, the platform created from a combination of .NET Framework and .NET Core, including C# 14 and F# 10. Visual Studio 2026 has also been released at .NET Conf, the onli [ ... ]
George Boole, Boolean Logic and Computing
02/11/2025
Today we celebrate the 210th anniversary of the birth of George Boole who today we credit with being the "forefather of the digital age", thanks to his creation of a method of formal logic in whi [ ... ]
- Epic Settles With Google - Abandons The Rest Of Us
- WeatherNext2 From Google DeepMind
- Codacy Provides Free AI- Risk Assessment
- Eclipse Foundation Adds Agentic Functionality To Eclipse LMOS
- Cursor 2 Enables Multi-Agent Working
- TestSprite 2.0 Sees User Growth
- Linkerd Adds MCP Support
- InfluxDB 3.6 Released With AI Capabilities
- AI Champion Ship Now Open
- Vaadin Now Does MCP
- The Pico Gets Zephyr And Rust Support
- C# Could Overtake Java in TIOBE Index
- Blockly Moving To Raspberry Pi Foundation
Comments
or email your comment to: comments@i-programmer.info