{"id":13595519,"url":"https://github.com/StephenBarnes/Zendo-inspired","last_synced_at":"2025-04-09T13:32:22.078Z","repository":{"id":74529105,"uuid":"37857130","full_name":"StephenBarnes/Zendo-inspired","owner":"StephenBarnes","description":"Two inductive logic games - the computer chooses a rule, and you try to infer the rule by testing examples.","archived":false,"fork":false,"pushed_at":"2015-06-28T18:34:01.000Z","size":306,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-08-01T16:40:49.377Z","etag":null,"topics":[],"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/StephenBarnes.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}},"created_at":"2015-06-22T13:36:53.000Z","updated_at":"2022-11-11T12:54:39.000Z","dependencies_parsed_at":"2023-02-23T22:30:21.306Z","dependency_job_id":null,"html_url":"https://github.com/StephenBarnes/Zendo-inspired","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StephenBarnes%2FZendo-inspired","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StephenBarnes%2FZendo-inspired/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StephenBarnes%2FZendo-inspired/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StephenBarnes%2FZendo-inspired/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StephenBarnes","download_url":"https://codeload.github.com/StephenBarnes/Zendo-inspired/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223394545,"owners_count":17138566,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-08-01T16:01:51.674Z","updated_at":"2024-11-06T18:31:04.267Z","avatar_url":"https://github.com/StephenBarnes.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"This repo contains two inductive logic games inspired by [Zendo](https://en.wikipedia.org/wiki/Zendo_%28game%29).\n\nRigid String Zendo\n------------------\n\nIn Rigid String Zendo, the computer generates a rigid logical rule for accepting or rejecting strings. For instance, \"length must be at least 6 xor the string contains the letter 's'\". Your job is to figure out the computer's rule by asking it whether various strings are accepted or rejected. Once you think you've induced the rule, the computer will test you.\n\nTo run this, ensure that you've [installed Python 3](https://www.python.org/downloads/), then run rigid_string/zendo.py.\n\nFuzzy String Zendo\n------------------\n\nIn Fuzzy String Zendo, the computer selects some features of words (for instance, their length, or the fraction of them that's made of vowels) and then devises a \"non-rigid\" rule which accepts or rejects strings based on those features. This is implemented by training a support vector classifier with a polynomial kernel to reject one random group of words and accept another random group of words.\n\nAgain, you try to figure out the rule by asking for the classifications of various strings. But unlike in Rigid String Zendo, you are not asked to classify strings, but rather to provide your credence that each of several strings will be accepted. Your score is the [Bayes score](https://en.wikipedia.org/wiki/Scoring_rule#Logarithmic_scoring_rule) of your beliefs, considered together with the difficulty and the number of strings you asked the computer to classify.\n\nNote that you need to install [Scikit-Learn](http://scikit-learn.org/stable/install.html) to run this. This is in addition to ensuring that you've [installed Python 3](https://www.python.org/downloads/). To run the game, execute fuzzy_string/fuzzy_zendo.py.\n\nExample\n-------\n\nHere's an example of me playing a game of Rigid String Zendo, and being a bit of a dumbass:\n\n\t\u003e ./rigid_string/zendo.py\n\tEnter rule complexity (2 is easy, 4 is moderate, 7 is difficult, 12 is ridiculous): 4\n\tGenerating rule...\n\tGenerated rule.\n\n\tExample of ACCEPTED string: underwriter\n\tExample of REJECTED string: n\n\n\n\tEnter lowercase string to test, or GIVEUP to give up, or GOTIT if you think you know the rule.\n\t\u003e x\n\tString 'x' is:  REJECTED\n\n\tEnter lowercase string to test, or GIVEUP to give up, or GOTIT if you think you know the rule.\n\t\u003e xxxx\n\tString 'xxxx' is:  REJECTED\n\n\tEnter lowercase string to test, or GIVEUP to give up, or GOTIT if you think you know the rule.\n\t\u003e xxxxxx\n\tString 'xxxxxx' is:  REJECTED\n\n\tEnter lowercase string to test, or GIVEUP to give up, or GOTIT if you think you know the rule.\n\t\u003e xxxxxxxxxxx\n\tString 'xxxxxxxxxxx' is:  ACCEPTED\n\n\tEnter lowercase string to test, or GIVEUP to give up, or GOTIT if you think you know the rule.\n\t\u003e xxxxxxxx\n\tString 'xxxxxxxx' is:  ACCEPTED\n\n\tEnter lowercase string to test, or GIVEUP to give up, or GOTIT if you think you know the rule.\n\t\u003e xxxxxxx\n\tString 'xxxxxxx' is:  REJECTED\n\n\tEnter lowercase string to test, or GIVEUP to give up, or GOTIT if you think you know the rule.\n\t\u003e GOTIT\n\tYou will be asked to judge 5 strings. Judge all of them correctly (as the rule would)\n\tand you win, but get any wrong and you lose.\n\n\tTest this word:  unbarred\n\tEnter A to accept, or R to reject: R\n\tIncorrect! The rule actually ACCEPTS this word.\n\n\tYou lose :(\n\n\tThe rule was:   (length at least 8) or (contains 'i')\n\n\tDifficulty was 4 and you tested 6 words.\n\tKnown classifications at the time you typed GOTIT were:\n\t\txxxxxxx                        : rejected\n\t\tx                              : rejected\n\t\txxxx                           : rejected\n\t\txxxxxxxx                       : accepted\n\t\tn                              : rejected\n\t\tunderwriter                    : accepted\n\t\txxxxxxxxxxx                    : accepted\n\t\txxxxxx                         : rejected\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FStephenBarnes%2FZendo-inspired","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FStephenBarnes%2FZendo-inspired","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FStephenBarnes%2FZendo-inspired/lists"}