It took AI 7,000 hours to clear the first gym of 'Pokémon'
It took AI 7,000 hours to clear the first gym of "Pokémon"
Recently, a foreign programmer, Peter Whidden, trained the AI model for 50,000 hours, trying to teach the AI how to play "Pokémon Red".
Whidden had the AI interact with the game through control input on the emulator and set learning sessions to two hours per play. He also accelerated the AI to finish in about six minutes, and even ran 40 sessions simultaneously. , thus speeding up the learning process of AI.
Since the AI algorithm essentially doesn't care about how to beat the game, Whidden sets reward goals and earns bonus points every time the AI discovers something new. This is triggered by changes in pixels on the screen, but this also causes the AI to stare at the animated water surface in a daze for a long time.
The reward mechanism related to new things also makes the AI choose to give up fighting or capture Pokémon. Whidden has added a reward mechanism related to Pokémon level. But this system also led to accidents. The AI would reduce the reward points when storing and replacing Pokémon. Therefore, in subsequent actions, the AI completely avoided the Pokémon Center, leaving the team without treatment, and Whidden had to start again. Adjust the reward system.
Although AI is not good at human behavior, it has also made more profound actions. Whidden realized that the AI took specific and strange paths to ensure that wild Pokémon can be captured by just throwing a Poké Ball. It's not a meaningless action.
However, after the AI spent 7,000 hours defeating the first gym, it got lost for a long time in Yuejian Mountain. After spending 50,000 hours, the AI still failed to find the second gym. But AI has also contributed many magical operations. For example, AI likes to buy Magikarp the most, and has purchased it more than 10,000 times in total; when it captured a Rattata in the wild, it was named "AI".
The above is the detailed content of It took AI 7,000 hours to clear the first gym of 'Pokémon'. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



How to define header files using Visual Studio Code? Create a header file and declare symbols in the header file using the .h or .hpp suffix name (such as classes, functions, variables) Compile the program using the #include directive to include the header file in the source file. The header file will be included and the declared symbols are available.

Writing C in VS Code is not only feasible, but also efficient and elegant. The key is to install the excellent C/C extension, which provides functions such as code completion, syntax highlighting, and debugging. VS Code's debugging capabilities help you quickly locate bugs, while printf output is an old-fashioned but effective debugging method. In addition, when dynamic memory allocation, the return value should be checked and memory freed to prevent memory leaks, and debugging these issues is convenient in VS Code. Although VS Code cannot directly help with performance optimization, it provides a good development environment for easy analysis of code performance. Good programming habits, readability and maintainability are also crucial. Anyway, VS Code is

YAML is used to configure containers, images, and services for Docker. To configure: For containers, specify the name, image, port, and environment variables in docker-compose.yml. For images, basic images, build commands, and default commands are provided in Dockerfile. For services, set the name, mirror, port, volume, and environment variables in docker-compose.service.yml.

Docker uses container engines, mirror formats, storage drivers, network models, container orchestration tools, operating system virtualization, and container registry to support its containerization capabilities, providing lightweight, portable and automated application deployment and management.

The Docker image hosting platform is used to manage and store Docker images, making it easy for developers and users to access and use prebuilt software environments. Common platforms include: Docker Hub: officially maintained by Docker and has a huge mirror library. GitHub Container Registry: Integrates the GitHub ecosystem. Google Container Registry: Hosted by Google Cloud Platform. Amazon Elastic Container Registry: Hosted by AWS. Quay.io: By Red Hat

The command to start the container of Docker is "docker start <Container name or ID>". This command specifies the name or ID of the container to be started and starts the container that is in a stopped state.

Depending on the specific needs and project size, choose the most suitable IDE: large projects (especially C#, C) and complex debugging: Visual Studio, which provides powerful debugging capabilities and perfect support for large projects. Small projects, rapid prototyping, low configuration machines: VS Code, lightweight, fast startup speed, low resource utilization, and extremely high scalability. Ultimately, by trying and experiencing VS Code and Visual Studio, you can find the best solution for you. You can even consider using both for the best results.

Docker logs are usually stored in the /var/log directory of the container. To access the log file directly, you need to use the docker inspect command to get the log file path, and then use the cat command to view it. You can also use the docker logs command to view the logs and add the -f flag to continuously receive the logs. When creating a container, you can use the --log-opt flag to specify a custom log path. In addition, logging can be recorded using the log driver, LogAgent, or stdout/stderr.
