Author: Gerd Isenberg
Date: 14:01:49 02/17/04
Go up one level in this thread
On February 17, 2004 at 15:13:02, Steven Edwards wrote: <snip> >Chess specific intrinsic functions: > >BBAnd BBAtkByColor BBAtkFrSq BBAtkToSq BBIor BBLocByColor BBLocByMan BBMerge >BBNot BBResetSq BBSetSq BBSqReset? BBSqSet? BBToggleSq BBXor BiDirFromOrd >BoardFromPos BoardFromPosVal Capturing? CardOfBB Castling? CastlingKS? >CastlingQS? Check? Checking? Checkmate? Checkmating? ChessType ColorFromOrd >CstlFromOrd DirFromOrd EnPassant? EvenScore? Execute ExecuteVal ExpandNode >FENFromPos FENFromPosVal FileFromOrd FirstSqOfBB FlankFromOrd FrManFromMove >FrSqFromMove Generate GenerateVal GetBoardSq LongSAN LosingScore? MSCFromMove >MSCFromOrd ManFromOrd ManFromPosSq ManListFromPos ManSqListFromPos MatingScore? >NullBoardVal NullEnvVal OrdFromChessScalar OtherBiDir OtherColor OtherDir >OtherFile OtherMan OtherRank OtherSq PassiveCheck? PieceFromOrd PosFromFEN >PosValFromFEN Promoting? PromotingToBishop? PromotingToKnight? PromotingToQueen? >PromotingToRook? PutBoardSqMan RankFromOrd Retract RetractVal ShowBoard >ShowBoardMono ShowNode ShowPos ShowPosMono ShowPosMonoVal ShowPosVal ShowTree >SqFromOrd SqListFromBB Stalemate? Stalemating? ToManFromMove ToSqFromMove >TreeFromFEN Underpromoting? Even i'm not familar with Lisp, i like your high abstraction level approach with performant chess intrinsics. The bitboard intrinsics (BBAtkFrSq BBAtkToSq) imply a rotated bitboard implementation, i guess. Or do you hide the bitboard implementation at all? Do you consider setwise attack generation with Kogge Stone Fill algorithm? For performance reasons i use node related memory for eval and (pre-)movegen purposes with limited validity until expansion, shared by all nodes. They got initialized shortly after a node is entered but not restored in unmake. How does your Lisp approach handles such node state related validity (if any) during search? Thanks, Gerd > >Chess types: > > BB, // Val > BiDir, // Val Enum > Board, // Ref > Color, // Val Enum > Cstl, // Val Enum > Dir, // Val Enum > Env, // Ref PList > File, // Val Enum > Flank, // Val Enum > Hash, // Val > MSC, // Val Enum > Man, // Val Enum > Move, // Val PList > Node, // Ref PList > Piece, // Val Enum > Pos, // Ref PList > Rank, // Val Enum > Score, // Val > Sq, // Val Enum > Tree // Ref PList > >Move property list items: > > FrMan, > FrSq, > IsChecking, > IsCheckmating, > IsStalemating, > MSC, > Ord, > SAN, > ToMan, > ToSq > >Position property list items: > > ActiveColor, > ActiveMaterial, > Cstl, > EnPassantSq, > EnvValStack, > Evaluation, > HalfMoveClock, > IsCheckmate, > IsStalemate, > MainHash, > Material, > MoveNumber, > MoveValStack, > Ord, > PassiveColor, > PassiveMaterial, > PawnHash > >Node property list items: > > Alpha, > Beta, > BookExpectation, > CandidateNode, > DescendentCount, > ExpansionMerit, > IsBook, > IsCandidate, > IsExpanded, > IsRoot, > IsTablebase, > Moves, > Ord, > ParentNode, > Ply, > Position, > PriorMove, > RCV, > RootNode, > Score, > SubNodes, > TablebaseScore, > Tree > >Tree property list items: > > LeafNodes, > Ord, > RootNode > >(Much more to come.)
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.