更改

删除3,514字节 、 2021年1月20日 (三) 16:13
第15行: 第15行:  
==自指在逻辑、数学和计算中的体现 ==
 
==自指在逻辑、数学和计算中的体现 ==
   −
In classical [[philosophy]], [[paradoxes]] were created by self-referential concepts such as the [[omnipotence paradox]] of asking if it was possible for a being to exist so powerful that it could create a stone that it could not lift. The [[Epimenides paradox]], 'All Cretans are liars' when uttered by an ancient Greek Cretan was one of the first recorded versions. Contemporary philosophy sometimes employs the same technique to demonstrate that a supposed concept is meaningless or ill-defined.
  −
In classical philosophy, paradoxes were created by self-referential concepts such as the omnipotence paradox of asking if it was possible for a being to exist so powerful that it could create a stone that it could not lift. The Epimenides paradox, 'All Cretans are liars' when uttered by an ancient Greek Cretan was one of the first recorded versions. Contemporary philosophy sometimes employs the same technique to demonstrate that a supposed concept is meaningless or ill-defined.
     −
在古典哲学中,<font color="#ff8000"> 悖论Paradoxes</font>是由<font color='ff8800'>自指</font>概念创造出来的,比如<font color="#ff8000">全能悖论:是否有一个足够强大的存在,可以创造出一个祂自己也举不起的石块? </font><font color="#ff8000">还有埃庇米尼得斯悖论。这一悖论有许多不同的表述形式,古希腊克里特岛人说的“所有克里特岛人都是骗子”是有记载的最早版本之一。 </font>当代哲学有时使用同样的技巧来证明一个假定的概念是没有意义的或者定义不明确的。<ref>[https://plato.stanford.edu/entries/liar-paradox/ ''Liar Paradox'']</ref>
+
在古典哲学中,<font color="#ff8000"> 悖论Paradoxes</font>是由<font color='ff8800'>自指</font>概念创造出来的,比如<font color="#ff8000">全能悖论 omnipotence paradox (上帝悖论) :是否有一个上帝或者全能的存在,可以创造出一个他自己也举不起的石块? </font><font color="#ff8000">
    +
还有埃庇米尼得斯悖论 Epimenides paradox,又称说谎者悖论。这一悖论有许多不同的表述形式,古希腊克里特岛人说的“所有克里特岛人都是骗子”是有记载的最早版本之一。 </font>当代哲学有时使用同样的技巧来证明一个假定的概念是没有意义的或者定义不明确的。<ref>[https://plato.stanford.edu/entries/liar-paradox/ ''Liar Paradox'']</ref>
         −
In mathematics and computability theory, self-reference (also known as Impredicativity) is the key concept in proving limitations of many systems. Gödel's theorem uses it to show that no formal consistent system of mathematics can ever contain all possible mathematical truths, because it cannot prove some truths about its own structure. The halting problem equivalent, in computation theory, shows that there is always some task that a computer cannot perform, namely reasoning about itself. These proofs relate to a long tradition of mathematical paradoxes such as Russell's paradox and Berry's paradox, and ultimately to classical philosophical paradoxes.
     −
在数学和[[可计算性理论]]中,<font color='ff8800'>自指</font>(也被称为<font color='ff8800'>不确定性</font>)是证明许多系统局限性的关键概念。<font color='ff8800'>哥德尔定理Gödel's theorem</font>用它来表明,没有一个形式上一致的数学系统可以包含所有可能的数学真理,因为它不能证明某些关于它自身结构的真理。<font color="#ff8000"> 在计算理论中,哥德尔定理的等价表述是停机问题,这一问题表明计算机不能完成关于自身的推理。</font>这些证明关系到数学悖论的悠久传统,如<font color='ff8800'>罗素悖论</font>和<font color='ff8800'>贝瑞悖论</font>,并最终关系到经典哲学悖论。
+
在数学和[[可计算性理论]]中,<font color='ff8800'>自指</font>(也被称为<font color='ff8800'>不确定性</font>)是证明许多系统局限性的关键概念。<font color='ff8800'>[[哥德尔定理]]Gödel's theorem</font>用它来表明,没有一个形式上一致的数学系统可以包含所有可能的数学真理,因为它不能证明某些关于它自身结构的真理。<font color="#ff8000"> 在计算理论中,哥德尔定理的等价表述是[[停机问题]],这一问题表明计算机不能完成关于自身的推理。</font>这些证明关系到数学悖论的悠久传统,如<font color='ff8800'>罗素悖论</font>和<font color='ff8800'>贝瑞悖论</font>,并最终关系到经典哲学悖论。
      −
In [[game theory]], undefined behaviors can occur where two players must model each other's mental states and behaviors, leading to infinite regress.
+
[[博弈论]]game theory 中,<font color="#ff8000"> 当博弈双方必须模拟对方的心理状态和行为时,就会出现不确定的行为</font>,导致<font color='ff8800'>无穷回归</font>。
   −
In game theory, undefined behaviors can occur where two players must model each other's mental states and behaviors, leading to infinite regress.
     −
在<font color='ff8800'>博弈论</font>中,<font color="#ff8000"> 当博弈双方必须模拟对方的心理状态和行为时,就会出现不确定的行为</font>,导致<font color='ff8800'>无穷回归</font>。
     −
  −
  −
In [[computer programming]], self-reference occurs in [[Reflection (computer science)|reflection]], where a program can read or modify its own instructions like any other data.<ref>{{cite web|last1=Malenfant|first1=J.|last2=Demers|first2=F-N|title=A Tutorial on Behavioral Reflection and its Implementation|url=https://web.archive.org/web/20170821214626/http://www2.parc.com/csl/groups/sda/projects/reflection96/docs/malenfant/malenfant.pdf|publisher=PARC|accessdate=17 May 2015}}</ref> Numerous programming languages support reflection to some extent with varying degrees of expressiveness. Additionally, self-reference is seen in [[recursion]] (related to the mathematical [[recurrence relation]]) in [[functional programming]], where a code structure refers back to itself during computation.<ref name="Drucker2008">{{cite book |last=Drucker |first=Thomas |title=Perspectives on the History of Mathematical Logic |url=https://books.google.com/books?id=R70M4zsVgREC&pg=PA110 |date=4 January 2008 |publisher=Springer Science & Business Media |isbn=978-0-8176-4768-1 |page=110}}</ref> 'Taming' self-reference from potentially paradoxical concepts into well-behaved recursions has been one of the great successes of [[computer science]], and is now used routinely in, for example, writing [[compilers]] using the 'meta-language' [[ML (programming language)|ML]]. Using a compiler to compile itself is known as [[bootstrapping (compilers)|bootstrapping]]. [[Self-modifying code]] is possible to write (programs which operate on themselves), both with [[Assembly language|assembler]] and with functional languages such as [[Lisp (programming language)|Lisp]], but is generally discouraged in real-world programming. Computing hardware makes fundamental use of self-reference in [[Flip-flop (electronics)|flip-flops]], the basic units of digital memory, which convert potentially paradoxical logical self-relations into memory by expanding their terms over time. Thinking in terms of self-reference is a pervasive part of programmer culture, with many programs and acronyms named self-referentially as a form of humor, such as [[GNU]] ('Gnu's not Unix') and [[PINE]] ('Pine is not Elm'). The [[GNU Hurd]] is named for a pair of mutually self-referential acronyms.
      
In computer programming, self-reference occurs in reflection, where a program can read or modify its own instructions like any other data. Numerous programming languages support reflection to some extent with varying degrees of expressiveness. Additionally, self-reference is seen in recursion (related to the mathematical recurrence relation) in functional programming, where a code structure refers back to itself during computation. 'Taming' self-reference from potentially paradoxical concepts into well-behaved recursions has been one of the great successes of computer science, and is now used routinely in, for example, writing compilers using the 'meta-language' ML. Using a compiler to compile itself is known as bootstrapping. Self-modifying code is possible to write (programs which operate on themselves), both with assembler and with functional languages such as Lisp, but is generally discouraged in real-world programming. Computing hardware makes fundamental use of self-reference in flip-flops, the basic units of digital memory, which convert potentially paradoxical logical self-relations into memory by expanding their terms over time. Thinking in terms of self-reference is a pervasive part of programmer culture, with many programs and acronyms named self-referentially as a form of humor, such as GNU ('Gnu's not Unix') and PINE ('Pine is not Elm'). The GNU Hurd is named for a pair of mutually self-referential acronyms.
 
In computer programming, self-reference occurs in reflection, where a program can read or modify its own instructions like any other data. Numerous programming languages support reflection to some extent with varying degrees of expressiveness. Additionally, self-reference is seen in recursion (related to the mathematical recurrence relation) in functional programming, where a code structure refers back to itself during computation. 'Taming' self-reference from potentially paradoxical concepts into well-behaved recursions has been one of the great successes of computer science, and is now used routinely in, for example, writing compilers using the 'meta-language' ML. Using a compiler to compile itself is known as bootstrapping. Self-modifying code is possible to write (programs which operate on themselves), both with assembler and with functional languages such as Lisp, but is generally discouraged in real-world programming. Computing hardware makes fundamental use of self-reference in flip-flops, the basic units of digital memory, which convert potentially paradoxical logical self-relations into memory by expanding their terms over time. Thinking in terms of self-reference is a pervasive part of programmer culture, with many programs and acronyms named self-referentially as a form of humor, such as GNU ('Gnu's not Unix') and PINE ('Pine is not Elm'). The GNU Hurd is named for a pair of mutually self-referential acronyms.
   −
在计算机程序设计中,<font color='ff8800'>自指</font>发生在反馈中,程序可以像读取或修改其他数据一样读取或修改自己的指令。许多编程语言在某种程度上支持反射,具有不同程度的表达能力。此外,在函数式编程中的递归(与数学递归关系式相关)中可以看到自引用,其中代码结构在计算过程中反向引用自身。把自指从潜在的矛盾概念“驯服”到良好的行为递归一直是计算机科学的伟大成功之一,<font color="#ff8000"> 现在经常被 “元语言”机器学习用于编写编译器。</font><font color="#ff8000">使用编译器编译其自身被称为 </font><font color='ff8800'>自举</font>。无论是使用汇编语言还是<font color="#ff8000">使用Lisp 之类的函数式语言 </font>,编写程序自修改程序都是可能的,但在实际编程中通常不提倡这样做。<font color="#ff8000">计算器硬件使用了触发器中的自指 </font>,触发器是数字存储器的基本单位,<font color="#ff8000"> 它随时间推移扩展条件,存储潜在的逻辑自相关矛盾</font>。<font color='ff8800'>自指</font>思维<font color="#ff8000"> 在程序员文化中普遍存在</font>,许多程序和首字母缩略词都是以自指的方式命名,这是一种幽默的形式,比如 GNU (“ GNU 不是 Unix”)和 PINE (“ PINE 不是 Elm”)。GNU Hurd 是以一对相互自我参照的缩写命名的。
+
在计算机程序设计中,<font color='ff8800'>自指</font>发生在反馈中,程序可以像读取或修改其他数据一样读取或修改自己的指令<ref>{{cite web|last1=Malenfant|first1=J.|last2=Demers|first2=F-N|title=A Tutorial on Behavioral Reflection and its Implementation|url=https://web.archive.org/web/20170821214626/http://www2.parc.com/csl/groups/sda/projects/reflection96/docs/malenfant/malenfant.pdf|publisher=PARC|accessdate=17 May 2015}}</ref> 。许多编程语言在某种程度上支持反射,具有不同程度的表达能力。此外,在函数式编程中的递归(与数学递归关系式相关)中可以看到自引用,其中代码结构在计算过程中反向引用自身<ref name="Drucker2008">{{cite book |last=Drucker |first=Thomas |title=Perspectives on the History of Mathematical Logic |url=https://books.google.com/books?id=R70M4zsVgREC&pg=PA110 |date=4 January 2008 |publisher=Springer Science & Business Media |isbn=978-0-8176-4768-1 |page=110}}</ref> 。把自指从潜在的矛盾概念“驯服”到良好的行为递归一直是计算机科学的伟大成功之一,<font color="#ff8000"> 现在经常被 “元语言”机器学习用于编写编译器。</font><font color="#ff8000">使用编译器编译其自身被称为 </font><font color='ff8800'>自举</font>。无论是使用汇编语言还是<font color="#ff8000">使用Lisp 之类的函数式语言 </font>,编写程序自修改程序都是可能的,但在实际编程中通常不提倡这样做。<font color="#ff8000">计算器硬件使用了触发器中的自指 </font>,触发器是数字存储器的基本单位,<font color="#ff8000"> 它随时间推移扩展条件,存储潜在的逻辑自相关矛盾</font>。<font color='ff8800'>自指</font>思维<font color="#ff8000"> 在程序员文化中普遍存在</font>,许多程序和首字母缩略词都是以自指的方式命名,这是一种幽默的形式,比如 GNU (“ GNU 不是 Unix”)和 PINE (“ PINE 不是 Elm”)。GNU Hurd 是以一对相互自我参照的缩写命名的。