Very interesting engine "Sashimi"

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

fersbery
Posts: 8
Joined: Mon Aug 13, 2018 6:08 am
Full name: Daniel Uranga

Very interesting engine "Sashimi"

Post by fersbery »

Thought you guys will be interested on this engine: https://github.com/zxqfl/sashimi
Just found it on Github and looks really interesting, even though it is quite weak.
Key features:
- implemented using the Rust programming language
- uses UCT (MCTS) based on the Alpha Zero paper.

Maybe engine testers will be interested on this one since it's very original.
yanquis1972
Posts: 1766
Joined: Wed Jun 03, 2009 12:14 am

Re: Very interesting engine "Sashimi"

Post by yanquis1972 »

thanks, looks like it could be interesting to play against. anyone have a link to a windows compile?
tmokonen
Posts: 1296
Joined: Sun Mar 12, 2006 6:46 pm
Location: Kelowna
Full name: Tony Mokonen

Re: Very interesting engine "Sashimi"

Post by tmokonen »

I'd like to help with compiling, but I am having trouble with this particular project. I am using the latest nightly build of Rust, but when I try to compile I get the error messages below. I think it's some sort of dependency issue, but I am not sure how to solve this. Maybe someone more experienced with Rust can help.

Code: Select all

   Compiling madvise v0.1.0
error[E0425]: cannot find value `MADV_NORMAL` in module `libc`
 --> C:\Users\tosha\.cargo\registry\src\github.com-1ecc6299db9ec823\madvise-0.1.0\src\lib.rs:8:20
  |
8 |     Normal = libc::MADV_NORMAL,
  |                    ^^^^^^^^^^^ not found in `libc`

error[E0425]: cannot find value `MADV_SEQUENTIAL` in module `libc`
 --> C:\Users\tosha\.cargo\registry\src\github.com-1ecc6299db9ec823\madvise-0.1.0\src\lib.rs:9:24
  |
9 |     Sequential = libc::MADV_SEQUENTIAL,
  |                        ^^^^^^^^^^^^^^^ not found in `libc`

error[E0425]: cannot find value `MADV_RANDOM` in module `libc`
  --> C:\Users\tosha\.cargo\registry\src\github.com-1ecc6299db9ec823\madvise-0.1.0\src\lib.rs:10:20
   |
10 |     Random = libc::MADV_RANDOM,
   |                    ^^^^^^^^^^^ not found in `libc`

error[E0425]: cannot find value `MADV_DONTNEED` in module `libc`
  --> C:\Users\tosha\.cargo\registry\src\github.com-1ecc6299db9ec823\madvise-0.1.0\src\lib.rs:11:22
   |
11 |     DontNeed = libc::MADV_DONTNEED,
   |                      ^^^^^^^^^^^^^ not found in `libc`

error[E0425]: cannot find value `MADV_WILLNEED` in module `libc`
  --> C:\Users\tosha\.cargo\registry\src\github.com-1ecc6299db9ec823\madvise-0.1.0\src\lib.rs:12:22
   |
12 |     WillNeed = libc::MADV_WILLNEED,
   |                      ^^^^^^^^^^^^^ not found in `libc`

error[E0425]: cannot find function `madvise` in module `libc`
  --> C:\Users\tosha\.cargo\registry\src\github.com-1ecc6299db9ec823\madvise-0.1.0\src\lib.rs:63:24
   |
63 |     let result = libc::madvise(ptr as *mut libc::c_void, len, advice as libc::c_int);
   |                        ^^^^^^^ not found in `libc`
help: possible candidate is found in another module, you can import it into scope
   |
3  | use madvise;
   |

error: aborting due to 6 previous errors

For more information about this error, try `rustc --explain E0425`.
error: Could not compile `madvise`.

To learn more, run the command again with --verbose.
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: Very interesting engine "Sashimi"

Post by zullil »

Has anyone considered contacting the author?

https://jacobjackson.com/about/
fersbery
Posts: 8
Joined: Mon Aug 13, 2018 6:08 am
Full name: Daniel Uranga

Re: Very interesting engine "Sashimi"

Post by fersbery »

zullil wrote: Wed Jan 02, 2019 11:30 am Has anyone considered contacting the author?

https://jacobjackson.com/about/
Will try contacting him. If that doesn't work then will try to compile it for Windows and post here.
User avatar
pocopito
Posts: 238
Joined: Tue Jul 12, 2011 1:31 pm

Re: Very interesting engine "Sashimi"

Post by pocopito »

About the compiling issue, it seems rust nightly version is needed

https://github.com/zxqfl/sashimi/issues/2
Two first meanings of the dutch word "leren":
1. leren [vc] (learn, larn, acquire) acquire or gain knowledge or skills.
2. leren [v] (teach, learn, instruct) impart skills or knowledge to.
User avatar
Guenther
Posts: 4605
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: Very interesting engine "Sashimi"

