-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Limits on challenge generation #8
Comments
@jonathanolson lets limit shape piece stacks to less than or equal to 10. (a quick sampling of the Java version seems to keep the piece stacks to 10 or under, and that seems still like a reasonable UX). For the horizontal overflow issue (with number cards), something about your screenshot appears a bit odd. On the "mixed numbers" game, it appears we always kept the number cards to the numbers 1-9. Given that you are using a "mixed number" container, we should probably enforce that rule on the mixed numbers game (which should prevent any horizontal overflow). The improper fractions game (in Java just labelled "Build a Fraction") appears to limit the number of "whole shapes" to a maximum of two, and never appears to have overflow issues. Happy to discuss over a call. |
Mixed numbers level 5 notes in the design doc:
So say it picks (1 2/5, 2 5/6, 1 4/7). It seems impossible to force one that requires a "simplification" since e.g. 2/5 could be represented as 4/10 but that would require a 10 digit (not allowed). So presumably in generation I would need to pick at least one of the fractions with a denominator <=4 (and that one would get a multiplier, e.g. 2/3 * 2 => 4/6 or 2/3 * 3 => 6/9)? |
So for e.g. shapes (unmixed) level 2, it's essentially pick 3 from (1/2, 1/3, 1/4, 1/5, 2/3, 2/4, 2/5, 3/4, 3/5, 4/5), but also "2 possible ways to make at least one of the targets". Design doc
Given that it WAS doing searches only up to denominators of 8 for that level, things get tricky if it picks e.g. 2/5, 3/5, 4/5. Thus we already have 9 1/5ths for the generation, and the "find another way to make one of the targets" can only use 1/5ths since 1/10ths aren't allowed. For this type of challenge, should it be constrained to pick a sampling of denominators? Additionally, for "2 possible ways to make at least one of the targets", it should presumably avoid larger denominators? Or can we allow 1/10ths in cases like this? (The Java implementation was limited in searches up to 1/8ths, but the HTML implementation can handle arbitrary denominators) |
For shapes unmixed level 2, make sure at least target has denominator <=4, and generate interesting fractions from denominator <=4 that is NOT identical to the straightforward fractions. |
Only allow up to denominator 8 in shape levels (for pieces) |
I believe the specified limits should be in place. |
Both of the game screens should be in https://phet-dev.colorado.edu/html/build-a-fraction/1.0.0-dev.12/phet/build-a-fraction_en_phet.html so I only published one dev version for testing. Also level 3 (unmixed) shapes doesn't seem fully compatible with the given instructions. It includes taking a sample of fractions up to a denominator of 6, but then says that there should be multiple solutions for ALL fractions (which seems impossible for, e.g. 1/6). |
Will use 💻 for implemented items (AP will erase comments noting implemented) Unmixed "Number" challenges(Shapes as targets, number cards as answers) All Levels
Level 3
Level 5
Level 6
Level 7
Level 9
Level 10
Unmixed "Shapes" challenges(Numbers as targets, shape pieces for constructing answers) All Levels
Level 3
All else looking correct for Unmixed "Shapes" Challenges and matching design doc |
Will use 💻 for implemented items (AP will erase comments noting implemented) Mixed "Number" challenges(Shapes as targets, number cards as answers) Level 1
Level 5
Level 6
Level 7
Level 8
Level 9
Level 10
Mixed "Shape" challenges(Numbers as targets, shape pieces for constructing answers) Level 1
Level 2
Level 5
Level 7
Level 8
|
|
Interesting. It looks like the "ignore levels with 10+ in a stack and regenerate" condition is definitely changing the distribution here. I've changed the implementation of the piece generation to better match the spec: for each of the two fractions, it gives one set of "straightforward" pieces (e.g. 7/8 => 7x 1/8), and it also gives one set of "difficult" pieces (an interesting mix of fractions usually used for level 9/10). Due to the chance of the difficult mix for each having 4x+ 1/8 pieces, 7/8 isn't quite as common, but it will definitely occur now. |
Mixed Shape level 8:
I've changed the selection of fractions so that there are at least 2 ones with "splittable" denominators (<=4). It definitely still is splitting the whole pieces, and that would make it difficult to not use nontrivial pieces. Are there particular examples of how we want things to behave? |
… to limit resulting denominators to 8, see #8
…ration for level 5 numbers mixed, see #8
…ial targets constraint, see #8
… and displaying reduced forms. See #8
…any arbitrary game partition, see #8
Looks like all issues have been addressed! Nice work @jonathanolson 🎉 🎉 🎉 Closing |
There are still TODOs marked for this issue, discovered during phetsims/chipper#946 |
The TODO is: // TODO: see decision on https://github.com/phetsims/fractions-common/issues/8, what to do if we lack the
// number of breakable bits?
// assert && assert( breakable.length >= quantity ); Unassigning until we return focus to this issue. |
Currently challenges can be generated that are cumbersome and cause layout issues:
It looks like limiting things to 20 shape pieces per stack should avoid layout issues, but presumably we'd want to limit things a bit more (for the user experience).
Additionally, limiting the number of number pieces in total quantity should prevent the horizontal overflow case.
Are there specific limits that are desired?
The text was updated successfully, but these errors were encountered: