File size: 1,939 Bytes
f0a5758
 
 
 
bb1d378
150787a
 
f0a5758
 
150787a
f0a5758
 
e3421f8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f0a5758
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
---
title: Water Sort Puzzle Solver
emoji: 🧪
colorFrom: blue
colorTo: indigo
sdk: gradio
sdk_version: "4.44.1"
app_file: app.py
pinned: false
license: mit
---

# Water Sort Puzzle Solver - Gradio App

Ứng dụng giải Water Sort Puzzle với AI sử dụng Gradio.

## Yêu cầu

- Python 3.8+
- PyTorch (GPU hoặc CPU)
- Gradio 4.0+

## Cài đặt

1. Clone repo hoặc tải file
2. Cài đặt dependencies:
```bash
pip install -r requirements.txt
```

3. Tạo folder `models` và upload các file `.pth`:
```bash
mkdir models
# Copy file .pth vào folder này
```

4. Chạy ứng dụng:
```bash
python app.py
```

5. Mở browser: http://localhost:7860

## Cách sử dụng

1. **Chọn Model**: Chọn model từ dropdown và click "Tải Model"
2. **Bắt đầu**: Click "Bắt đầu" để tạo game mới
3. **Di chuyển**: Click hai chai liên tiếp (chai nguồn → chai đích)
4. **Gợi ý**: Click "Gợi ý" để AI gợi ý nước đi tiếp theo
5. **Reset**: Click "Reset" để chơi lại

## Tính năng

- 🎮 Giao diện trực quan với Gradio
- 🤖 AI gợi ý nước đi tối ưu
- 📊 Hiển thị thống kê game (số bước, model, device)
- 💾 Hỗ trợ nhiều model khác nhau
- 🚀 Hỗ trợ GPU/CPU

## Model cần thiết

Đặt các file model trong folder `models/`:
- `watersort_imitation.pth` (từ Imitation Learning)
- `watersort_rl_model.pth` (từ Reinforcement Learning)
- Hoặc bất kỳ model nào khác

## Troubleshooting

### Model không load được
- Kiểm tra đường dẫn file model
- Kiểm tra định dạng file (phải là .pth)
- Kiểm tra dung lượng file (phải > 1KB)

## Deploy lên Hugging Face Spaces

1. Tạo repo mới trên [Hugging Face](https://huggingface.co/new)
2. Chọn **SDK: Docker** hoặc **SDK: Gradio**
3. Push code (bao gồm `app.py`, `config.py`, `utils.py`, `requirements.txt`)
4. Tự động deploy 🚀