エントロピー-不正確なプログラミング言語

不正確なプロセッサに関する最近の投稿へのコメントで、lol2Fast4U habrayuzerは興味深いプログラミング言語であるエントロピーへのリンクを提供しました。



この言語の本質は、決定論に欠けていることです。



データにアクセスするたびに、データはますます歪んでいきます。



この言語を作成する意味は非常に疑わしいようです。 しかし実際、このアプローチは、上記の投稿で説明した非常に不正確なプロセッサーだけをエミュレートするのに役立ちます。



このような環境でのプログラミングへのアプローチは根本的に異なるものでなければならないことを理解しています。



この言語には、 実数 (数値)、 文字 (文字)、および文字列文字の配列)という少数のデータ型しかありません。



標準の「Hello World」は次のようになります。



Program MyNamespace MyProgram [ print "Hello, World"; ]
      
      





しかし、調査結果の結果は次のとおりです。



 Hello+ World
      
      





または



 Hellp, World
      
      





データの段階的な破壊のデモンストレーションとして、サイクル内でビール1本が「飲酒」している例を示します。



 Program Rottytooth NinetyNineBottles [ declare count real; let count = 99; while count > 0 [ if count < 99 [ print count; print " bottles of beer on the wall.\n"; ] print count; print " bottles of beer on the wall, "; print count; print " bottles of beer.\nTake one down, pass it around, "; let count = count - 1; ] print " no more bottles of beer on the wall."; ]
      
      





その結果、出力は最初に次のようになります。



 98.99005 bottles of beer on the wall, 98.86667 bottles of beer. Take one down, pass it around, 98.46358 bottles of beer on the wall. 98.39877 boutles of bedr nn the wall, 98.42226 bottles of beer. Take one down, pass it around, 97.4903 bottles of beer on the wall. 97.52608 boutles of bedr nn the wall, 97.45941 bottles of beer. Take one down, pass it around, 96.44245 bottles of beer on the wall. 96.4431 boutles of bedr nn the walj, 96.46104 bottles of beer.
      
      





次に、このように:



 66.13296 bptumfu og!bedq▼no sif xali*▼66.10684!alttlfs of bgerTake omf down+ pas s!it aroune, 65.0071 bnstles of bedr pm▼the waml/ 65.02724 bpttmfu of!bedq▼no sif xali*65.00817!alttlfs of bgerTake omf dowm+ pas r!it aroune, 64.02435 bnstles of bedr pm▼the waml/
      
      





そして、読みにくいものになります:



 6804 ekttjes og!bdes qmvhf zbnl0♀13.03909 cnutlew!mi!afeq qp▼sie w`lk+←13.03666 amttmfv▼qg!bhfrUbkd omc!dpwn-!patv"gv!crswnf. 11.99166 ektsjes og!bdes qmvhf z anm0♀12.01574▼cnutlew!ni!afeq qp▼sie w`lk+←11.9922 amttmfv▼qg!bhfrUbkd okc!dpwn- !patv"gv!crswmf. 11.17373 ektsjes og!bdes qmvhf zanm0♀11.18238▼cnutlew!ni!afeq qp▼sie w`lk+←11.27068 amttmfv▼qg!bhfrUbkd okc!dpwn-!patv"gv!crswmf. 10.02247 ekt sjes og!bdes qmvhf zaom0♀10.22528 cnutlew!ni!afeq qp▼sie w`lk+←10
      
      





この例では、データが徐々に破壊される様子を明確に見ることができます。 したがって、プログラマーはデータへのアクセスをできる限り少なくすることを考える必要があります。



上記の不正確なプロセッサで何が起こっているのか、どれほど近いかはわかりませんが、本質は明らかです。 また、この図は、一般に不正確なプログラミングの原則を明らかにしています。 そして、前の投稿のコメントから判断すると、多くの人は、プロセッサが非決定的に不正確になる可能性を想像していません。



ボーナスとして、Entropy: Drunk Elizaで書かれたチャットボットで遊ぶことができます。



All Articles