Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 84caa43

Browse files
Update README.md
1 parent 280880d commit 84caa43

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

‎README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ This is the idea behind the AI-Programmer experiment. The goal is to ultimately
1515

1616
## Details
1717

18-
The BF programming language was selected due to the fact that it consists of only 8 instructions, while being Turing complete. Theoretically, it is capable of solving any computational problem. This makes it easy to develop an interpreter, capable of running the AI-generated programs in a simulated environment. In this manner, each generated program may be executed and its performance ranked as a fitness score. Since the AI is using a Turing complete programming language, the AI itself, is also theoretically capable of solving any computational problem. However, for this experiment, the AI will focus on outputting a simple string to the console.
18+
The underlying programming language consists of only 8 instructions, while being Turing complete. Theoretically, it is capable of solving any computational problem. This makes it easy to develop an interpreter, capable of running the AI-generated programs in a simulated environment. In this manner, each generated program may be executed and its performance ranked as a fitness score. Since the AI is using a Turing complete programming language, the AI itself, is also theoretically capable of solving any computational problem. However, for this experiment, the AI will focus on outputting a simple string to the console.
1919

2020
## How It Works
2121

2222
AI-Programmer works as follows:
2323

2424
- A genome consists of an array of doubles.
25-
- Each gene corresponds to an instruction in the BF programming language.
25+
- Each gene corresponds to an instruction in the programming language.
2626
- Start with a population of random genomes.
2727
- Decode each genome into a resulting program by converting each double into its corresponding instruction and execute the program.
2828
- Get each program's fitness score, based upon the output it writes to the console (if any), and rank them.
@@ -64,7 +64,7 @@ The AI successfully wrote a program to output "hi" after 5,700 generations in ab
6464

6565
While the above code contains parsing errors, such as non-matching brackets, our simulation interpreter computes the result up until the program fails, so in the above case, the syntax error (which is later on in the code, after a solution is found) doesn't impact the fitness.
6666

67-
You can try pasting the above code into a BF [interpreter](http://www.iamcal.com/misc/bf_debug/). Click "Start Debugger", ignore the warnings, then click Run To Breakpoint. Note the output.
67+
You can try pasting the above code into an online [interpreter](http://www.iamcal.com/misc/bf_debug/). Click "Start Debugger", ignore the warnings, then click Run To Breakpoint. Note the output.
6868

6969
If we trim off the excess code, we see the following syntactically-valid code:
7070

@@ -102,7 +102,7 @@ More complex programs could likely be generated while using faster PCs. Next ste
102102

103103
## Quick-Start Guide to Using the Code
104104

105-
By default, the code is configured to use the BF Classic instruction set and to write a program to output a string. To change the string that is generated, simply expand the "Private Variables" section and change the text for TargetString to your desired value.
105+
By default, the code is configured to use the Classic instruction set and to write a program to output a string. To change the string that is generated, simply expand the "Private Variables" section and change the text for TargetString to your desired value.
106106

107107
```
108108
private static TargetParams _targetParams = new TargetParams { TargetString = "hello world" };

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /