home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.lang.c++
- Path: sparky!uunet!mcsun!news.funet.fi!network.jyu.fi!sakkinen
- From: sakkinen@jyu.fi (Markku Sakkinen)
- Subject: Re: self-reproducing C++ program
- Message-ID: <1992Nov18.113006.12935@jyu.fi>
- Organization: University of Jyvaskyla, Finland
- References: <1919@alcbel.be> <DECHC00.92Nov17210448@tohi.DMI.USherb.Ca> <c164-aa.722076580@po.berkeley.edu>
- Date: Wed, 18 Nov 1992 11:30:06 GMT
- Lines: 41
-
- In article <c164-aa.722076580@po.berkeley.edu> c164-aa@po.berkeley.edu (Paul DuBois) writes:
- >dechc00@tohi.DMI.USherb.Ca (CHRISTIAN DECHAMPLAIN) writes:
- >
- >>Is that an undecidable problem. The type of problem you waiste your life
- >>trying to solve only to finaly discover it is undecidable.
- >
- >I think not -- assuming a self-reproducing program of finite size exists,
- >one can surely generate all possible inputs to a compiler of equal
- >or lesser size. If an input compiles (!), testing for self-reproduction
- >is easy (diff).
- >
- >An example has been given, therefore the assumption is valid. QED.
-
- There is one possible problem, though.
- When you start generating all possible legal C++ programs
- in the order of ascending length, before the first self-reproducing
- one you might run into an item about which you can prove _neither_
- of the following alternatives:
-
- 1. It terminates (i.e., in finite time you can see whether it
- is self-reproducing or not).
-
- 2. It does not terminate (BTW, if it will certainly perform
- no further output after reproducing itself, it should qualify).
-
- 3. Its output is different from its source, whether it terminates or not.
-
- This situation does not seem likely, especially since the halting
- theorem does not apply directly: it says that a _fixed program_
- cannot decide about all possible programs whether they are terminating
- or not. Here we are allowed to use any ways and means of reasoning.
-
- ----------------------------------------------------------------------
- Markku Sakkinen (sakkinen@jytko.jyu.fi)
- SAKKINEN@FINJYU.bitnet (alternative network address)
- Department of Computer Science and Information Systems
- University of Jyvaskyla (a's with umlauts)
- PL 35
- SF-40351 Jyvaskyla (umlauts again)
- Finland
- ----------------------------------------------------------------------
-