Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 2 3 [4] 5 6 ... 31

Author Topic: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha)  (Read 113081 times)

Linenoise02

  • Bay Watcher
    • View Profile
Re: The Dwarven Learning Computer (WIP)
« Reply #45 on: November 15, 2011, 12:41:28 am »


So basically i'm crazy, fucked, and chasing a dream that will never come true.

Well, back to the fort  :D. I shall be awaiting all your internets if I can come up with something that even resembles artificial intelligence.

But you are right in that I should probably try and invent something new that scales things down a bit. Taking advantage of water levels and pressure plates having a variety of states could solve a lot of problems, it's just that evaporation makes it incredibly unreliable. I'll probably do some experimenting with it eventually.

Being crazy shouldn't stop you!  See how far you get.

If you want some sense of the scale that's required though, go google pictures of the computers in DF's dumber sister, Minecraft.  Then realize these computers don't actually -do- anything; the game can't hold enough of the world in memory to run the computer and the ram which holds the program at the same time.  That doesn't make them any less impressive.
Logged

BloodBeard

  • Bay Watcher
    • View Profile
Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
« Reply #46 on: November 15, 2011, 01:19:23 am »

Spoiler (click to show/hide)
Spoiler (click to show/hide)
Spoiler (click to show/hide)

You are one sexy machine...

BloodBeard

  • Bay Watcher
    • View Profile
Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
« Reply #47 on: November 15, 2011, 07:09:22 pm »

Damn, for a moment I thought I was going to have to tear the whole thing down and build it another way. I found a way to bypass the controller and directly manipulate the pixel producing thing I posted above with the keyboard, but I ran into roadblocks trying to design letter (and therefore word) recognition functions. I definately need a controller to tell that monstrosity what letters to display. It will create a bit of a delay but it will make word recognition a lot easier.

The plan right now is to design a controller that is manipulated with the mock keyboard. Basically flipping the 'A' lever will send a signal that through mechanical and fluid logic tells my pixel producing machine what letter needs to be displayed (and at the same time telling the A.I what letters are being typed without having to go through a binary translator)

I feel like i'm sounding like an idiot to people who know the correct terms for some of these things. The controller that i'm talking about which takes in keyboard input and sends that information off to other components to be used and/or stored, would that be something like a preprocessor or an input/output stream?
« Last Edit: November 15, 2011, 07:23:38 pm by BloodBeard »
Logged

Powder Miner

  • Bay Watcher
  • this avatar is years irrelevant again oh god oh f-
    • View Profile
Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
« Reply #48 on: November 15, 2011, 07:49:25 pm »

Hm... We're prolly all gonna die. *Goes to find Morul for help*
Logged

Mapleguy555

  • Bay Watcher
    • View Profile
Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
« Reply #49 on: November 15, 2011, 10:16:33 pm »

You forget, if this thing gets an intelligence, it'll use Runesmith ._.
Logged

Quietust

  • Bay Watcher
  • Does not suffer fools gladly
    • View Profile
    • QMT Productions
Re: The Dwarven Learning Computer (WIP)
« Reply #50 on: November 15, 2011, 11:03:28 pm »

The first proccessor I saw was 100 KHz speed on 4 bit data, and today we have a processor with 12 subprocessors at 64 bit data at 3 GHz speed for a speed improvement of several million times faster. Of course the transistor counts have expanded from 10,000 transistors to 120 million transistors.
I'll assume you meant to say 1000 transistors as a starting point - the 4-bit Intel 4004 only had 2300 transistors in it, and the 8-bit MOS 6502 had just 3510. It may seem like a lot, but even those might be possible to implement in Dwarf Fortress (albeit with some changes - dynamic logic doesn't really work in DF, but static PMOS would probably be easy enough to do, and CMOS could be done by just ignoring all of the NMOS transistors).

Even then, one of the biggest problems with designing a dwarfputer is the memory - while it's a lot easier to design, memory uses lots of transistors, especially in the address decoding logic (which can take up a significant percentage of its real estate). ROM is much simpler (since you don't have to write to it), but it's still huge in comparison to the CPU. Also, any logic using pressure plates could require days (in game-time, about 12 seconds when running at 100fps) per clock cycle, so it'd be mind-bogglingly slow.
« Last Edit: November 15, 2011, 11:05:06 pm by Quietust »
Logged
P.S. If you don't get this note, let me know and I'll write you another.
It's amazing how dwarves can make a stack of bones completely waterproof and magmaproof.
It's amazing how they can make an entire floodgate out of the bones of 2 cats.

Shinotsa

  • Bay Watcher
  • Content lion is content
    • View Profile
Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
« Reply #51 on: November 15, 2011, 11:12:19 pm »

The first proccessor I saw was 100 KHz speed on 4 bit data, and today we have a processor with 12 subprocessors at 64 bit data at 3 GHz speed for a speed improvement of several million times faster. Of course the transistor counts have expanded from 10,000 transistors to 120 million transistors.
I'll assume you meant to say 1000 transistors as a starting point - the 4-bit Intel 4004 only had 2300 transistors in it, and the 8-bit MOS 6502 had just 3510. It may seem like a lot, but even those might be possible to implement in Dwarf Fortress (albeit with some changes - dynamic logic doesn't really work in DF, but static PMOS would probably be easy enough to do, and CMOS could be done by just ignoring all of the NMOS transistors).

Even then, one of the biggest problems with designing a dwarfputer is the memory - while it's a lot easier to design, memory uses lots of transistors, especially in the address decoding logic (which can take up a significant percentage of its real estate). ROM is much simpler (since you don't have to write to it), but it's still huge in comparison to the CPU. Also, any logic using pressure plates could require days (in game-time, about 12 seconds when running at 100fps) per clock cycle, so it'd be mind-bogglingly slow.

