-
Notifications
You must be signed in to change notification settings - Fork 27
Perfect Database
This Wiki is tailored to guide users through the process of downloading and employing the perfect database for Nine Men's Morris and Twelve Men's Morris. It should be noted that the database is optimized for the standard rules of the game; applying it to non-standard rule sets may result in diminished playing strength.
Database Download Link: Click the link below for the torrent file to download the perfect database.
- Standard Ultra-strong Database (12 GB compressed, 78 GB uncompressed) - This full database file is quite large. For an initial experience, you may start with this smaller version: strong.zip (a tiny version).
- Morabaraba (FBD) Ultra-strong Database (41 GB compressed, 324 GB uncompressed) (FBD means that a Full Board results in a Draw)
- Lasker Morris Ultra-strong Database (59 GB compressed, 389 GB uncompressed)
Download the File: Use the downloaded torrent file to complete the download and access the database files.
Transfer to Device: Copy the downloaded .secval, .statistics and .sec2 files to the Android\data\com.calcitem.sanmill\files\strong directory on your Android device's storage. Ensure that the copied files are placed directly within the strong directory, which should be named exactly as strong (NOT Strong) if it does not already exist. Additionally, ensure that there are no subdirectories within the strong directory itself.
Warning: The Android\data\com.calcitem.sanmill directory will be deleted if you uninstall the app. Consider backing up the strong directory before uninstalling. However, this directory will not be deleted if you are only upgrading the app version.
Transfer to Device: Follow these steps to transfer the .secval, .statistics, and .sec2 files to your iOS device:
-
Unzip and Rename: After downloading, unzip the files. Rename the containing directory to
strong. Ensure that the name is exactlystrong(case-sensitive, NOTStrong). -
Move to iOS Device:
- Open Finder on your Mac.
- Connect your iPhone or iPad to your Mac.
- Your device should appear in the Finder sidebar under “Locations.”
- Click on your device to open it.
- From the top menu in the Finder window, select
Files. - Scroll down to find the
Millapp in the list. - Drag and drop the
strongdirectory into theMillfolder.
-
Verify Directory Level: Ensure that the
strongdirectory is placed directly under theMillfolder. It should be at the same directory level as theSanmillfolder, if such a folder exists.
Reminder: Ensure that your device is unlocked and that you have given your Mac permission to access your device if prompted. If you don't see your device in Finder, disconnect and reconnect it, and make sure you trust the computer on your iOS device.
File Transfer: Copy the downloaded .secval, .statistics and .sec2 files to the strong folder located in the "Documents" directory. If the strong folder does not exist, create one, ensuring the name is exactly strong (NOT Strong), and make sure there are no subdirectories within the strong folder.
Handling Insufficient Space with Symbolic Links: If the disk space where your "Documents" folder resides is insufficient, you can create the actual strong folder on another disk and create a symbolic link to it in the "Documents" directory.
For example:
-
Create a folder on another drive (such as
E:drive), with the pathE:\Std_DD_89adjusted. -
Place the
.secval,.statistics, and.sec2files inE:\Std_DD_89adjusted. -
Open Command Prompt (as an administrator).
-
Assuming the actual path of your "Documents" is
D:\users\user\Documents, execute the following command:mklink /D "D:\users\user\Documents\strong" "E:\Std_DD_89adjusted"
This command creates a symbolic link named
stronginD:\users\user\Documents, pointing to thestrongfolder on theE:drive atE:\Std_DD_89adjusted.
Transfer to Device: Follow these steps to transfer the .secval, .statistics, and .sec2 files to your macOS device:
-
Launch Finder on your Mac.
-
Press
Command + Shift + G. In the dialog box, enter~/Library/Containersand press return. -
Open the
Milldirectory, then theDocumentsdirectory. -
Create a new folder named
strong, ensuring it is at the same directory level as theSanmillfolder, if present. -
Copy the
.secval,.statistics, and.sec2files into thestrongfolder.
File Transfer: To transfer the .secval, .statistics, and .sec2 files on a Linux system, follow these steps:
-
Locate or Create the
strongFolder: Thestrongfolder should be located in your user's home directory, typically under~/Documents. If this folder does not exist, create it using the following command in the terminal:mkdir -p ~/Documents/strongEnsure that the folder name is exactly
strong(NOTStrong). The case is important in Linux file systems. -
Copy Files: Copy the downloaded files to the
strongfolder. You can do this using the command line or a file manager. For command line, use:cp Std_DD_89adjusted/*.secval Std_DD_89adjusted/*.statistics Std_DD_89adjusted/*.sec2 ~/Documents/strong/
Replace
Std_DD_89adjustedwith the actual path where your files are located. -
No Subdirectories: Make sure there are no subdirectories within the
strongfolder. All files should be directly within this folder.
Handling Insufficient Space with Symbolic Links: If you are dealing with limited space in your home directory, you can create a symbolic link to the strong folder located in another partition or drive. Here’s how:
-
Create a folder in another location (e.g., in another mounted drive or partition). For example:
mkdir /mnt/other_partition/Std_DD_89adjusted
-
Move or copy your
.secval,.statistics, and.sec2files to this new location. -
Create a symbolic link in your
~/Documentsdirectory pointing to this newstrongfolder:ln -s /mnt/other_partition/Std_DD_89adjusted ~/Documents/strongThis command links the
strongfolder in/mnt/other_partition/Std_DD_89adjustedto a symbolic link in your~/Documentsdirectory. The system will treat the symbolic link as if it were the actual folder.
Note: Ensure that you have the necessary permissions to create folders and symbolic links in the locations you choose. If required, use sudo for administrative privileges. Also, remember to replace the example paths with actual paths relevant to your system.
If you have limited disk or storage space, you can opt to copy only a part of the .sec2 files to the directory. The game will use data from the .sec2 files if they are found. If the .sec2 files are not present, the game will revert to using traditional AI.
Once you've completed the above steps, the Mill game will automatically load the perfect database, enhancing your gameplay experience with higher precision.
When the option General Settings -> AI's playstyle -> Algorithm is not set to Random, the program will first use the specified Algorithm to calculate a move. This calculation often takes some time, depending on the Difficulty level and AI thinking time settings. Once the result is obtained, it is checked against the Perfect Database. If it is a move considered perfect by the Perfect Database, then that move is executed, and a + sign is added to the lower right corner of the robot icon. If the Perfect Database does not consider it a perfect move, then the perfect move, rather than the AI-calculated move, is executed. In this case, a bucket icon replaces the robot icon. If, due to missing files, the Perfect Database cannot be used to verify whether the move is perfect, then the original robot icon is displayed without change.
If the Algorithm option is set to Random, the program will not use the traditional algorithm for calculation but will directly consult the Perfect Database. When the option General Settings -> AI's playstyle -> Passive is not enabled, the program will try to ensure that at the end of the game, the number of its pieces is as many as possible compared to the opponent’s pieces, while ensuring a no-loss situation. If the Passive option is enabled, then the program, while ensuring a no-loss situation, will not actively try to maximize the number of its pieces relative to the opponent’s pieces.
- Ensure the database files are in the correct directory.
- If the game does not load the database, please verify your file path.
The perfect database was developed by third parties, specifically Gábor Gévay and Gábor Danner.
By following these instructions, you can effectively utilize the perfect database, significantly enhancing your gameplay experience.
For any questions or further assistance, please feel free to contact us.
Project Management
Contributing
- How to Contribute
- Submitting Bugs and Suggestions
- Feedback Channels
- Source Code Organization
- Coding Guidelines
- Design Principles
- Translation and Localization
- Thanks
Documentation
- Rules of Mill
- Perfect Database
- Programmer's Guide
- Development White Paper
- Entwicklung White Paper
- Fejlesztési-Fehér-Könyv
Legal