This commit is contained in:
2025-05-31 21:14:03 +03:00
parent 074878ee9f
commit 6dd45363e7
6 changed files with 364 additions and 15 deletions

View File

@ -20,10 +20,10 @@ from scorer import (
import heapq
from typing import List, Any, Generator, Dict
SOLUTIONS_TO_EVAL = 1000
SOLUTIONS_TO_EVAL = 100
SOLUTIONS_TO_SHOW = 3
PRUNE = 11
PRUNE = 9
SOLVE = 7

View File

@ -65,7 +65,7 @@ finger_tricks:
grip_post:
index: B
grip_pre_blacklist: {}
score: 5
score: 1001
- name: "U flick"
move: "U"
grip_pre:
@ -74,7 +74,7 @@ finger_tricks:
# TODO: rethink this parameter
index: LB
grip_pre_blacklist: {}
score: 4
score: 1001
- name: "U' push"
move: "U'"
grip_pre:
@ -82,7 +82,7 @@ finger_tricks:
grip_post:
index: F
grip_pre_blacklist: {}
score: 5
score: 1000
- name: "U' flick"
move: "U'"
grip_pre:
@ -90,7 +90,7 @@ finger_tricks:
grip_post:
index: LF
grip_pre_blacklist: {}
score: 3
score: 1000
- name: "U2' feido"
move: "U2"
grip_pre:
@ -98,7 +98,7 @@ finger_tricks:
grip_post:
index: F
grip_pre_blacklist: {}
score: 5
score: 1002
- name: "U2 double flick"
move: "U2"
grip_pre:
@ -106,7 +106,7 @@ finger_tricks:
grip_post:
index: LF
grip_pre_blacklist: {}
score: 6
score: 1002
- name: "U2' double flick"
move: "U2"
grip_pre:
@ -114,7 +114,7 @@ finger_tricks:
grip_post:
index: BL
grip_pre_blacklist: {}
score: 9
score: 1002
- name: "U2 beido"
move: "U2"
grip_pre:
@ -122,7 +122,7 @@ finger_tricks:
grip_post:
index: B
grip_pre_blacklist: {}
score: 5
score: 1002
- name: "M' ring flick"
move: "M'"
grip_pre:
@ -130,7 +130,7 @@ finger_tricks:
grip_post:
ring: DF
grip_pre_blacklist: {}
score: 3
score: 1000
- name: "M' pinky flick"
move: "M'"
# I can't do M' after finishing beido
@ -142,7 +142,7 @@ finger_tricks:
index:
- BL
- UF
score: 6
score: 1000
- name: "M push"
move: "M"
grip_pre:
@ -150,7 +150,7 @@ finger_tricks:
grip_post:
pinky: DB
grip_pre_blacklist: {}
score: 5
score: 1001
- name: "M index push"
move: "M"
grip_pre:
@ -158,7 +158,7 @@ finger_tricks:
grip_post:
index: UF
grip_pre_blacklist: {}
score: 6
score: 1001
- name: "M2 double flick"
move: "M2"
grip_pre:
@ -168,4 +168,4 @@ finger_tricks:
pinky: F floating
ring: DB
grip_pre_blacklist: {}
score: 7
score: 1002

149
roux_7_movers.txt Normal file
View File

@ -0,0 +1,149 @@
U' M U' M' U' M' U' M' U' M2
M' U' M' U M U2 M U'
U M' U2 M U M' U M U'
M' U' M' U' M U2 M U'
U' M' U2 M U' M' U' M U'
M' U' M' U' M' U2 M U M2
M' U' M' U2 M' U2 M U M2
M' U' M U2 M' U2 M' U' M2
M' U' M' U' M U2 M' U' M2
M' U' M' U' M' U2 M' U
M' U' M' U2 M U2 M' U M2
U M U M' U M' U M U'
M' U' M' U2 M' U2 M' U'
U' M U' M' U' M' U' M U
M' U' M' U M' U2 M' U
M' U' M' U M U2 M' U' M2
M' U' M U' M' U2 M' U' M2
M' U' M U' M U2 M' U
M' U' M U M' U2 M U
U' M U' M' U' M' U M' U' M2
M' U' M U' M U2 M U' M2
M' U' M U' M' U2 M U
U' M' U2 M U' M' U M' U' M2
M' U' M U M U2 M' U
M' U' M U M' U2 M' U' M2
M' U M' U2 M' U2 M U' M2
U M' U M' U' M' U' M' U'
U2 M U' M U M' U2 M' U
U2 M U' M' U2 M' U2 M U'
U2 M U M' U2 M' U2 M U'
U M' U2 M' U M' U M U' M2
U2 M U' M U' M' U2 M' U
U' M' U2 M' U' M' U' M U' M2
U2 M U' M U' M U2 M' U' M2
U2 M U' M U' M' U2 M U M2
U' M' U2 M' U' M' U M'
U2 M U' M' U2 M U2 M' U'
U' M' U M U M U M' U
U2 M U M' U2 M' U2 M' U' M2
U M' U' M U' M U' M' U'
U M' U M' U' M' U' M U' M2
U2 M U M' U M U2 M' U'
U2 M U' M' U' M U2 M U M2
U2 M U' M' U' M' U2 M U'
U2 M U' M' U M U2 M' U'
U' M' U' M' U M' U M U' M2
U2 M U' M' U' M U2 M' U'
U M' U' M U' M U M'
U2 M U' M' U M U2 M U' M2
U2 M U' M' U M' U2 M U
U2 M U' M U M' U2 M U' M2
M' U2 M U2 M' U' M' M2
M' U2 M' U2 M' U' M' U2
U M' U2 M' U2 M' U' M U M2
U M' U2 M' U2 M' U M U' M2
M U' M U' M' U' M U' M2
M' U' M U' M' U M U
M U' M U' M' U M U' M2
M' U' M U' M' U' M' U' M2
M' U M U M' U M' U' M2
M' U M U M' U' M' U2 M2
M U' M U' M' U M' U'
U M U' M' U2 M' U M U
M' U' M U' M' U' M U
U M U' M U2 M' U M' U
M U M U M' U' M' U2
M' U' M U' M' U M' U' M2
M U M U M' U M' U
M U' M U' M' U' M' U
U M U' M' U2 M' U M' U2 M2
U M U' M' U2 M' U' M' U' M2
M' U M U M' U M U
U' M U M' U2 M' U M U'
U2 M' U' M' U' M U' M' U M2
U' M' U' M' U2 M U' M' U M2
U M' U M' U2 M U M' U M2
U2 M U' M' U' M U M' U'
U2 M' U' M' U' M U M' U M2
U2 M U M' U M U' M'
U2 M' U' M' U' M U M U
U' M' U' M U2 M U M' U'
U' M' U' M' U2 M U M U'
U2 M' U M' U M U' M' M2
U2 M U' M' U' M U M U M2
U2 M U' M' U' M U' M' U'
U2 M' U M' U M U M U'
U' M' U' M' U2 M U M' U2 M2
U2 M' U' M' U' M U' M U'
U2 M' U M' U M U' M U
U2 M U M' U M U' M U M2
U M' U M U2 M U M' U
U2 M U M' U M U M' U'
U' M2 U' M U' M2 U M' U2
U' M2 U' M U2 M2 U M' U2
M' U' M' U' M' U M'
U2 M' U2 M' U' M U M U
M' U M U' M U' M' U'
U M' U2 M' U M U M' M2
U2 M U M' U' M' U' M U
U' M' U M' U M' U' M' U
U' M' U2 M U' M U' M' U'
M' U' M' U' M' U' M' U'
U M' U2 M' U M U' M U'
U2 M' U2 M' U' M U M' M2
U' M' U' M U M U M' U'
U M U' M' U M' U M U
U2 M' U2 M' U' M U' M' U M2
M' U2 M U M U M' U
U M' U2 M' U M U' M' M2
M' U' M' U' M' U' M U' M2
U M U M U M U M' U' M2
U2 M U' M U' M U' M' U' M2
U' M' U M' U M' U M U' M2
U' M' U M' U2 M' U M' U
U M U M' U2 M U' M' U
M' U' M' U2 M' U M' U
U' M' U M U2 M' U M' U2 M2
M' U' M' U2 M' U' M' U
U2 M U' M' U2 M U M' U
U2 M U' M' U2 M U M U M2
M' U' M U2 M' U M' U' M2
U M U M U2 M U M' U' M2
U' M' U M' U2 M' U M U M2
U M U M' U2 M U M U' M2
M' U' M' U2 M' U M U M2
U2 M U' M U2 M U M' U M2
U' M U2 M' U2 M' U' M' U' M2
U' M' U2 M' U2 M U M U'
U M' U2 M' U2 M U' M' U M2
U2 M' U M U' M' U' M U'
M' U' M U M' U' M U
M' U M U' M' U M U
U2 M U' M' U M U M U M2
U2 M U M' U' M U' M U M2
M' U' M U M' U M' U' M2
M' U M U' M' U' M' U' M2
M' U' M U M' U M U
U2 M' U' M U M' U' M' U2 M2
M U M' U' M U M U M2
M U' M' U M U' M'
U2 M U M' U' M U' M'
U M' U' M' U M U' M' M2
U2 M' U M' U' M U' M' U2 M2
U M' U' M' U M U M
U2 M U' M U M' U M' U
U2 M U M U' M' U' M' U
U' M U M U' M' U' M U M2
M' U M' U' M U' M U'
U2

24
roux_trainer.py Normal file
View File

@ -0,0 +1,24 @@
import json
def main():
with open("./output.json") as f:
data = json.loads(f.read())
covered_cases = set()
for case, scrambles in data.items():
if not scrambles:
continue
scramble = scrambles[0]
if scramble["raw_alg"] in covered_cases:
continue
if scramble["stm"] != 7:
continue
if case.startswith("Solved"):
continue
print(scramble["alg"])
covered_cases.add(scramble["raw_alg"])
print("U2")
if __name__ == "__main__":
main()

View File

@ -56,11 +56,16 @@ def create_eolrb_prune_table(prune_depth: int):
generator = lse_brute_force_generator(prune_depth)
pruned = 0
# TODO: for every solved state (pre auf), we can apply the generator's moves and save to prune table?
for alg in generator:
cube.reset()
cube.alg(" ".join(alg))
prune_table[cube.eolrb_hash()].append(reverse_algorithm(alg))
pruned += 1
if pruned % 1000 == 0:
print(pruned)
return prune_table

171
weighted_moves.yaml Normal file
View File

@ -0,0 +1,171 @@
fingers:
- name: index
default_score: 1
home_grips:
- BL
- LB
# TODO: change to grip_set
grips:
side:
- B
- BL
- LB
- LF
- FL
- F
top:
- UF
regrips:
- start: UF
end: BL
score: 3
# TODO: this doesn't need to be here
finger: index
- start: UF
end: LB
score: 3
# TODO: this doesn't need to be here
finger: index
- name: ring
default_score: 1
home_grips:
- B
- DB
grips:
slice:
- B
- DB
- DF
- F
regrips: []
- name: pinky
default_score: 1
home_grips:
- DB
- DF
grips:
slice:
- B
- DB
- DF
- F
- F floating
regrips:
- start: F floating
end: F
score: 2
# F floating is hard
# TODO: this doesn't need to be here
finger: pinky
finger_tricks:
- name: "U push"
move: "U"
grip_pre:
index: LB
grip_post:
index: B
grip_pre_blacklist: {}
score: 5
- name: "U flick"
move: "U"
grip_pre:
index: F
grip_post:
# TODO: rethink this parameter
index: LB
grip_pre_blacklist: {}
score: 4
- name: "U' push"
move: "U'"
grip_pre:
index: LF
grip_post:
index: F
grip_pre_blacklist: {}
score: 5
- name: "U' flick"
move: "U'"
grip_pre:
index: BL
grip_post:
index: LF
grip_pre_blacklist: {}
score: 3
- name: "U2' feido"
move: "U2"
grip_pre:
index: BL
grip_post:
index: F
grip_pre_blacklist: {}
score: 5
- name: "U2 double flick"
move: "U2"
grip_pre:
index: BL
grip_post:
index: LF
grip_pre_blacklist: {}
score: 6
- name: "U2' double flick"
move: "U2"
grip_pre:
index: F
grip_post:
index: BL
grip_pre_blacklist: {}
score: 9
- name: "U2 beido"
move: "U2"
grip_pre:
index: F
grip_post:
index: B
grip_pre_blacklist: {}
score: 5
- name: "M' ring flick"
move: "M'"
grip_pre:
ring: B
grip_post:
ring: DF
grip_pre_blacklist: {}
score: 3
- name: "M' pinky flick"
move: "M'"
# I can't do M' after finishing beido
grip_pre:
pinky: B
grip_post:
pinky: F floating
grip_pre_blacklist:
index:
- BL
- UF
score: 6
- name: "M push"
move: "M"
grip_pre:
pinky: F
grip_post:
pinky: DB
grip_pre_blacklist: {}
score: 5
- name: "M index push"
move: "M"
grip_pre:
index: B
grip_post:
index: UF
grip_pre_blacklist: {}
score: 6
- name: "M2 double flick"
move: "M2"
grip_pre:
pinky: B
ring: B
grip_post:
pinky: F floating
ring: DB
grip_pre_blacklist: {}
score: 7