{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Generating gpt_4o_vs_Qwen_VL_72B_Instruct split: 100%|██████████| 218/218 [00:00<00:00, 288.42 examples/s]\n"
     ]
    }
   ],
   "source": [
    "from datasets import load_dataset\n",
    "\n",
    "dataset = load_dataset(\"lmms-lab/LiveBenchDetailedResultsComparison\", \"2024-09\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DatasetDict({\n",
       "    gpt_4o_vs_Qwen_VL_72B_Instruct: Dataset({\n",
       "        features: ['id', 'images', 'question', 'ground_truth', 'criteria', 'subtask', 'website', 'score_1', 'score_2', 'reason_1', 'reason_2', 'response_1', 'response_2', 'delta'],\n",
       "        num_rows: 218\n",
       "    })\n",
       "})"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = dataset[\"gpt_4o_vs_Qwen_VL_72B_Instruct\"].to_pandas()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "item = df[df[\"id\"] == 287].to_dict()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Based on the final position of the chess game depicted in the image (after 29.Rxg6#), write a Python program to create a 2D list representing this final position, where empty squares are represented by '0' and pieces are represented by their standard notation (e.g., 'K' for king, 'Q' for queen, etc.). Then, implement a function to print this board representation to the console. Ensure the board is printed with '.' for empty squares.\n"
     ]
    }
   ],
   "source": [
    "print(item[\"question\"][8])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Here's a Python program that represents the final position:\n",
      "\n",
      "```python\n",
      "def create_chess_board():\n",
      "    board = [\n",
      "        ['r', '0', '0', '0', '0', '0', 'k', 'r'],\n",
      "        ['p', '0', '0', 'P', '0', '0', '0', 'b'],\n",
      "        ['0', '0', 'p', '0', '0', '0', 'p', '0'],\n",
      "        ['0', '0', '0', '0', 'Q', 'P', '0', '0'],\n",
      "        ['q', '0', '0', '0', '0', '0', '0', '0'],\n",
      "        ['0', '0', '0', '0', '0', '0', '0', '0'],\n",
      "        ['P', 'P', 'P', '0', '0', '0', 'P', 'P'],\n",
      "        ['0', '0', '0', 'R', '0', 'R', 'K', '0']\n",
      "    ]\n",
      "    return board\n",
      "\n",
      "\n",
      "def print_board(board):\n",
      "    for row in board:\n",
      "        print(' '.join(piece if piece != '0' else '.' for piece in row))\n",
      "\n",
      "\n",
      "chess_board = create_chess_board()\n",
      "print_board(chess_board)\n",
      "```\n",
      "\n",
      "This program creates a 2D list representing the final chess position and prints it to the console, using '.' for empty squares.\n"
     ]
    }
   ],
   "source": [
    "print(item[\"ground_truth\"][8])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "r . . . . . k r\n",
      "p . . P . . . b\n",
      ". . p . . . p .\n",
      ". . . . Q P . .\n",
      "q . . . . . . .\n",
      ". . . . . . . .\n",
      "P P P . . . P P\n",
      ". . . R . R K .\n"
     ]
    }
   ],
   "source": [
    "def create_chess_board():\n",
    "    board = [\n",
    "        [\"r\", \"0\", \"0\", \"0\", \"0\", \"0\", \"k\", \"r\"],\n",
    "        [\"p\", \"0\", \"0\", \"P\", \"0\", \"0\", \"0\", \"b\"],\n",
    "        [\"0\", \"0\", \"p\", \"0\", \"0\", \"0\", \"p\", \"0\"],\n",
    "        [\"0\", \"0\", \"0\", \"0\", \"Q\", \"P\", \"0\", \"0\"],\n",
    "        [\"q\", \"0\", \"0\", \"0\", \"0\", \"0\", \"0\", \"0\"],\n",
    "        [\"0\", \"0\", \"0\", \"0\", \"0\", \"0\", \"0\", \"0\"],\n",
    "        [\"P\", \"P\", \"P\", \"0\", \"0\", \"0\", \"P\", \"P\"],\n",
    "        [\"0\", \"0\", \"0\", \"R\", \"0\", \"R\", \"K\", \"0\"],\n",
    "    ]\n",
    "    return board\n",
    "\n",
    "\n",
    "def print_board(board):\n",
    "    for row in board:\n",
    "        print(\" \".join(piece if piece != \"0\" else \".\" for piece in row))\n",
    "\n",
    "\n",
    "chess_board = create_chess_board()\n",
    "print_board(chess_board)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "live_bench",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