Post by Guenther »

pocopito wrote: Wed Jan 02, 2019 6:51 pm About the compiling issue, it seems rust nightly version is needed

https://github.com/zxqfl/sashimi/issues/2
n.t.
tmokonen wrote: Wed Jan 02, 2019 3:06 am I'd like to help with compiling, but I am having trouble with this particular project. I am using the latest nightly build of Rust,...
https://rwbc-chess.de

trollwatch:
Chessqueen + chessica + AlexChess + Eduard + Sylwy
User avatar
pocopito
Posts: 238
Joined: Tue Jul 12, 2011 1:31 pm

Re: Very interesting engine "Sashimi"

Post by pocopito »

Ok, I didn't' properly read tmokonen's issue with compiling. I used the nighly version of rust and compiled the engine with no problem.

Probably it'd be a good idea opening an issue on the github repo.
Two first meanings of the dutch word "leren":
1. leren [vc] (learn, larn, acquire) acquire or gain knowledge or skills.
2. leren [v] (teach, learn, instruct) impart skills or knowledge to.
tmokonen
Posts: 1296
Joined: Sun Mar 12, 2006 6:46 pm
Location: Kelowna
Full name: Tony Mokonen

Re: Very interesting engine "Sashimi"

Post by tmokonen »

Would you share your compile with us? I am not sure why I was having trouble with this particular program, as I have compiled other Rust programs before without issues, and I am hesitant to open an issue because it could be an installation issue from my end.
User avatar
pocopito
Posts: 238
Joined: Tue Jul 12, 2011 1:31 pm

Re: Very interesting engine "Sashimi"

Post by pocopito »

Sure. I followed the instructions here to get the nightly version (I have no experience at all with rust)
https://www.oreilly.com/library/view/ru ... f418.xhtml

And then just ran the command "cargo build --release --all" from the sashimi folder.

This is the output for what it's worth.

$ cargo build --release --all
Compiling uninitialized v0.0.2
Compiling libc v0.2.40
Compiling version_check v0.1.3
Compiling nodrop v0.1.12
Compiling read_exact v0.0.1
Compiling num-traits v0.2.2
Compiling packed v0.4.2
Compiling slurp v1.0.1
Compiling byteorder v1.2.2
Compiling cfg-if v0.1.3
Compiling option-filter v1.0.1
Compiling bitflags v1.0.3
Compiling smallvec v0.6.1
Compiling crossbeam v0.3.2
Compiling float-ord v0.2.0
Compiling argparse v0.2.1
Compiling arrayvec v0.4.7
Compiling rand v0.4.2
Compiling time v0.1.39
Compiling memmap v0.6.2
Compiling memchr v2.0.1
Compiling num_cpus v1.8.0
Compiling madvise v0.1.0
Compiling sashimi v0.2.0 (/home/emilio/soft/git/sashimi/engine)
Compiling log v0.4.1
Compiling shakmaty v0.5.1
Compiling term v0.5.1
Compiling btoi v0.1.3
Compiling num-integer v0.1.36
Compiling rand v0.3.22
Compiling chrono v0.4.2
Compiling pod v0.5.0
Compiling chess v0.4.2
Compiling arena v0.1.0 (/home/emilio/soft/git/sashimi/arena)
Compiling mcts v0.2.0 (/home/emilio/soft/git/sashimi/mcts)
Compiling simplelog v0.5.1
Compiling pgn-reader v0.4.0
Finished release [optimized] target(s) in 1m 02s

After that I launched the program and tried a couple commands, and it seems to work fine:

$ target/release/sashimi
18:33:56 [INFO] Init.
uci
id name Sashimi 0.2.0
id author Jacob Jackson
uciok
ucinewgame
go
18:34:10 [INFO] Search thread created.
18:34:10 [INFO] Search thread created.
18:34:10 [INFO] Search thread created.
18:34:10 [INFO] Search thread created.
18:34:20 [INFO] Search thread destroyed.
18:34:20 [INFO] Search thread destroyed.
18:34:20 [INFO] Search thread destroyed.
18:34:20 [INFO] Search thread destroyed.
18:34:20 [INFO] info depth 1477279 score cp 8 pv e2e4 b8c6 b1c3 e7e5 g1f3 g8f6 f1c4 f8c5 e1g1 e8g8
info depth 1477279 score cp 8 pv e2e4 b8c6 b1c3 e7e5 g1f3 g8f6 f1c4 f8c5 e1g1 e8g8
bestmove e2e4
Two first meanings of the dutch word "leren":
1. leren [vc] (learn, larn, acquire) acquire or gain knowledge or skills.
2. leren [v] (teach, learn, instruct) impart skills or knowledge to.