skat-ml-models / interface /test_vectors.json
avaskys's picture
Upload folder using huggingface_hub
899afb5 verified
{
"version": "1.0.0",
"description": "Reference inputs and expected outputs for validating implementations",
"test_cases": {
"card_encoding": [
{
"description": "First card (Club Jack)",
"card": "CJ",
"expected_index": 0
},
{
"description": "Last card (Diamond 7)",
"card": "D7",
"expected_index": 31
},
{
"description": "Spade Jack",
"card": "SJ",
"expected_index": 1
},
{
"description": "Club Ace",
"card": "CA",
"expected_index": 4
},
{
"description": "Heart 10",
"card": "HT",
"expected_index": 19
}
],
"game_type_encoding": [
{
"game_type": "DIAMONDS",
"expected_index": 0
},
{
"game_type": "GRAND",
"expected_index": 4
},
{
"game_type": "NULL",
"expected_index": 5
}
],
"position_encoding": [
{
"position": "FOREHAND",
"expected_index": 0
},
{
"position": "MIDDLEHAND",
"expected_index": 1
},
{
"position": "REARHAND",
"expected_index": 2
}
],
"bidding_transformer": [
{
"description": "Strong Grand hand - all 4 Jacks + Aces",
"input": {
"hand_cards": ["CJ", "SJ", "HJ", "DJ", "CA", "SA", "HA", "DA", "CT", "ST"],
"position": "FOREHAND"
},
"expected": {
"description": "Should have high win probability at Grand bid levels",
"pickup_prob_at_bid_18_min": 0.9,
"hand_prob_at_bid_18_min": 0.85
}
},
{
"description": "Weak hand - no Jacks, scattered low cards",
"input": {
"hand_cards": ["C7", "C8", "S7", "S8", "H7", "H8", "D7", "D8", "C9", "S9"],
"position": "REARHAND"
},
"expected": {
"description": "Should have low win probability at most bid levels",
"pickup_prob_at_bid_18_max": 0.3,
"hand_prob_at_bid_18_max": 0.2
}
}
],
"game_eval_transformer": [
{
"description": "Strong Clubs hand after skat pickup",
"input": {
"hand_cards": ["CJ", "SJ", "CA", "CT", "CK", "CQ", "C9", "C8", "SA", "ST"],
"skat_cards": ["C7", "D7"],
"skat_len": 2,
"game_type": "CLUBS",
"position": "FOREHAND",
"is_hand": 0,
"bid": 0.068
},
"expected": {
"description": "Should predict high win probability for Clubs",
"win_prob_min": 0.8
}
}
],
"card_play_transformer": [
{
"description": "Opening lead in Clubs game as declarer with strong trumps",
"input": {
"game_type": "CLUBS",
"declarer": 0,
"is_ouvert": 0,
"hand": ["CJ", "SJ", "CA", "CT", "CK", "SA", "ST", "HA", "DA", "D7"],
"hand_len": 10,
"ouvert_hand": [],
"ouvert_hand_len": 0,
"history": [],
"history_len": 0,
"trick": [],
"trick_len": 0,
"legal_mask_cards": ["CJ", "SJ", "CA", "CT", "CK", "SA", "ST", "HA", "DA", "D7"]
},
"expected": {
"description": "Should prefer leading a Jack to draw trumps",
"top_cards": ["CJ", "SJ"],
"top_prob_min": 0.3
}
}
]
},
"notes": {
"bid_normalization": "Normalize bid values by dividing by 264 (max bid)",
"card_indices": "Convert card names to indices using card_encoding.order",
"legal_mask": "Create boolean array of size 32, True for cards in hand that are legal to play",
"padding": "Use pad_index (32) for empty slots in variable-length sequences"
}
}