Shop OBEX P1 Docs P2 Docs Learn Events
Propeller Humor Chip — Parallax Forums

Propeller Humor Chip

HumanoidoHumanoido Posts: 5,770
edited 2012-02-16 03:10 in Propeller 1
Propeller Humor Chip Design Idea

In a serious project, a Propeller humor chip is being developed
and I'm looking for a way to assign a number to the
intensity level of chip processing. Is there a parameter
or algorithm or a way to determine how hard a Propeller chip
is working?

For example, a general technique is needed that can be applied
to the chip - would this work best by measuring the amount of
chip current draw or are there other more easy and simple ways
to accomplish it?

(because a faster chip draws more current, one that is processing
in certain ways draws more current, pins in use draw more, etc.)

Thanks in advance for your comments.

Humanoido

Comments

  • mindrobotsmindrobots Posts: 6,506
    edited 2012-02-14 06:41
    Be careful!

    The emotion chip was a device designed by Dr. Noonian Soong to allow his creation Data to experience Human emotions. Soong finished the chip in 2366 after twenty years of work, and summoned Data to his lab on Terlina III to install it. However, Lore also arrived at the same time, and stole the chip by masquerading as Data. (TNG: "Brothers")
    In 2369, Lore used the emotion chip to trigger certain negative emotions in Data over a carrier wave, seeking to turn Data to his side. Lore's scheme failed after USS Enterprise-D personnel reactivated Data's ethical program. The chip was removed from Lore after he was dismantled, but Data did not install it, believing it to be too dangerous. Lore had revealed that the chip also contained memories from Data's early days at Omicron Theta. (TNG: "Descent, Part II")


    Data finally installed the chip in 2371, to further his growth as an artificial lifeform. Unfortunately, the chip overloaded his positronic relays, causing him to experience erratic emotions. The chip also became fused to his neural net, making it impossible to remove. Data was eventually able to control the emotions. (Star Trek Generations)

    By 2373, Data was able to turn the emotion chip on and off at will. The Borg Queen activated the chip during their effort to assimilate Earth in an unsuccessful attempt to use Data's emotions to manipulate him. (Star Trek: First Contact) A way was eventually found to remove the chip, and Data left the chip behind on the USS Enterprise-E prior to his mission to Ba'ku in 2375. (Star Trek: Insurrection)


    I don't think the Propeller has the capability to quantify and parameterize humor. Humor (creating it and recognizing it) isn't a simple response to stimulus or an easily classified state space for artificial intelligence. I think you would need considerably more processing power than the Big Brain can bring to the arena at this time.
  • dbpagedbpage Posts: 217
    edited 2012-02-14 06:43
    Measure its temperature.
  • Mike GMike G Posts: 2,702
    edited 2012-02-14 07:13
    H, monitoring code is called instrumentation. It involves invoking other code to measure and store parameters of a running process.

    A very simple method is pushing and popping bits to a queue. More bits means more actively

    If you are looking for an external method - no code - then heat and current. I'm not sure how you would quantify heat and current though.
  • mindrobotsmindrobots Posts: 6,506
    edited 2012-02-14 07:16
    Sorry, my first reply was rather negative and didn't take your initial question seriously or address any solutions.

    You could monitor the input current (current sensor on voltage supply lines) and read it via ADC and do the same with the output pins. But it would be hard to tell if one or two COGs was working hard driving I/O pins while another group of COGs were in there happy place enjoying humorous executions in their happy code places. You could have a COG working away at difficult calculations which it may find enjoyable but would it be finding them humorous.

    You would probably also need to add a second observer prop to offload the process of analyzing the first chips humor reactions. Personally, I find things less funny if I'm trying to analyze if they are funny and why they are funny.

    The second prop introduces the problems of perceived humor. What's funny to one Prop may not be funny to another Prop. You would need to develop humor tests to perform against a group of Propeller chips to group them according to their humor reactions. The two props should probably be electrically isolated since the first prop cold find the manner the second prop was using to observe it as humorous. I would suggest using an opto isolator and having the first prop drive the LED at some variable "giggle frequency" which the second prop could then monitor. This input as well as the ADC current readings would need to be correlated to some humor factor.

    An additional problem lies in the area of internalized humor versus externalized humor (both externally expressed and externally experienced) - I often find my self amused by my own thoughts but it wouldn't be something I'd share or think others would find nearly as funny.

    This will be another amazing feat for the Big Brain once it is accomplished and documented!
  • Heater.Heater. Posts: 21,230
    edited 2012-02-14 08:51
    Work is heat in this case. Unless you are driving heavy loads on the pins. Insulate the Prop and measure the temp rise. Or just measure supply volts and amps.
    What is this to do with humor? Does a Props heat generation go up or down when it laughs to itself? How can you tell if it is laughing or crying?
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2012-02-14 10:13
    My Props used to laugh at me. Thats why I stuffed 9 Volts up one of them ...
  • HShankoHShanko Posts: 402
    edited 2012-02-14 10:25
    As Dennis Page said "Measure its temperature.". A rectal thermometos is suggested, usually there is one on hand.

    But, what is this 'Humor' parameter you wish to measure. And WHY?
  • Heater.Heater. Posts: 21,230
    edited 2012-02-14 10:36
    Does a Propeller chip have a rectum?
    If not how could it possibly understand any kind of humor?
  • jazzedjazzed Posts: 11,803
    edited 2012-02-14 10:44
    I've found that a propeller going full on doesn't usually generate a discernible amount of heat unless many of the pins are attached. Current used is reliable physical indicator of how busy a propeller is.
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2012-02-14 11:08
    "Does a Propeller chip have a rectum?"

    Of course it has. Thats where most of the results of my coding come out of.



    (anyway, enough of this "English humour")
  • Heater.Heater. Posts: 21,230
    edited 2012-02-14 11:16
    Toby,
    :)

    Smile, I have to make tbis post at least 10 characters long thus ruining the whole effect.
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2012-02-14 11:39
    A good point; and well made too.

    My excuse is that I have only got another 2 hours to go on a 15 hour shift (thats what you get for signing out of the EU working time dirrective!).
  • codevipercodeviper Posts: 208
    edited 2012-02-14 11:40
    i do like to put in an inversion of the NOT type on a pin and measure the toggle as a frequencey.
    like

    normal code
    command to toggle a pin
    loop

    then i can mesure the frequencey on that pin to determine the amount of loops my code does per second.
    i did this first on the apple 2e using the gameport to determine exact cycles of the cpu when overclocking or determining "real time" functions
  • codevipercodeviper Posts: 208
    edited 2012-02-14 11:41
    if this was a joke sorry for breaking it :tongue:
  • lanternfishlanternfish Posts: 366
    edited 2012-02-14 19:08
    Heater. wrote: »
    ... rectum ...

    Darn near killed him!
  • mindrobotsmindrobots Posts: 6,506
    edited 2012-02-14 19:41
    ....and a humor chip would have a hard time handling that punch line.

    Good point, Lanternfish!
  • HumanoidoHumanoido Posts: 5,770
    edited 2012-02-15 02:07
    Rick, excellent info about the Emotion Chip. Adding to that information from Memory-Alpha..

    The chip changed in appearance in between "Descent, Part II" and Star Trek Generations, though the chip was damaged so perhaps its appearance changed as part of the repairs. The fate of the emotion chip is unknown, but it may have been destroyed when Data was killed in Star Trek Nemesis. However, a deleted scene that was not shown on the first DVD release of Nemesis but was shown in the two disc Special Edition had Lt. Commander Geordi La Forge and Lt. Commander Worf going to Data's quarters to remove some of his items near the end of the film. La Forge took Data's emotion chip and Worf took Spot, Data's cat.

    The novelization for Nemesis states that the Borg Queen's tampering with the chip and Data's circuitry in First Contact led to its destruction. In the 9-part A Time to... series of books, which take place during the year leading up to Nemesis, Starfleet Command ordered the Starfleet Corps of Engineers to forcibly remove Data's emotion chip following events at Rashanar. The comic book series Star Trek: Countdown (a tie-in to the 2009 Star Trek film) and the timeline established for the Star Trek Online game establish that sometime prior to 2387, Geordi La Forge installed Data's emotion chip into B-4's neural net. This caused the uploads to B-4 by Data to fully reactivate, allowing Data's full memory and personality to assert itself, essentially resurrecting him. Starfleet decided to reinstate the android to service, and by 2387 Data had become captain of the USS Enterprise-E.

    The Emotion Chip is much more involved than the HUMOR Chip because it is evolved to contain all its functions.
  • HumanoidoHumanoido Posts: 5,770
    edited 2012-02-15 02:13
    codeviper wrote: »
    i do like to put in an inversion of the NOT type on a pin and measure the toggle as a frequencey.
    like

    normal code
    command to toggle a pin
    loop

    then i can mesure the frequencey on that pin to determine the amount of loops my code does per second.
    i did this first on the apple 2e using the gameport to determine exact cycles of the cpu when overclocking or determining "real time" functions
    This will make an excellent algorithm to include in the Humor Chip. I have used a variation of this technique within the Big Brain by timing a specific number of program steps in SPIN using the known clock with a crystal to determine the system IPS.

    The chip will contain a full code listing but only sections of that code will run. How to automatically measure only the section of the code that runs? (the same program will go into a hundred props and each prop will run its own determined section of the program which needs measuring)
  • codevipercodeviper Posts: 208
    edited 2012-02-15 07:14
    there is a circuit i used long ago it was like this
    systembar.png

    its was like a system bar and would count up an 8 bit counter with the system clock and reset the 4 bit counter every 256 cycles
    the 4 bit counter would count up to 16 an let you see the amount of times your routine would run.
    if your routine ran more then often you will see the unlit led go up if it ran less then often it would go down and if it ran same amount each time the led would stay the same spot.
    i would link to different bits on the 8bit counter to see in divisions of 1 2 4 8 16 32 54 128 and carry was 256
    i would image a few of these would also look pretty cool and give you a visual way to see your machine working.:smile:
    586 x 389 - 13K
  • mindrobotsmindrobots Posts: 6,506
    edited 2012-02-15 07:33
    If you break your humor processing down into identifiable discrete components, you can set aside an adequate number of I/O pins on each humor chip to enumerate the individual code components. If for example:
    physical humor = 1
    puns = 2
    parody = 3
    irony = 4
    sarcasm = 5
    ....

    each software component would assert its binary ID on the I/O pins when entering the code block and clear them when leaving. This would allow the I/O pins to be monitored and instrumented through hardware latches and displays or monitoring by an additional propeller.

    If a propeller was strictly a cerebral machine (high processing and low I/O needs) versus a physical machine (high I/O needs), then a pthread implementation could be explored with the thread switcher/monitor acting as a sub-conscious entity. This would introduce a non-deterministic quality into the thought/humor processing and allow the propeller to dwell on some areas and ignore other areas. This would be interesting to watch since it's a cooperative multithread implementation instead of a pre-emptive or interrupt driven multi-thread arrangement.
  • HumanoidoHumanoido Posts: 5,770
    edited 2012-02-16 03:10
    mindrobots wrote: »
    If you break your humor processing down into identifiable discrete components, you can set aside an adequate number of I/O pins on each humor chip to enumerate the individual code components. If for example: physical humor = 1 puns = 2 parody = 3 irony = 4 sarcasm = 5 ....each software component would assert its binary ID on the I/O pins when entering the code block and clear them when leaving. This would allow the I/O pins to be monitored and instrumented through hardware latches and displays or monitoring by an additional propeller. If a propeller was strictly a cerebral machine (high processing and low I/O needs) versus a physical machine (high I/O needs), then a pthread implementation could be explored with the thread switcher/monitor acting as a sub-conscious entity. This would introduce a non-deterministic quality into the thought/humor processing and allow the propeller to dwell on some areas and ignore other areas. This would be interesting to watch since it's a cooperative multithread implementation instead of a pre-emptive or interrupt driven multi-thread arrangement.

    Rick, excellent recommendation. It will be incorporated into the Humor Chip (HC). The great advantage here is not only the feed out ability from one HC chip to another Propeller, but also the instant visual through feeds to LEDS. Equally readily incorporable, the cerebral approach can advantage the existing VP threads in the Brain's Array Cores and the code borrowed to setup and run the HC. A subconscious entity monitor is an applicable concept and it may be time to introduce extended work of the subconscious. Have you noticed a lot of this work is with concepts that either have no concise or well defined definition? Of course it's not too difficult establishing definitions for localized work with the Big Brain.

    ======

    The term subconscious is used in many different contexts and has no single or precise definition. This greatly limits its significance as a definition-bearing concept, and in consequence the word tends to be avoided in academic and scientific settings. http://en.wikipedia.org/wiki/Subconscious

    ...new studies reveal a subconscious brain that is far more active, purposeful and independent than previously known. http://www.nytimes.com/2007/07/31/health/psychology/31subl.html?pagewanted=all

    The subconscious brain is your key to eliminating the massive effort it otherwise takes to maintain a positive attitude and achieve success in any area of your life. http://www.positive-attitude-tips.com/subconscious-brain.html

    It is said that the average human being has over 12,000 different thoughts each day. The human mind can be split into two quite different parts, the conscious and the subconscious. The subconscious mind takes up the remaining 88% of our brain's capacity, and could be compared to a massive computer system that stores all of the information regarding our location, situation, feelings etc. It controls our Autonomic Nervous System such as our heart beat, breathing, organs and glands - in other words all of the things we do not have to think about. The subconscious mind has no reasoning power, and cannot reject anything that it is told. The subconscious mind has a perfect memory. http://www.trancemaker.co.uk/hypnosis/humanmind.htm
Sign In or Register to comment.