Author Topic: CubeCalc  (Read 1339 times)

0 Members and 1 Guest are viewing this topic.

Offline Dapianokid

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 539
  • Rating: +46/-27
  • That one dude
    • View Profile
CubeCalc
« on: September 25, 2013, 05:34:01 pm »
I have a very engaging, involved series of big and difficult to answer questions aimed at programming and cubing veterans, or anybody else who feels qualified to help out. (This may turn into an in-depth discussion holding multiple streams of conversation at once, beware! If you tl;dr often, this isn't the place for you.)

What would it take to write a Rubik's cube solving application/program for the Ti-83-84 series? I'm betting that the best platform to write it for is the Ti-84+CSE, mostly becuase that's what everybody is interested in right now and it has the newest operating system and a color screen in case there is a graphical component to this program.

Also, I'd like to challenge Omnimaga with the task of writing a program that can solve any cube state with an optimal solution path withing the course of a reasonable amount of time. It should probably take no longer than 4 hours to solve any one state.
I want to hear your thoughts on it, like what a cube-state culd look like in memory, algorithms or sequences stored as data, or how to maybe come up with a tiny, compressed structure for representing any cube state with a maximum of, say, 8 bytes. Who's up for it?
Keep trying.

Offline thepenguin77

  • z80 Assembly Master
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1591
  • Rating: +823/-5
  • The game in my avatar is bit.ly/p0zPWu
    • View Profile
Re: CubeCalc
« Reply #1 on: September 26, 2013, 01:02:53 am »
I don't really have the time right now to think about how you would actually go about this, but I would think that trying to represent the cube state compactly would be a big mistake.

The key issue with a program like this is going to be speed. You might run into memory problems, but, I think more realistically speed is the primary issue.

With that in mind, I think you should try to figure out how you are going to actually solve the cube, and then pick the data structure that allows you to run the simulation the fastest. It would be a little silly if 75% of your calculation time was spent compressing and decompressing the cube states ;D Besides, there are only actually 22 blocks that you can move. Representing each one as a byte would only be 22 bytes per cube.
zStart v1.3.013 9-20-2013 
All of my utilities
TI-Connect Help
You can build a statue out of either 1'x1' blocks or 12'x12' blocks. The 1'x1' blocks will take a lot longer, but the final product is worth it.
       -Runer112

Offline XiiDraco

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 513
  • Rating: +32/-5
  • Forget the numbers, just call me, Recreation.
    • View Profile
    • Black-Lark Games
Re: CubeCalc
« Reply #2 on: September 26, 2013, 01:51:57 am »
I don't really have the time right now to think about how you would actually go about this, but I would think that trying to represent the cube state compactly would be a big mistake.

The key issue with a program like this is going to be speed. You might run into memory problems, but, I think more realistically speed is the primary issue.

With that in mind, I think you should try to figure out how you are going to actually solve the cube, and then pick the data structure that allows you to run the simulation the fastest. It would be a little silly if 75% of your calculation time was spent compressing and decompressing the cube states ;D Besides, there are only actually 22 blocks that you can move. Representing each one as a byte would only be 22 bytes per cube.

I don't actually have the time to help either but as thepenguin said with speed, I have heard that the Ti-84+CSE version is extremely slow. (Correct me if im wrong) So i'm assuming that would not be the best choice?

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: CubeCalc
« Reply #3 on: September 26, 2013, 06:02:14 am »
I don't really have the time right now to think about how you would actually go about this, but I would think that trying to represent the cube state compactly would be a big mistake.

The key issue with a program like this is going to be speed. You might run into memory problems, but, I think more realistically speed is the primary issue.

With that in mind, I think you should try to figure out how you are going to actually solve the cube, and then pick the data structure that allows you to run the simulation the fastest. It would be a little silly if 75% of your calculation time was spent compressing and decompressing the cube states ;D Besides, there are only actually 22 blocks that you can move. Representing each one as a byte would only be 22 bytes per cube.

I don't actually have the time to help either but as thepenguin said with speed, I have heard that the Ti-84+CSE version is extremely slow. (Correct me if im wrong) So i'm assuming that would not be the best choice?
The CSE is only slow when it draws something on the screen. But calculations don't take longer on a color screen than on a monochrome screen (as long as you don't draw anything).
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline Sorunome

  • Fox Fox Fox Fox Fox Fox Fox!
  • Support Staff
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 7918
  • Rating: +374/-13
  • Derpy Hooves
    • View Profile
    • My website! (You might lose the game)
