이게 AI 채팅이랑 대체 무슨 상관인지 모르겠는 사람은 이 글 보고 오셈

https://arca.live/b/characterai/105211624

Risu에서는 테스트하기 빡세서 일단 임시로 테스트 환경 구축해 놓고 거기서 테스트하는 중임


아직 본격적인 탐색 알고리즘은 시작도 못했고, 프로모션, 앙파상, 캐슬링을 포함한 모든 기물 움직임을 기존 알고리즘들 열심히 공부해서 최대한 최적화해서 구현하는 단계까지 진행함.


진짜 배열로 구현하면 하루 컷 날 거 성능 끌어올리려고 비트 연산으로 미친듯이 몸 비트느라 머리 터지는 줄 알았음 ㅋㅋㅋ


기물 하나가 움직일 수 있는 모든 경우의 수를 계산하는데 최대 0.4ms가 소모된다는 건, CharacterJS 실행 제한 400ms 시간 동안 수행할 수 있는 계산이 1000번 정도밖에 안된다는 뜻임. 상용 체스 엔진이 몇 백만 번, 몇 억 번씩 계산 돌리는 거에 비하면 확실히 전혀 만족스러운 수치는 아님. 그렇지만 종종 0ms도 뜨는 걸로 봐선 캐시 최적화를 최대한 의지할 수 있을지 모른다는 희망은 있음. 그리고 아무리 기를 써도 시간이 모자랄 경우에 대비한 비책도 있음. 아마 괜찮을 거임.


또 한 가지 걱정은 겨우 이만큼 구현하는데 든 코드가 거의 800 ~ 900줄 가까이 된다는 거임. 앞으로 최소 1000줄은 더 짜야 할 것 같은데, 제발 Risu가 그 정도 규모의 코드를 감당할 수 있었으면 좋겠음. 지금 새로 개발하는 버전 전에 만들었던 프로토타입이 1200줄 정도 되는데, 그때도 코드 읽는 데는 문제 없었으니깐... 아마 괜찮을 거임.


이제 탐색 알고리즘 구현하고, 최적화하고, 포지션 및 수 해설 간단하게 텍스트로 생성하는 기능 구현하고, 마지막으로 Risu랑 통합하면 어떻게든 될 것 같음. (하나 하는데 최소 안 쉬고 1주 걸릴 예정)


그리고 Risu에 게임 데이터를 저장하는 알고리즘도 구현해야 하는데, 이전에 성공했던 경험이 있었고 이번엔 그보다 훨씬 자료구조를 압축해 놨으니 어렵진 않을 것 같음.




아직까지는 유기 안 했다는 걸 알리는 의미에서 + 관종이라서 이쯤에서 근황 남겨 봤음.

 

제발 GPT가 도움 없이도 체스를 너무 잘하거나 아니면 갑자기 다른 억까가 생겨서 유기할 일 안 생겼으면 좋겠다 진심으로