{"id":19483019,"url":"https://github.com/pnv2003/nonogram-solver","last_synced_at":"2026-06-15T19:31:40.446Z","repository":{"id":231813362,"uuid":"782754199","full_name":"pnv2003/nonogram-solver","owner":"pnv2003","description":"Bot solving Nonogram puzzles using search problem models","archived":false,"fork":false,"pushed_at":"2024-09-14T03:36:30.000Z","size":89,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-09-14T16:23:17.942Z","etag":null,"topics":["ai","heuristics","nonogram","nonogram-solver","oekaki","searching-algorithms","tkinter"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pnv2003.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-06T00:27:14.000Z","updated_at":"2024-09-14T03:36:33.000Z","dependencies_parsed_at":"2024-09-14T16:23:21.486Z","dependency_job_id":"3b1838e9-c105-4c92-ba00-f7cb8c521442","html_url":"https://github.com/pnv2003/nonogram-solver","commit_stats":null,"previous_names":["phuongngo0320/nonogram-ai","pnv2003/nonogram-solver"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pnv2003/nonogram-solver","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pnv2003%2Fnonogram-solver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pnv2003%2Fnonogram-solver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pnv2003%2Fnonogram-solver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pnv2003%2Fnonogram-solver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pnv2003","download_url":"https://codeload.github.com/pnv2003/nonogram-solver/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pnv2003%2Fnonogram-solver/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34377872,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-15T02:00:07.085Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","heuristics","nonogram","nonogram-solver","oekaki","searching-algorithms","tkinter"],"created_at":"2024-11-10T20:13:10.563Z","updated_at":"2026-06-15T19:31:40.430Z","avatar_url":"https://github.com/pnv2003.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Searching Case Study: Nonogram\n\n## How to use the GUI\n\nStart the GUI app by running `gui.py`:\n```bash\npython gui.py\n```\n\n| Button | Feature |\n|-|-|\n| Generate | Generate new puzzle (not ready, restart the app to get a new one :D)\n| Solve | Solve the puzzle |\n| Run | Automatically solve and run the solution step by step |\n| Previous Step | Navigate to the previous step of the solution |\n| Next Step | Navigate to the next step of the solution |\n| Skip | Skip all the steps and see the solution (quickly :) |\n| DFS/BeFS | Switch the search algorithm |\n\nThe default size of board is 5x5. You can customize it by modifying the following line:\n\n```py\nNONOGRAM_BOARD_SIZE = 5\n```\n\nWe do not recommend playing with any board larger than 7x7 :)\n\n## Performance Testing\n\nRun `main.py` to check out the benchmarks (time and memory) of DFS (Depth First Search) and BeFS (Best First Search)\n```bash\npython main.py\n```\n\nThere are six testcases for 5x5, 6x6 and 7x7 boards. After running the above command, the terminal will show the time and memory usage by DFS and BeFS. You can check out the files in `output` to see each step. \n\n## Acknowledgements\n\nWe are highly inspired by the AIMA books and the AIMA code implementation using Python by Russell and Norvig.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpnv2003%2Fnonogram-solver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpnv2003%2Fnonogram-solver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpnv2003%2Fnonogram-solver/lists"}