Re: CubeCalc
« Reply #4 on: September 26, 2013, 10:35:59 am »
Hm, maybe you should have brought this up after the omnimaga contest :P

THE GAME
Also, check out my website
If OmnomIRC is screwed up, blame me!
Click here to give me an internet!

Offline XiiDraco

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 513
  • Rating: +32/-5
  • Forget the numbers, just call me, Recreation.
    • View Profile
    • Black-Lark Games
Re: CubeCalc
« Reply #5 on: September 26, 2013, 12:18:47 pm »
I don't really have the time right now to think about how you would actually go about this, but I would think that trying to represent the cube state compactly would be a big mistake.

The key issue with a program like this is going to be speed. You might run into memory problems, but, I think more realistically speed is the primary issue.

With that in mind, I think you should try to figure out how you are going to actually solve the cube, and then pick the data structure that allows you to run the simulation the fastest. It would be a little silly if 75% of your calculation time was spent compressing and decompressing the cube states ;D Besides, there are only actually 22 blocks that you can move. Representing each one as a byte would only be 22 bytes per cube.

I don't actually have the time to help either but as thepenguin said with speed, I have heard that the Ti-84+CSE version is extremely slow. (Correct me if im wrong) So i'm assuming that would not be the best choice?
The CSE is only slow when it draws something on the screen. But calculations don't take longer on a color screen than on a monochrome screen (as long as you don't draw anything).

You learn something new everyday! Thanks!

Offline Dapianokid

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 539
  • Rating: +46/-27
  • That one dude
    • View Profile
Re: CubeCalc
« Reply #6 on: September 26, 2013, 03:23:29 pm »
I didn't intend on this being part of the contest, in fact, I intended it not being part of the contest. I also don't olike hosting contests. I'm basically asking help with a project that isn't as long-term/sketchy in terms of my desire to bring it to completion.

First off, recursive search algorithms would be incredibly slow on the calculator past any more than, say, 3 distinct HTM turns. HTM means that turning a face twice still counts as one turn. Hopefully whatever system I use to solve the cube will be capable of a half turn just as fast as it will be a quarter turn.

I don't want a memory-eating program, as I'm hoping to be able to run it on the 83+BE.
I'll be looking at the most commonly used algorithms. maybe I only want it to solve withint 20 moves.
Keep trying.

Offline Sorunome

  • Fox Fox Fox Fox Fox Fox Fox!
  • Support Staff
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 7918
  • Rating: +374/-13
  • Derpy Hooves
    • View Profile
    • My website! (You might lose the game)
Re: CubeCalc
« Reply #7 on: September 26, 2013, 03:28:23 pm »
I didn't intend on this being part of the contest, in fact, I intended it not being part of the contest. I also don't olike hosting contests. I'm basically asking help with a project that isn't as long-term/sketchy in terms of my desire to bring it to completion.
[...]
I thought that, but i mean that seeking for non-contest coding help while a contest is running will make it more unlikley to find somebody due to already the contest taking up so much time. (do i make sence?)

THE GAME
Also, check out my website
If OmnomIRC is screwed up, blame me!
Click here to give me an internet!

Offline Dapianokid

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 539
  • Rating: +46/-27
  • That one dude
    • View Profile
Re: CubeCalc
« Reply #8 on: September 27, 2013, 04:27:42 pm »
You do make sense, my friend.
*sigh* I'll wait patiently for you people to be less busy :P
Keep trying.

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55847
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: CubeCalc
« Reply #9 on: October 09, 2013, 12:43:25 am »
(do i make sence?)
No, but you spelled sense wrong. :P

As for the CSE, it depends how you draw stuff. In some cases the speed isn't that bad (see Calcuzap and Tunnel, for example).
In case you are wondering where I went, I left Omni back in 2015 to form CodeWalrus due to various reasons explained back then, but I stopped calc dev in 2016 and am now mostly active on the CW Discord server at https://discord.gg/cuZcfcF



Official Website |T-Shirt store | Reverbnation | Facebook | Youtube | Twitter | Spotify