网站大量收购独家精品文档,联系QQ:2885784924

自生程式.pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
自生程式

自生程式 王湘叡 自生程 式 ( )指 的是一個程 式可以 自我複製 。更詳 細地說 ,是指一個 程式 ,其輸 出為一個新程式 。並且 ,輸 出的新程式即為原程式 。不過 ,對一些 程式語言 ,可以接 受空白程式碼 ,而其執行結果為不做任何 事 ,這種 太顯而易 見的 自生程式 ,因此並不在討論之列 。此外 ,藉 由讀取原始碼檔 案的方式也不 算在列 。 幸運的是 ,自生程式在計算機理論 中 ,已被證 明是可行的 。 並且不限定何種程 式語言 ,只要所使 用的程式語言具有一定的能力 ,其 自生程 式便存在 。至於何謂一定的能力 ,則不容 易定義 。就計算機學家的角度則是指 等價於 圖靈機 ( ) 。所謂 的圖靈機是一種計算模型 ,而這種模 型很容 易數學化 ,因此在研 究一些計算機理論 的問題時 ,常會用到此種模型 。 關於 圖靈機的詳細解釋 ,這邊就不說 明 。大致上來說 ,目前常用的程式語言都 是等價於 圖靈機的 ,並且 ,都有其 自生程式存在 。 此文的目的就是說 明 自生程式的原理及如何 寫出一個此類的程式 。為 了方便 起 見 ,本文將先以 做舉例 。 對於要程式設計基礎 的人來說 ,要讓一個程式的輸 出為一個程式是容易的 。 舉例來說 ,以下為一個 程式 : 而我們可以輕 易寫出另一個程式 ,其輸 出為 : 注意 ,對 而言 ,要表示字 串有幾種 方法 。使 用者可以選擇要 用兩個 雙 引號 ( )或兩個單 引號 ( )來括住字 串 。唯一的限制是雙 引號括住的字 串內不能 包含雙 引號及單引號括住的字 串內不能 包含單引號 。如果 真有這種 需 求 ,則要在其前加上反斜線 ( )來跳 。 然而 ,若要 以此方式來寫 自生程式則是困難的 。由上例可知 ,當執行 而輸 出 後 ,有些資訊是遺 失的 。不過 ,這樣 的策略還是有一定的用 處的 。 我們 先定義一個 函數 。簡單來說 ,對於 一個字 串 , 經過程 式語言 的解釋 ,會變成 。以 而言 ,我們可以寫出類似 以下的程式碼 事實上 , 本身就提供一個這樣 函數 -- 。 為 了方便起 見 ,我們要 區分兩個觀念 --程 式及程 式碼 的不 同 。對部分語 言 ,程式碼要經過編譯才變成程式 。對於一個程式 而言 ,以下會使用 來 表示程式 的描述或說程式碼 。 接 著 ,我們 將說 明 自生程 式是存在 的證 明 :建 立一個程 式 , 由 、 所組成 ,換言之 。且會先執行 再執行 。儲 存 對於輸 入 ,而 為一段程 式碼 。 計算 出 把 計算結果和 結合起來 印出所 出求出描述 而 實際執行的過程為 : 一 、 首先 先執行 ,會得到 。 二 、 開始執行 ,然後找到它的輸入 (即 ) 。 三 、 利用 ,可以計算 出 ,並以此計算 出 。將 與

文档评论(0)

magui + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8140007116000003

1亿VIP精品文档

相关文档