patricia devlog

Discussion of chess software programming and technical issues.

Moderators: hgm, chrisw, Rebel

schack
Posts: 177
Joined: Thu May 27, 2010 3:32 am

Re: patricia devlog

Post by schack »

If it was just one vendor, I wouldn't care. But five?
jefk
Posts: 797
Joined: Sun Jul 25, 2010 10:07 pm
Location: the Netherlands
Full name: Jef Kaan

Re: patricia devlog

Post by jefk »

you make a valid point, ofcourse,
not being a cyber security expert, but for github sources it depends i guess on who cq
the person (*) is making the compile (if it's not a certain J.A). and if they got some malware
maybe without even knowing themselves,e well there you go (contamination)

PS obviously not accusing here anyone of course but then some programmers may
focused so much on their engine that they forget about comp security
(and not everyone has linux btw)

(*) usually i also -try to- look at the origin, who's the programmer, eg.
the guy who made combichess looks ok but then nevertheless he
may have malware on his comp. my 2 cnts(not
(most chess exe's i''ve downloaded usually make it without warning,
so it's imo a valid thing to look at the security aspects)
Whiskers
Posts: 227
Joined: Tue Jan 31, 2023 4:34 pm
Full name: Adam Kulju

Re: patricia devlog

Post by Whiskers »

schack wrote: Tue Jul 30, 2024 8:14 pm If it was just one vendor, I wouldn't care. But five?
Hi there, if you're worried about viruses you can build her from source by following the instructions in the release notes, or just contact me if make isn't working for you.
Whiskers
Posts: 227
Joined: Tue Jan 31, 2023 4:34 pm
Full name: Adam Kulju

Re: patricia devlog

Post by Whiskers »

MultiPV is added and with that it's time to take another whack at the Skill Level/UCI_Elo option stuff.

My new impl I'm testing: each search, I do a multiPV search that gives me the 5 best lines instead of just 1. No matter what the skill level is set to, if one of these lines is a sacrifice, it's not much worse (80 cps) than the best move, and Patricia isn't already nearly lost, she will immediately play it if it's early in the game. This is to address concerns that Patricia doesn't sacrifice enough right out of the gate and will make for a more engaging experience against human opponents.

For weakening her, my first attempt is going to be a centipawn loss function; I've got a variable keeping track of the total expected "centipawn loss" of the game so far, which increments each search by a number dependent on the skill level. Patricia will play the worst move (out of the five best found) that still keeps the total "centipawn loss" of the game so far under the expected centipawn loss. For example, if Patricia's expected centipawn loss is 40 cps, and she hasn't played a suboptimal move yet, she will play the worst move that isn't more than 40 cps worse than the best move. I hope that will be a good way to make her play suboptimal moves without them being absolutely obvious howlers.

I'm currently testing out different values of centipawn loss per search; a value of 0 (meaning she always plays the best move out of the 5) corresponds to about 3000 CCRL, which is a good maximum strength for a human opponent. Dropping 15 centipawns each search, on the other hand, crashes her strength to 2450 CCRL. I hope to get a bunch of data points and fit a formula to it. (And then I have to play it myself at different skill settings to ensure it's realistic!)
Whiskers
Posts: 227
Joined: Tue Jan 31, 2023 4:34 pm
Full name: Adam Kulju

Re: patricia devlog

Post by Whiskers »

I don't like doing this :D
User avatar
Tibono
Posts: 110
Joined: Sat Aug 01, 2015 6:16 pm
Location: France
Full name: Eric Bonneau

Re: patricia devlog

Post by Tibono »

Whiskers wrote: Fri Aug 02, 2024 4:43 am...My new impl I'm testing: each search, I do a multiPV search that gives me the 5 best lines instead of just 1...
Looks promising! AFAIK, the DGT Centaur leverages Stockfish's multiPV search for adaptive play; I think you are on a right path... Thanks a lot for the good job, Patricia is definitely a refreshing project, much appreciated.
Warm regards
Whiskers
Posts: 227
Joined: Tue Jan 31, 2023 4:34 pm
Full name: Adam Kulju

Re: patricia devlog

Post by Whiskers »

I got the human mode working, which I think puts Patricia in a good spot for use as an analysis tool. Thus: https://github.com/Adam-Kulju/Patricia/releases/tag/3.1

I wanted to get this out of the way now because I will be headed to the datagen mines for a long time and don't want to leave the analysis/gameplay incomplete for months. Have fun playing against her!
Whiskers
Posts: 227
Joined: Tue Jan 31, 2023 4:34 pm
Full name: Adam Kulju

Re: patricia devlog

Post by Whiskers »

A couple more datagen ideas didn’t work, so I’m going straight to 2b data to train a new main net on Patricia data. Once that is done I will retrain the same way as before and we’ll see how that goes!
Whiskers
Posts: 227
Joined: Tue Jan 31, 2023 4:34 pm
Full name: Adam Kulju

Re: patricia devlog

Post by Whiskers »

Great and happy news: I'm now collaborating with Gabe, the Obsidian dev, on Patricia. He is working on helping to improve the strength of the engine so that (a) she will be able to compete with top engines, and (b) I can redouble my efforts on the style side to push the bounds of aggression even further. I am very grateful for his help and support and I am excited to see where this partnership leads. We already gained 15 elo in two days :D

Datagen update: I have 350m positions generated now, I need about 2 billion for the Patricia net. So I guess update on that front will be forthcoming in about a week.
User avatar
mclane
Posts: 18823
Joined: Thu Mar 09, 2006 6:40 pm
Location: US of Europe, germany
Full name: Thorsten Czub

Re: patricia devlog

Post by mclane »

Where can i download a version 3.1 for pc ? I see a version for android.
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....