Mind-bogglingly slow? I'm not going to have my descendents waiting on a computer to answer 42 to their question! But in all seriousness I support this completely, though it does seem like it's going to run into more roadblocks than an action movie car chase.
Logged
Quote from: EvilTim
"You shouldn't anthropomorphize vehicles. They hate it"

Iren

  • Bay Watcher
  • I BREW THE BEER I DRINK
    • View Profile
    • Blog
Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
« Reply #52 on: November 16, 2011, 12:18:20 am »

I wonder if Dwarfputer BSOD equivalent is hot, red and glowing.
Logged
Your mother was a hamster and your father smelt of elderberries!

Urist Imiknorris

  • Bay Watcher
  • In the flesh, on the phone and in your account...
    • View Profile
Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
« Reply #53 on: November 16, 2011, 12:38:46 am »

No, it's gray, dusty and freezes the universe in time.
Logged
Quote from: LordSlowpoke
I don't know how it works. It does.
Quote from: Jim Groovester
YOU CANT NOT HAVE SUSPECTS IN A GAME OF MAFIA

ITS THE WHOLE POINT OF THE GAME
Quote from: Cheeetar
If Tiruin redirected the lynch, then this means that, and... the Illuminati! Of course!

Talvieno

  • Bay Watcher
  • Hello, Death. How's life?
    • View Profile
Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
« Reply #54 on: November 16, 2011, 12:41:45 am »

Slow, maybe, but if it works, it'll prove it can be done.  8) Which will be beyond awesome. Speed can come later, in my opinion...
Logged
Quote from: Mr Frog
Talvieno ... seems to be able to smash out novella-length tales on demand

Urist Da Vinci

  • Bay Watcher
  • [NATURAL_SKILL: ENGINEER:4]
    • View Profile
Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
« Reply #55 on: November 16, 2011, 02:06:17 am »

When I first read this thread I thought of the
Spoiler: Deus Ex:HR spoiler (click to show/hide)

On topic, I'd translate a binary string into text output using a binary tree structure, where a single water-sensitive pressure plate at the end of each branch controls a word or two. Each binary value in the string has to open either a left or a right hatch on a specific z-level depending on its' position in the string.

warwizard

  • Bay Watcher
    • View Profile
Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
« Reply #56 on: November 16, 2011, 04:23:20 am »

I feel like i'm sounding like an idiot to people who know the correct terms for some of these things. The controller that i'm talking about which takes in keyboard input and sends that information off to other components to be used and/or stored, would that be something like a preprocessor or an input/output stream?

Actually I'd rather not tell you the names of things and have your thinking railroaded by what others did before you. In mathamatics they call that finding a local maximum, a soloution that appears to work just fine and that for a narrow range of conditions is the best soloution. However if you expand out the conditions and find the actual maximum, you may get a soloution orders of magnitude better. That is the problem we could be facing with today's computing, we're locked into thinking about a local maximum, doing something very very simple, very very fast. In contrast, the human brain does things more in line with multiple states for an input. We excell at some aspects of image processing, like edge detection and pattern recognition. The ones that were not good at that, got eaten. We deal with incomplete infomation well, delete 80% of the pixels in a picture, and we may still be able to identify the object in the picture. we do this by the nurons voting when their bit of the picture matches, when a threshold is reached with enough neurons, we suddenly realize that it's a tiger hiding in the shadows, and the supervisor in our brain gets alerted to the danger. Perhaps a dwarf puter can somehow do something simular, deal with the evaporation noise and use pattern matching like we do to recognize the input.
Logged

warwizard

  • Bay Watcher
    • View Profile
Re: The Dwarven Learning Computer (WIP)
« Reply #57 on: November 16, 2011, 04:44:13 am »

I'll assume you meant to say 1000 transistors as a starting point - the 4-bit Intel 4004 only had 2300 transistors in it, and the 8-bit MOS 6502 had just 3510.

I did mean 10,000, he's doing input and output systems as well as the core processor, I just did not make it clear that I was referring to total system complexity.
Logged

BloodBeard

  • Bay Watcher
    • View Profile
Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
« Reply #58 on: November 16, 2011, 01:51:44 pm »

Snippet

 :o Yeah. I like computers too.  :D

On topic, I'd translate a binary string into text output using a binary tree structure, where a single water-sensitive pressure plate at the end of each branch controls a word or two. Each binary value in the string has to open either a left or a right hatch on a specific z-level depending on its' position in the string.

It's hard to speculate since A.I. output is going to depend a lot on how words are to be stored and called upon in memory, and i'm a long ways away from needing to figure that out. All I know is it will need to be extremely flexible, and luckily the machinery I already have built that outputs the A.I.'s speech is just that.

BloodBeard

  • Bay Watcher
    • View Profile
Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
« Reply #59 on: November 16, 2011, 08:45:47 pm »

I just spend far too long trial and erroring a tile advancer but I think I got it worked out... on notepad. I've taken delays into account so I think i'm good. I built a powered mini version of it that I can test on, I just need to rearrange some of the linkages and (dis)engage certain gears.

Essentially what should happen when you flip a lever on the keyboard, the letter will show up on the 1st tile on the display. You then have to flip the lever again to reset some things (up-press, if you will). During that process it should automatically advance to the next tile so when you flip another lever, or even the same lever, the letter shows up on the 2nd tile.

It's relatively small, only needing 32 pressure plate-pump combinations (one for each tile on the display). I'm probably going to be needing one for a lot of things, so that's good. I'll try and get an illustrated version posted on here later, both for critique and so I don't forget how it works.
Pages: 1 2 3 [4] 5 6 ... 31